diff options
Diffstat (limited to 'net/relayd/files/patch-relayctl-relayctl.c')
-rw-r--r-- | net/relayd/files/patch-relayctl-relayctl.c | 132 |
1 files changed, 77 insertions, 55 deletions
diff --git a/net/relayd/files/patch-relayctl-relayctl.c b/net/relayd/files/patch-relayctl-relayctl.c index 04cd9b890388..0259881fc47a 100644 --- a/net/relayd/files/patch-relayctl-relayctl.c +++ b/net/relayd/files/patch-relayctl-relayctl.c @@ -1,61 +1,83 @@ ---- relayctl/relayctl.c.orig 2010-05-31 09:31:42.351734730 +0200 -+++ relayctl/relayctl.c 2010-05-31 09:31:34.629284461 +0200 -@@ -86,6 +86,7 @@ - }; +--- relayctl/relayctl.c.orig 2011-05-20 11:43:53.000000000 +0200 ++++ relayctl/relayctl.c 2011-05-22 11:19:50.925707539 +0200 +@@ -20,6 +20,9 @@ + */ - struct imsgbuf *ibuf; -+int error = 0; - - __dead void - usage(void) -@@ -104,7 +105,7 @@ - struct imsg imsg; - int ctl_sock; - int done = 0; -- int n; -+ int n, verbose = 0; - - /* parse options */ - if ((res = parse(argc - 1, argv + 1)) == NULL) -@@ -185,6 +186,15 @@ - case MONITOR: - imsg_compose(ibuf, IMSG_CTL_NOTIFY, 0, 0, -1, NULL, 0); - break; -+ case LOG_VERBOSE: -+ verbose = 2; -+ /* FALLTHROUGH */ -+ case LOG_BRIEF: -+ imsg_compose(ibuf, IMSG_CTL_LOG_VERBOSE, 0, 0, -1, -+ &verbose, sizeof(verbose)); -+ printf("logging request sent.\n"); -+ done = 1; -+ break; - } - - while (ibuf->w.queued) -@@ -224,6 +234,8 @@ - done = show_command_output(&imsg); - break; - case NONE: -+ case LOG_VERBOSE: -+ case LOG_BRIEF: + #include <sys/types.h> ++#ifdef __FreeBSD__ ++#include <sys/param.h> ++#endif + #include <sys/socket.h> + #include <sys/queue.h> + #include <sys/un.h> +@@ -141,7 +144,9 @@ + case SHOW_HOSTS: + case SHOW_RDRS: + case SHOW_RELAYS: ++#ifndef __FreeBSD__ + case SHOW_ROUTERS: ++#endif + imsg_compose(ibuf, IMSG_CTL_SHOW_SUM, 0, 0, -1, NULL, 0); + printf("%-4s\t%-8s\t%-24s\t%-7s\tStatus\n", + "Id", "Type", "Name", "Avlblty"); +@@ -222,7 +227,9 @@ + case SHOW_HOSTS: + case SHOW_RDRS: + case SHOW_RELAYS: ++#ifndef __FreeBSD__ + case SHOW_ROUTERS: ++#endif + done = show_summary_msg(&imsg, res->action); break; - case MONITOR: - done = monitor(&imsg); -@@ -235,7 +247,7 @@ - close(ctl_sock); - free(ibuf); - -- return (0); -+ return (error ? 1 : 0); - } + case SHOW_SESSIONS: +@@ -312,7 +319,11 @@ + imn = monitor_lookup(imsg->hdr.type); + printf("%s: imsg type %u len %u peerid %u pid %d\n", imn->name, + imsg->hdr.type, imsg->hdr.len, imsg->hdr.peerid, imsg->hdr.pid); ++#ifdef __FreeBSD__ ++ printf("\ttimestamp: %lu, %s", (unsigned long)now, ctime(&now)); ++#else + printf("\ttimestamp: %u, %s", now, ctime(&now)); ++#endif + if (imn->type == -1) + done = 1; + if (imn->func != NULL) +@@ -328,8 +339,10 @@ + struct table *table; + struct host *host; + struct relay *rlay; ++#ifndef __FreeBSD__ + struct router *rt; + struct netroute *nr; ++#endif + struct ctl_stats stats[RELAY_MAXPROC]; + char name[MAXHOSTNAMELEN]; - struct imsgname * -@@ -431,6 +443,7 @@ +@@ -394,6 +407,7 @@ + bcopy(imsg->data, &stats, sizeof(stats)); + print_statistics(stats); break; - case IMSG_CTL_FAIL: - printf("command failed\n"); -+ error++; ++#ifndef __FreeBSD__ + case IMSG_CTL_ROUTER: + if (!(type == SHOW_SUM || type == SHOW_ROUTERS)) + break; +@@ -416,6 +430,7 @@ + printf("\t%8s\troute: %s/%d\n", + "", name, nr->nr_conf.prefixlen); break; ++#endif + case IMSG_CTL_END: + return (1); default: - errx(1, "wrong message in summary: %u", imsg->hdr.type); +@@ -557,7 +572,11 @@ + printf("\t%8s\ttotal: %llu sessions\n" + "\t%8s\tlast: %u/%us %u/h %u/d sessions\n" + "\t%8s\taverage: %u/%us %u/h %u/d sessions\n", ++#ifdef __FreeBSD__ ++ "", (long long unsigned)crs.cnt, ++#else + "", crs.cnt, ++#endif + "", crs.last, crs.interval, + crs.last_hour, crs.last_day, + "", crs.avg, crs.interval, |