source:
npl/commonservers/ucspi-tcp/ucspi-tcp-0.88.a_record.patch
@
c5c522c
Last change on this file since c5c522c was c5c522c, checked in by , 8 years ago | |
---|---|
|
|
File size: 1.8 KB |
-
ucspi-tcp-0.88
diff -ruN --exclude conf-* ucspi-tcp-0.88/rblsmtpd.c ucspi-tcp-0.88.fix/rblsmtpd.c
old new 60 60 61 61 void rbl(char *base) 62 62 { 63 int i; 64 char *altreply = 0; 63 65 if (decision) return; 64 66 if (!stralloc_copy(&tmp,&ip_reverse)) nomem(); 67 i = str_chr(base, ':'); 68 if (base[i]) { 69 base[i] = 0; 70 altreply = base+i+1; 71 } 65 72 if (!stralloc_cats(&tmp,base)) nomem(); 66 if (dns_txt(&text,&tmp) == -1) { 67 flagmustnotbounce = 1; 68 if (flagfailclosed) { 69 if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); 70 decision = 2; 73 if (altreply) { 74 if (dns_ip4(&text,&tmp) == -1) { 75 flagmustnotbounce = 1; 76 if (flagfailclosed) { 77 if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); 78 decision = 2; 79 } 80 return; 81 } 82 if (text.len) { 83 if(!stralloc_copys(&text, "")) nomem(); 84 while(*altreply) { 85 char *x; 86 i = str_chr(altreply, '%'); 87 if(!stralloc_catb(&text, altreply, i)) nomem(); 88 if(altreply[i] && 89 altreply[i+1]=='I' && 90 altreply[i+2]=='P' && 91 altreply[i+3]=='%') { 92 if(!stralloc_catb(&text, ip_env, str_len(ip_env))) nomem(); 93 altreply+=i+4; 94 } else if(altreply[i]) { 95 if(!stralloc_cats(&text, "%")) nomem(); 96 altreply+=i+1; 97 } else { 98 altreply+=i; 99 } 100 } 101 } 102 } else { 103 if (dns_txt(&text,&tmp) == -1) { 104 flagmustnotbounce = 1; 105 if (flagfailclosed) { 106 if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem(); 107 decision = 2; 108 } 109 return; 71 110 } 72 return;73 111 } 74 112 if (text.len) 75 113 if (flagrblbounce)
Note: See TracBrowser
for help on using the repository browser.