summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2017-07-11 21:53:20 -0300
committerDavid Bremner <david@tethera.net>2017-07-11 21:53:20 -0300
commit03c41b83a65c85a43dc232b4fc797759796fed5a (patch)
tree8b45225ec1ef83653134c4d704fcd801e868cb18
parentdb7a9a863afb709bb9164423135ff6795894854f (diff)
Import Upstream version 1.02
-rw-r--r--AUTHORS2
-rw-r--r--BUGS2
-rw-r--r--ChangeLog43
-rw-r--r--Makefile.in24
-rw-r--r--NEWS18
-rw-r--r--README8
-rw-r--r--TODO2
-rw-r--r--aclocal.m4412
-rwxr-xr-xconfigure2
-rw-r--r--configure.in2
-rwxr-xr-xdepcomp60
-rw-r--r--doc/Makefile.in4
-rw-r--r--doc/nullmailer-send.85
-rw-r--r--lib/Makefile.am1
-rw-r--r--lib/Makefile.in39
-rw-r--r--lib/address.cc6
-rw-r--r--lib/base64.cc63
-rw-r--r--lib/base64.h10
-rw-r--r--lib/canonicalize.cc6
-rw-r--r--lib/cli++/Makefile.in6
-rw-r--r--lib/cli++/clitest.cc2
-rw-r--r--lib/cli++/main.cc2
-rw-r--r--lib/cli++/messages.cc2
-rw-r--r--lib/config_read.cc6
-rw-r--r--lib/config_readint.cc6
-rw-r--r--lib/config_readlist.cc6
-rw-r--r--lib/errcodes.cc6
-rw-r--r--lib/fdbuf/Makefile.in6
-rw-r--r--lib/fdbuf/fdbuf.cc2
-rw-r--r--lib/fdbuf/fdbuf.h2
-rw-r--r--lib/fdbuf/fdbuf_copy.cc2
-rw-r--r--lib/fdbuf/fdibuf.cc2
-rw-r--r--lib/fdbuf/fdibuf.h2
-rw-r--r--lib/fdbuf/fdibuf_mystring.cc2
-rw-r--r--lib/fdbuf/fdibuf_netstring.cc2
-rw-r--r--lib/fdbuf/fdobuf.cc2
-rw-r--r--lib/fdbuf/fdobuf.h2
-rw-r--r--lib/fdbuf/fdobuf_chownmod.cc2
-rw-r--r--lib/fdbuf/fdobuf_seek.cc2
-rw-r--r--lib/fdbuf/fdobuf_signed.cc2
-rw-r--r--lib/fdbuf/fdobuf_unsigned.cc2
-rw-r--r--lib/hostname.cc6
-rw-r--r--lib/list.h4
-rw-r--r--lib/makefield.cc6
-rw-r--r--lib/mystring/Makefile.in6
-rw-r--r--lib/mystring/count.cc2
-rw-r--r--lib/mystring/iter.cc2
-rw-r--r--lib/mystring/iter.h3
-rw-r--r--lib/mystring/join.h3
-rw-r--r--lib/mystring/mystring.h8
-rw-r--r--lib/mystring/rep.h3
-rw-r--r--lib/mystring/trace.h1
-rw-r--r--lib/tcpconnect.cc6
-rwxr-xr-xmissing23
-rw-r--r--nullmailer-1.02.spec (renamed from nullmailer-1.00.spec)8
-rw-r--r--protocols/Makefile.in6
-rw-r--r--protocols/protocol.cc12
-rw-r--r--protocols/protocol.h3
-rw-r--r--protocols/qmqp.cc6
-rw-r--r--protocols/smtp.cc20
-rw-r--r--src/Makefile.in6
-rw-r--r--src/inject.cc6
-rw-r--r--src/mailq.cc6
-rw-r--r--src/queue.cc6
-rw-r--r--src/send.cc6
-rw-r--r--src/sendmail.cc6
-rw-r--r--test/Makefile.in6
-rw-r--r--test/tests/.svn/entries13
-rw-r--r--test/tests/.svn/text-base/protocols.svn-base8
-rw-r--r--test/tests/inject/.svn/entries2
-rw-r--r--test/tests/protocols8
-rw-r--r--test/tests/queue/.svn/entries2
72 files changed, 497 insertions, 483 deletions
diff --git a/AUTHORS b/AUTHORS
index 56dd0b0..47929f2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1 +1 @@
-Bruce Guenter <bruceg@em.ca>
+Bruce Guenter <bruce@untroubled.org>
diff --git a/BUGS b/BUGS
index e69139e..c28ab4b 100644
--- a/BUGS
+++ b/BUGS
@@ -1,4 +1,4 @@
If you find anything in these programs that you would consider a bug,
please report it immediately to:
- Bruce Guenter <bruceg@em.ca>
+ Bruce Guenter <bruce@untroubled.org>
Thank you!
diff --git a/ChangeLog b/ChangeLog
index b957c5e..6c395a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,47 @@
------------------------------------------------------------------------
+r135 | bruce | 2005-11-02 11:52:21 -0600 (Wed, 02 Nov 2005) | 3 lines
+Changed paths:
+ M /trunk/TODO
+ M /trunk/lib/Makefile.am
+ A /trunk/lib/base64.cc (from /trunk/protocols/smtp.cc:134)
+ A /trunk/lib/base64.h
+ M /trunk/protocols/smtp.cc
+
+Broken the base64 conversion out of protocols/smtp.cc (and simplified it
+greatly in the process).
+
+------------------------------------------------------------------------
+r134 | bruce | 2005-11-02 11:11:22 -0600 (Wed, 02 Nov 2005) | 3 lines
+Changed paths:
+ M /trunk/NEWS
+ M /trunk/TODO
+ M /trunk/doc/nullmailer-send.8
+ M /trunk/protocols/protocol.cc
+ M /trunk/protocols/protocol.h
+ M /trunk/protocols/qmqp.cc
+ M /trunk/protocols/smtp.cc
+
+Added support for SMTP AUTH PLAIN
+Thanks Ace Jones <ace.j@hotpop.com>
+
+------------------------------------------------------------------------
+r133 | bruce | 2005-11-02 10:50:37 -0600 (Wed, 02 Nov 2005) | 2 lines
+Changed paths:
+ M /trunk/NEWS
+ M /trunk/lib/list.h
+
+Fixed compile error in lib/list.h
+
+------------------------------------------------------------------------
+r132 | bruce | 2005-11-02 10:50:11 -0600 (Wed, 02 Nov 2005) | 2 lines
+Changed paths:
+ M /trunk/NEWS
+ M /trunk/README
+ M /trunk/configure.in
+
+Bumped version to 1.01
+
+------------------------------------------------------------------------
r130 | bruce | 2005-02-28 11:54:04 -0600 (Mon, 28 Feb 2005) | 2 lines
Changed paths:
M /trunk/lib/Makefile.am
diff --git a/Makefile.in b/Makefile.in
index 8dbc938..f355f9c 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -218,7 +218,13 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -230,7 +236,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@@ -238,7 +244,13 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -259,7 +271,7 @@ maintainer-clean-recursive:
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ || eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
diff --git a/NEWS b/NEWS
index 228c727..8086bd1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,23 @@
This file lists all the major user-visible changes to nullmailer.
-------------------------------------------------------------------------------
+Changes in version 1.02
+
+- Fixed bug in SMTP AUTH that would cause SMTP sending to crash with a
+ segfault when it was used.
+
+Development of this version has been sponsored by FutureQuest, Inc.
+ossi@FutureQuest.net http://www.FutureQuest.net/
+-------------------------------------------------------------------------------
+Changes in version 1.01
+
+- Added support for SMTP AUTH PLAIN.
+ Thanks to Ace Jones for the initial implementation.
+
+- Fixed compile error in lib/list.h
+
+Development of this version has been sponsored by FutureQuest, Inc.
+ossi@FutureQuest.net http://www.FutureQuest.net/
+-------------------------------------------------------------------------------
Changes in version 1.00
- Fixed problem with multiple arguments to protocol modules.
diff --git a/README b/README
index d2bd5a7..c0bb377 100644
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
nullmailer
Simple relay-only mail transport agent
-Bruce Guenter <bruceg@em.ca>
-Version 1.00
-2005-02-28
+Bruce Guenter <bruce@untroubled.org>
+Version 1.02
+2006-01-09
This is nullmailer, a sendmail/qmail/etc replacement MTA for hosts which
relay to a fixed set of smart relays. It is designed to be simple to
@@ -14,7 +14,7 @@ send an email to:
A mailing list archive is available at:
http://lists.untroubled.org/?list=nullmailer
-This package is Copyright(C) 2005 Bruce Guenter, and may be copied
+This package is Copyright(C) 2006 Bruce Guenter, and may be copied
according to the GNU GENERAL PUBLIC LICENSE (GPL) Version 2 or a later
version. A copy of this license is included with this package. This
package comes with no warranty of any kind.
diff --git a/TODO b/TODO
index 483f8e8..e612b9b 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,5 @@
+- Add support for SMTP AUTH CRAM-MD5
+
- Document proto/smtp use $HELOHOST for the HELO string.
- Convert all proto modules to use timedout reads.
diff --git a/aclocal.m4 b/aclocal.m4
index 68793e6..dd92cb3 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9.4 -*- Autoconf -*-
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,23 +11,11 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# -*- Autoconf -*-
-# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-# Generated from amversion.in; do not edit by hand.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
@@ -40,26 +28,15 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.4])])
-
-# AM_AUX_DIR_EXPAND
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
+ [AM_AUTOMAKE_VERSION([1.9.6])])
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
@@ -106,26 +83,16 @@ AC_PREREQ([2.50])dnl
am_aux_dir=`cd $ac_aux_dir && pwd`
])
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# AM_CONDITIONAL -*- Autoconf -*-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 6
+# serial 7
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@@ -149,26 +116,15 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# serial 7 -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
+# serial 8
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -177,7 +133,6 @@ fi])])
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
@@ -317,27 +272,16 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])
])
-# Generate code to set up dependency tracking. -*- Autoconf -*-
+# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-#serial 2
+#serial 3
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
@@ -396,54 +340,31 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
-# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 7
+# serial 8
# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-# Do all the work for Automake. -*- Autoconf -*-
+# Do all the work for Automake. -*- Autoconf -*-
-# This macro actually does too much some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# serial 12
-# serial 11
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
@@ -545,51 +466,27 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
-# -*- Autoconf -*-
-# Copyright (C) 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 1
+# serial 2
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
@@ -604,26 +501,15 @@ fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Check to see how 'make' treats includes. -*- Autoconf -*-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 2
+# serial 3
# AM_MAKE_INCLUDE()
# -----------------
@@ -667,27 +553,16 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# -*- Autoconf -*-
-
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -713,27 +588,16 @@ else
fi
])
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
# AM_PROG_MKDIR_P
# ---------------
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
+#
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the
# installer happens to have an overly restrictive umask (e.g. 077).
@@ -787,26 +651,15 @@ else
fi
AC_SUBST([mkdir_p])])
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Helper functions for option handling. -*- Autoconf -*-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 2
+# serial 3
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -831,28 +684,16 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-#
-# Check to make sure that the build environment is sane.
-#
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# AM_SANITY_CHECK
# ---------------
@@ -895,25 +736,14 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
-# AM_PROG_INSTALL_STRIP
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+# AM_PROG_INSTALL_STRIP
+# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
@@ -936,25 +766,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 1
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+# serial 2
# _AM_PROG_TAR(FORMAT)
# --------------------
diff --git a/configure b/configure
index 4c9cb14..88f75ed 100755
--- a/configure
+++ b/configure
@@ -1613,7 +1613,7 @@ fi
# Define the identity of the package.
PACKAGE=nullmailer
- VERSION=1.00
+ VERSION=1.02
cat >>confdefs.h <<_ACEOF
diff --git a/configure.in b/configure.in
index 4513a10..3848df2 100644
--- a/configure.in
+++ b/configure.in
@@ -1,6 +1,6 @@
AC_INIT
AC_CONFIG_SRCDIR([lib/defines.h])
-AM_INIT_AUTOMAKE(nullmailer, 1.00)
+AM_INIT_AUTOMAKE(nullmailer, 1.02)
AM_CONFIG_HEADER(config.h)
AC_PROG_MAKE_SET
diff --git a/depcomp b/depcomp
index 11e2d3b..04701da 100755
--- a/depcomp
+++ b/depcomp
@@ -1,9 +1,9 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2004-05-31.23
+scriptversion=2005-07-09.11
-# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,8 +17,8 @@ scriptversion=2004-05-31.23
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -50,11 +50,11 @@ Environment variables:
Report bugs to <bug-automake@gnu.org>.
EOF
- exit 0
+ exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
- exit 0
+ exit $?
;;
esac
@@ -287,36 +287,43 @@ tru64)
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
- # Dependencies are output in .lo.d with libtool 1.4.
- # With libtool 1.5 they are output both in $dir.libs/$base.o.d
- # and in $dir.libs/$base.o.d and $dir$base.o.d. We process the
- # latter, because the former will be cleaned when $dir.libs is
- # erased.
- tmpdepfile1="$dir.libs/$base.lo.d"
- tmpdepfile2="$dir$base.o.d"
- tmpdepfile3="$dir.libs/$base.d"
+ # With Tru64 cc, shared objects can also be used to make a
+ # static library. This mecanism is used in libtool 1.4 series to
+ # handle both shared and static libraries in a single compilation.
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+ #
+ # With libtool 1.5 this exception was removed, and libtool now
+ # generates 2 separate objects for the 2 libraries. These two
+ # compilations output dependencies in in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
- tmpdepfile1="$dir$base.o.d"
- tmpdepfile2="$dir$base.d"
- tmpdepfile3="$dir$base.d"
+ tmpdepfile1=$dir$base.o.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
- rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
- if test -f "$tmpdepfile1"; then
- tmpdepfile="$tmpdepfile1"
- elif test -f "$tmpdepfile2"; then
- tmpdepfile="$tmpdepfile2"
- else
- tmpdepfile="$tmpdepfile3"
- fi
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+ do
+ test -f "$tmpdepfile" && break
+ done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
@@ -460,7 +467,8 @@ cpp)
done
"$@" -E |
- sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
diff --git a/doc/Makefile.in b/doc/Makefile.in
index e4b0e65..49977b1 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
diff --git a/doc/nullmailer-send.8 b/doc/nullmailer-send.8
index 3a8223e..e15b6d0 100644
--- a/doc/nullmailer-send.8
+++ b/doc/nullmailer-send.8
@@ -57,10 +57,11 @@ by an optional protocol string, separated by white space.
The protocol name defaults to
.IR smtp ,
and may be followed by command-line arguments for that module.
-For example, to connect to port 2525 on your SMTP smart host, use:
+For example, to connect to port 2525 on your SMTP smart host,
+which also requires SMTP authentication, use:
.EX
- smarthost.dom smtp --port=2525
+ smarthost.dom smtp --port=2525 --user=user --pass=pass
.EE
Blank lines and lines starting with a pound are ignored.
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 3d22c98..9a42318 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -6,6 +6,7 @@ CLEANFILES = defines.cc
libmisc_a_SOURCES = \
address.h address.cc \
+ base64.h base64.cc \
canonicalize.h canonicalize.cc \
configio.h config_read.cc config_readlist.cc config_readint.cc \
connect.h tcpconnect.cc \
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 269a298..cb9d57f 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,8 +15,6 @@
@SET_MAKE@
-SOURCES = $(libmisc_a_SOURCES) $(libnullmailer_a_SOURCES)
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@@ -53,11 +51,12 @@ AR = ar
ARFLAGS = cru
libmisc_a_AR = $(AR) $(ARFLAGS)
libmisc_a_LIBADD =
-am_libmisc_a_OBJECTS = address.$(OBJEXT) canonicalize.$(OBJEXT) \
- config_read.$(OBJEXT) config_readlist.$(OBJEXT) \
- config_readint.$(OBJEXT) tcpconnect.$(OBJEXT) \
- defines.$(OBJEXT) errcodes.$(OBJEXT) hostname.$(OBJEXT) \
- itoa.$(OBJEXT) makefield.$(OBJEXT) netstring.$(OBJEXT)
+am_libmisc_a_OBJECTS = address.$(OBJEXT) base64.$(OBJEXT) \
+ canonicalize.$(OBJEXT) config_read.$(OBJEXT) \
+ config_readlist.$(OBJEXT) config_readint.$(OBJEXT) \
+ tcpconnect.$(OBJEXT) defines.$(OBJEXT) errcodes.$(OBJEXT) \
+ hostname.$(OBJEXT) itoa.$(OBJEXT) makefield.$(OBJEXT) \
+ netstring.$(OBJEXT)
libmisc_a_OBJECTS = $(am_libmisc_a_OBJECTS)
libnullmailer_a_AR = $(AR) $(ARFLAGS)
libnullmailer_a_LIBADD =
@@ -178,6 +177,7 @@ EXTRA_DIST = make_defines.sh listtest.cc mergelib.sh
CLEANFILES = defines.cc
libmisc_a_SOURCES = \
address.h address.cc \
+ base64.h base64.cc \
canonicalize.h canonicalize.cc \
configio.h config_read.cc config_readlist.cc config_readint.cc \
connect.h tcpconnect.cc \
@@ -237,6 +237,7 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/address.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/canonicalize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config_read.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config_readint.Po@am__quote@
@@ -271,7 +272,13 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
- @set fnord $$MAKEFLAGS; amf=$$2; \
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -283,7 +290,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ || eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@@ -291,7 +298,13 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
- @set fnord $$MAKEFLAGS; amf=$$2; \
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@@ -312,7 +325,7 @@ maintainer-clean-recursive:
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ || eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
diff --git a/lib/address.cc b/lib/address.cc
index 338bcfc..d512104 100644
--- a/lib/address.cc
+++ b/lib/address.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include <ctype.h>
diff --git a/lib/base64.cc b/lib/base64.cc
new file mode 100644
index 0000000..e96c2c7
--- /dev/null
+++ b/lib/base64.cc
@@ -0,0 +1,63 @@
+// nullmailer -- a simple relay-only MTA
+// Copyright (C) 2005 Bruce Guenter <bruce@untroubled.org>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
+// available to discuss this package. To subscribe, send an email to
+// <nullmailer-subscribe@lists.untroubled.org>.
+
+#include "base64.h"
+
+static char basis[] =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+void base64_encode(const mystring& in, mystring& out)
+{
+ size_t length;
+ const unsigned char* ptr;
+ char buf[4];
+ for (length = in.length(), ptr = (const unsigned char*)in.c_str();
+ length >= 3;
+ length -= 3, ptr += 3) {
+ base64_encode_chunk(ptr, 3, buf);
+ out.append(buf, 4);
+ }
+ if (length > 0) {
+ base64_encode_chunk(ptr, length, buf);
+ out.append(buf, 4);
+ }
+}
+
+void base64_encode_chunk(const unsigned char bin[3], unsigned len,
+ char encoded[4])
+{
+ encoded[0] = basis[bin[0] >> 2];
+ switch(len) {
+ case 1:
+ encoded[1] = basis[(bin[0] << 4) & 0x3f];
+ encoded[2] = encoded[3] = '=';
+ break;
+ case 2:
+ encoded[1] = basis[(bin[0] << 4 | bin[1] >> 4) & 0x3f];
+ encoded[2] = basis[(bin[1] << 2) & 0x3f];
+ encoded[3] = '=';
+ break;
+ case 3:
+ encoded[1] = basis[(bin[0] << 4 | bin[1] >> 4) & 0x3f];
+ encoded[2] = basis[(bin[1] << 2 | bin[2] >> 6) & 0x3f];
+ encoded[3] = basis[bin[2] & 0x3f];
+ }
+}
diff --git a/lib/base64.h b/lib/base64.h
new file mode 100644
index 0000000..0f5e498
--- /dev/null
+++ b/lib/base64.h
@@ -0,0 +1,10 @@
+#ifndef NULLMAILER_BASE64__H__
+#define NULLMAILER_BASE64__H__
+
+#include "mystring/mystring.h"
+
+extern void base64_encode(const mystring& in, mystring& out);
+extern void base64_encode_chunk(const unsigned char bin[3], unsigned len,
+ char encoded[4]);
+
+#endif // NULLMAILER_BASE64__H__
diff --git a/lib/canonicalize.cc b/lib/canonicalize.cc
index 7201153..c70509b 100644
--- a/lib/canonicalize.cc
+++ b/lib/canonicalize.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include "mystring/mystring.h"
diff --git a/lib/cli++/Makefile.in b/lib/cli++/Makefile.in
index 7ebfed9..12be74c 100644
--- a/lib/cli++/Makefile.in
+++ b/lib/cli++/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,8 +14,6 @@
@SET_MAKE@
-SOURCES = $(libcli___a_SOURCES)
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
diff --git a/lib/cli++/clitest.cc b/lib/cli++/clitest.cc
index 00c55ff..3260f6a 100644
--- a/lib/cli++/clitest.cc
+++ b/lib/cli++/clitest.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/cli++/main.cc b/lib/cli++/main.cc
index b6dc0df..186bdb8 100644
--- a/lib/cli++/main.cc
+++ b/lib/cli++/main.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/cli++/messages.cc b/lib/cli++/messages.cc
index 7c20a3b..ad2179b 100644
--- a/lib/cli++/messages.cc
+++ b/lib/cli++/messages.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/config_read.cc b/lib/config_read.cc
index dab5bf2..f312fc0 100644
--- a/lib/config_read.cc
+++ b/lib/config_read.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include "defines.h"
diff --git a/lib/config_readint.cc b/lib/config_readint.cc
index a48c71a..1e7afb8 100644
--- a/lib/config_readint.cc
+++ b/lib/config_readint.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include <stdlib.h>
diff --git a/lib/config_readlist.cc b/lib/config_readlist.cc
index 2f32a04..925e15e 100644
--- a/lib/config_readlist.cc
+++ b/lib/config_readlist.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include "defines.h"
diff --git a/lib/errcodes.cc b/lib/errcodes.cc
index 77be4da..749e978 100644
--- a/lib/errcodes.cc
+++ b/lib/errcodes.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "errcodes.h"
diff --git a/lib/fdbuf/Makefile.in b/lib/fdbuf/Makefile.in
index 0e8f3fd..0abe7e1 100644
--- a/lib/fdbuf/Makefile.in
+++ b/lib/fdbuf/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,8 +14,6 @@
@SET_MAKE@
-SOURCES = $(libfdbuf_a_SOURCES)
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
diff --git a/lib/fdbuf/fdbuf.cc b/lib/fdbuf/fdbuf.cc
index 7b545d5..11020e1 100644
--- a/lib/fdbuf/fdbuf.cc
+++ b/lib/fdbuf/fdbuf.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdbuf.h b/lib/fdbuf/fdbuf.h
index 34b8de9..0006b04 100644
--- a/lib/fdbuf/fdbuf.h
+++ b/lib/fdbuf/fdbuf.h
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdbuf_copy.cc b/lib/fdbuf/fdbuf_copy.cc
index a76d733..4d6d113 100644
--- a/lib/fdbuf/fdbuf_copy.cc
+++ b/lib/fdbuf/fdbuf_copy.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdibuf.cc b/lib/fdbuf/fdibuf.cc
index 84ab288..a7b42da 100644
--- a/lib/fdbuf/fdibuf.cc
+++ b/lib/fdbuf/fdibuf.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdibuf.h b/lib/fdbuf/fdibuf.h
index 92681b0..8112558 100644
--- a/lib/fdbuf/fdibuf.h
+++ b/lib/fdbuf/fdibuf.h
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdibuf_mystring.cc b/lib/fdbuf/fdibuf_mystring.cc
index 0434be1..5b79032 100644
--- a/lib/fdbuf/fdibuf_mystring.cc
+++ b/lib/fdbuf/fdibuf_mystring.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdibuf_netstring.cc b/lib/fdbuf/fdibuf_netstring.cc
index 1d4b317..908035d 100644
--- a/lib/fdbuf/fdibuf_netstring.cc
+++ b/lib/fdbuf/fdibuf_netstring.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdobuf.cc b/lib/fdbuf/fdobuf.cc
index 97177e3..4884ad5 100644
--- a/lib/fdbuf/fdobuf.cc
+++ b/lib/fdbuf/fdobuf.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdobuf.h b/lib/fdbuf/fdobuf.h
index aba0d49..6554e72 100644
--- a/lib/fdbuf/fdobuf.h
+++ b/lib/fdbuf/fdobuf.h
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdobuf_chownmod.cc b/lib/fdbuf/fdobuf_chownmod.cc
index 7c2e340..0719777 100644
--- a/lib/fdbuf/fdobuf_chownmod.cc
+++ b/lib/fdbuf/fdobuf_chownmod.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdobuf_seek.cc b/lib/fdbuf/fdobuf_seek.cc
index 0aaa5ec..3544ec8 100644
--- a/lib/fdbuf/fdobuf_seek.cc
+++ b/lib/fdbuf/fdobuf_seek.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdobuf_signed.cc b/lib/fdbuf/fdobuf_signed.cc
index 27424d2..995d0a6 100644
--- a/lib/fdbuf/fdobuf_signed.cc
+++ b/lib/fdbuf/fdobuf_signed.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/fdbuf/fdobuf_unsigned.cc b/lib/fdbuf/fdobuf_unsigned.cc
index b0f9c47..7620022 100644
--- a/lib/fdbuf/fdobuf_unsigned.cc
+++ b/lib/fdbuf/fdobuf_unsigned.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/hostname.cc b/lib/hostname.cc
index fb0b2db..fa56dba 100644
--- a/lib/hostname.cc
+++ b/lib/hostname.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include "mystring/mystring.h"
diff --git a/lib/list.h b/lib/list.h
index a292dc0..3bbd750 100644
--- a/lib/list.h
+++ b/lib/list.h
@@ -18,8 +18,8 @@ public:
typedef list_node<T> node;
typedef list_iterator<T> iter;
typedef const_list_iterator<T> const_iter;
- friend class iter;
- friend class const_iter;
+ friend class list_iterator<T>;
+ friend class const_list_iterator<T>;
list()
: head(0), tail(0), cnt(0)
diff --git a/lib/makefield.cc b/lib/makefield.cc
index c5aa1ab..d45bab1 100644
--- a/lib/makefield.cc
+++ b/lib/makefield.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include "defines.h"
diff --git a/lib/mystring/Makefile.in b/lib/mystring/Makefile.in
index 59801bb..25ac585 100644
--- a/lib/mystring/Makefile.in
+++ b/lib/mystring/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,8 +14,6 @@
@SET_MAKE@
-SOURCES = $(libmystring_a_SOURCES)
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
diff --git a/lib/mystring/count.cc b/lib/mystring/count.cc
index 7837375..17aa1bc 100644
--- a/lib/mystring/count.cc
+++ b/lib/mystring/count.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/mystring/iter.cc b/lib/mystring/iter.cc
index 8ef122a..eb78e19 100644
--- a/lib/mystring/iter.cc
+++ b/lib/mystring/iter.cc
@@ -1,4 +1,4 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/mystring/iter.h b/lib/mystring/iter.h
index e23bdf3..e0118f8 100644
--- a/lib/mystring/iter.h
+++ b/lib/mystring/iter.h
@@ -1,4 +1,5 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+/* $Id: iter.h 616 2005-08-19 20:11:01Z bruce $ */
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/mystring/join.h b/lib/mystring/join.h
index eae8962..2971841 100644
--- a/lib/mystring/join.h
+++ b/lib/mystring/join.h
@@ -1,4 +1,5 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+/* $Id: join.h 616 2005-08-19 20:11:01Z bruce $ */
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/mystring/mystring.h b/lib/mystring/mystring.h
index 85c7bfb..18dbc61 100644
--- a/lib/mystring/mystring.h
+++ b/lib/mystring/mystring.h
@@ -1,4 +1,5 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+/* $Id: mystring.h 635 2005-11-02 17:37:50Z bruce $ */
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -32,8 +33,6 @@ protected:
void dupnil();
void dup(const char*, size_t);
void dup(const char*);
- void append(const char*);
- void append(const char*, size_t);
void assign(const char*);
void assign(const char*, size_t);
public:
@@ -96,6 +95,9 @@ public:
unsigned count(char ch) const;
+ void append(const char*);
+ void append(const char*, size_t);
+
void operator+=(const mystring& str) {append(str.rep->buf, str.rep->length);}
void operator+=(const char* str) { append(str); }
void operator+=(char ch)
diff --git a/lib/mystring/rep.h b/lib/mystring/rep.h
index c397aee..25033d4 100644
--- a/lib/mystring/rep.h
+++ b/lib/mystring/rep.h
@@ -1,4 +1,5 @@
-// Copyright (C) 1999,2000 Bruce Guenter <bruceg@em.ca>
+/* $Id: rep.h 616 2005-08-19 20:11:01Z bruce $ */
+// Copyright (C) 1999,2000 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/lib/mystring/trace.h b/lib/mystring/trace.h
index f5ef879..d6942a7 100644
--- a/lib/mystring/trace.h
+++ b/lib/mystring/trace.h
@@ -1,3 +1,4 @@
+/* $Id: trace.h 616 2005-08-19 20:11:01Z bruce $ */
#include "mystring.h"
#ifdef MYSTRING_TRACE
diff --git a/lib/tcpconnect.cc b/lib/tcpconnect.cc
index 820f1ae..d7be855 100644
--- a/lib/tcpconnect.cc
+++ b/lib/tcpconnect.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include <errno.h>
diff --git a/missing b/missing
index 64b5f90..894e786 100755
--- a/missing
+++ b/missing
@@ -1,9 +1,9 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
-scriptversion=2004-09-07.08
+scriptversion=2005-06-08.21
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@@ -19,8 +19,8 @@ scriptversion=2004-09-07.08
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
@@ -87,12 +87,12 @@ Supported PROGRAM values:
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
- exit 0
+ exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
- exit 0
+ exit $?
;;
-*)
@@ -288,11 +288,18 @@ WARNING: \`$1' is $msg. You should only need it if
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
touch $file
;;
diff --git a/nullmailer-1.00.spec b/nullmailer-1.02.spec
index b68871d..97f8158 100644
--- a/nullmailer-1.00.spec
+++ b/nullmailer-1.02.spec
@@ -1,13 +1,13 @@
Name: nullmailer
Summary: Simple relay-only mail transport agent
-Version: 1.00
+Version: 1.02
Release: 1
Copyright: GPL
Group: Networking/Daemons
-Source: http://em.ca/~bruceg/nullmailer/archive/%{version}/nullmailer-%{version}.tar.gz
+Source: http://untroubled.org/nullmailer/archive/%{version}/nullmailer-%{version}.tar.gz
BuildRoot: /tmp/nullmailer-root
-URL: http://em.ca/~bruceg/nullmailer/
-Packager: Bruce Guenter <bruceg@em.ca>
+URL: http://untroubled.org/nullmailer/
+Packager: Bruce Guenter <bruce@untroubled.org>
Provides: smtpdaemon
Conflicts: sendmail
Conflicts: qmail
diff --git a/protocols/Makefile.in b/protocols/Makefile.in
index dfaf419..1b97719 100644
--- a/protocols/Makefile.in
+++ b/protocols/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,8 +14,6 @@
@SET_MAKE@
-SOURCES = $(qmqp_SOURCES) $(smtp_SOURCES)
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
diff --git a/protocols/protocol.cc b/protocols/protocol.cc
index 801ac1a..a13f889 100644
--- a/protocols/protocol.cc
+++ b/protocols/protocol.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include <config.h>
#include <stdio.h>
@@ -27,6 +27,8 @@
#include "protocol.h"
#include "cli++.h"
+const char* user = 0;
+const char* pass = 0;
const char* cli_help_suffix = "";
const char* cli_args_usage = "remote-address < mail-file";
const int cli_args_min = 1;
@@ -34,6 +36,10 @@ const int cli_args_max = 1;
cli_option cli_options[] = {
{ 'p', "port", cli_option::integer, 0, &port,
"Set the port number on the remote host to connect to", 0 },
+ { 0, "user", cli_option::string, 0, &user,
+ "Set the user name for authentication", 0 },
+ { 0, "pass", cli_option::string, 0, &pass,
+ "Set the password for authentication", 0 },
{0, 0, cli_option::flag, 0, 0, 0, 0}
};
diff --git a/protocols/protocol.h b/protocols/protocol.h
index 8f85f23..b9d53fd 100644
--- a/protocols/protocol.h
+++ b/protocols/protocol.h
@@ -6,6 +6,9 @@
extern void protocol_fail(int e, const char* msg);
extern void protocol_succ(const char* msg);
+extern const char* user;
+extern const char* pass;
+
// This must be provided by the protocol, but will be set by the lib.
extern int port;
diff --git a/protocols/qmqp.cc b/protocols/qmqp.cc
index 6f7ce8f..91fffbc 100644
--- a/protocols/qmqp.cc
+++ b/protocols/qmqp.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include <stdlib.h>
diff --git a/protocols/smtp.cc b/protocols/smtp.cc
index ccea91d..e3a919e 100644
--- a/protocols/smtp.cc
+++ b/protocols/smtp.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 2005 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 2005 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,13 +15,14 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include <stdlib.h>
#include <unistd.h>
+#include "base64.h"
#include "connect.h"
#include "errcodes.h"
#include "fdbuf/fdbuf.h"
@@ -143,5 +144,18 @@ void protocol_send(fdibuf* in, int fd)
smtp conn(fd);
conn.docmd("", 200);
conn.docmd("HELO " + hh, 200);
+
+ if (user != 0 && pass != 0)
+ {
+ mystring plain(user);
+ plain += '\0';
+ plain += user;
+ plain += '\0';
+ plain += pass;
+ mystring encoded = "AUTH PLAIN ";
+ base64_encode(plain, encoded);
+ conn.docmd(encoded, 200);
+ }
+
conn.send(in);
}
diff --git a/src/Makefile.in b/src/Makefile.in
index 9fd853b..7c3264f 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,8 +14,6 @@
@SET_MAKE@
-SOURCES = $(mailq_SOURCES) $(nullmailer_inject_SOURCES) $(nullmailer_queue_SOURCES) $(nullmailer_send_SOURCES) $(sendmail_SOURCES)
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
diff --git a/src/inject.cc b/src/inject.cc
index 52916bb..db19f60 100644
--- a/src/inject.cc
+++ b/src/inject.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include "defines.h"
diff --git a/src/mailq.cc b/src/mailq.cc
index bd8c2a5..77ae525 100644
--- a/src/mailq.cc
+++ b/src/mailq.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include "defines.h"
diff --git a/src/queue.cc b/src/queue.cc
index ec6e83c..c3b527a 100644
--- a/src/queue.cc
+++ b/src/queue.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include <errno.h>
diff --git a/src/send.cc b/src/send.cc
index b00b121..c943650 100644
--- a/src/send.cc
+++ b/src/send.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 2005 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 2005 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include "config.h"
#include <ctype.h>
diff --git a/src/sendmail.cc b/src/sendmail.cc
index 5e91890..0e19adb 100644
--- a/src/sendmail.cc
+++ b/src/sendmail.cc
@@ -1,5 +1,5 @@
// nullmailer -- a simple relay-only MTA
-// Copyright (C) 1999-2003 Bruce Guenter <bruceg@em.ca>
+// Copyright (C) 1999-2003 Bruce Guenter <bruce@untroubled.org>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -15,9 +15,9 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// You can contact me at <bruceg@em.ca>. There is also a mailing list
+// You can contact me at <bruce@untroubled.org>. There is also a mailing list
// available to discuss this package. To subscribe, send an email to
-// <nullmailer-subscribe@lists.em.ca>.
+// <nullmailer-subscribe@lists.untroubled.org>.
#include <config.h>
#include <stdlib.h>
diff --git a/test/Makefile.in b/test/Makefile.in
index a835464..c41b501 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.4 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,8 +14,6 @@
@SET_MAKE@
-SOURCES = $(address_test_SOURCES)
-
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
diff --git a/test/tests/.svn/entries b/test/tests/.svn/entries
index 73da38a..aaf760b 100644
--- a/test/tests/.svn/entries
+++ b/test/tests/.svn/entries
@@ -9,18 +9,19 @@
last-author="bruce"
kind="dir"
uuid="a3c634dd-31b8-0310-b618-c134e0681c74"
- revision="130"/>
+ revision="135"/>
<entry
name="queue"
kind="dir"/>
<entry
- committed-rev="80"
+ committed-rev="142"
name="protocols"
- text-time="2002-12-23T17:20:09.000000Z"
- committed-date="2002-12-23T17:22:36.924974Z"
- checksum="ofYA6lHlPgHRxdl8D1lJGw=="
+ text-time="2005-11-10T16:10:23.000000Z"
+ committed-date="2005-11-10T16:12:06.571191Z"
+ checksum="1ce2253dc7c546023715057a099786b5"
last-author="bruce"
- kind="file"/>
+ kind="file"
+ revision="142"/>
<entry
name="inject"
kind="dir"/>
diff --git a/test/tests/.svn/text-base/protocols.svn-base b/test/tests/.svn/text-base/protocols.svn-base
index 53ca057..22ff49b 100644
--- a/test/tests/.svn/text-base/protocols.svn-base
+++ b/test/tests/.svn/text-base/protocols.svn-base
@@ -3,11 +3,11 @@ export HELOHOST=f.q.d.n
rm -f testmail
cat >testmail <<EOF
-bruceg@em.ca
-bruceg@em.ca
+bruce@untroubled.org
+bruce@untroubled.org
-From: <bruceg@em.ca>
-To: <bruceg@em.ca>
+From: <bruce@untroubled.org>
+To: <bruce@untroubled.org>
Subject: Nullmailer automated test message
Just testing, please ignore
diff --git a/test/tests/inject/.svn/entries b/test/tests/inject/.svn/entries
index 19b6dba..bec6b9d 100644
--- a/test/tests/inject/.svn/entries
+++ b/test/tests/inject/.svn/entries
@@ -9,7 +9,7 @@
last-author="bruce"
kind="dir"
uuid="a3c634dd-31b8-0310-b618-c134e0681c74"
- revision="130"/>
+ revision="135"/>
<entry
committed-rev="79"
name="bad-headers"
diff --git a/test/tests/protocols b/test/tests/protocols
index 53ca057..22ff49b 100644
--- a/test/tests/protocols
+++ b/test/tests/protocols
@@ -3,11 +3,11 @@ export HELOHOST=f.q.d.n
rm -f testmail
cat >testmail <<EOF
-bruceg@em.ca
-bruceg@em.ca
+bruce@untroubled.org
+bruce@untroubled.org
-From: <bruceg@em.ca>
-To: <bruceg@em.ca>
+From: <bruce@untroubled.org>
+To: <bruce@untroubled.org>
Subject: Nullmailer automated test message
Just testing, please ignore
diff --git a/test/tests/queue/.svn/entries b/test/tests/queue/.svn/entries
index bfe8954..4ad00e3 100644
--- a/test/tests/queue/.svn/entries
+++ b/test/tests/queue/.svn/entries
@@ -9,7 +9,7 @@
last-author="bruce"
kind="dir"
uuid="a3c634dd-31b8-0310-b618-c134e0681c74"
- revision="130"/>
+ revision="135"/>
<entry
committed-rev="80"
name="rewrite"