This patch adds environment variables to fastforward. Everything between two dollar signs gets evaluated per delivery. Use a line like "@some.domain: $EXT$@another.domain" to your aliases file to do wildcard forwarding. http://www.wolfermann.org/djbware.html --- fastforward.c.orig Tue May 19 18:25:42 1998 +++ fastforward.c Tue Dec 14 11:29:57 2004 @@ -250,15 +250,37 @@ void dodata() } } -void dorecip(addr) +void dovar(addr) char *addr; { + int i,n; + char *x; + + for (i=0; addr[i]; i++) { + if (addr[i] == '$') { + n = str_chr(addr + i + 1, '$'); + addr[i+n+1] = 0; + if ((x = env_get(addr+i+1))) + if (!stralloc_cats(&forward,x)) nomem(); + i = i+n+1; + } else + if (!stralloc_catb(&forward,addr+i,1)) nomem(); + } + if (!stralloc_0(&forward)) nomem(); +} +void dorecip(addr) +char *addr; +{ if (!findtarget(0,"?",addr)) if (gettarget(0,":",addr)) { dodata(); return; } + if (addr[str_rchr(addr, '$')]) { + dovar(addr); + return; + } if (!stralloc_cats(&forward,addr)) nomem(); if (!stralloc_0(&forward)) nomem(); }