diff options
author | Michael Goulish <mgoulish@apache.org> | 2013-01-09 19:23:36 +0000 |
---|---|---|
committer | Michael Goulish <mgoulish@apache.org> | 2013-01-09 19:23:36 +0000 |
commit | 3ed97638930d25aee20dc931b38cb2767414e58c (patch) | |
tree | 4b063bca86fb7146e57534578a363488b26bceaf /qpid/cpp/src/qpidd.cpp | |
parent | 9a2b1d265d0816b2348ed9797ef5a3b2604a4d7e (diff) | |
download | qpid-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.cpp | 6 |
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 |