Qpid
  1. Qpid
  2. QPID-3500

qpidd --help should ignore other parameters (incl. config file)

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Trivial Trivial
    • Resolution: Fixed
    • Affects Version/s: 0.12
    • Fix Version/s: 0.19
    • Component/s: C++ Broker
    • Labels:

      Description

      Steps to Reproduce:
      1. Add "log-to-file=/tmp/qpidd.log" to /etc/qpidd.conf
      2. Login as root user, touch /tmp/qpidd.log && chmod 600 /tmp/qpidd.log
      3. su to a non-root user, run "/usr/sbin/qpidd --help"

      Further similar reproductions:
      qpidd --help --config not_readable_file
      qpidd --help --log-file not_readable_file (where /etc/qpidd.conf does not
      contain log-file option)
      qpidd --help (when config file is not readable)
      qpidd --help (when config file contains log-file to non-readable file)

      Plus all the above for --version option (instead of --help).

      Patch for all the above (except one questionable case) will be uploaded.

      1. help_show.patch
        0.8 kB
        Pavel Moravec

        Activity

        Hide
        Pavel Moravec added a comment -

        Patch proposal that fixes all
        except one scenarios.

        The patch does not fix this particular scenario:
        qpidd --help --log-file non-readable_file (where /etc/qpidd.conf does not
        contain log-file option)

        It is questionable if the above makes sense to fix. But if so, then configuring
        Logger in the code snip below must be conditional based on help/version option
        presence:

        (qpidd.cpp):
        try

        { bootOptions.parse (argc, argv, bootOptions.common.config, true); qpid::log::Logger::instance().configure(bootOptions.log); }

        catch (const std::exception& e)

        { // Couldn't configure logging so write the message direct to stderr. cerr << "Unexpected error: " << e.what() << endl; return 1; }
        Show
        Pavel Moravec added a comment - Patch proposal that fixes all except one scenarios. The patch does not fix this particular scenario: qpidd --help --log-file non-readable_file (where /etc/qpidd.conf does not contain log-file option) It is questionable if the above makes sense to fix. But if so, then configuring Logger in the code snip below must be conditional based on help/version option presence: (qpidd.cpp): try { bootOptions.parse (argc, argv, bootOptions.common.config, true); qpid::log::Logger::instance().configure(bootOptions.log); } catch (const std::exception& e) { // Couldn't configure logging so write the message direct to stderr. cerr << "Unexpected error: " << e.what() << endl; return 1; }
        Hide
        Chuck Rolke added a comment -

        Fixed with r1388032

        Show
        Chuck Rolke added a comment - Fixed with r1388032

          People

          • Assignee:
            Chuck Rolke
            Reporter:
            Pavel Moravec
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 2h
              2h
              Remaining:
              Remaining Estimate - 2h
              2h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development