summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpidd.cpp
diff options
context:
space:
mode:
authorMichael Goulish <mgoulish@apache.org>2013-01-09 19:23:36 +0000
committerMichael Goulish <mgoulish@apache.org>2013-01-09 19:23:36 +0000
commit3ed97638930d25aee20dc931b38cb2767414e58c (patch)
tree4b063bca86fb7146e57534578a363488b26bceaf /qpid/cpp/src/qpidd.cpp
parent9a2b1d265d0816b2348ed9797ef5a3b2604a4d7e (diff)
downloadqpid-python-3ed97638930d25aee20dc931b38cb2767414e58c.tar.gz
QPID-4518 : disallow unknown args in config file
Change EnvOptMapper::configFileLine to take ar arg telling it if it's OK to have unknown args or not. If not, throw upon encountering. From the higher level of run_broker(), there are two passes of arg parsing. In the first pass it's normal to have unknown args, because the loadable modules are not loaded yet. But I change the second parsing to pass down the arg that says "unknowns are not okay." git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1431016 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpidd.cpp')
-rw-r--r--qpid/cpp/src/qpidd.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpidd.cpp b/qpid/cpp/src/qpidd.cpp
index 8e0c52f770..e17dea3164 100644
--- a/qpid/cpp/src/qpidd.cpp
+++ b/qpid/cpp/src/qpidd.cpp
@@ -82,10 +82,12 @@ int run_broker(int argc, char *argv[], bool hidden)
qpid::loadModuleDir (bootOptions.module.loadDir, isDefault);
}
- // Parse options
+ // Parse options. In the second pass, do not allow unknown options.
+ // All the modules have been added now, so any unknown options
+ // should be flagged as errors.
try {
options.reset(new QpiddOptions(argv[0]));
- options->parse(argc, argv, options->common.config);
+ options->parse(argc, argv, options->common.config, false);
} catch (const std::exception& /*e*/) {
if (helpArgSeen) {
// provide help even when parsing fails