-----BEGIN PGP SIGNED MESSAGE----- I have rewritten recipientmap into qmail 1.03. Here is the diff for -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBOIXlwEZx0BGJTwrZAQF4UAP7Bwlvz+U5HuWL7lgYvT5AwGb6WFj4sfhC CZVXfsqlV231/bN7zOgSCRdCC/ismocAyyDrYVwOu0GV8VysD/C5NrOV9xU9Ph3J 1CU5USDQS53jhsJd1PJVU24DyEmAe+08P/ZRuxs1mnwR/aLIL2ePeGssTIdd6eIJ h/JPbd5EpFA= =nErE -----END PGP SIGNATURE----- qmail-send.c: 52a53,54 > stralloc rmap = {0}; > struct constmap maprmap; 139a142,146 > if(x = constmap(&maprmap,addr.s,addr.len)) > { > if(*x) > if(!stralloc_copys(&addr,x)) return 0; > } 149,150c156,158 < for (i = 0;i <= addr.len;++i) < if (!i || (i == at + 1) || (i == addr.len) || ((i > at) && (addr.s[i] == '.'))) --- > for(i = 0;i <= addr.len;++i) > if(!i || (i == at + 1) || (i == addr.len) || > ((i > at) && (addr.s[i] == '.'))) 1469a1478,1483 > switch(control_readfile(&rmap,"control/recipientmap",0)) > { > case -1: return 0; > case 0: if (!constmap_init(&maprmap,"",0,1)) return 0; break; > case 1: if (!constmap_init(&maprmap,rmap.s,rmap.len,1)) return 0; break; > } 1473a1488 > stralloc newrmap = {0}; 1477c1492 < int r; --- > int r,r2; 1484a1500,1503 > r = control_readfile(&newrmap,"control/recipientmap",0); > if (r == -1) > { log1("alert: unable to reread control/recipientmap\n"); return; } > 1486a1506 > constmap_free(&maprmap); 1491c1511 < if (r) --- > if(r) 1497a1518,1525 > > if(r2) > { > while (!stralloc_copy(&rmap,&newrmap)) nomem(); > while (!constmap_init(&maprmap,rmap.s,rmap.len,1)) nomem(); > } > else > while (!constmap_init(&maprmap,"",0,1)) nomem(); -- Jack McKinney The Lorentz Group http://www.lorentz.com F4 A0 65 67 58 77 AF 9B FC B3 C5 6B 55 36 94 A6