SCCS-vsn: usr.sbin/sendmail/src/headers.c 5.18
SCCS-vsn: usr.sbin/sendmail/src/recipient.c 5.31
SCCS-vsn: usr.sbin/sendmail/src/parseaddr.c 5.19
SCCS-vsn: usr.sbin/sendmail/src/version.c 5.103
SCCS-vsn: usr.sbin/sendmail/src/util.c 5.26
SCCS-vsn: usr.sbin/sendmail/src/deliver.c 5.58
-static char sccsid[] = "@(#)deliver.c 5.57 (Berkeley) %G%";
+static char sccsid[] = "@(#)deliver.c 5.58 (Berkeley) %G%";
#endif /* not lint */
#include "sendmail.h"
#endif /* not lint */
#include "sendmail.h"
if (bitnset(M_STRIPQ, m->m_flags))
{
if (bitnset(M_STRIPQ, m->m_flags))
{
- stripquotes(user, TRUE);
- stripquotes(host, TRUE);
- }
- else
- {
- stripquotes(user, FALSE);
- stripquotes(host, FALSE);
+ stripquotes(user);
+ stripquotes(host);
}
/* hack attack -- delivermail compatibility */
}
/* hack attack -- delivermail compatibility */
-static char sccsid[] = "@(#)headers.c 5.17 (Berkeley) %G%";
+static char sccsid[] = "@(#)headers.c 5.18 (Berkeley) %G%";
#endif /* not lint */
# include <sys/param.h>
#endif /* not lint */
# include <sys/param.h>
while (*p != '\0')
{
register char *name;
while (*p != '\0')
{
register char *name;
char savechar;
extern char *remotename();
extern char *DelimChar; /* defined in prescan */
char savechar;
extern char *remotename();
extern char *DelimChar; /* defined in prescan */
}
/* output the name with nice formatting */
}
/* output the name with nice formatting */
if (!firstone)
opos += 2;
if (opos > 78 && !firstone)
if (!firstone)
opos += 2;
if (opos > 78 && !firstone)
(void) sprintf(obp, " ");
opos = strlen(obp);
obp += opos;
(void) sprintf(obp, " ");
opos = strlen(obp);
obp += opos;
}
/* strip off quote bits as we output */
}
/* strip off quote bits as we output */
- while (*name != '\0' && obp < &obuf[MAXLINE])
+ while ((c = *name++) != '\0' && obp < &obuf[MAXLINE])
- if (bitset(0200, *name))
- *obp++ = '\\';
- *obp++ = *name++ & ~0200;
+ if (bitnset(M_7BITS, m->m_flags))
+ c &= 0177;
+ *obp++ = c;
}
firstone = FALSE;
*p = savechar;
}
firstone = FALSE;
*p = savechar;
-static char sccsid[] = "@(#)parseaddr.c 5.18 (Berkeley) %G%";
+static char sccsid[] = "@(#)parseaddr.c 5.19 (Berkeley) %G%";
#endif /* not lint */
# include "sendmail.h"
#endif /* not lint */
# include "sendmail.h"
cmntcnt = 0;
anglecnt = 0;
avp = av;
cmntcnt = 0;
anglecnt = 0;
avp = av;
c = NOCHAR;
p = addr;
if (tTd(22, 45))
c = NOCHAR;
p = addr;
if (tTd(22, 45))
c = *p++;
if (c == '\0')
break;
c = *p++;
if (c == '\0')
break;
if (tTd(22, 101))
printf("c=%c, s=%d; ", c, state);
if (tTd(22, 101))
printf("c=%c, s=%d; ", c, state);
{
/* kludge \! for naive users */
if (c != '!')
{
/* kludge \! for naive users */
if (c != '!')
}
if (c == '\\')
{
bslashmode = TRUE;
c = NOCHAR;
}
if (c == '\\')
{
bslashmode = TRUE;
c = NOCHAR;
}
else if (state == QST)
{
}
else if (state == QST)
{
-static char sccsid[] = "@(#)recipient.c 5.30 (Berkeley) %G%";
+static char sccsid[] = "@(#)recipient.c 5.31 (Berkeley) %G%";
#endif /* not lint */
# include <sys/types.h>
#endif /* not lint */
# include <sys/types.h>
if (!isascii(*p) && (*p & 0377) != (SpaceSub & 0377))
quoted = TRUE;
}
if (!isascii(*p) && (*p & 0377) != (SpaceSub & 0377))
quoted = TRUE;
}
- stripquotes(buf, TRUE);
/* do sickly crude mapping for program mailing, etc. */
if (m == LocalMailer && buf[0] == '|')
/* do sickly crude mapping for program mailing, etc. */
if (m == LocalMailer && buf[0] == '|')
-static char sccsid[] = "@(#)util.c 5.25 (Berkeley) %G%";
+static char sccsid[] = "@(#)util.c 5.26 (Berkeley) %G%";
#endif /* not lint */
# include <stdio.h>
#endif /* not lint */
# include <stdio.h>
**
** Parameters:
** s -- the string to strip.
**
** Parameters:
** s -- the string to strip.
-** qf -- if set, remove actual `` " '' characters
-** as well as the quote bits.
{
register char *p;
register char *q;
{
register char *p;
register char *q;
- for (p = q = s; (c = *p++) != '\0'; )
- {
- if (c != '"' || !qf)
- *q++ = c & 0177;
- }
- *q = '\0';
-}
-\f/*
-** QSTRLEN -- give me the string length assuming 0200 bits add a char
-**
-** Parameters:
-** s -- the string to measure.
-**
-** Reurns:
-** The length of s, including space for backslash escapes.
-**
-** Side Effects:
-** none.
-*/
-
-qstrlen(s)
- register char *s;
-{
- register int l = 0;
- register char c;
-
- while ((c = *s++) != '\0')
- if (bitset(0200, c))
- l++;
- l++;
- }
- return (l);
+ c = *p++;
+ if (c == '\\')
+ c = *p++;
+ else if (c == '"')
+ continue;
+ *q++ = c;
+ } while (c != '\0');
}
\f/*
** CAPITALIZE -- return a copy of a string, properly capitalized.
}
\f/*
** CAPITALIZE -- return a copy of a string, properly capitalized.
if (p == buf)
return (NULL);
*--p = '\0';
if (p == buf)
return (NULL);
*--p = '\0';
- if (!EightBit)
- {
- /* headers always have to be 7-bit */
- for (p = buf; (i = *p) != '\0'; *p++)
- if (bitset(0200, i))
- *p = i & ~0200;
- }
-static char sccsid[] = "@(#)version.c 5.102 (Berkeley) %G%";
+static char sccsid[] = "@(#)version.c 5.103 (Berkeley) %G%";
-char Version[] = "5.102";
+char Version[] = "5.103";