Re: [exim] exim build errors - exim-4.80.1

Startseite
Nachricht löschen
Nachricht beantworten
Autor: Prashanth Katuri
Datum:  
To: Todd Lyons
CC: exim-users@exim.org, Phil Pennock
Betreff: Re: [exim] exim build errors - exim-4.80.1
Hi,

Btw when i do exim -bt it is processing the unknown email address which is not in our LDAP directory, genrally it should say 

Below is the output from exim-3.36

exim -bt somjg@???
somjg@???
  deliver to somjg in domain slb.com
  director = unknownuser, transport = alias_bounce


But when i do same on the machine running exim-4.80.1
exim -bt somjg@???
somjg@???
  router = slbhost, transport = remote_smtp
  host mail0.slb.com                [163.185.18.201]  MX=200
  host mail.messaging.microsoft.com [213.199.180.150] MX=250
  host mail.messaging.microsoft.com [216.32.181.178]  MX=250
  host mail.global.frontbridge.com  [216.32.180.22]   MX=600


Looks like it is not talking to LDAP as expected. Please assist.

Attached is our exim.conf file

Thanks,
Prashanth

-----Original Message-----
From: Prashanth Katuri 
Sent: Wednesday, July 17, 2013 2:48 PM
To: 'Todd Lyons'
Cc: 'Phil Pennock'; 'exim-users@???'
Subject: RE: [exim] exim build errors - exim-4.80.1

Todd,

Btw I have below in the config file fwith exim version 4.80.1


######################################################################
#                      ROUTERS CONFIGURATION                         #
#            Specifies how remote addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#  A remote address is passed to each in turn until it is accepted.  # ######################################################################

# Remote addresses are those with a domain that does not match any item # in the "local_domains" setting above.


#querytest:
  #driver = queryprogram
  #command = /etc/exim/queryprogram.pl

# This router routes to remote hosts over SMTP using a DNS lookup with # default options.
#

# Router to route non-scanned messages via the Mail clusters for scanning

slb_directory_mail_routes:
  driver = manualroute
  domains = directory-mail.slb.com
  headers_add = "X-LDAP-Alias: LDAP_ALIAS_VERSION Sent to $original_local_part@$original_domain resolving to $local_part@$domain"
  transport = remote_smtp
route_list = * "${if match {$sender_host_name}{mail\\.slb\\.com|(gb0135|fea)mta\\d\{2\}\\..*\\..*\\.slb\\.com|usxsl05(0|1|2|3)\\.slb\\.atosorigin-asp\\.com|nl0105exc\\d{2\}\\.eur\\.slb\\.com|sx00(2|3|4|6)\\.ddc-nl0105\\.slb\\.com|nl0230m
bx\d{2\}n(1|2)\\.dir\\.slb\\.com}\
                    # We can trust that it has been scanned and send it to directory-mail.slb.com
                    {directory-mail.slb.com}\
                    # If the message hasn't been scanned send it to the relay
                    {gateway.mail.slb.com}\
                   }" bydns

# Router to route non SINet addresses to perimeter MTA
slb_perimeter_routes:
  driver = manualroute
  domains = !*.slb.com:!slb.com
  no_more
  route_list = * "gateway.mail.slb.com" bydns
  transport = remote_smtp

exchangehost:
  driver = dnslookup
  domains = exchange.slb.com
  transport = remote_smtp

slbhost:
  driver = dnslookup
  condition = "${if or {{eq {$original_domain}{slb.com}} \
                {eq {$original_domain}{westerngeco.com}}}{{0}{1}}"
  domains =  slb.com : westerngeco.com
  headers_add = "X-LDAP-Alias: LDAP_ALIAS_VERSION Sent to $original_local_part@$original_domain resolving to $local_part@$domain"
  transport = remote_smtp

lookuphost:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp



Below is what I have with exim-3.36


######################################################################
#                      ROUTERS CONFIGURATION                         #
#            Specifies how remote addresses are handled              #
######################################################################
#                          ORDER DOES MATTER                         #
#  A remote address is passed to each in turn until it is accepted.  # ######################################################################

# Remote addresses are those with a domain that does not match any item # in the "local_domains" setting above.


#querytest:
  #driver = queryprogram
  #command = /etc/exim/queryprogram.pl

# This router routes to remote hosts over SMTP using a DNS lookup with # default options.
#

# Router to route non-scanned messages via the Mail clusters for scanning

