From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Gibson To: passt-dev@passt.top Subject: Re: [PATCH 6/8] conf, log, Makefile: Add versioning information Date: Fri, 07 Oct 2022 17:57:43 +1100 Message-ID: In-Reply-To: <20221007004742.1188933-7-sbrivio@redhat.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============9196635940916751812==" --===============9196635940916751812== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On Fri, Oct 07, 2022 at 02:47:40AM +0200, Stefano Brivio wrote: > Now that we can log to file, this might start to be relevant. Uh... I dont' understand the connection here. > Signed-off-by: Stefano Brivio > --- > Makefile | 3 +++ > conf.c | 12 ++++++++++-- > log.c | 4 ++-- > passt.1 | 4 ++++ > util.h | 8 ++++++++ > 5 files changed, 27 insertions(+), 4 deletions(-) >=20 > diff --git a/Makefile b/Makefile > index fafb024..f7ddb84 100644 > --- a/Makefile > +++ b/Makefile > @@ -9,6 +9,8 @@ > # Copyright (c) 2021 Red Hat GmbH > # Author: Stefano Brivio > =20 > +VERSION ?=3D $(shell git describe --tags HEAD || echo "unknown\ version") > + > RLIMIT_STACK_VAL :=3D $(shell /bin/sh -c 'ulimit -s') > ifeq ($(RLIMIT_STACK_VAL),unlimited) > RLIMIT_STACK_VAL :=3D 1024 > @@ -31,6 +33,7 @@ FLAGS +=3D -DNETNS_RUN_DIR=3D\"/run/netns\" > FLAGS +=3D -DPASST_AUDIT_ARCH=3DAUDIT_ARCH_$(AUDIT_ARCH) > FLAGS +=3D -DRLIMIT_STACK_VAL=3D$(RLIMIT_STACK_VAL) > FLAGS +=3D -DARCH=3D\"$(TARGET_ARCH)\" > +FLAGS +=3D -DVERSION=3D\"$(VERSION)\" > =20 > PASST_SRCS =3D arch.c arp.c checksum.c conf.c dhcp.c dhcpv6.c icmp.c igmp.= c \ > isolation.c lineread.c log.c mld.c ndp.c netlink.c packet.c passt.c \ > diff --git a/conf.c b/conf.c > index f22940b..4ec3153 100644 > --- a/conf.c > +++ b/conf.c > @@ -626,6 +626,8 @@ static void usage(const char *name) > } > info(""); > =20 > + Extraneous blank line. > + info( " -v, --version Show version and exit"); I'd suggest just '--version'. '-v' is "verbose" more often than it is "version". > info( " -d, --debug Be verbose, don't run in background"); > info( " --trace Be extra verbose, implies --debug"); > info( " -q, --quiet Don't print informational messages"); > @@ -993,6 +995,7 @@ void conf(struct ctx *c, int argc, char **argv) > { > int netns_only =3D 0; > struct option options[] =3D { > + {"version", no_argument, NULL, 'v' }, > {"debug", no_argument, NULL, 'd' }, > {"quiet", no_argument, NULL, 'q' }, > {"foreground", no_argument, NULL, 'f' }, > @@ -1057,9 +1060,9 @@ void conf(struct ctx *c, int argc, char **argv) > =20 > if (c->mode =3D=3D MODE_PASTA) { > c->no_dhcp_dns =3D c->no_dhcp_dns_search =3D 1; > - optstring =3D "dqfel:hI:p:P:m:a:n:M:g:i:D:S:46t:u:T:U:"; > + optstring =3D "vdqfel:hI:p:P:m:a:n:M:g:i:D:S:46t:u:T:U:"; > } else { > - optstring =3D "dqfel:hs:p:P:m:a:n:M:g:i:D:S:46t:u:"; > + optstring =3D "vdqfel:hs:p:P:m:a:n:M:g:i:D:S:46t:u:"; > } > =20 > c->tcp.fwd_in.mode =3D c->tcp.fwd_out.mode =3D 0; > @@ -1197,6 +1200,11 @@ void conf(struct ctx *c, int argc, char **argv) > usage(argv[0]); > } > break; > + case 'v': > + fprintf(stdout, > + c->mode =3D=3D MODE_PASST ? "passt " : "pasta "); > + fprintf(stdout, VERSION_BLOB); > + exit(EXIT_SUCCESS); > case 'd': > if (c->debug) { > err("Multiple --debug options given"); > diff --git a/log.c b/log.c > index 85b13fe..2b088c4 100644 > --- a/log.c > +++ b/log.c > @@ -172,7 +172,7 @@ void passt_vsyslog(int pri, const char *format, va_list= ap) > } > =20 > /** > - * logfile_init() - Open log file and write header with PID and path > + * logfile_init() - Open log file and write header with PID, version, path > * @name: Identifier for header: passt or pasta > * @path: Path to log file > * @size: Maximum size of log file: log_cut_size is calculatd here > @@ -196,7 +196,7 @@ void logfile_init(const char *name, const char *path, s= ize_t size) > =20 > log_size =3D size ? size : LOGFILE_SIZE_DEFAULT; > =20 > - n =3D snprintf(log_header, sizeof(log_header), "%s: %s (%i)", > + n =3D snprintf(log_header, sizeof(log_header), "%s " VERSION ": %s (%i)", > name, exe, getpid()); > =20 > if (write(log_file, log_header, n) <=3D 0 || > diff --git a/passt.1 b/passt.1 > index 64236b6..c63a439 100644 > --- a/passt.1 > +++ b/passt.1 > @@ -77,6 +77,10 @@ for performance reasons. > =20 > .SH OPTIONS > =20 > +.TP > +.BR \-v ", " \-\-version > +Show version and exit. > + > .TP > .BR \-d ", " \-\-debug > Be verbose, don't run in background, don't log to the system logger. > diff --git a/util.h b/util.h > index 1adbf04..e8f99b6 100644 > --- a/util.h > +++ b/util.h > @@ -6,6 +6,14 @@ > #ifndef UTIL_H > #define UTIL_H > =20 > +#define VERSION_BLOB \ > + VERSION "\n" \ > + "Copyright (C) 2020-2022 Red Hat\n" \ Fwiw, I believe Red Hat legal suggests simply "Copyright Red Hat". AIUI the "(C)" thing is legally meaningless (unlike the word "copyright" or the actual =C2=A9 symbol), and the years are unnecessary and tend to get out of date. > + "GNU Affero GPL version 3 or later " \ > + "\n" \ > + "This is free software: you are free to change and redistribute it.\n" \ > + "There is NO WARRANTY, to the extent permitted by law.\n\n" > + > #ifndef SECCOMP_RET_KILL_PROCESS > #define SECCOMP_RET_KILL_PROCESS SECCOMP_RET_KILL > #endif --=20 David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson --===============9196635940916751812== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signature.asc" MIME-Version: 1.0 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KCmlRSXpCQUVCQ0FBZEZpRUVvVUx4V3U0L1dz MGRCK1h0Z3lwWTRnRXdZU0lGQW1NL3pkOEFDZ2tRZ3lwWTRnRXcKWVNKc2VBLytLaU5TY3g0Wmly KzQ3WTVFMllSTzNRNUFQb2E4bEFmK2lnaU5EVE53OUh2OGM3MUVGNXdDVitDVwpQOG5NWHFWYkMv SXlPMmJNRUdrbFpDUk5rNmVvcy9CQ0x4cHFvWVFoZGVKcTE5Ky80UzFNN29FSkRQZGk1Vkc3Cmhp L3BKbVFGN3pTeFdjRW1BWkNWTDBQcm41TjVWWHdBdHpwSlg1Z2VWbnd1ZEhXZ0tkYStNckJmM1JW WjdwU1IKK0U1YXo2MTNxVmd1OFNIZnR3bitOM3JINUtJclRZdXNMbHc4SGlqSWJpYnVZVXRsUlBq MDlXK0lZUUFkSUZSTAplaXV5TzZnWlg1NmUvdFpUSXptY3lHVWwzTkZGeWIwYUlycHpsWTQ1d1l5 QmFqZE5jdnNqdTVMcEFLVEJEem9qCjR5Y21rZWZvckdPZThFck9TSEVwOTh1emp0NnFJNENHZkRX b3F1TUl6TVpZVlJxWkt5clhXUU5VdXhvZ2E3ZFUKa01ML3ZzL0pSTDRwb1IwbUdtQjBYMGt3bDdr dDFhanJzblJzL0UxZUdrV3M2dlZSM2QyMlphY0VpQVVwck0rUwo4bDlNeHpzRGd2Y0l0L3hOMG1n NDZmdjlsWFZ0V1d4b2VUc01XS0F0dVpjOS9BVWlxYi9teFQ5b3MrQXB5L3BHCnFTVFFPbTNBbFFE TkdId2dpS29Rb2kyUjZSc3Y4WldLNTBENCs0d0preTRhdEx0Lzlyb1B2bmt5KzBHMzNSc0MKNkRy a3VtV2VFcU41Q24yNDNLWTFUM0pQMFFBQkpjMHpTd2dCcThrUDZBYTN4aXFVZHZ5ZllGZ0hqUHJ1 T2ZMWApoWHozYVZKc1dQZWxlOVArR1o4UEk2aVdBYXU2dVU4OURKd09aQUxJS1RkZFVESys1Mnc9 Cj1kazd2Ci0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQo= --===============9196635940916751812==--