From 33cd5be1de07f8a798fcfb8fa5fc38b405ef2530 Mon Sep 17 00:00:00 2001 From: gilles Date: Sun, 14 Dec 2014 15:26:56 +0000 Subject: [PATCH] these are no longer used, remove --- usr.sbin/smtpd/rfc822.c | 163 ---------------------------------- usr.sbin/smtpd/rfc822.h | 45 ---------- usr.sbin/smtpd/smtpd.h | 3 +- usr.sbin/smtpd/smtpd/Makefile | 3 +- 4 files changed, 2 insertions(+), 212 deletions(-) delete mode 100644 usr.sbin/smtpd/rfc822.c delete mode 100644 usr.sbin/smtpd/rfc822.h diff --git a/usr.sbin/smtpd/rfc822.c b/usr.sbin/smtpd/rfc822.c deleted file mode 100644 index 8e19f960c35..00000000000 --- a/usr.sbin/smtpd/rfc822.c +++ /dev/null @@ -1,163 +0,0 @@ -/* $OpenBSD: rfc822.c,v 1.4 2014/10/15 08:04:41 gilles Exp $ */ - -/* - * Copyright (c) 2014 Gilles Chehade - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include "rfc822.h" - -static int -parse_addresses(struct rfc822_parser *rp, const char *buffer, size_t len) -{ - const char *s; - char *wptr; - struct rfc822_address *ra; - - s = buffer; - - /* skip over whitespaces */ - for (s = buffer; *s && isspace(*s); ++s, len--) - ; - - /* we should now pointing to the beginning of a recipient */ - if (*s == '\0') - return 0; - - ra = calloc(1, sizeof *ra); - if (ra == NULL) - return -1; - - wptr = ra->name; - for (; len; s++, len--) { - if (*s == '(' && !rp->escape && !rp->quote) - rp->comment++; - if (*s == '"' && !rp->escape && !rp->comment) - rp->quote = !rp->quote; - if (!rp->comment && !rp->quote && !rp->escape) { - if (*s == '<' && rp->bracket) { - free(ra); - return 0; - } - if (*s == '>' && !rp->bracket) { - free(ra); - return 0; - } - - if (*s == '<') { - wptr = ra->address; - rp->bracket++; - continue; - } - if (*s == '>') { - rp->bracket--; - continue; - } - if (*s == ',' || *s == ';') - break; - } - if (*s == ')' && !rp->escape && !rp->quote && rp->comment) - rp->comment--; - if (*s == '\\' && !rp->escape && !rp->comment && !rp->quote) - rp->escape = 1; - else - rp->escape = 0; - *wptr++ = *s; - } - - /* some flags still set, malformed header */ - if (rp->escape || rp->comment || rp->quote || rp->bracket) { - free(ra); - return 0; - } - - /* no value, malformed header */ - if (ra->name[0] == '\0' && ra->address[0] == '\0') { - free(ra); - return 0; - } - - /* no <>, use name as address */ - if (ra->address[0] == '\0') { - memcpy(ra->address, ra->name, sizeof ra->address); - memset(ra->name, 0, sizeof ra->name); - } - - /* strip first trailing whitespace from name */ - wptr = &ra->name[0] + strlen(ra->name); - while (wptr != &ra->name[0]) { - if (*wptr && ! isspace(*wptr)) - break; - *wptr-- = '\0'; - } - - TAILQ_INSERT_TAIL(&rp->addresses, ra, next); - rp->count++; - - /* do we have more to process ? */ - for (; *s; ++s, --len) - if (*s == ',' || *s == ';') - break; - - /* nope, we're done */ - if (*s == '\0') - return 1; - - /* there's more to come */ - if (*s == ',' || *s == ';') { - s++; - len--; - } - if (len) - return parse_addresses(rp, s, len); - return 1; -} - -void -rfc822_parser_init(struct rfc822_parser *rp) -{ - memset(rp, 0, sizeof *rp); - TAILQ_INIT(&rp->addresses); -} - -void -rfc822_parser_reset(struct rfc822_parser *rp) -{ - struct rfc822_address *ra; - - while ((ra = TAILQ_FIRST(&rp->addresses))) { - TAILQ_REMOVE(&rp->addresses, ra, next); - free(ra); - } - memset(rp, 0, sizeof *rp); -} - -int -rfc822_parser_feed(struct rfc822_parser *rp, const char *line) -{ - if (rp->count >= RFC822_MAX_BUFFERS) - return -1; - return parse_addresses(rp, line, strlen(line)); -} diff --git a/usr.sbin/smtpd/rfc822.h b/usr.sbin/smtpd/rfc822.h deleted file mode 100644 index aafb3770621..00000000000 --- a/usr.sbin/smtpd/rfc822.h +++ /dev/null @@ -1,45 +0,0 @@ -/* $OpenBSD: rfc822.h,v 1.2 2014/10/15 08:04:41 gilles Exp $ */ - -/* - * Copyright (c) 2014 Gilles Chehade - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#ifndef _RFC822_H_ -#define _RFC822_H_ - -#define RFC822_MAX_LINE_SIZE 998 -#define RFC822_MAX_BUFFERS 1000 - -struct rfc822_address { - TAILQ_ENTRY(rfc822_address) next; - char name[RFC822_MAX_LINE_SIZE+1]; - char address[RFC822_MAX_LINE_SIZE+1]; -}; - -struct rfc822_parser { - size_t count; - TAILQ_HEAD(addresses, rfc822_address) addresses; - - uint8_t quote; - uint8_t comment; - uint8_t escape; - uint8_t bracket; -}; - -void rfc822_parser_init(struct rfc822_parser *); -void rfc822_parser_reset(struct rfc822_parser *); -int rfc822_parser_feed(struct rfc822_parser *, const char *); - -#endif diff --git a/usr.sbin/smtpd/smtpd.h b/usr.sbin/smtpd/smtpd.h index 3c1522b19e0..631afbbd65f 100644 --- a/usr.sbin/smtpd/smtpd.h +++ b/usr.sbin/smtpd/smtpd.h @@ -1,4 +1,4 @@ -/* $OpenBSD: smtpd.h,v 1.470 2014/11/16 19:07:50 bluhm Exp $ */ +/* $OpenBSD: smtpd.h,v 1.471 2014/12/14 15:26:56 gilles Exp $ */ /* * Copyright (c) 2008 Gilles Chehade @@ -28,7 +28,6 @@ #include "iobuf.h" #include "rfc2822.h" -#include "rfc822.h" #define CONF_FILE "/etc/mail/smtpd.conf" #define MAILNAME_FILE "/etc/mail/mailname" diff --git a/usr.sbin/smtpd/smtpd/Makefile b/usr.sbin/smtpd/smtpd/Makefile index fbfc85c6d41..cf751b62868 100644 --- a/usr.sbin/smtpd/smtpd/Makefile +++ b/usr.sbin/smtpd/smtpd/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.76 2014/10/15 08:09:02 gilles Exp $ +# $OpenBSD: Makefile,v 1.77 2014/12/14 15:26:56 gilles Exp $ .PATH: ${.CURDIR}/.. @@ -15,7 +15,6 @@ SRCS= aliases.c bounce.c ca.c compress_backend.c config.c \ waitq.c # RFC parsers -SRCS+= rfc822.c SRCS+= rfc2822.c # backends -- 2.20.1