]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: protocol: report the file and line number for binding/listening errors
authorWilly Tarreau <w@1wt.eu>
Thu, 14 Oct 2021 09:55:48 +0000 (11:55 +0200)
committerWilly Tarreau <w@1wt.eu>
Thu, 14 Oct 2021 19:22:52 +0000 (21:22 +0200)
Binding errors and late socket errors provide no information about
the file and line where the problem occurs. These are all done by
protocol_bind_all() and they only report "Starting proxy blah". Let's
change this a little bit so that:
  - the file name and line number of the faulty bind line is alwas mentioned
  - early binding errors are indicated with "Binding" instead of "Starting".

Now we can for example have this:
  [WARNING]  (18580) : Binding [binderr.cfg:10] for proxy http: cannot bind receiver to device 'eth2' (No such device) [0.0.0.0:1080]

src/protocol.c

index ece2b5b8f3ba3da6052cf46349e396f2aec0b7bc..b33e494633cc994c0ef3734a5d3aa1b72afc6911 100644 (file)
@@ -81,10 +81,12 @@ int protocol_bind_all(int verbose)
                                struct proxy *px = listener->bind_conf->frontend;
 
                                if (lerr & ERR_ALERT)
-                                       ha_alert("Starting %s %s: %s\n",
+                                       ha_alert("Binding [%s:%d] for %s %s: %s\n",
+                                                listener->bind_conf->file, listener->bind_conf->line,
                                                 proxy_type_str(px), px->id, errmsg);
                                else if (lerr & ERR_WARN)
-                                       ha_warning("Starting %s %s: %s\n",
+                                       ha_warning("Binding [%s:%d] for %s %s: %s\n",
+                                                  listener->bind_conf->file, listener->bind_conf->line,
                                                   proxy_type_str(px), px->id, errmsg);
                                ha_free(&errmsg);
                        }
@@ -103,10 +105,12 @@ int protocol_bind_all(int verbose)
                                struct proxy *px = listener->bind_conf->frontend;
 
                                if (lerr & ERR_ALERT)
-                                       ha_alert("Starting %s %s: %s\n",
+                                       ha_alert("Starting [%s:%d] for %s %s: %s\n",
+                                                listener->bind_conf->file, listener->bind_conf->line,
                                                 proxy_type_str(px), px->id, msg);
                                else if (lerr & ERR_WARN)
-                                       ha_warning("Starting %s %s: %s\n",
+                                       ha_warning("Starting [%s:%d] for %s %s: %s\n",
+                                                  listener->bind_conf->file, listener->bind_conf->line,
                                                   proxy_type_str(px), px->id, msg);
                        }
                        if (lerr & ERR_ABORT)