On Sun, Apr 26, 2026 at 09:45:06AM -0400, Jon Maloy wrote: > > > On 2026-04-21 02:25, David Gibson wrote: > > Start implementing pesto in earnest. Create a control/configuration > > socket in passt. Have pesto connect to it and retrieve a server greeting > > Perform some basic version checking. > > [...] > > > /** > > * conf() - Process command-line arguments and set configuration > > * @c: Execution context > > @@ -1189,9 +1227,10 @@ void conf(struct ctx *c, int argc, char **argv) > > {"migrate-exit", no_argument, NULL, 29 }, > > {"migrate-no-linger", no_argument, NULL, 30 }, > > {"stats", required_argument, NULL, 31 }, > > + {"conf-path", required_argument, NULL, 'c' }, > > { 0 }, > > }; > > - const char *optstring = "+dqfel:hs:F:I:p:P:m:a:n:M:g:i:o:D:S:H:461t:u:T:U:"; > > + const char *optstring = "+dqfel:hs:c:F:I:p:P:m:a:n:M:g:i:o:D:S:H:461t:u:T:U:"; > > const char *logname = (c->mode == MODE_PASTA) ? "pasta" : "passt"; > > bool opt_t = false, opt_T = false, opt_u = false, opt_U = false; > > char userns[PATH_MAX] = { 0 }, netns[PATH_MAX] = { 0 }; > > @@ -1449,6 +1488,13 @@ void conf(struct ctx *c, int argc, char **argv) > > c->fd_tap = -1; > > break; > > + case 'c': > > + ret = snprintf(c->control_path, sizeof(c->control_path), > > + "%s", optarg); > > + if (ret <= 0 || ret >= (int)sizeof(c->sock_path)) > > s/sizeof(c->sock_path)/sizeof(c->config_path)/ Oops, yes. [snip] > > @@ -122,5 +128,42 @@ int main(int argc, char **argv) > > debug("debug_flag=%d, path=\"%s\"", debug_flag, argv[optind]); > > - die("pesto is not implemented yet"); > > + if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) > > + die_perror("Failed to create AF_UNIX socket"); > > + > > + ret = snprintf(a.sun_path, sizeof(a.sun_path), "%s", argv[optind]); > > + if (ret <= 0 || ret >= (int)sizeof(a.sun_path)) > > + die("Invalid socket path \"%s\"", argv[1]); > > s/argv[1]/argv[optind] for consistency. And again. This is not just for consistency, but for correctness (of the error message). Depending on the command line, optind may not be equal to 1. -- David Gibson (he or they) | 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