On 11.12.12 00:53, Amos Jeffries wrote:

Before the first reconfigure there *should* only be one Config object
for the auth scheme, from the first configuration loading.

That doesn't match what I've seen - I've added debugging to the top of every function in auth_negotiate.cc. I start the server (so not a reconfigure) and I get:

Auth::Negotiate::Config::configured() is called:
        this: 0x7f9bc2301160
        negotiateConfig: 0x7f9bc1bd0520
        authenticateProgram: 0x7f9bc22fe830

Auth::Negotiate::Config::init() is called:
        this: 0x7f9bc2301160
        negotiateConfig: 0x7f9bc1bd0520
        authenticateProgram: 0x7f9bc22fe830

Auth::Negotiate::Config::registerWithCacheManager() is called:
        this: 0x7f9bc2301160
        negotiateConfig: 0x7f9bc1bd0520
         authenticateProgram: 0x7f9bc22fe830

I then make a request:

Auth::Negotiate::Config::type() is called:
        this: 0x7f9bc2301160
        negotiateConfig: 0x7f9bc1bd0520
        authenticateProgram: 0x7f9bc22fe830

Auth::Negotiate::Config::type() is called again:
        this: 0x7f9bc2301160
        negotiateConfig: 0x7f9bc1bd0520
        authenticateProgram: 0x7f9bc22fe830

Auth::Negotiate::Config::decode() is called:
        this: 0x7f9bc2301160
        negotiateConfig: 0x7f9bc1bd0520
        authenticateProgram: 0x7f9bc22fe830

Auth::Negotiate::Config::type() is called again:
        this: 0x7f9bc2301160
        negotiateConfig: 0x7f9bc1bd0520
        authenticateProgram: 0x7f9bc22fe830

Auth::Negotiate::Config::type() is called again:
        this: 0x7f9bc2301160
        negotiateConfig: 0x7f9bc1bd0520
        authenticateProgram: 0x7f9bc22fe830

Auth::Negotiate::Config::fixHeader() is called:
        this: 0x7f9bc1bd0520
        negotiateConfig: 0x7f9bc1bd0520
        authenticateProgram: 0


From the above debugging, it seems the only method being called on the negotiateConfig instance is fixHeader(), and the negotiateConfig instance never has authenticateProgram set.

I'm not sure where authenticateProgram is actually being set - the only place within auth_negotiate.cc that I can see it being set is Auth::Negotiate::Config::parse(), but that function doesn't ever seem to be called (at least, debugs() statements placed in that function don't produce any logging).


If negotiateConfig (0x7f9bc1bd0520) is the *current* configuration, what is 0x7f9bc2301160 in the above debugging?

Where is negotiateConfig initialised with the current configuration?

--

 - Steve Hill
   Technical Director
   Opendium Limited     http://www.opendium.com

Direct contacts:
   Instant messager: xmpp:[email protected]
   Email:            [email protected]
   Phone:            sip:[email protected]

Sales / enquiries contacts:
   Email:            [email protected]
   Phone:            +44-844-9791439 / sip:[email protected]

Support contacts:
   Email:            [email protected]
   Phone:            +44-844-4844916 / sip:[email protected]

Reply via email to