On Thu, Sep 24, 2015 at 05:05:34PM +0200, Patrick Ben Koetter wrote:
> > That can happen. We could test more pre-conditions, but ultimately,
> > the administrator may need to recover from situations where automated
> > deletion is risky.
>
> Agreed. I wouldn't reach out to test any thinkable situation. The problem I
> ran into seemed worth to test - at least to me.
The patch below adds a test for the proto files (and repeats
the previously posted correction to the "-e" usage message).
diff --git a/conf/postmulti-script b/conf/postmulti-script
index 349c894..b1aea8e 100644
--- a/conf/postmulti-script
+++ b/conf/postmulti-script
@@ -142,6 +142,11 @@ create|import)
fatal "'$config_directory' lacks a master.cf file"
}
+ test -f $meta_directory/main.cf.proto ||
+ fatal "Missing main.cf prototype: $meta_directory/main.cf.proto"
+ test -f $meta_directory/master.cf.proto ||
+ fatal "Missing master.cf prototype: $meta_directory/master.cf.proto"
+
# Create instance-specific directories
#
test -d $config_directory ||
diff --git a/src/postmulti/postmulti.c b/src/postmulti/postmulti.c
index 0d124ae..8fdc231 100644
--- a/src/postmulti/postmulti.c
+++ b/src/postmulti/postmulti.c
@@ -1711,7 +1711,7 @@ int main(int argc, char **argv)
case 'e':
if ((code = EDIT_CMD_CODE(optarg)) < 0)
msg_fatal("Invalid '-e' edit action '%s'. Specify '%s', "
- "'%s', '%s', '%s', '%s', '%s', '%s', '%s' or '%s'",
+ "'%s', '%s', '%s', '%s', '%s', '%s' or '%s'",
optarg,
EDIT_CMD_STR(EDIT_CMD_CREATE),
EDIT_CMD_STR(EDIT_CMD_DESTROY),
@@ -1720,8 +1720,7 @@ int main(int argc, char **argv)
EDIT_CMD_STR(EDIT_CMD_ENABLE),
EDIT_CMD_STR(EDIT_CMD_DISABLE),
EDIT_CMD_STR(EDIT_CMD_ASSIGN),
- EDIT_CMD_STR(EDIT_CMD_INIT),
- optarg);
+ EDIT_CMD_STR(EDIT_CMD_INIT));
if (cmd_mode != code)
command_mode_count++;
cmd_mode = code;
--
Viktor.