slb_directory_mail_routes:
  driver = domainlist
  transport = remote_smtp
  domains = directory-mail.slb.com
  route_list = * "${if match {$sender_host_name}{mail\\.slb\\.com|(gb0135|fea)mta\\d\{2\}\\..*\\..*\\.slb\\.com|usxsl05(0|1|2|3)\\.slb\\.atosorigin-asp\\.com|nl0105exc\\d\{2\}\\.eur\\.slb\\.com|sx00(2|3|4|6)\\.ddc-nl0105\\.slb\\.com|nl02
30mbx\\d\{2\}n(1|2)\\.dir\\.slb\\.com}\
                    # We can trust that it has been scanned and send it to directory-mail.slb.com
                    {directory-mail.slb.com}\
                    # If the message hasn't been scanned send it to the relay
                    {gateway.mail.slb.com}\
                   }" bydns
        headers_add = "X-LDAP-Alias: LDAP_ALIAS_VERSION Sent to $original_local_part@$original_domain resolving to $local_part@$domain"     

# Router to route non SINet addresses to perimeter MTA
slb_perimeter_routes:
  driver = domainlist
  transport = remote_smtp
  domains =  !*.slb.com:!slb.com
  route_list = * "gateway.mail.slb.com\
               " bydns
  no_more

exchangehost:
  domains = exchange.slb.com
  driver = lookuphost
  transport = remote_smtp

slbhost:
  domains = slb.com : westerngeco.com
  condition = "${if or {{eq {$original_domain}{slb.com}} \
                {eq {$original_domain}{westerngeco.com}}}{{0}{1}}"
  headers_add = "X-LDAP-Alias: LDAP_ALIAS_VERSION Sent to $original_local_part@$original_domain resolving to $local_part@$domain"
  driver = lookuphost
  transport = remote_smtp

lookuphost:
  driver = lookuphost
  transport = remote_smtp

-----Original Message-----
From: Prashanth Katuri
Sent: Wednesday, July 17, 2013 11:43 AM
To: 'Todd Lyons'
Cc: 'Phil Pennock'; 'exim-users@???'
Subject: RE: [exim] exim build errors - exim-4.80.1

Todd,

I have a question on exim-4.80.1 version.

When I verify the mail flow from the machine I upgraded vs machine in production, I get different results. As exim3 is routing email to exchange but exim4 is just relaying the email without expanding it.

Below is the output from the machine running 4.80.1

pkaturi@gb0882ldaptst01 >exim -bt pkaturi@??? pkaturi@???
  router = slbhost, transport = remote_smtp
  host mail0.slb.com                [163.10.9.8]  MX=200
  host mail.messaging.microsoft.com [213.56.90.8] MX=250
  host mail.messaging.microsoft.com [216.98.0.5]   MX=250
  host mail.global.frontbridge.com  [213.45.6.4] MX=600
  host mail.global.frontbridge.com  [207.46.789.0]   MX=600


Below is the output from production machine running exim-3.36

pkaturi@us1096ldap01 >exim -bt pkaturi@??? PKaturi@???
    <-- pkaturi@???
  deliver to PKaturi@???
  router = exchangehost, transport = remote_smtp
  host nl0230exchub.mail.slb.com    [199.6.8.1]     MX=100
  host nl0230exchub.mail.slb.com    [199.6.7.0]     MX=100
  host nl0230exchub.mail.slb.com    [199.6.200.7]     MX=100
  host nl0230exchub.mail.slb.com    [199.6.78.0]     MX=100
  host mail.messaging.microsoft.com [216.45.78.90]  MX=200
  host mail.messaging.microsoft.com [213.67.97.34] MX=200


Please assist.
Thanks,
Prashanth


-----Original Message-----
From: Prashanth Katuri
Sent: Thursday, June 06, 2013 3:56 PM
To: 'Todd Lyons'
Cc: Phil Pennock; exim-users@???
Subject: RE: [exim] exim build errors - exim-4.80.1

Todd,

Thank you for the reply. I have commented out the LOOKUP_MODULE_DIR in Makefile and then run make and make install  and now I don’t see any issues.

Thank you Phil for your assistance.

Thanks,
Prashanth
-----Original Message-----
From: Todd Lyons [mailto:tlyons@ivenue.com]
Sent: Thursday, June 06, 2013 3:46 PM
To: Prashanth Katuri
Cc: Phil Pennock; exim-users@???
Subject: Re: [exim] exim build errors - exim-4.80.1

Create the directory.  The warning message will go away.

...Todd

