I gave unwind.conf(5) a read and wanted to test the following:
$ echo preference dhcp | unwind -vnf-
preference { DoT forwarder recursor dhcp stub }
First, I thought unwind had a parser bug and would ignore my preference,
but turns out it simply does not treat "-" as standard input.
Fair enough, using /dev/stdin works, but while playing around I found
that logging nonexistent config files would really help, so the following
diff does
$ unwind -vnf/nonexistent
preference { DoT forwarder recursor dhcp stub }
$ ./obj/unwind -vnf/nonexistent
/nonexistent: No such file or directory
preference { DoT forwarder recursor dhcp stub }
With that, my initial case is no longer misleading; alternatively, I
can implement the dash semantic, but that's another diff.
OK?
Index: parse.y
===================================================================
RCS file: /cvs/src/sbin/unwind/parse.y,v
retrieving revision 1.15
diff -u -p -r1.15 parse.y
--- parse.y 9 Nov 2019 16:28:10 -0000 1.15
+++ parse.y 18 Nov 2019 21:08:26 -0000
@@ -784,9 +784,9 @@ parse_config(char *filename)
file = pushfile(filename, 0);
if (file == NULL) {
+ log_warn("%s", filename);
if (errno == ENOENT) /* no config file is fine */
return (conf);
- log_warn("%s", filename);
free(conf);
return (NULL);
}