[MINOR] add "description", "node" and show-node"/"show-desc", remove "node-name", v2

This patch implements "description" (proxy and global) and "node" (global)
options, removes "node-name" and adds "show-node" & "show-desc" options
for "stats". It also changes the way the header lines (with proxy name) and
the statistics are displayed, so stats no longer look so clumsy with very
long names.

Instead of "node-name" it is possible to use show-node/show-desc with
an optional parameter that overrides a default node/description.

backend cust-0045
        # report specific values for this customer
        stats show-node Europe
        stats show-desc Master node for Europe, Asia, Africa
diff --git a/include/common/uri_auth.h b/include/common/uri_auth.h
index 132be21..3a7fd9c 100644
--- a/include/common/uri_auth.h
+++ b/include/common/uri_auth.h
@@ -32,13 +32,15 @@
 };
 
 #define	ST_HIDEVER	0x00000001	/* do not report the version and reldate */
+#define	ST_SHNODE	0x00000002	/* show node name */
+#define	ST_SHDESC	0x00000004	/* show description */
 
 /* later we may link them to support multiple URI matching */
 struct uri_auth {
 	int uri_len;			/* the prefix length */
 	char *uri_prefix;		/* the prefix we want to match */
 	char *auth_realm;		/* the realm reported to the client */
-	char *node_name;		/* the node name reported to the client */
+	char *node, *desc;		/* node name & description reported in this stats */
 	int refresh;			/* refresh interval for the browser (in seconds) */
 	int flags;			/* some flags describing the statistics page */
 	struct user_auth *users;	/* linked list of valid user:passwd couples */
@@ -75,7 +77,8 @@
 struct uri_auth *stats_set_flag(struct uri_auth **root, int flag);
 struct uri_auth *stats_add_auth(struct uri_auth **root, char *user);
 struct uri_auth *stats_add_scope(struct uri_auth **root, char *scope);
-struct uri_auth *stats_set_node_name(struct uri_auth **root, char *name);
+struct uri_auth *stats_set_node(struct uri_auth **root, char *name);
+struct uri_auth *stats_set_desc(struct uri_auth **root, char *desc);
 
 #endif /* _COMMON_URI_AUTH_H */
 
diff --git a/include/types/global.h b/include/types/global.h
index 4d349c3..3a8faa9 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -70,6 +70,7 @@
 	int spread_checks;
 	char *chroot;
 	char *pidfile;
+	char *node, *desc;		/* node name & description */
 	int logfac1, logfac2;
 	int loglev1, loglev2;
 	int minlvl1, minlvl2;
diff --git a/include/types/proxy.h b/include/types/proxy.h
index 8c93e55..2cdf689 100644
--- a/include/types/proxy.h
+++ b/include/types/proxy.h
@@ -233,7 +233,7 @@
 		int httpreq;                    /* maximum time for complete HTTP request */
 		int check;                      /* maximum time for complete check */
 	} timeout;
-	char *id;				/* proxy id */
+	char *id, *desc;			/* proxy id (name) and description */
 	struct list pendconns;			/* pending connections with no server assigned yet */
 	int nbpend, nbpend_max;			/* number of pending connections with no server assigned yet */
 	int totpend;				/* total number of pending connections on this instance (for stats) */