~mdw
/
userv-utils
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ipif: service-wrap: make v0config into a positional arg
[userv-utils]
/
ipif
/
service-wrap
diff --git
a/ipif/service-wrap
b/ipif/service-wrap
index
412c2dc
..
3a4e806
100755
(executable)
--- a/
ipif/service-wrap
+++ b/
ipif/service-wrap
@@
-13,7
+13,7
@@
#
# Usage:
#
#
# Usage:
#
-# .../ipif1 <v1config> <real-service-program> -- <service-args>...
+# .../ipif1 <v1config> <real-service-program>
<v0config>
-- <service-args>...
#
# Config file is a series of lines, or a directory. If a directory,
# all files with names matching ^[-A-Za-z0-9_]+$ are processed.
#
# Config file is a series of lines, or a directory. If a directory,
# all files with names matching ^[-A-Za-z0-9_]+$ are processed.
@@
-50,10
+50,11
@@
#
# include <other-config-file-or-directory>
#
#
# include <other-config-file-or-directory>
#
-#
v0config <v0configfile
>
+#
<v0config
>
#
#
-# If none of the `permit' lines match, will read <v0configfile>
-# in old format. Must come after all `permit' lines.
+# If none of the `permit' lines match, will process <v0config> in
+# old format. See service.c head comment. <v0config> may be
+# `' or `#' or `/dev/null' to process new-style config only.
#
# <config> --
#
# <config> --
@@
-79,8
+80,8
@@
sub oneaddr ($) {
$$ar = $x;
}
$$ar = $x;
}
-@ARGV ==
5
or badusage "wrong number of arguments";
-our ($v1config, $realservice, $sep, $addrsarg, $rnets) = @ARGV;
+@ARGV ==
6
or badusage "wrong number of arguments";
+our ($v1config, $realservice, $
v0config, $
sep, $addrsarg, $rnets) = @ARGV;
$sep eq '--' or badusage "separator should be \`--'";
my ($local_addr, $peer_addr, $mtu, $protocol, $ifname) =
$sep eq '--' or badusage "separator should be \`--'";
my ($local_addr, $peer_addr, $mtu, $protocol, $ifname) =
@@
-110,8
+111,6
@@
sub execreal ($) {
or die "exec $realservice: $!\n";
}
or die "exec $realservice: $!\n";
}
-our $v0config;
-
our $cfgpath;
sub badcfg ($) {
our $cfgpath;
sub badcfg ($) {
@@
-203,7
+202,6
@@
sub readconfig ($) {
next if m/^\#/;
next unless m/\S/;
if (s{^permit\s+}{}) {
next if m/^\#/;
next unless m/\S/;
if (s{^permit\s+}{}) {
- badcfg "v0config before permit" if defined $v0config;
%need_allow = ();
need_allow_singleton 'Caller', allowent 'caller';
need_allow_singleton 'Local',
%need_allow = ();
need_allow_singleton 'Caller', allowent 'caller';
need_allow_singleton 'Local',
@@
-266,9
+264,6
@@
sub readconfig ($) {
print "config $cfgpath:$.: mismatch: $_\n"
foreach @wrong;
}
print "config $cfgpath:$.: mismatch: $_\n"
foreach @wrong;
}
- } elsif (m{^v0config\s+(\S+)$}) {
- badcfg "repeated v0config" if defined $v0config;
- $v0config = $1;
} elsif (m{^include\s+(\S+)$}) {
readconfig $1;
} else {
} elsif (m{^include\s+(\S+)$}) {
readconfig $1;
} else {
@@
-278,8
+273,7
@@
sub readconfig ($) {
$cfgfh->error and die $!;
close $cfgfh;
$cfgfh->error and die $!;
close $cfgfh;
- if (defined $v0config) {
- $v0config =~ s{^}{./} unless $v0config =~ m{^/};
+ if ($v0config && $v0config =~ m{^[^#]} && $v0config ne '/dev/null') {
print "trying v0 config $v0config...\n" if $protocol eq 'debug';
execreal $v0config;
}
print "trying v0 config $v0config...\n" if $protocol eq 'debug';
execreal $v0config;
}