[ZendTo] upgrade script and LDAP authentication values

Jules Jules at Zend.To
Wed Jul 22 18:08:00 BST 2020


John,

On 22/07/2020 17:59, John Thurston via ZendTo wrote:
> But I _am_ using the LDAP authenticator, and I have those values 
> commented out because I don't want them.
But if you are using the LDAP authenticator, surely you have to define 
those values for the authenticator to work at all.
I don't quite see how you are using the LDAP authenticator successfully 
with no settings for it whatsoever.

Jules.


>
> The way I see it, the application defines those values as 'not 
> required' while the upgrade-script defines those values as 'must be 
> present'. My business case is caught in the crack between those two 
> parsing rules. It looks like I have options:
>
> A) create and maintain a service account in my directory so these 
> values can be defined and the upgrade script will work as expected
>
> B) switch to AD authentication and also implement option (A)
>
> C) write my own post-upgrade script to re-comment these values
>
> I'm definitely leaning towards (C) as that is simple, direct, and easy 
> to add to our in-house documentation.
>
> -- 
> Do things because you should, not just because you can.
>
> John Thurston    907-465-8591
> John.Thurston at alaska.gov
> Department of Administration
> State of Alaska
>
> On 7/22/2020 5:58 AM, Jules wrote:
>> John,
>>
>> The upgrade script doesn't know much about comments, except that they 
>> are the block of lines immediately before a setting in 
>> preferences.php (and zendto.conf, with a different syntax).
>> It certainly can't actually parse them to see what you may have 
>> commented out.
>>
>> The upgrade script also has no prior knowledge of what settings 
>> should be there, and what shouldn't. There is no "list of all the 
>> possible settings". It learns all that for itself, by reading your 
>> old preferences.php and the newly supplied one.
>>
>> What's happening is that you are commenting out the only definition 
>> of 'authLDAPStartTLS', for example, so it thinks this is a new 
>> setting that has just appeared in the very latest preferences.php 
>> (and it wasn't set in your previous one), so it adds it as a new 
>> setting.
>>
>> But the 1 and only setting for (for example) 'authLDAPStartTLS' won't 
>> have any effect unless you also have set
>>      'authenticator' => 'LDAP',
>> so I don't quite see what you achieve by commenting them out. It will 
>> only use the authenticator settings for your chosen authenticator. 
>> All the others will simply have no effect.
>>
>> Sorry about the 'authLDAP' naming clash between the LDAP and AD 
>> authenticators, that's for historic reasons from when I first forked 
>> the project from udel's "Dropbox" a long time ago in a galaxy far 
>> away. And yes, they sadly called it Dropbox, nothing to do with the 
>> "other" Dropbox. So I can't change that now.
>> The difference is that all the AD settings end with a number (1,2,3) 
>> whereas the LDAP settings don't.
>>
>> Leaving the LDAP settings in place will have no effect *at all* on 
>> the AD authenticator.
>>
>> Does that help explain the situation?
>>
>> Cheers,
>> Jules.
>>
>> On 21/07/2020 00:00, John Thurston via ZendTo wrote:
>>> Is there some way for me to designate some values in preferences.php 
>>> as "Just ignore me, please. Don't try to correct this." ?
>>>
>>> With each update, the upgrade script detects my commented out values 
>>> and does me the service of re-enabling them and supplying default 
>>> values. I then have to go diff the files, confirm nothing has 
>>> actually changed, and re-comment the attributes I don't want.
>>>
>>> >   //'authLDAPStartTLS'      => false,
>>> >   //'authLDAPBindDn'        => 'o=MyOrganization,uid=MyUser',
>>> >   //'authLDAPBindPass'      => 'SecretPassword',
>>> >   //'authLDAPOrganization'  => 'My Organization',
>>> >   //'authLDAPUsernameAttr'  => 'uid',
>>> >   //'authLDAPEmailAttr'     => 'mail',
>>>
>>> I tried setting each of these to null strings, hoping that might 
>>> trigger the code to ignore the values and also let the upgrade 
>>> script leave them unchanged. Bzzzt. I couldn't authenticate.
>>>
>>> I understand the difficulty in trying to detect what a customer is 
>>> trying to do, and how to distinguish "new values" from 
>>> "intentionally absent values". It is frustrating, though, to have to 
>>> repeat the same manual steps, potentially missing something, with 
>>> every update.
>>>
>>> Maybe there could be a magic string to denote a line not just as a 
>>> comment but as a "leave me as a comment" line.
>>> Maybe triple-slash
>>> Maybe //!/
>>>
>>> Or is there already some way to do this that I haven't figured out?
>>>
>>>
>>
>> Jules
>>
>> -- 
>> Julian Field MEng CEng CITP MBCS MIEEE MACM
>>
>> 'Ensanguining the skies
>>   How heavily it dies
>>   Into the west away;
>>   Past touch and sight and sound
>>   Not further to be found,
>>   How hopeless under ground
>>     Falls the remorseful day.' - A.E.Houseman
>>
>> www.Zend.To
>> Twitter: @JulesFM
>>
>
> _______________________________________________
> ZendTo mailing list
> ZendTo at zend.to
> http://jul.es/mailman/listinfo/zendto

Jules

-- 
Julian Field MEng CEng CITP MBCS MIEEE MACM

'When I read Shakespeare I am struck with wonder
  That such trivial people should muse and thunder
  In such lovely language.' - D.H. Lawrence

www.Zend.To
Twitter: @JulesFM

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://jul.es/pipermail/zendto/attachments/20200722/b3198803/attachment.html>


More information about the ZendTo mailing list