summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sendmail
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1996-12-03 06:20:18 +0000
committerpeter <peter@FreeBSD.org>1996-12-03 06:20:18 +0000
commit51333fb77fce4a2b94f93a031373b995f943491b (patch)
treeb6890e1cce3af8a06a96b624064b1a301675f7f5 /usr.sbin/sendmail
parent874b5f676329e56ec767efd05b77ae2b97579251 (diff)
downloadFreeBSD-src-51333fb77fce4a2b94f93a031373b995f943491b.zip
FreeBSD-src-51333fb77fce4a2b94f93a031373b995f943491b.tar.gz
Remove file no longer shipped with sendmail
Diffstat (limited to 'usr.sbin/sendmail')
-rw-r--r--usr.sbin/sendmail/contrib/rcpt-streaming305
1 files changed, 0 insertions, 305 deletions
diff --git a/usr.sbin/sendmail/contrib/rcpt-streaming b/usr.sbin/sendmail/contrib/rcpt-streaming
deleted file mode 100644
index a43af6d..0000000
--- a/usr.sbin/sendmail/contrib/rcpt-streaming
+++ /dev/null
@@ -1,305 +0,0 @@
-Message-ID: <wgKo1lW00WBw46OU8k@andrew.cmu.edu>
-Date: Sun, 1 Aug 1993 00:02:57 -0400 (EDT)
-From: John Gardiner Myers <jgm+@CMU.EDU>
-To: sendmail@cs.berkeley.edu
-Subject: contrib/rcpt-streaming
-Beak: Is
-
-This patch implements "RCPT streaming" in sendmail version 8. This
-patch is not an official part of sendmail. Please report all problems
-with this patch to jgm+@cmu.edu.
-
-RCPT streming avoids network round trips by sending all RCPT commands
-for a single SMTP transaction together. Sendmail then waits for all
-the replies, matching them up with the apropriate addresses.
-
-Apply to the sendmail src directory (your line numbers may vary) and
-compile with -DRCPTSTREAM
-
-diff -cr ./src/deliver.c /afs/andrew.cmu.edu/system/src/local/../host/oldsmail/016/src/deliver.c
-*** ./src/deliver.c Thu Jul 22 14:28:19 1993
---- /afs/andrew.cmu.edu/system/src/local/../host/oldsmail/016/src/deliver.c Fri Jul 30 21:11:16 1993
-***************
-*** 1334,1339 ****
---- 1334,1354 ----
- register int i;
-
- /* send the recipient list */
-+ #ifdef RCPTSTREAM
-+ /***********************************************************************
-+ *
-+ * RCPT streaming code by John G Myers, jgm+@cmu.edu
-+ * This is not supported by the maintainer of sendmail.
-+ * Report all bugs concerning RCPT streaming to jgm+@cmu.edu
-+ *
-+ ***********************************************************************
-+ */
-+ for (to = tochain; to != NULL; to = to->q_tchain)
-+ {
-+ smtpstreammessage("RCPT To:<%s>", m, mci,
-+ to->q_user);
-+ }
-+ #endif
- tobuf[0] = '\0';
- for (to = tochain; to != NULL; to = to->q_tchain)
- {
-diff -cr ./src/usersmtp.c /afs/andrew.cmu.edu/system/src/local/../host/oldsmail/016/src/usersmtp.c
-*** ./src/usersmtp.c Mon Jul 19 23:50:43 1993
---- /afs/andrew.cmu.edu/system/src/local/../host/oldsmail/016/src/usersmtp.c Fri Jul 30 21:12:00 1993
-***************
-*** 44,49 ****
---- 44,61 ----
-
- # include <sysexits.h>
- # include <errno.h>
-+ #ifdef RCPTSTREAM
-+ /***********************************************************************
-+ *
-+ * RCPT streaming code by John G Myers, jgm+@cmu.edu
-+ * This is not supported by the maintainer of sendmail.
-+ * Report all bugs concerning RCPT streaming to jgm+@cmu.edu
-+ *
-+ ***********************************************************************
-+ */
-+ # include <sys/types.h>
-+ # include <sys/time.h>
-+ #endif
-
- # ifdef SMTP
-
-***************
-*** 62,67 ****
---- 74,87 ----
- char SmtpError[MAXLINE] = ""; /* save failure error messages */
- int SmtpPid; /* pid of mailer */
-
-+ #ifdef RCPTSTREAM
-+ char *SmtpStreamBuf; /* buffer for streaming output */
-+ int SmtpStreamBufSize = 0; /* allocated size of buffer */
-+ char *SmtpStreamStart; /* pointer to text not yet written */
-+ int SmtpStreamLen = 0; /* # chars not yet written */
-+ #endif
-+
-+
- #ifdef __STDC__
- extern smtpmessage(char *f, MAILER *m, MCI *mci, ...);
- #endif
-***************
-*** 404,410 ****
---- 424,434 ----
- {
- register int r;
-
-+ #ifdef RCPTSTREAM
-+ sprintf(SmtpMsgBuffer, "RCPT To:<%s>", to->q_user);
-+ #else
- smtpmessage("RCPT To:<%s>", m, mci, to->q_user);
-+ #endif
-
- SmtpPhase = mci->mci_phase = "client RCPT";
- setproctitle("%s %s: %s", e->e_id, CurHostName, mci->mci_phase);
-***************
-*** 667,672 ****
---- 694,703 ----
- bool firstline = TRUE;
- char junkbuf[MAXLINE];
-
-+ #ifdef RCPTSTREAM
-+ extern char MsgBuf[]; /* err.c */
-+ #endif
-+
- if (mci->mci_out != NULL)
- (void) fflush(mci->mci_out);
-
-***************
-*** 682,687 ****
---- 713,755 ----
- register char *p;
- extern time_t curtime();
-
-+ #ifdef RCPTSTREAM
-+ if (SmtpStreamLen > 0) {
-+ int outfd;
-+
-+ outfd = fileno(mci->mci_out);
-+
-+ nonblock(outfd, TRUE);
-+ r = write(outfd, SmtpStreamStart, SmtpStreamLen);
-+ nonblock(outfd, FALSE);
-+ if (r == -1 && errno != EAGAIN
-+ #ifdef EWOULDBLOCK
-+ && errno != EWOULDBLOCK
-+ #endif
-+ ) {
-+
-+ mci->mci_errno = errno;
-+ message("451 streamreply: write error to %s",
-+ mci->mci_host);
-+
-+ /* if debugging, pause so we can see state */
-+ if (tTd(18, 100))
-+ pause();
-+ # ifdef LOG
-+ if (LogLevel > 0)
-+ syslog(LOG_INFO, "%s", &MsgBuf[4]);
-+ # endif /* LOG */
-+ /* stop trying to write output */
-+ SmtpStreamLen = 0;
-+ continue;
-+ }
-+ if (r > 0) {
-+ SmtpStreamStart += r;
-+ SmtpStreamLen -= r;
-+ }
-+ }
-+ #endif /* RCPTSTREAM */
-+
- /* actually do the read */
- if (e->e_xfp != NULL)
- (void) fflush(e->e_xfp); /* for debugging */
-***************
-*** 792,797 ****
---- 860,937 ----
-
- return (r);
- }
-+
-+ #ifdef RCPTSTREAM
-+ /*
-+ ** SMTPSTREAMMESSAGE -- buffer message to be streamed to server
-+ **
-+ ** Parameters:
-+ ** f -- format
-+ ** m -- the mailer to control formatting.
-+ ** a, b, c -- parameters
-+ **
-+ ** Returns:
-+ ** none.
-+ **
-+ ** Side Effects:
-+ ** stores message in SmtpStreamBuf
-+ */
-+
-+ /*VARARGS1*/
-+ #ifdef __STDC__
-+ smtpstreammessage(char *f, MAILER *m, MCI *mci, ...)
-+ #else
-+ smtpstreammessage(f, m, mci, va_alist)
-+ char *f;
-+ MAILER *m;
-+ MCI *mci;
-+ va_dcl
-+ #endif
-+ {
-+ VA_LOCAL_DECL
-+ int len;
-+
-+ VA_START(mci);
-+ (void) vsprintf(SmtpMsgBuffer, f, ap);
-+ VA_END;
-+
-+ if (tTd(18, 1) || Verbose)
-+ nmessage(">>> %s", SmtpMsgBuffer);
-+ if (TrafficLogFile != NULL)
-+ fprintf(TrafficLogFile, "%05d >>> %s\n", getpid(), SmtpMsgBuffer);
-+
-+ if (mci->mci_out == NULL) {
-+ if (tTd(18, 1)) printf("smtpstreammessage: NULL mci_out\n");
-+ return;
-+ }
-+
-+ strcat(SmtpMsgBuffer, m == NULL ? "\r\n" : m->m_eol);
-+ len = strlen(SmtpMsgBuffer);
-+
-+ if (SmtpStreamLen == 0) {
-+ if (SmtpStreamBufSize == 0) {
-+ SmtpStreamBufSize = MAXLINE;
-+ SmtpStreamBuf = xalloc(SmtpStreamBufSize);
-+ }
-+ SmtpStreamStart = SmtpStreamBuf;
-+ }
-+
-+ if (SmtpStreamBufSize - SmtpStreamLen < len + 1) {
-+ int start = SmtpStreamStart - SmtpStreamBuf;
-+ SmtpStreamBufSize += MAXLINE;
-+ SmtpStreamBuf = realloc(SmtpStreamBuf, SmtpStreamBufSize);
-+ if (!SmtpStreamBuf) {
-+ syserr("Out of memory!!");
-+ abort();
-+ /* exit(EX_UNAVAILABLE); */
-+ }
-+ SmtpStreamStart = SmtpStreamBuf + start;
-+ }
-+
-+ strcpy(SmtpStreamBuf + SmtpStreamLen, SmtpMsgBuffer);
-+ SmtpStreamLen += len;
-+ }
-+ #endif /* RCPTSTREAM */
- /*
- ** SMTPMESSAGE -- send message to server
- **
-Only in /afs/andrew.cmu.edu/system/src/local/../host/oldsmail/016/src: usersmtp.c~
-diff -cr ./src/util.c /afs/andrew.cmu.edu/system/src/local/../host/oldsmail/016/src/util.c
-*** ./src/util.c Mon Jul 19 23:50:45 1993
---- /afs/andrew.cmu.edu/system/src/local/../host/oldsmail/016/src/util.c Mon Jul 26 17:17:10 1993
-***************
-*** 1034,1039 ****
---- 1034,1091 ----
- return (FALSE);
- return (TRUE);
- }
-+
-+ #ifdef RCPTSTREAM
-+ /***********************************************************************
-+ *
-+ * RCPT streaming code by John G Myers, jgm+@cmu.edu
-+ * This is not supported by the maintainer of sendmail.
-+ * Report all bugs concerning RCPT streaming to jgm+@cmu.edu
-+ *
-+ ***********************************************************************
-+ */
-+
-+ #include <fcntl.h>
-+
-+ /*
-+ ** NONBLOCK -- set or clear non-blocking mode on file descriptor
-+ **
-+ ** Parameters:
-+ ** fd -- the file descriptor
-+ ** mode -- TRUE to set non-blocking mode
-+ ** FALSE to clear non-blocking mode
-+ **
-+ ** Returns:
-+ ** none
-+ **
-+ ** Side Effects:
-+ ** modifies nonblocking status of fd
-+ */
-+
-+ nonblock(fd, mode)
-+ int fd;
-+ bool mode;
-+ {
-+ int flags;
-+
-+ flags = fcntl(fd, F_GETFL, 0);
-+ if (mode) {
-+ #ifdef FNONBIO
-+ flags |= FNONBIO;
-+ #else
-+ flags |= O_NDELAY;
-+ #endif
-+ }
-+ else {
-+ #ifdef FNONBIO
-+ flags &= ~FNONBIO;
-+ #else
-+ flags &= ~O_NDELAY;
-+ #endif
-+ }
-+ fcntl(fd, F_SETFL, flags);
-+ }
-+ #endif
- /*
- ** STRCONTAINEDIN -- tell if one string is contained in another
- **
OpenPOWER on IntegriCloud