aboutsummaryrefslogtreecommitdiff
path: root/net/relayd/files/patch-relayctl-relayctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/relayd/files/patch-relayctl-relayctl.c')
-rw-r--r--net/relayd/files/patch-relayctl-relayctl.c132
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,