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]