diff -ur fetchmail-5.9.11/sink.c fetchmail-5.9.11.returnpath/sink.c --- fetchmail-5.9.11/sink.c Tue Dec 31 01:26:06 2002 +++ fetchmail-5.9.11.returnpath/sink.c Tue Dec 31 01:25:32 2002 @@ -672,6 +672,9 @@ } else if (strchr(msg->return_path,'@') || strchr(msg->return_path,'!')) ap = msg->return_path; + /* in case Return-Path was "<>" we want to preserve that */ + else if (strcmp(msg->return_path,"<>") == 0) + ap = msg->return_path; else /* in case Return-Path existed but was local */ { #ifdef HAVE_SNPRINTF diff -ur fetchmail-5.9.11/transact.c fetchmail-5.9.11.returnpath/transact.c --- fetchmail-5.9.11/transact.c Tue Dec 31 01:26:06 2002 +++ fetchmail-5.9.11.returnpath/transact.c Tue Dec 31 00:04:32 2002 @@ -665,6 +665,8 @@ */ if (!strncasecmp("Return-Path:", line, 12) && (cp = nxtaddr(line))) { + if (cp[0]=='\0') /* nxtaddr() strips the brackets... */ + cp="<>"; strncpy(msgblk.return_path, cp, sizeof(msgblk.return_path)); msgblk.return_path[sizeof(msgblk.return_path)-1] = '\0'; if (!ctl->mda) {