ref: e78b5e27f582a692b81369be4614d0a7b8eee9cb
parent: 4432f986824b5c1faaec19a218a6b48c15161944
author: sirjofri <sirjofri@sirjofri.de>
date: Sun Aug 31 06:28:40 EDT 2025
adds pdf injection
--- a/netgraph.c
+++ b/netgraph.c
@@ -9,7 +9,7 @@
static void
usage(void)
{- fprint(2, "usage: %s [-i] [-s systuples] [-n ipnettuples]\n", argv0);
+ fprint(2, "usage: %s [-ip] [-s systuples] [-n ipnettuples]\n", argv0);
exits("usage");}
@@ -184,6 +184,32 @@
dblock(n);
}
+static void
+injectpdfout(void)
+{+ char *size;
+ int p[2];
+
+ pipe(p);
+
+ switch (fork()) {+ case -1:
+ sysfatal("fork: %r");+ case 0:
+ break;
+ default: /* parent */
+ dup(p[0], 1);
+ close(p[1]);
+ return;
+ }
+ /* child */
+ dup(p[1], 0);
+ close(p[0]);
+ size = smprint("-g%dx%d", pagewidth, pageheight);+ execl("/bin/ps2pdf", "ps2pdf", size, "-r72", nil);+ sysfatal("execl: %r");+}
+
void
main(int argc, char **argv)
{@@ -193,6 +219,7 @@
char *ntp = "ipnet,ip,ipmask,ipgw,authdom,auth,fs,dns";
char *s;
int i;
+ int pdf = 0;
ARGBEGIN{case 'h':
@@ -209,7 +236,13 @@
case 'i':
showipnet++;
break;
+ case 'p':
+ pdf++;
+ break;
}ARGEND;
+
+ if (pdf)
+ injectpdfout();
nsystuples = getfields(stp, systuples, MAXSYSTP, 1, ",");
nipnettuples = getfields(ntp, ipnettuples, MAXSYSTP, 1, ",");
--
⑨