Added Return-Path: handling (gets the address on the "From " line).

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@6 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Unknown User PSV
1993-03-11 12:30:42 +00:00
parent 5ee8b08111
commit af549231cf

View File

@@ -26,6 +26,12 @@ POP * p;
register int msg_num;
register int msg_lines;
char buffer[MAXMSGLINELEN];
#ifdef RETURN_PATH_HANDLING
char * return_path_adr;
char * return_path_end;
int return_path_sent;
int return_path_linlen;
#endif
/* Convert the first parameter into an integer */
msg_num = atoi(p->pop_parm[1]);
@@ -63,8 +69,36 @@ POP * p;
/* Skip the first line (the sendmail "From" line) */
(void)fgets (buffer,MAXMSGLINELEN,p->drop);
#ifdef RETURN_PATH_HANDLING
return_path_sent = 0;
if (strncmp(buffer,"From ",5) == 0) {
return_path_linlen = strlen(buffer);
for (return_path_adr = buffer+5;
(*return_path_adr == ' ' || *return_path_adr == '\t') &&
return_path_adr < buffer + return_path_linlen;
return_path_adr++)
;
if (return_path_adr < buffer + return_path_linlen) {
if ((return_path_end = index(return_path_adr, ' ')) != NULL)
*return_path_end = '\0';
if (strlen(return_path_adr) != 0 && *return_path_adr != '\n') {
static char tmpbuf[MAXMSGLINELEN];
strcpy(tmpbuf, "Return-Path:");
strcat(tmpbuf, return_path_adr);
pop_sendline (p,tmpbuf);
return_path_sent++;
}
}
}
#endif
/* Send the header of the message followed by a blank line */
while (fgets(buffer,MAXMSGLINELEN,p->drop)) {
#ifdef RETURN_PATH_HANDLING
/* Don't send existing Return-Path-header if already sent own */
if (strncasecmp(buffer,"Return-Path:", 12) != 0 ||
!return_path_sent)
#endif
pop_sendline (p,buffer);
/* A single newline (blank line) signals the
end of the header. sendline() converts this to a NULL,