comparison src/dnsbl.cpp @ 415:16451edcb962

spf code now handles mx,exists,ptr tags, multiple A records, %{i} macro
author Carl Byington <carl@five-ten-sg.com>
date Tue, 25 Apr 2017 15:23:33 -0700
parents d5a1ed33d3ae
children 91f2a127ec69
comparison
equal deleted inserted replaced
414:d5a1ed33d3ae 415:16451edcb962
433 if ((qtype == ns_t_mx) && (my_answer) && (my_size > 1)) { 433 if ((qtype == ns_t_mx) && (my_answer) && (my_size > 1)) {
434 uint32_t c = 0; 434 uint32_t c = 0;
435 while (ns_parserr(&handle, ns_s_an, rrnum++, &rr) == 0) { 435 while (ns_parserr(&handle, ns_s_an, rrnum++, &rr) == 0) {
436 if (ns_rr_type(rr) == qtype) { 436 if (ns_rr_type(rr) == qtype) {
437 char exchange[NS_MAXDNAME]; 437 char exchange[NS_MAXDNAME];
438 size_t rdlen = ns_rr_rdlen(rr); 438 //size_t rdlen = ns_rr_rdlen(rr);
439 //const uint16_t pri = ns_get16(rdata);
439 const unsigned char *rdata = ns_rr_rdata(rr); 440 const unsigned char *rdata = ns_rr_rdata(rr);
440 const uint16_t pri = ns_get16(rdata);
441 int len = dn_expand(glom.answer, glom.answer+glom.length, rdata + 2, exchange, sizeof(exchange)); 441 int len = dn_expand(glom.answer, glom.answer+glom.length, rdata + 2, exchange, sizeof(exchange));
442 if ((len > 0) && (my_size > len+2)) { 442 if ((len > 0) && (my_size > (uint32_t)len+2)) {
443 strcpy(my_answer, exchange); 443 strcpy(my_answer, exchange);
444 my_answer += len + 1; 444 my_answer += len + 1;
445 my_size -= len + 1; 445 my_size -= len + 1;
446 c++; 446 c++;
447 } 447 }
1731 my_syslog(&priv, buf); 1731 my_syslog(&priv, buf);
1732 } 1732 }
1733 } 1733 }
1734 1734
1735 CONTEXT *con = NULL; 1735 CONTEXT *con = NULL;
1736 const char *st; 1736 const char *st = token_black;
1737 for (context_map::iterator i=priv.env_to.begin(); i!=priv.env_to.end(); i++) { 1737 for (context_map::iterator i=priv.env_to.begin(); i!=priv.env_to.end(); i++) {
1738 const char *rcpt = (*i).first; 1738 const char *rcpt = (*i).first;
1739 CONTEXT *next = (*i).second; 1739 CONTEXT *next = (*i).second;
1740 if (con != next) { 1740 if (con != next) {
1741 con = next; 1741 con = next;