]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[MINOR] print usage on the stats sockets upon invalid commands
authorWilly Tarreau <w@1wt.eu>
Sun, 26 Jul 2009 16:16:43 +0000 (18:16 +0200)
committerWilly Tarreau <w@1wt.eu>
Sun, 26 Jul 2009 16:16:43 +0000 (18:16 +0200)
When issuing commands on the unix socket, there's no way to
know if the result is empty or if the command is wrong. This
patch makes invalid command return a help message.

src/proto_uxst.c

index a450217f36ecdc789a0aca46e12cb27ec52a5cfa..a053992277104da41e11f8bca01936463dd33aa5 100644 (file)
@@ -78,6 +78,18 @@ static struct protocol proto_unix = {
        .nb_listeners = 0,
 };
 
+const char unix_sock_usage_msg[] =
+        "Unknown command. Please enter one of the following commands only :\n"
+        "  show info   : report information about the running process\n"
+        "  show stat   : report counters for each proxy and server\n"
+        "  show errors : report last request and response errors for each proxy\n"
+        "  show sess   : report the list of current sessions\n"
+       "\n";
+
+const struct chunk unix_sock_usage = {
+        .str = (char *)&unix_sock_usage_msg,
+        .len = sizeof(unix_sock_usage_msg)-1
+};
 
 /********************************
  * 1) low-level socket functions
@@ -666,7 +678,7 @@ int uxst_req_analyser_stats(struct session *s, struct buffer *req, int an_bit)
                        *p = '\0';
                        if (!unix_sock_parse_request(s, line)) {
                                /* invalid request */
-                               buffer_shutw_now(s->rep);
+                               stream_int_retnclose(s->req->prod, &unix_sock_usage);
                                s->ana_state = 0;
                                req->analysers = 0;
                                return 0;