** Return the Return-Path and Delivery-Date
** header information.
**
-** Currently, I'm assuming that the "From " line
-** takes one of the following forms.
-**
-** From sender date remote from host (for UUCP delivery)
-** From sender@host date (for sendmail delivery)
+** Currently, I'm assuming that the "From " line takes the following form:
+** "From" sender@host date (sendmail delivery)
*/
-
int
get_returnpath(char *rp, int rplen, char *dd, int ddlen)
{
- char *ap, *bp, *cp, *dp;
+ char *ap, *bp;
ap = unixbuf;
- if (!(bp = cp = strchr(ap, ' ')))
+ if (!(bp = strchr(ap, ' ')))
return 0;
- /*
- ** Check for "remote from" in envelope to see
- ** if this message uses UUCP style addressing
- */
- while ((cp = strchr(++cp, 'r'))) {
- if (strncmp(cp, "remote from", 11) == 0) {
- cp = strrchr(cp, ' ');
- break;
- }
- }
-
- /*
- ** Get the Return-Path information from
- ** the "From " envelope.
- */
- if (cp) {
- /* return path for UUCP style addressing */
- dp = strchr(++cp, '\n');
- snprintf(rp, rplen, "%.*s!%.*s\n", (int)(dp - cp), cp, (int)(bp - ap), ap);
- } else {
- /* return path for standard domain addressing */
- snprintf(rp, rplen, "%.*s\n", (int)(bp - ap), ap);
- }
+ /* Get the Return-Path information from the "From " envelope. */
+ snprintf(rp, rplen, "%.*s\n", (int)(bp - ap), ap);
/*
** advance over the spaces to get to
/* Now get delivery date from envelope */
snprintf(dd, ddlen, "%.*s\n", 24, bp);
- unixbuf[0] = 0;
+ *unixbuf = '\0';
return 1;
}