> On 07 Apr 2016, at 14:40, Joerg Jung <[email protected]> wrote: > > >> On 07 Apr 2016, at 13:13, Michiel van Es <[email protected]> wrote: >>> On 07 Apr 2016, at 12:59, Joerg Jung <[email protected]> wrote: >>> >>> Ok... that makes sense now. >>> -2 seems to be EAI_NONAME which seems to be the error code specific on >>> Ubuntu libc for NXDOMAIN replies, instead of EAI_NODATA. >>> >>> These error codes and related RFCs are subject to a lot of discussions. >>> See here to get an idea: >>> https://sourceware.org/bugzilla/show_bug.cgi?id=15726 >>> Especially, note the cross references to Ubuntu bugs ... >>> >>> Instead of trying to fit all distribution specific changes, >>> the easiest might be to change the logic here and check for the returned >>> address not being empty -- instead of errno. >>> >>> I'll try to come up with a proper diff to fix this, but give me some time >>> as >>> I'm very busy currently. >>> >>> As quick fix: you can just change the if statement to: >>> if (ar->ar_gai_errno != EAI_NODATA && ar->ar_gai_errno != EAI_NONAME) { >> >> like this? => > > yes. > >> dnsbl_event_dispatch(struct asr_result *ar, void *arg) >> { >> uint64_t *q = arg; >> >> if (ar->ar_addrinfo) >> freeaddrinfo(ar->ar_addrinfo); >> log_warnx("warn: DEBUG: ar_gai_errno=%d, EAI_NODATA=%d", >> ar->ar_gai_errno, EAI_NODATA); >> if (ar->ar_gai_errno != EAI_NODATA && ar->ar_gai_errno != EAI_NONAME) { >> log_warnx("warn: session %016"PRIx64": event_dispatch: REJECT >> address ar_gai_errno=%d", *q, ar->ar_gai_errno); >> filter_api_reject_code(*q, FILTER_CLOSE, 554, "5.7.1 Address >> in DNSBL"); >> } else >> filter_api_accept(*q); >> free(q); >> } >> >>> ... and it should start working as expected. Can you confirm that, please? >> >> if above is correct, it did not work: >> >> dnsbl[26098]: warn: DEBUG: ar_gai_errno=-5, EAI_NODATA=-2 >> dnsbl[26098]: warn: session de57c06bd67994d3: event_dispatch: REJECT address >> ar_gai_errno=-5 >> filter: imsg IMSG_FILTER_RESPONSE from procfilter >> dnsbl[hooks=0xffffffff,flags=0x0000] >> filter: filter_drain_query de57c06c3dc0ecca[QUERY_CONNECT=178.21.114.197 <-> >> 185.14.168.222(pro-mail-smtp-001.bol.com),filter_session@0x1588030[datalen=0,eom=(nil),ofile=(nil)]] >> filter: filter_end_query de57c06c3dc0ecca[QUERY_CONNECT=178.21.114.197 <-> >> 185.14.168.222(pro-mail-smtp-001.bol.com),filter_session@0x1588030[datalen=0,eom=(nil),ofile=(nil)]] >> filter: query de57c06c3dc0ecca done: status=FILTER_CLOSE code=554 >> response="5.7.1 Address in DNSBL" >> smtp-in: Failed command on session de57c06bd67994d3: "" => 554 5.7.1 Address >> in DNSBL >> smtp-in: Closing session de57c06bd67994d3 >> debug: smtp: 0x1655cf0: deleting session: done >> filter: post-event event=EVENT_DISCONNECT filter=dnsbl >> ^Cinfo: queue handler exiting >> info: scheduler handler exiting >> info: ca agent exiting >> warn: control -> queue: pipe closed >> warn: lka -> queue: pipe closed >> strace: Process 26091 detached >> > > Ok can change the added DEBUG line right before the if statement once again > to: > > log_warnx("warn: DEBUG: ar_gai_errno=%d, EAI_NODATA=%d, EAI_NONAME=%d, > gai_strerror=‘%s'", ar->ar_gai_errno, EAI_NODATA, EAI_NONAME, > gai_strerror(ar->ar_gai_errno)); > > … and show me output?
debug: smtp: new client on listener: 0x1a90130 smtp-in: New session 1dc609e7cb3551c5 from host pro-mail-smtp-001.bol.com [185.14.168.222] filter: post-event event=EVENT_CONNECT filter=dnsbl filter: new query QUERY_CONNECT filter: filter_drain_query 1dc609e878b913e8[QUERY_CONNECT=178.21.114.197 <-> 185.14.168.222(pro-mail-smtp-001.bol.com),filter_session@0x1a7f030[datalen=0,eom=(nil),ofile=(nil)]] filter: running filter filter:dnsbl[hooks=0xffffffff,flags=0x0000] for query 1dc609e878b913e8[QUERY_CONNECT=178.21.114.197 <-> 185.14.168.222(pro-mail-smtp-001.bol.com),filter_session@0x1a7f030[datalen=0,eom=(nil),ofile=(nil)]] filter: waiting for running query 1dc609e878b913e8[QUERY_CONNECT=178.21.114.197 <-> 185.14.168.222(pro-mail-smtp-001.bol.com),filter_session@0x1a7f030[datalen=0,eom=(nil),ofile=(nil)]] dnsbl[27129]: debug: on_connect: checking 222.168.14.185.psbl.surriel.com. dnsbl[27129]: warn: DEBUG: ar_gai_errno=-5, EAI_NODATA=-2, EAI_NONAME=-2, gai_strerror=‘No address associated with hostname' dnsbl[27129]: warn: session 1dc609e7cb3551c5: event_dispatch: REJECT address ar_gai_errno=-5 filter: imsg IMSG_FILTER_RESPONSE from procfilter dnsbl[hooks=0xffffffff,flags=0x0000] filter: filter_drain_query 1dc609e878b913e8[QUERY_CONNECT=178.21.114.197 <-> 185.14.168.222(pro-mail-smtp-001.bol.com),filter_session@0x1a7f030[datalen=0,eom=(nil),ofile=(nil)]] filter: filter_end_query 1dc609e878b913e8[QUERY_CONNECT=178.21.114.197 <-> 185.14.168.222(pro-mail-smtp-001.bol.com),filter_session@0x1a7f030[datalen=0,eom=(nil),ofile=(nil)]] filter: query 1dc609e878b913e8 done: status=FILTER_CLOSE code=554 response="5.7.1 Address in DNSBL" smtp-in: Failed command on session 1dc609e7cb3551c5: "" => 554 5.7.1 Address in DNSBL smtp-in: Closing session 1dc609e7cb3551c5 debug: smtp: 0x1b4ccf0: deleting session: done filter: post-event event=EVENT_DISCONNECT filter=dnsbl > > > > -- > You received this mail because you are subscribed to [email protected] > To unsubscribe, send a mail to: [email protected] > -- You received this mail because you are subscribed to [email protected] To unsubscribe, send a mail to: [email protected]