On Thu, Jun 6, 2013 at 1:07 PM, Prashanth Katuri <PKaturi@???> wrote:

> Phil,
>
> Thank you for the fix. This time it worked fine.
>
> Btw after successful install when I am trying to do exim -bV
>
> pkaturi@gb0882ldaptst01 >exim -bV
> Exim version 4.80.1 #8 built 06-Jun-2013 20:00:53 Copyright (c) 
> University of Cambridge, 1995 - 2012
> (c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file,
> 2007 - 2012 Berkeley DB: Sleepycat Software: Berkeley DB 4.0.14: 
> (November 18, 2001) Support for: iconv() Perl DKIM Lookups (built-in): 
> lsearch wildlsearch nwildlsearch iplsearch dbm dbmjz dbmnz ldap ldapdn 
> ldapm
> Authenticators:
> Routers: accept dnslookup ipliteral manualroute queryprogram redirect
> Transports: appendfile autoreply pipe smtp Fixed never_users: 0 Size 
> of off_t: 4 Configuration file is /etc/exim/exim.conf
>
>
> Below is the mainlog after the mail has been sent.
>
> 2013-06-06 20:04:47 1UkgQO-0000vn-OD <= PKaturi@??? H=localhost 
> [127.0.0.1] P=smtp S=213
> 2013-06-06 20:04:47 Couldn't open /usr/lib/exim/lookups-exim-4.80.1/: 
> not loading lookup modules
>
> 2013-06-06 20:04:48 1UkgQO-0000vn-OD => 
> /var/spool/exim/puremessage/1UkgQO-0000vn-OD <system-filter> 
> T=address_file
> 2013-06-06 20:04:49 1UkgQO-0000vn-OD => pkaturi@??? 
> <PKaturi@???> R=slbhost T=remote_smtp H=mail0.slb.com 
> [163.185.18.201]
> 2013-06-06 20:04:49 1UkgQO-0000vn-OD Completed
>
> Not sure what needs to be done for "2013-06-06 20:04:47 Couldn't open /usr/lib/exim/lookups-exim-4.80.1/: not loading lookup modules"
>
>
> Below is the output of make and make install.
>
> pkaturi@gb0882ldaptst01 >sudo make
> `Makefile' is up to date.
>
> make[1]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
> /bin/sh ../scripts/Configure-config.h "make"
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
> make[2]: `buildconfig' is up to date.
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
> Building configuration file config.h
>>>> config.h built
>
>>>> version 4.80.1 #7
>
>>>> exicyclog script built
>>>> exinext script built
>>>> exiwhat script built
>>>> exigrep script built
>>>> eximstats script built
>>>> exipick script built
>>>> exiqgrep script built
>>>> exiqsumm script built
>>>> transport-filter.pl script built
>>>> convert4r3 script built
>>>> convert4r4 script built
>>>> exim_checkaccess script built
>
> gcc exim_dbmbuild.c
> gcc -o exim_dbmbuild
>>>> exim_dbmbuild utility built
>
> gcc -DEXIM_DUMPDB exim_dbutil.c
> gcc -DCOMPILE_UTILITY os.c
> gcc -DCOMPILE_UTILITY store.c
> gcc -o exim_dumpdb
>>>> exim_dumpdb utility built
>
> gcc -DEXIM_FIXDB exim_dbutil.c
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/auths'
> gcc auth-spa.c
> gcc b64decode.c
> gcc b64encode.c
> gcc call_pam.c
> gcc call_pwcheck.c
> gcc call_radius.c
> gcc check_serv_cond.c
> gcc cram_md5.c
> gcc cyrus_sasl.c
> gcc dovecot.c
> gcc get_data.c
> gcc get_no64_data.c
> gcc gsasl_exim.c
> gcc heimdal_gssapi.c
> gcc md5.c
> gcc plaintext.c
> gcc pwcheck.c
> gcc sha1.c
> gcc spa.c
> gcc xtextdecode.c
> gcc xtextencode.c
> ar cq auths.a
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/auths'
>
> gcc -o exim_fixdb
>>>> exim_fixdb utility built
>
> gcc -DEXIM_TIDYDB exim_dbutil.c
> gcc -o exim_tidydb
>>>> exim_tidydb utility built
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'
> gcc ldap.c
> ar cq lookups.a
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/routers'
> gcc accept.c
> gcc dnslookup.c
> gcc ipliteral.c
> gcc iplookup.c
> gcc manualroute.c
> gcc queryprogram.c
> gcc redirect.c
> gcc rf_change_domain.c
> gcc rf_expand_data.c
> gcc rf_get_errors_address.c
> gcc rf_get_munge_headers.c
> gcc rf_get_transport.c
> gcc rf_get_ugid.c
> gcc rf_lookup_hostlist.c
> gcc rf_queue_add.c
> gcc rf_self_action.c
> gcc rf_set_ugid.c
> ar cq routers.a
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/routers'
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/transports'
> gcc appendfile.c
> gcc autoreply.c
> gcc lmtp.c
> gcc pipe.c
> gcc smtp.c
> gcc tf_maildir.c
> ar cq transports.a
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/transports'
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/auths'
> make[2]: `auths.a' is up to date.
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/auths'
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/pdkim'
> gcc base64.c
> gcc bignum.c
> gcc pdkim.c
> gcc rsa.c
> gcc sha1.c
> gcc sha2.c
> ar cq pdkim.a
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/pdkim'
>
> gcc acl.c
> gcc child.c
> gcc crypt16.c
> gcc daemon.c
> gcc dbfn.c
> gcc debug.c
> gcc deliver.c
> gcc directory.c
> gcc dns.c
> gcc drtables.c
> gcc enq.c
> gcc exim.c
> gcc expand.c
> gcc filter.c
> gcc filtertest.c
> gcc globals.c
> gcc dkim.c
> gcc header.c
> gcc host.c
> gcc ip.c
> gcc log.c
> gcc lss.c
> gcc match.c
> gcc moan.c
> gcc os.c
> gcc parse.c
> gcc queue.c
> gcc rda.c
> gcc readconf.c
> gcc receive.c
> gcc retry.c
> gcc rewrite.c
> gcc rfc2047.c
> gcc route.c
> gcc search.c
> gcc sieve.c
> gcc smtp_in.c
> gcc smtp_out.c
> gcc spool_in.c
> gcc spool_out.c
> gcc std-crypto.c
> gcc store.c
> gcc string.c
> gcc tls.c
> gcc tod.c
> gcc transport.c
> gcc tree.c
> gcc verify.c
> gcc lookups/lf_quote.c
> gcc lookups/lf_check_file.c
> gcc lookups/lf_sqlperform.c
> gcc local_scan.c
> gcc perl.c
> gcc malware.c
> gcc mime.c
> gcc regex.c
> gcc spam.c
> gcc spool_mbox.c
> gcc demime.c
> gcc bmi_spam.c
> gcc spf.c
> gcc srs.c
> gcc dcc.c
> gcc version.c
> gcc -o exim
> ld: warning: global symbol '_END_' has non-global binding:
>         (file /usr/local/lib/liblber.so value=LOCL);
> ld: warning: global symbol '_START_' has non-global binding:
>         (file /usr/local/lib/liblber.so value=LOCL);
>
>>>> exim binary built
>
> make[1]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
> pkaturi@gb0882ldaptst01 >sudo make test
> make: *** No rule to make target `test'.  Stop.
> pkaturi@gb0882ldaptst01 >sudo make install `Makefile' is up to date.
>
> make[1]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
>>>> version 4.80.1 #8
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/lookups'
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/routers'
> make[2]: `routers.a' is up to date.
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/routers'
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/transports'
> make[2]: `transports.a' is up to date.
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/transports'
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/auths'
> make[2]: `auths.a' is up to date.
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/auths'
>
> make[2]: Entering directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/pdkim'
> make[2]: `pdkim.a' is up to date.
> make[2]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc/pdkim'
>
> gcc lookups/lf_quote.c
> gcc lookups/lf_check_file.c
> gcc lookups/lf_sqlperform.c
> gcc version.c
> gcc -o exim
> ld: warning: global symbol '_END_' has non-global binding:
>         (file /usr/local/lib/liblber.so value=LOCL);
> ld: warning: global symbol '_START_' has non-global binding:
>         (file /usr/local/lib/liblber.so value=LOCL);
>
>>>> exim binary built
>
> make[1]: Leaving directory `/home/pkaturi/exim-4.80.1/build-SunOS5-5.10-sparc'
>
> Installation directory is /usr/local/exim/bin
>
> cp exim /usr/local/exim/bin/exim-4.80.1-8 /usr/bin/chown root
> /usr/local/exim/bin/exim-4.80.1-8 chmod a+x
> /usr/local/exim/bin/exim-4.80.1-8 chmod u+s
> /usr/local/exim/bin/exim-4.80.1-8 (cd /usr/local/exim/bin; ln -s
> exim-4.80.1-8 temporary_exim) /bin/mv -f 
> /usr/local/exim/bin/temporary_exim /usr/local/exim/bin/exim cp 
> /usr/local/exim/bin/exim_dumpdb /usr/local/exim/bin/exim_dumpdb.O cp 
> exim_dumpdb /usr/local/exim/bin cp /usr/local/exim/bin/exim_fixdb 
> /usr/local/exim/bin/exim_fixdb.O cp exim_fixdb /usr/local/exim/bin cp 
> /usr/local/exim/bin/exim_tidydb /usr/local/exim/bin/exim_tidydb.O cp 
> exim_tidydb /usr/local/exim/bin cp /usr/local/exim/bin/exinext 
> /usr/local/exim/bin/exinext.O cp exinext /usr/local/exim/bin cp 
> /usr/local/exim/bin/exiwhat /usr/local/exim/bin/exiwhat.O cp exiwhat 
> /usr/local/exim/bin cp /usr/local/exim/bin/exim_dbmbuild 
> /usr/local/exim/bin/exim_dbmbuild.O
> cp exim_dbmbuild /usr/local/exim/bin
> cp /usr/local/exim/bin/exicyclog /usr/local/exim/bin/exicyclog.O cp 
> exicyclog /usr/local/exim/bin cp /usr/local/exim/bin/exigrep 
> /usr/local/exim/bin/exigrep.O cp exigrep /usr/local/exim/bin cp 
> /usr/local/exim/bin/eximstats /usr/local/exim/bin/eximstats.O cp 
> eximstats /usr/local/exim/bin cp /usr/local/exim/bin/exipick 
> /usr/local/exim/bin/exipick.O cp exipick /usr/local/exim/bin cp 
> /usr/local/exim/bin/exiqgrep /usr/local/exim/bin/exiqgrep.O cp 
> exiqgrep /usr/local/exim/bin cp /usr/local/exim/bin/exiqsumm 
> /usr/local/exim/bin/exiqsumm.O cp exiqsumm /usr/local/exim/bin cp 
> /usr/local/exim/bin/exim_lock /usr/local/exim/bin/exim_lock.O cp 
> exim_lock /usr/local/exim/bin cp /usr/local/exim/bin/exim_checkaccess
> /usr/local/exim/bin/exim_checkaccess.O
> cp exim_checkaccess /usr/local/exim/bin
>
> Configuration file /etc/exim/exim.conf already exists
>
> Exim installation complete
>
> Thanks,
> Prashanth
>
> -----Original Message-----
> From: Phil Pennock [mailto:pdp@exim.org]
> Sent: Thursday, June 06, 2013 2:37 PM
> To: Prashanth Katuri
> Cc: exim-users@???
> Subject: Re: [exim] exim build errors - exim-4.80.1
>
> On 2013-06-06 at 16:23 +0000, Prashanth Katuri wrote:
>> Thank you for the reply. I am still getting the same error when added the below line into ldap.c as suggested.
>>
>> #ifdef LDAP_OPT_X_TLS
>> if defined(LDAP_OPT_X_TLS) && !defined(LDAP_LIB_SOLARIS)
>
> That is two lines.
>
>> gcc ldap.c
>> ldap.c: In function `perform_ldap_search':
>> ldap.c:523: error: syntax error before "defined"
>
> That is the C compiler complaining because you have CPP macro directives not on a #<macro> line.
>
> I wrote:
> } The change supplied was in the form of a "unified diff"; the lines } starting "-" are to be removed, the lines starting "+" are to be } added.
> }
> } The required change is to be made to one line, _replacing_ the #ifdef } with the slightly more complicated "#if defined(...) && !defined(...)"
> } logic.
>
> You *REPLACE* the line:
>  #ifdef LDAP_OPT_X_TLS
> with this new line, which *MUST* start with a "#":
>  #if defined(LDAP_OPT_X_TLS) && !defined(LDAP_LIB_SOLARIS)
>
> Regards,
> -Phil
>
>
> --
> ## List details at https://lists.exim.org/mailman/listinfo/exim-users
> ## Exim details at http://www.exim.org/ ## Please use the Wiki with 
> this list - http://wiki.exim.org/




--
The total budget at all receivers for solving senders' problems is $0.
If you want them to accept your mail and manage it the way you want, send it the way the spec says to. --John Levine