*** sendmail/alias.c.dist Wed Jun 21 04:22:05 2000 --- sendmail/alias.c Wed Jun 21 04:18:57 2000 *************** *** 57,62 **** --- 57,68 ---- char *owner; auto int status = 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 if (tTd(27, 1)) dprintf("alias(%s)\n", a->q_user); *************** *** 110,115 **** --- 116,142 ---- 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; /*