Re: [exim] Segfault in perform_ldap_search() in exim-4.90.1

Top Page
Delete this message
Reply to this message
Author: Matthew Slowe
Date:  
To: Jeremy Harris
CC: exim-users
Subject: Re: [exim] Segfault in perform_ldap_search() in exim-4.90.1
On Thu, Mar 08, 2018 at 03:55:57PM +0000, Jeremy Harris via Exim-users wrote:
>On 08/03/18 12:49, Matthew Slowe via Exim-users wrote:
>> /* Otherwise, it's all worked */
>>
>> -DEBUG(D_lookup) debug_printf("LDAP search: returning: %s\n", data);
>> -*res = data;
>> +DEBUG(D_lookup) debug_printf("LDAP search: returning: %s\n", data->s);
>> +*res = data->s;
>
>Interesting that it gets as far down the routine to be commented
>"all worked" yet still with a null result. While wrapping the
>code with a check seems obvious I worry there may be something
>else going one. Is an empty return likely for the lookup
>being done at this point in your config/operations?


It's worked for years so far -- it's doing a check to see if the address needs
rewriting before routing it.

# Convert short forms to longforms for staff

*@kent.ac.uk "${lookup ldap {user=\"<%= @ldapUserDN %>\" pass=\"<%= @ldapPasswd %>\" ldap:///o=kent.ac.uk,o=uni?unikentmailid?sub?(&(objectClass=mailRecipient)(!(inetUserStatus=deleted))(mailAlternateAddress=smtp:${quote_ldap:${local_part}@${domain}})(!(&(unikentmailOptinActive=*)(!(unikentmailOptinChoice=*)))))}{$value}fail}@???" bcsfrtFT

Anyone without a longform email address (any non-staff) will not have a
unikentmailid so get an empty LDAP response.

--
Matthew Slowe | Server Infrastructure Officer
IT Infrastructure, Information Services, University of Kent
Room S21, Cornwallis South
Canterbury, Kent, CT2 7NZ, UK
Tel: +44 (0)1227 824265

www.kent.ac.uk/is | @UnikentUnseenIT | @UKCLibraryIt
PGP: https://keybase.io/fooflington