*** src/alias.c.dist Tue Jul 7 00:31:06 1998 --- src/alias.c Tue Jul 7 00:40:57 1998 *************** *** 55,60 **** --- 55,66 ---- char *owner; auto int stat = EX_OK; char obuf[MAXNAME + 7]; + #ifdef LISTSERV + /* tmk - hack for LISTSERV subscription probes */ + static char *lbuf = NULL; + char lbuf2[MAXNAME + 30]; + static char lbuflen = -1; + #endif extern char *aliaslookup __P((char *, int *, ENVELOPE *)); if (tTd(27, 1)) *************** *** 86,91 **** --- 92,118 ---- return; } if (p == NULL) + #ifdef LISTSERV + /* tmk - hack for LISTSERV subscription probes */ + if (strncmp(a->q_user, "owner-", 6) == 0) + { + strcpy(lbuf2, "\"|/usr/local/bin/lsv_amin -t "); + strcat(lbuf2, a->q_user); + strcat(lbuf2, "\""); + /* + * of course, it's never this easy - sendmail expects + * to be able to deallocate this buffer later, so we + * make a temporary, dynamic copy. + */ + lbuflen = strlen(lbuf2); + if (lbuf != NULL) + free(lbuf); + lbuf = xalloc(lbuflen + 1); + strcpy(lbuf, lbuf2); + p = lbuf; + } + else + #endif /* LISTSERV */ return; /*