v1.3
This commit is contained in:
parent
def9081f44
commit
333cb6f46b
7
AUTHORS
7
AUTHORS
@ -2,10 +2,3 @@ AUTHORS
|
||||
=======
|
||||
Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
|
||||
Credits
|
||||
-------
|
||||
The source in "glib/md5c.c" and "glib/md5.h" is "derived from the RSA Data
|
||||
Security, Inc. MD5 Message-Digest Algorithm" by incorporating
|
||||
the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" which
|
||||
is "Copyright (C) 1991, RSA Data Security, Inc. All rights reserved".
|
||||
|
||||
|
13
ChangeLog
13
ChangeLog
@ -1,6 +1,19 @@
|
||||
E-MailRelay Change Log
|
||||
======================
|
||||
|
||||
1.2 -> 1.3
|
||||
----------
|
||||
* Client protocol waits for a greeting from the server on startup [bug-id 842156].
|
||||
* Fix for incorrect backslash normalisation on "--verifier" command-lines containing spaces [bug-id 890646].
|
||||
* Verifier programs can now summarily abort a connection using an exit value of 100.
|
||||
* New "--anonymous" switch that reduces information leakage to the SMTP client and disables "VRFY".
|
||||
* Better validation of "MAIL-FROM" and "RCPT-TO" formatting.
|
||||
* Rewrite of low-level MD5 code.
|
||||
* Performance tuning.
|
||||
* Template "emailrelay.conf" gets installed in "/etc".
|
||||
* New switches for the "configure" script.
|
||||
* More JavaScript example scripts.
|
||||
|
||||
1.1.2 -> 1.2
|
||||
------------
|
||||
* The "--filter" and "--verifier" arguments interpreted as command-lines; spaces in executable paths now need escaping.
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
@ -18,7 +18,7 @@
|
||||
##
|
||||
#
|
||||
EXTRA_DIST = emailrelay.spec ChangeLog
|
||||
SUBDIRS = src bin lib doc
|
||||
SUBDIRS = src bin lib doc etc
|
||||
e_doc_DATA = NEWS README changelog.gz
|
||||
CLEANFILES = changelog.gz
|
||||
changelog.gz: ChangeLog
|
||||
|
16
Makefile.in
16
Makefile.in
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -128,7 +129,7 @@ target_alias = @target_alias@
|
||||
#
|
||||
#
|
||||
EXTRA_DIST = emailrelay.spec ChangeLog
|
||||
SUBDIRS = src bin lib doc
|
||||
SUBDIRS = src bin lib doc etc
|
||||
e_doc_DATA = NEWS README changelog.gz
|
||||
CLEANFILES = changelog.gz
|
||||
subdir = .
|
||||
@ -145,10 +146,9 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive
|
||||
DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \
|
||||
COPYING ChangeLog INSTALL Makefile.am NEWS acinclude.m4 \
|
||||
aclocal.m4 config.h.in configure configure.ac depcomp \
|
||||
install-sh missing mkinstalldirs
|
||||
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
|
||||
Makefile.in NEWS acinclude.m4 aclocal.m4 config.h.in configure \
|
||||
configure.ac depcomp install-sh missing mkinstalldirs
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
@ -482,7 +482,7 @@ clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -493,7 +493,6 @@ clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
@ -517,7 +516,6 @@ installcheck-am:
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
33
README
33
README
@ -10,7 +10,7 @@ messages as they pass through. When running as a store-and-forward MTA incoming
|
||||
messages are stored in a local spool directory, and then forwarded to the next
|
||||
SMTP server on request.
|
||||
|
||||
Because of its functional simplicity E-MailRelay is easy to configure, typically
|
||||
Because of its functional simplicity E-MailRelay is easy to configure, typically
|
||||
only requiring the address of the target SMTP server to be put on the command
|
||||
line.
|
||||
|
||||
@ -19,20 +19,21 @@ Distribution is under the GNU General Public License.
|
||||
|
||||
Quick start
|
||||
-----------
|
||||
To run the program as a proxy use the "--as-proxy" command-line switch, followed by the
|
||||
address of the target SMTP server. If you want to edit or filter e-mail as it passes
|
||||
through the proxy then specify your pre-processor program with the "--filter" switch.
|
||||
You can optionally change the listening port number using "--port" and the
|
||||
spool directory using "--spool-dir".
|
||||
To run the program as a proxy use the "--as-proxy" command-line switch followed
|
||||
by the address of the target SMTP server. If you want to edit or filter e-mail
|
||||
as it passes through the proxy then specify your pre-processor program with the
|
||||
"--filter" switch. You can optionally change the listening port number using
|
||||
"--port" and the spool directory using "--spool-dir".
|
||||
|
||||
For example, to start up a local proxy which passes messages to some "addsig" script
|
||||
and then forwards them to an MTA running on "smarthost", use a command like this:
|
||||
For example, to start up a local proxy that passes messages to some "addsig"
|
||||
script and then forwards them to an MTA running on "smarthost", use a command
|
||||
like this:
|
||||
|
||||
emailrelay --as-proxy smarthost:smtp --filter $HOME/bin/addsig --spool-dir $HOME/tmp
|
||||
|
||||
To use E-MailRelay as a store-and-forward MTA use the "--as-server" switch
|
||||
to start the storage daemon in the background. And then trigger delivery of
|
||||
spooled messages by running emailrelay with the "--as-client" switch, followed
|
||||
spooled messages by running emailrelay with the "--as-client" switch followed
|
||||
by the address of the target SMTP server.
|
||||
|
||||
For example, to start a storage daemon listening on port 10025 use a command
|
||||
@ -44,6 +45,9 @@ And then to forward the spooled mail to "smarthost" run somthing like this:
|
||||
|
||||
emailrelay --as-client smarthost:smtp --spool-dir $HOME/tmp
|
||||
|
||||
You can also have an E-MailRelay storage daemon forward spooled e-mails
|
||||
periodically by using the "--poll" switch.
|
||||
|
||||
By default E-MailRelay will reject connections from remote machines. To
|
||||
allow connections from anywhere use the "--remote-clients" switch.
|
||||
|
||||
@ -57,7 +61,7 @@ Documentation
|
||||
The following documentation is provided:
|
||||
* README -- this document
|
||||
* COPYING -- the GNU General Public License
|
||||
* INSTALL -- build & install instructions (including the generic GNU text)
|
||||
* INSTALL -- build & install instructions (including the GNU text)
|
||||
* AUTHORS -- authors, credits and additional copyrights
|
||||
* copyright -- main copyright and GPL reference
|
||||
* userguide.txt -- user guide
|
||||
@ -73,16 +77,15 @@ The code was originally developed on SuSE Linux 7.1 using:
|
||||
* linux 2.4.10
|
||||
* gcc 2.95.3
|
||||
* glibc 2.2.4 (libc.so.6)
|
||||
* gnu make 3.79.1
|
||||
* autoconf 2.52
|
||||
|
||||
and ported to Windows 98 using:
|
||||
* MSVC 6.0
|
||||
|
||||
Recent releases were developed on SuSE Linux 8.0 and
|
||||
RedHat Linux 8.0 using:
|
||||
* gcc 2.95.3 and gcc 3.2
|
||||
* autoconf 2.53
|
||||
Recent releases were developed on SuSE Linux 9.0 using:
|
||||
* linux 2.4.22
|
||||
* gcc 3.3.1
|
||||
* autoconf 2.57
|
||||
|
||||
The code has also been built successfully on:
|
||||
* MacOS X
|
||||
|
50
acinclude.m4
50
acinclude.m4
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
dnl Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
dnl
|
||||
dnl This program is free software; you can redistribute it and/or
|
||||
dnl modify it under the terms of the GNU General Public License
|
||||
@ -139,6 +139,19 @@ then
|
||||
fi
|
||||
])
|
||||
|
||||
dnl enable-fastbuild
|
||||
dnl
|
||||
AC_DEFUN([ENABLE_FASTBUILD],
|
||||
[
|
||||
if test "$enable_fastbuild" = "yes"
|
||||
then
|
||||
CXX="`pwd`/bin/fastbuild.sh"
|
||||
chmod +x "$CXX"
|
||||
AR="`pwd`/bin/fastbuild.sh"
|
||||
RANLIB="true"
|
||||
fi
|
||||
])
|
||||
|
||||
dnl with-workshop
|
||||
dnl
|
||||
AC_DEFUN([WITH_WORKSHOP],
|
||||
@ -151,6 +164,38 @@ then
|
||||
fi
|
||||
])
|
||||
|
||||
dnl with-doxygen
|
||||
dnl
|
||||
AC_DEFUN([WITH_DOXYGEN],
|
||||
[
|
||||
if test "$with_doxygen" != ""
|
||||
then
|
||||
if test "$with_doxygen" = "yes" -a "$HAVE_DOXYGEN" != "yes"
|
||||
then
|
||||
echo ignoring --with-doxygen
|
||||
else
|
||||
HAVE_DOXYGEN="$with_doxygen"
|
||||
AC_SUBST(HAVE_DOXYGEN)
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
dnl with-man2html
|
||||
dnl
|
||||
AC_DEFUN([WITH_MAN2HTML],
|
||||
[
|
||||
if test "$with_man2html" != ""
|
||||
then
|
||||
if test "$with_man2html" = "yes" -a "$HAVE_MAN2HTML" != "yes"
|
||||
then
|
||||
echo ignoring --with-man2html
|
||||
else
|
||||
HAVE_MAN2HTML="$with_man2html"
|
||||
AC_SUBST(HAVE_MAN2HTML)
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
dnl enable-fhs
|
||||
dnl
|
||||
AC_DEFUN([ENABLE_FHS],
|
||||
@ -175,10 +220,10 @@ AC_DEFUN([FHS_COMPLIANCE],
|
||||
localstatedir='/var'
|
||||
mandir='/usr/man'
|
||||
datadir='/usr/share'
|
||||
sysconfdir='/etc'
|
||||
#
|
||||
# not used by emailrelay
|
||||
#bindir=
|
||||
#sysconfdir=
|
||||
#sharedstatedir=
|
||||
#libdir=
|
||||
#includedir=
|
||||
@ -193,5 +238,6 @@ AC_DEFUN([FHS_COMPLIANCE],
|
||||
e_spooldir="$localstatedir/spool/$PACKAGE"
|
||||
e_man1dir="$datadir/man/man1"
|
||||
e_examplesdir="$datadir/doc/$PACKAGE/examples"
|
||||
e_sysconfdir="$sysconfdir"
|
||||
])
|
||||
|
||||
|
54
aclocal.m4
vendored
54
aclocal.m4
vendored
@ -1,4 +1,4 @@
|
||||
# generated automatically by aclocal 1.7.8 -*- Autoconf -*-
|
||||
# generated automatically by aclocal 1.7.6 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||
# Free Software Foundation, Inc.
|
||||
@ -11,7 +11,7 @@
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
dnl Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
dnl Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
dnl
|
||||
dnl This program is free software; you can redistribute it and/or
|
||||
dnl modify it under the terms of the GNU General Public License
|
||||
@ -152,6 +152,19 @@ then
|
||||
fi
|
||||
])
|
||||
|
||||
dnl enable-fastbuild
|
||||
dnl
|
||||
AC_DEFUN([ENABLE_FASTBUILD],
|
||||
[
|
||||
if test "$enable_fastbuild" = "yes"
|
||||
then
|
||||
CXX="`pwd`/bin/fastbuild.sh"
|
||||
chmod +x "$CXX"
|
||||
AR="`pwd`/bin/fastbuild.sh"
|
||||
RANLIB="true"
|
||||
fi
|
||||
])
|
||||
|
||||
dnl with-workshop
|
||||
dnl
|
||||
AC_DEFUN([WITH_WORKSHOP],
|
||||
@ -164,6 +177,38 @@ then
|
||||
fi
|
||||
])
|
||||
|
||||
dnl with-doxygen
|
||||
dnl
|
||||
AC_DEFUN([WITH_DOXYGEN],
|
||||
[
|
||||
if test "$with_doxygen" != ""
|
||||
then
|
||||
if test "$with_doxygen" = "yes" -a "$HAVE_DOXYGEN" != "yes"
|
||||
then
|
||||
echo ignoring --with-doxygen
|
||||
else
|
||||
HAVE_DOXYGEN="$with_doxygen"
|
||||
AC_SUBST(HAVE_DOXYGEN)
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
dnl with-man2html
|
||||
dnl
|
||||
AC_DEFUN([WITH_MAN2HTML],
|
||||
[
|
||||
if test "$with_man2html" != ""
|
||||
then
|
||||
if test "$with_man2html" = "yes" -a "$HAVE_MAN2HTML" != "yes"
|
||||
then
|
||||
echo ignoring --with-man2html
|
||||
else
|
||||
HAVE_MAN2HTML="$with_man2html"
|
||||
AC_SUBST(HAVE_MAN2HTML)
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
dnl enable-fhs
|
||||
dnl
|
||||
AC_DEFUN([ENABLE_FHS],
|
||||
@ -188,10 +233,10 @@ AC_DEFUN([FHS_COMPLIANCE],
|
||||
localstatedir='/var'
|
||||
mandir='/usr/man'
|
||||
datadir='/usr/share'
|
||||
sysconfdir='/etc'
|
||||
#
|
||||
# not used by emailrelay
|
||||
#bindir=
|
||||
#sysconfdir=
|
||||
#sharedstatedir=
|
||||
#libdir=
|
||||
#includedir=
|
||||
@ -206,6 +251,7 @@ AC_DEFUN([FHS_COMPLIANCE],
|
||||
e_spooldir="$localstatedir/spool/$PACKAGE"
|
||||
e_man1dir="$datadir/man/man1"
|
||||
e_examplesdir="$datadir/doc/$PACKAGE/examples"
|
||||
e_sysconfdir="$sysconfdir"
|
||||
])
|
||||
|
||||
|
||||
@ -361,7 +407,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"])
|
||||
# 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.7.8])])
|
||||
[AM_AUTOMAKE_VERSION([1.7.6])])
|
||||
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
@ -18,14 +18,14 @@
|
||||
##
|
||||
#
|
||||
|
||||
EXTRA_DIST = emailrelay-doxygen-filter.sh_ emailrelay-test.sh_ emailrelay-soak.sh_ emailrelay.sh_ txt2html.sh_ txt2mu.sh_ mu2html.sh_ expand.sh_ emailrelay-notify.sh_ emailrelay-resubmit.sh_ emailrelay-deliver.sh_ emailrelay-process.sh_ emailrelay-runperl.js
|
||||
|
||||
noinst_SCRIPTS = emailrelay-doxygen-filter.sh emailrelay-test.sh emailrelay-soak.sh
|
||||
EXTRA_DIST = emailrelay-doxygen-filter.sh_ emailrelay-test.sh_ emailrelay-soak.sh_ emailrelay.sh_ txt2html.sh_ txt2mu.sh_ mu2html.sh_ expand.sh_ emailrelay-notify.sh_ emailrelay-resubmit.sh_ emailrelay-deliver.sh_ emailrelay-process.sh_ emailrelay-runperl.js emailrelay-resubmit.js fastbuild.sh
|
||||
noinst_cleanup = emailrelay-doxygen-filter.sh emailrelay-test.sh emailrelay-soak.sh
|
||||
noinst_SCRIPTS = emailrelay-doxygen-filter.sh emailrelay-test.sh emailrelay-soak.sh emailrelay-runperl.js emailrelay-resubmit.js
|
||||
e_init_SCRIPTS = emailrelay
|
||||
e_examples_DATA = emailrelay-process.sh emailrelay-notify.sh emailrelay-deliver.sh emailrelay-resubmit.sh emailrelay-runperl.js
|
||||
e_examples_DATA = emailrelay-process.sh emailrelay-notify.sh emailrelay-deliver.sh emailrelay-resubmit.sh
|
||||
work_scripts = txt2mu.sh mu2html.sh expand.sh txt2html.sh emailrelay.sh
|
||||
|
||||
CLEANFILES = $(noinst_SCRIPTS) $(e_init_SCRIPTS) $(e_examples_DATA) $(work_scripts)
|
||||
CLEANFILES = $(noinst_cleanup) $(e_init_SCRIPTS) $(e_examples_DATA) $(work_scripts)
|
||||
|
||||
TESTS = emailrelay-test.sh
|
||||
|
||||
@ -44,7 +44,6 @@ install-data-local: install-e_examplesDATA install-e_initSCRIPTS
|
||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-resubmit.sh
|
||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-deliver.sh
|
||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-process.sh
|
||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-runperl.js
|
||||
|
||||
uninstall-local:
|
||||
-rmdir $(DESTDIR)$(e_examplesdir) 2>/dev/null
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -111,6 +111,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -128,14 +129,14 @@ sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
EXTRA_DIST = emailrelay-doxygen-filter.sh_ emailrelay-test.sh_ emailrelay-soak.sh_ emailrelay.sh_ txt2html.sh_ txt2mu.sh_ mu2html.sh_ expand.sh_ emailrelay-notify.sh_ emailrelay-resubmit.sh_ emailrelay-deliver.sh_ emailrelay-process.sh_ emailrelay-runperl.js
|
||||
|
||||
noinst_SCRIPTS = emailrelay-doxygen-filter.sh emailrelay-test.sh emailrelay-soak.sh
|
||||
EXTRA_DIST = emailrelay-doxygen-filter.sh_ emailrelay-test.sh_ emailrelay-soak.sh_ emailrelay.sh_ txt2html.sh_ txt2mu.sh_ mu2html.sh_ expand.sh_ emailrelay-notify.sh_ emailrelay-resubmit.sh_ emailrelay-deliver.sh_ emailrelay-process.sh_ emailrelay-runperl.js emailrelay-resubmit.js fastbuild.sh
|
||||
noinst_cleanup = emailrelay-doxygen-filter.sh emailrelay-test.sh emailrelay-soak.sh
|
||||
noinst_SCRIPTS = emailrelay-doxygen-filter.sh emailrelay-test.sh emailrelay-soak.sh emailrelay-runperl.js emailrelay-resubmit.js
|
||||
e_init_SCRIPTS = emailrelay
|
||||
e_examples_DATA = emailrelay-process.sh emailrelay-notify.sh emailrelay-deliver.sh emailrelay-resubmit.sh emailrelay-runperl.js
|
||||
e_examples_DATA = emailrelay-process.sh emailrelay-notify.sh emailrelay-deliver.sh emailrelay-resubmit.sh
|
||||
work_scripts = txt2mu.sh mu2html.sh expand.sh txt2html.sh emailrelay.sh
|
||||
|
||||
CLEANFILES = $(noinst_SCRIPTS) $(e_init_SCRIPTS) $(e_examples_DATA) $(work_scripts)
|
||||
CLEANFILES = $(noinst_cleanup) $(e_init_SCRIPTS) $(e_examples_DATA) $(work_scripts)
|
||||
|
||||
TESTS = emailrelay-test.sh
|
||||
|
||||
@ -150,7 +151,7 @@ SCRIPTS = $(e_init_SCRIPTS) $(noinst_SCRIPTS)
|
||||
DIST_SOURCES =
|
||||
DATA = $(e_examples_DATA)
|
||||
|
||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -337,7 +338,7 @@ clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -347,7 +348,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@ -370,7 +371,7 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
@ -413,7 +414,6 @@ install-data-local: install-e_examplesDATA install-e_initSCRIPTS
|
||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-resubmit.sh
|
||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-deliver.sh
|
||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-process.sh
|
||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-runperl.js
|
||||
|
||||
uninstall-local:
|
||||
-rmdir $(DESTDIR)$(e_examplesdir) 2>/dev/null
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -156,6 +156,7 @@ PostFilter()
|
||||
${awk} '
|
||||
{
|
||||
if( match( $0 , "^[[:space:]]*class[[:space:]][^/]*//" ) ||
|
||||
match( $0 , "^[[:space:]]*union[[:space:]][^/]*//" ) ||
|
||||
match( $0 , "^[[:space:]]*struct[[:space:]][^/]*//" ) )
|
||||
{
|
||||
class = substr( $0 , 1 , RLENGTH-2 )
|
||||
@ -180,7 +181,11 @@ name="`basename \"${1}\"`"
|
||||
type="`echo \"${name}\" | ${awk} -F . '{print $NF}'`"
|
||||
classes="`fgrep '// Class:' \"${1}\" | wc -l`"
|
||||
|
||||
if test "${name}" = "gdef.h" -o "${name}" = "gnet.h"
|
||||
if test "${name}" = "md5.h" -o "${name}" = "md5.cpp"
|
||||
then
|
||||
cat "${1}"
|
||||
|
||||
elif test "${name}" = "gdef.h" -o "${name}" = "gnet.h"
|
||||
then
|
||||
cat "${1}" | BasicFilter
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
100
bin/emailrelay-resubmit.js
Normal file
100
bin/emailrelay-resubmit.js
Normal file
@ -0,0 +1,100 @@
|
||||
//
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
// ===
|
||||
//
|
||||
// emailrelay-resubmit.js
|
||||
//
|
||||
// Looks for all failed e-mails in the E-MailRelay spool directory
|
||||
// and resubmits them. However, if an e-mail has been retried five
|
||||
// times already then it is not resubmitted again.
|
||||
//
|
||||
// usage: cscript //nologo emailrelay-resubmit.js [<spool-dir>]
|
||||
//
|
||||
|
||||
// configuration
|
||||
//
|
||||
var cfg_store = "__SPOOL_DIR__" ;
|
||||
var cfg_retry_limit = 5 ;
|
||||
var cfg_debug = true ;
|
||||
|
||||
// parse the command line
|
||||
//
|
||||
var args = WScript.Arguments
|
||||
if( args.length >= 1 )
|
||||
{
|
||||
cfg_store = args(0) ;
|
||||
}
|
||||
|
||||
// debugging
|
||||
//
|
||||
function debug( line )
|
||||
{
|
||||
if( cfg_debug )
|
||||
{
|
||||
WScript.Echo( "debug: " + line ) ;
|
||||
}
|
||||
}
|
||||
|
||||
// check the spool directory
|
||||
//
|
||||
var fso = WScript.CreateObject( "Scripting.FileSystemObject" ) ;
|
||||
if( ! fso.FolderExists( cfg_store ) )
|
||||
{
|
||||
WScript.Echo( "invalid spool directory: \"" + cfg_store + "\"" ) ;
|
||||
WScript.Quit( 1 ) ;
|
||||
}
|
||||
|
||||
// for each file...
|
||||
//
|
||||
var folder = fso.GetFolder( cfg_store ) ;
|
||||
var re_reason = new RegExp( "MailRelay-Reason: " , "" ) ;
|
||||
var re_bad = new RegExp( ".*\.bad" , "i" ) ;
|
||||
var iter = new Enumerator( folder.Files ) ;
|
||||
for( ; ! iter.atEnd() ; iter.moveNext() )
|
||||
{
|
||||
// if a failed envelope file...
|
||||
var path = new String(iter.item()) ;
|
||||
debug( "path: " + path ) ;
|
||||
if( path.match(re_bad) )
|
||||
{
|
||||
// count the failure lines
|
||||
var stream = fso.OpenTextFile( path , 1 ) ;
|
||||
var failures = 0 ;
|
||||
while( !stream.AtEndOfStream )
|
||||
{
|
||||
var line = stream.ReadLine() ;
|
||||
debug( "line: " + line ) ;
|
||||
if( line.match(re_reason) )
|
||||
{
|
||||
failures++ ;
|
||||
}
|
||||
}
|
||||
stream.Close() ;
|
||||
debug( "failures: " + failures ) ;
|
||||
if( failures < cfg_retry_limit )
|
||||
{
|
||||
// remove the ".bad" suffix
|
||||
var new_path = path.substr( 0 , path.length-4 ) ;
|
||||
debug( "rename: " + path + " -> " + new_path ) ;
|
||||
fso.MoveFile( path , new_path ) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
WScript.Quit( 0 ) ;
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -20,20 +20,25 @@
|
||||
//
|
||||
// emailrelay-runperl.js
|
||||
//
|
||||
// An example JavaScript wrapper that runs a perl script
|
||||
// for E-MailRelay. The perl script's standard input
|
||||
// will the be the e-mail's content file. The perl script
|
||||
// should process this to its standard output, and
|
||||
// An example JavaScript wrapper that runs a perl script for E-MailRelay.
|
||||
// The name of the perl script is hard-coded below: edit as necessary.
|
||||
//
|
||||
// This JavaScript can be installed as an E-MailRelay "--filter" program
|
||||
// using an E-MailRelay command-line something like this:
|
||||
//
|
||||
// emailrelay --as-server --filter "c:/winnt/system32/cscript.exe //nologo c:/program\ files/emailrelay/emailrelay-runperl.js"
|
||||
//
|
||||
// Note the use of "cscript.exe" to execute the JavaScript, and the backslash
|
||||
// to escape the space in the path.
|
||||
//
|
||||
// The e-mail's content file is fed to the perl script's standard input.
|
||||
// The perl code is expected to process this to its standard output and then
|
||||
// terminate with a zero exit code.
|
||||
//
|
||||
// Eg:
|
||||
// emailrelay --as-server --filter "cscript.exe //nologo emailrelay-runperl.js"
|
||||
//
|
||||
// Uses CMD.EXE which may be not be available on some
|
||||
// versions of Windows.
|
||||
//
|
||||
// Edit the next two lines as necessary, but avoid spaces in paths.
|
||||
// The implementation of this JavaScript makes use of "CMD.EXE", which may be
|
||||
// not be available on some versions of Windows.
|
||||
//
|
||||
// Edit the next two lines as necessary, but avoid spaces in paths:
|
||||
var cfg_perl="perl -S -T -w"
|
||||
var cfg_perl_script="spamassassin"
|
||||
|
||||
@ -82,4 +87,3 @@ else
|
||||
WScript.Quit( rc )
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -23,12 +23,15 @@
|
||||
#
|
||||
# Soak tests the E-MailRelay system.
|
||||
#
|
||||
# usage: emailrelay-soak.sh [<exe>]
|
||||
#
|
||||
# (As a side-effect it does "killall emailrelay".)
|
||||
#
|
||||
|
||||
# configuration
|
||||
#
|
||||
exe="`dirname $0`/../src/main/emailrelay"
|
||||
test -z "${1}" || exe="${1}"
|
||||
content="/etc/services"
|
||||
pp="1001" # port prefix
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
@ -39,71 +39,83 @@
|
||||
# -n no cleanup
|
||||
#
|
||||
|
||||
# parse the command line
|
||||
#
|
||||
opt_use_valgrind="0" ; if test "${1}" = "-v" ; then opt_use_valgrind="1" ; shift ; fi
|
||||
opt_debug="0" ; if test "${1}" = "-d" ; then opt_debug="1" ; shift ; fi
|
||||
opt_no_cleanup="0" ; if test "${1}" = "-n" ; then opt_no_cleanup="1" ; shift ; fi
|
||||
opt_exe_dir="${1}"
|
||||
|
||||
# configuration
|
||||
#
|
||||
use_valgrind="0" ; if test "${1}" = "-v" ; then use_valgrind="1" ; shift ; fi
|
||||
debug="" ; if test "${1}" = "-d" ; then debug="--debug" ; shift ; fi
|
||||
no_cleanup="0" ; if test "${1}" = "-n" ; then no_cleanup="1" ; shift ; fi
|
||||
exe_dir="../src/main" ; if test "${1}" != "" ; then exe_dir="${1}" ; fi
|
||||
exe="${exe_dir}/emailrelay"
|
||||
poke="${exe_dir}/emailrelay-poke"
|
||||
null_filter="/bin/touch"
|
||||
content_file="/etc/services"
|
||||
pp="201" # port-prefix
|
||||
cfg_sw_debug="" ; test "${opt_debug}" -eq 0 || cfg_sw_debug="--debug"
|
||||
cfg_sw_extra="" ; test "${opt_use_valgrind}" -eq 0 || cfg_sw_extra="--no-daemon"
|
||||
cfg_exe_dir="../src/main" ; test -z "${opt_exe_dir}" || cfg_exe_dir="${opt_exe_dir}"
|
||||
cfg_main_exe="${cfg_exe_dir}/emailrelay"
|
||||
cfg_poke_exe="${cfg_exe_dir}/emailrelay-poke"
|
||||
cfg_null_filter="/bin/touch" ; test -f ${cfg_null_filter} || cfg_null_filter="/usr/bin/touch"
|
||||
cfg_content_file="/etc/services"
|
||||
cfg_pp="201" # port-prefix
|
||||
cfg_base_dir="/tmp/`basename $0`.$$.tmp"
|
||||
cfg_summary_log="/tmp/`basename $0`.out"
|
||||
cfg_sw_valgrind="--logfile=${cfg_base_dir}/valgrind --trace-children=yes --num-callers=40 --leak-check=yes"
|
||||
cfg_run="" ; test "${opt_use_valgrind}" -eq 0 || cfg_run="valgrind ${cfg_sw_valgrind}"
|
||||
|
||||
# configuration fallback
|
||||
#
|
||||
if test \! -f ${null_filter}
|
||||
then
|
||||
null_filter="/usr/bin/touch"
|
||||
fi
|
||||
|
||||
# initialisation
|
||||
#
|
||||
base_dir="/tmp/`basename $0`.$$.tmp"
|
||||
summary_log="/tmp/`basename $0`.out"
|
||||
exit_code="1"
|
||||
watchdog_pid=""
|
||||
MALLOC_CHECK_="2"
|
||||
export MALLOC_CHECK_
|
||||
ulimit -c 1000000
|
||||
if test "${use_valgrind}" -eq 1
|
||||
then
|
||||
exe="valgrind --logfile=${base_dir}/valgrind --trace-children=yes --num-callers=40 --leak-check=yes ${exe} --no-daemon"
|
||||
fi
|
||||
|
||||
Cleanup()
|
||||
Init()
|
||||
{
|
||||
${poke} ${pp}11 terminate
|
||||
${poke} ${pp}12 terminate
|
||||
${poke} ${pp}13 terminate
|
||||
${poke} ${pp}14 terminate
|
||||
${poke} ${pp}15 terminate
|
||||
${poke} ${pp}16 terminate
|
||||
sleep 2
|
||||
|
||||
kill `cat ${base_dir}/pid-* 2>/dev/null` 2>/dev/null
|
||||
|
||||
if test -d ${base_dir}
|
||||
then
|
||||
grep "MailRelay-Reason" ${base_dir}/*/*envelope*bad > "${summary_log}" 2>/dev/null
|
||||
grep "." ${base_dir}/log-? >> "${summary_log}" 2>/dev/null
|
||||
if test "${use_valgrind}" -eq 1
|
||||
then
|
||||
grep "." ${base_dir}/valgrind.* >> "${summary_log}" 2>/dev/null
|
||||
fi
|
||||
ls -lR ${base_dir} >> "${summary_log}" 2>/dev/null
|
||||
if test "${no_cleanup}" -eq 0
|
||||
then
|
||||
rm -rf ${base_dir} 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
MALLOC_CHECK_="2"
|
||||
export MALLOC_CHECK_
|
||||
ulimit -c 1000000
|
||||
trap "Trap 1 ; exit 1" 1 2 3 13 15
|
||||
trap "e=\$? ; Trap 0 ; exit \$e" 0
|
||||
}
|
||||
|
||||
Trap()
|
||||
{
|
||||
Cleanup
|
||||
exit ${exit_code}
|
||||
trap 0 1 2 3 13 15
|
||||
if test "$1" -ne 0
|
||||
then
|
||||
echo `basename $0`: cleaning up >&2
|
||||
fi
|
||||
Cleanup > /dev/null 2>&1
|
||||
}
|
||||
|
||||
Cleanup()
|
||||
{
|
||||
${cfg_poke_exe} ${cfg_pp}11 terminate
|
||||
${cfg_poke_exe} ${cfg_pp}12 terminate
|
||||
${cfg_poke_exe} ${cfg_pp}13 terminate
|
||||
${cfg_poke_exe} ${cfg_pp}14 terminate
|
||||
${cfg_poke_exe} ${cfg_pp}15 terminate
|
||||
${cfg_poke_exe} ${cfg_pp}16 terminate
|
||||
sleep 2
|
||||
|
||||
kill `cat ${cfg_base_dir}/pid-* 2>/dev/null`
|
||||
|
||||
if test -d ${cfg_base_dir}
|
||||
then
|
||||
grep "MailRelay-Reason" ${cfg_base_dir}/*/*envelope*bad > "${cfg_summary_log}"
|
||||
grep "." ${cfg_base_dir}/log-? >> "${cfg_summary_log}"
|
||||
if test "${opt_use_valgrind}" -eq 1
|
||||
then
|
||||
grep "." ${cfg_base_dir}/valgrind.* >> "${cfg_summary_log}"
|
||||
fi
|
||||
ls -lR ${cfg_base_dir} >> "${cfg_summary_log}"
|
||||
if test "${opt_no_cleanup}" -eq 0
|
||||
then
|
||||
rm -rf ${cfg_base_dir}
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
SanityChecks()
|
||||
{
|
||||
if test "`${cfg_main_exe} --help | grep \"^Copyright\" | wc -l`" -ne 1
|
||||
then
|
||||
echo `basename $0`: cannot even run \"${cfg_main_exe} --help\" >&2
|
||||
trap 0
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
RunServer()
|
||||
@ -115,10 +127,15 @@ RunServer()
|
||||
pidfile_="${5}"
|
||||
extra_="${6}"
|
||||
|
||||
mkdir -p ${base_dir}/${spool_}
|
||||
${exe} ${debug} --log --verbose --no-syslog --port ${port_} --spool-dir ${base_dir}/${spool_} \
|
||||
--admin ${admin_port_} --admin-terminate \
|
||||
--pid-file ${base_dir}/${pidfile_} ${extra_} 2> ${base_dir}/${log_} &
|
||||
mkdir -p ${cfg_base_dir}/${spool_}
|
||||
${cfg_run} ${cfg_main_exe} ${cfg_sw_extra} ${cfg_sw_debug} \
|
||||
--log --verbose --no-syslog \
|
||||
--port ${cfg_pp}${port_} \
|
||||
--spool-dir ${cfg_base_dir}/${spool_} \
|
||||
--admin ${cfg_pp}${admin_port_} \
|
||||
--admin-terminate \
|
||||
--pid-file ${cfg_base_dir}/${pidfile_} \
|
||||
${extra_} 2> ${cfg_base_dir}/${log_} &
|
||||
}
|
||||
|
||||
RunClient()
|
||||
@ -128,9 +145,11 @@ RunClient()
|
||||
log_="${3}"
|
||||
pidfile_="${4}"
|
||||
|
||||
${exe} ${debug} --forward --no-daemon --dont-serve --log --verbose --no-syslog \
|
||||
--pid-file ${base_dir}/${pidfile_} \
|
||||
--forward-to ${to_} --spool-dir ${base_dir}/${spool_} 2> ${base_dir}/${log_}
|
||||
${cfg_run} ${cfg_main_exe} ${cfg_sw_extra} ${cfg_sw_debug} \
|
||||
--forward --no-daemon --dont-serve --log --verbose --no-syslog \
|
||||
--pid-file ${cfg_base_dir}/${pidfile_} \
|
||||
--forward-to ${to_} \
|
||||
--spool-dir ${cfg_base_dir}/${spool_} 2> ${cfg_base_dir}/${log_}
|
||||
}
|
||||
|
||||
RunPoke()
|
||||
@ -138,7 +157,7 @@ RunPoke()
|
||||
port_="${1}"
|
||||
log_="${2}"
|
||||
|
||||
${poke} ${port_} > ${base_dir}/${log_}
|
||||
${cfg_poke_exe} ${cfg_pp}${port_} > ${cfg_base_dir}/${log_}
|
||||
}
|
||||
|
||||
Content()
|
||||
@ -147,7 +166,7 @@ Content()
|
||||
echo "Subject: test message 1"
|
||||
echo "From: sender"
|
||||
echo " "
|
||||
cat "${content_file}"
|
||||
cat "${cfg_content_file}"
|
||||
}
|
||||
|
||||
Envelope()
|
||||
@ -168,99 +187,109 @@ CrLf()
|
||||
sed 's/$/£/' | tr '£' '\r'
|
||||
}
|
||||
|
||||
CheckResults()
|
||||
TestDone()
|
||||
{
|
||||
store="${1}"
|
||||
if test "`ls -1 ${base_dir}/${store}/emailrelay.*.content 2>/dev/null | wc -l`" -eq 2 -a \
|
||||
"`ls -1 ${base_dir}/${store}/emailrelay.*.envelope 2>/dev/null | wc -l`" -eq 2
|
||||
then
|
||||
exit_code="0"
|
||||
echo `basename $0`: succeeded
|
||||
else
|
||||
false
|
||||
fi
|
||||
store_="${1}"
|
||||
test \
|
||||
"`ls -1 ${cfg_base_dir}/${store_}/emailrelay.*.content 2>/dev/null | wc -l`" -eq 2 -a \
|
||||
"`ls -1 ${cfg_base_dir}/${store_}/emailrelay.*.envelope 2>/dev/null | wc -l`" -eq 2
|
||||
}
|
||||
|
||||
StartWatchdog()
|
||||
ReportResults()
|
||||
{
|
||||
sleep 10 && kill `cat ${base_dir}/pid-* 2>/dev/null` 2>/dev/null &
|
||||
watchdog_pid=$!
|
||||
ok_="${1}"
|
||||
if test "${ok_}" -eq 1
|
||||
then
|
||||
echo `basename $0`: succeeded
|
||||
else
|
||||
echo `basename $0`: failed: see ${cfg_summary_log} >&2
|
||||
fi
|
||||
}
|
||||
|
||||
CreateMessages()
|
||||
{
|
||||
mkdir -p ${base_dir}/store-1
|
||||
Content | CrLf > ${base_dir}/store-1/emailrelay.0.1.content
|
||||
Envelope | CrLf > ${base_dir}/store-1/emailrelay.0.1.envelope
|
||||
Content | CrLf > ${base_dir}/store-1/emailrelay.0.2.content
|
||||
Envelope | CrLf > ${base_dir}/store-1/emailrelay.0.2.envelope
|
||||
mkdir -p ${cfg_base_dir}/store-1
|
||||
Content | CrLf > ${cfg_base_dir}/store-1/emailrelay.0.1.content
|
||||
Envelope | CrLf > ${cfg_base_dir}/store-1/emailrelay.0.1.envelope
|
||||
Content | CrLf > ${cfg_base_dir}/store-1/emailrelay.0.2.content
|
||||
Envelope | CrLf > ${cfg_base_dir}/store-1/emailrelay.0.2.envelope
|
||||
}
|
||||
|
||||
CreateAuth()
|
||||
{
|
||||
mkdir -p "${base_dir}"
|
||||
mkdir -p "${cfg_base_dir}"
|
||||
|
||||
# encrypted version "joes_password" provided by emailrelay-passwd
|
||||
key="2168297042.2818429713.1297528852.2023008371.2713943401.1997919265.1829599518.235099638"
|
||||
|
||||
file="${base_dir}/server.auth"
|
||||
file="${cfg_base_dir}/server.auth"
|
||||
echo "# server.auth" > ${file}
|
||||
echo "LOGIN server fred freds_password" >> ${file}
|
||||
echo "CRAM-MD5 server joe ${key}" >> ${file}
|
||||
echo "CRAM-MD5 server brian 1.1.1.1.2.2.2.2" >> ${file}
|
||||
|
||||
file="${base_dir}/client-fred.auth"
|
||||
file="${cfg_base_dir}/client-fred.auth"
|
||||
echo "# client-fred.auth" > ${file}
|
||||
echo "LOGIN client fred freds_password" >> ${file}
|
||||
|
||||
file="${base_dir}/client-joe.auth"
|
||||
file="${cfg_base_dir}/client-joe.auth"
|
||||
echo "# client-joe.auth" > ${file}
|
||||
echo "CRAM-MD5 client joe ${key}" >> ${file}
|
||||
}
|
||||
|
||||
CreateFilter()
|
||||
{
|
||||
cat <<EOF | sed 's/^_//' > ${base_dir}/filter.sh
|
||||
_#!/bin/sh
|
||||
_# filter.sh
|
||||
_tmp="/tmp/`basename $0`.\$\$.tmp"
|
||||
_tr 'a-z' 'A-Z' < \$1 > \$tmp && mv \$tmp \$1
|
||||
_exit 0
|
||||
cat <<EOF | sed 's/^ *_//' > ${cfg_base_dir}/filter.sh
|
||||
_#!/bin/sh
|
||||
_# filter.sh
|
||||
_tmp="/tmp/`basename $0`.\$\$.tmp"
|
||||
_tr 'a-z' 'A-Z' < \$1 > \$tmp && mv \$tmp \$1
|
||||
_exit 0
|
||||
EOF
|
||||
chmod +x ${base_dir}/filter.sh
|
||||
chmod +x ${cfg_base_dir}/filter.sh
|
||||
}
|
||||
|
||||
trap "Trap ; exit" 1 2 3 13 15
|
||||
trap "Trap 0 ; exit" 0
|
||||
Sleep()
|
||||
{
|
||||
if test "${opt_use_valgrind}" -eq 1
|
||||
then
|
||||
sleep 30
|
||||
else
|
||||
sleep 5
|
||||
fi
|
||||
}
|
||||
|
||||
#StartWatchdog
|
||||
CreateAuth
|
||||
CreateFilter
|
||||
Main()
|
||||
{
|
||||
Init
|
||||
SanityChecks
|
||||
CreateAuth
|
||||
CreateFilter
|
||||
CreateMessages
|
||||
|
||||
RunServer ${pp}01 ${pp}10 store-2 log-1 pid-1
|
||||
RunServer ${pp}02 ${pp}12 store-2 log-2 pid-2 "--forward-to localhost:${pp}03 --client-auth ${base_dir}/client-joe.auth"
|
||||
RunServer ${pp}03 ${pp}13 store-3 log-3 pid-3 "--immediate --forward-to localhost:${pp}04 --filter ${null_filter} --client-auth ${base_dir}/client-fred.auth --server-auth ${base_dir}/server.auth"
|
||||
RunServer ${pp}04 ${pp}14 store-4 log-4 pid-4 "--server-auth ${base_dir}/server.auth"
|
||||
RunServer ${pp}05 ${pp}15 store-4 log-5 pid-5 "--poll 1 --forward-to localhost:${pp}06"
|
||||
RunServer ${pp}06 ${pp}16 store-6 log-6 pid-6 "--filter ${base_dir}/filter.sh"
|
||||
RunServer 01 10 store-2 log-1 pid-1
|
||||
RunServer 02 12 store-2 log-2 pid-2 "--forward-to localhost:${cfg_pp}03 --client-auth ${cfg_base_dir}/client-joe.auth"
|
||||
RunServer 03 13 store-3 log-3 pid-3 "--immediate --forward-to localhost:${cfg_pp}04 --filter ${cfg_null_filter} --client-auth ${cfg_base_dir}/client-fred.auth --server-auth ${cfg_base_dir}/server.auth"
|
||||
RunServer 04 14 store-4 log-4 pid-4 "--server-auth ${cfg_base_dir}/server.auth"
|
||||
RunServer 05 15 store-4 log-5 pid-5 "--poll 1 --forward-to localhost:${cfg_pp}06"
|
||||
RunServer 06 16 store-6 log-6 pid-6 "--filter ${cfg_base_dir}/filter.sh"
|
||||
|
||||
CreateMessages
|
||||
RunClient localhost:${pp}01 store-1 log-c pid-7
|
||||
RunPoke ${pp}12 log-p
|
||||
sleep 1
|
||||
RunClient localhost:${cfg_pp}01 store-1 log-c pid-7
|
||||
RunPoke 12 log-p
|
||||
|
||||
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
||||
do
|
||||
if test "${use_valgrind}" -eq 1 ; then sleep 50 ; fi
|
||||
sleep 10
|
||||
CheckResults store-6
|
||||
if test $? -eq 0 ; then break ; fi
|
||||
done
|
||||
if test "${watchdog_pid}" != ""
|
||||
then
|
||||
kill "${watchdog_pid}"
|
||||
fi
|
||||
if test ${exit_code} -ne 0
|
||||
then
|
||||
echo `basename $0`: failed: see ${summary_log} >&2
|
||||
fi
|
||||
success="0"
|
||||
for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
||||
do
|
||||
Sleep
|
||||
if TestDone store-6
|
||||
then
|
||||
success="1"
|
||||
break
|
||||
fi
|
||||
done
|
||||
ReportResults "${success}"
|
||||
}
|
||||
|
||||
Main
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
108
bin/fastbuild.sh
Normal file
108
bin/fastbuild.sh
Normal file
@ -0,0 +1,108 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# ===
|
||||
#
|
||||
# fastbuild.sh
|
||||
#
|
||||
# A complier stub for doing fastbuilds, where each executable
|
||||
# is compiled from a single source-file containing a long
|
||||
# list of source-file includes.
|
||||
#
|
||||
# This script will probably not work on weird o/s's. It
|
||||
# was developed on SUSE 9.0.
|
||||
#
|
||||
|
||||
Ar()
|
||||
{
|
||||
echo fastbuild: creating empty library "${2}"
|
||||
touch "${2}"
|
||||
}
|
||||
|
||||
ReallyCompile()
|
||||
{
|
||||
source_="${1}"
|
||||
new_="${2}"
|
||||
shift
|
||||
shift
|
||||
echo fastbuild: compiling "${new_}" instead of "${source_}"
|
||||
g++ `echo $@ | sed "s/${source_}/${new_}/g"`
|
||||
}
|
||||
|
||||
OutputFilter()
|
||||
{
|
||||
tr '\t' ' ' | sed 's/.* -o //' | sed 's/ .*//'
|
||||
}
|
||||
|
||||
Skip()
|
||||
{
|
||||
source_="${1}"
|
||||
shift
|
||||
output_="`echo $@ | OutputFilter`"
|
||||
echo fastbuild: skipping "${source}"
|
||||
touch "${output_}"
|
||||
}
|
||||
|
||||
Compile()
|
||||
{
|
||||
source="`echo $@ | sed 's/.* //'`"
|
||||
case "${source}" in
|
||||
main.cpp) ReallyCompile "${source}" emailrelay-fastbuild.cpp "$@" ;;
|
||||
passwd.cpp) ReallyCompile "${source}" passwd-fastbuild.cpp "$@" ;;
|
||||
submit.cpp) ReallyCompile "${source}" submit-fastbuild.cpp "$@" ;;
|
||||
*) Skip "${source}" "$@" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
ReallyLink()
|
||||
{
|
||||
echo fastbuild: linking $2 into $1
|
||||
g++ -o "${1}" "${2}"
|
||||
}
|
||||
|
||||
Link()
|
||||
{
|
||||
output_="`echo $@ | OutputFilter`"
|
||||
output_name_="`basename \"${output_}\"`"
|
||||
echo fastbuild: linking "${output_name_}"
|
||||
case "${output_name_}" in
|
||||
emailrelay) ReallyLink ${output_} main.o ;;
|
||||
emailrelay-submit) ReallyLink ${output_} submit.o ;;
|
||||
emailrelay-passwd) ReallyLink ${output_} passwd.o ;;
|
||||
*) echo fastbuild: error: unrecognised target binary >&2 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
if test "${1}" = "cru"
|
||||
then
|
||||
Ar "$@"
|
||||
:
|
||||
elif test "`echo $@ | grep '\.cpp *$' | wc -l`" -ne 0
|
||||
then
|
||||
Compile "$@"
|
||||
:
|
||||
elif test "`echo $@ | grep -- '-o *[-a-z][-a-z]* ' | wc -l`" -ne 0
|
||||
then
|
||||
Link "$@"
|
||||
:
|
||||
else
|
||||
echo fastbuild: unrecognised command line
|
||||
g++ "$@"
|
||||
fi
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
|
70
configure
vendored
70
configure
vendored
@ -308,7 +308,7 @@ ac_includes_default="\
|
||||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB MAKE AR GZIP HAVE_DOXYGEN HAVE_MAN2HTML COMPILER_VERSION CPP EGREP e_sbindir e_libexecdir e_docdir e_initdir e_spooldir e_man1dir e_examplesdir LIBOBJS LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE am__leading_dot CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB MAKE AR GZIP HAVE_DOXYGEN HAVE_MAN2HTML COMPILER_VERSION CPP EGREP e_sbindir e_libexecdir e_sysconfdir e_docdir e_initdir e_spooldir e_man1dir e_examplesdir LIBOBJS LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
@ -855,6 +855,8 @@ Optional Features:
|
||||
--disable-dependency-tracking Speeds up one-time builds
|
||||
--enable-dependency-tracking Do not reject slow dependency extractors
|
||||
--enable-debug enable extra debug messages at compile-time
|
||||
--enable-fastbuild enable experimental faster building; requires
|
||||
--disable-dependency-tracking
|
||||
--enable-fhs force FHS-compliant directories, ignoring --prefix
|
||||
etc
|
||||
|
||||
@ -862,6 +864,8 @@ Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
--with-workshop use Sun WorkShop 'CC -xar' as the 'ar' tool
|
||||
--with-doxygen generate source code documentation with doxygen
|
||||
--with-man2html convert man pages to html using man2html
|
||||
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
@ -1553,7 +1557,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE=emailrelay
|
||||
VERSION=1.2
|
||||
VERSION=1.3
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -5263,6 +5267,21 @@ _ACEOF
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-fastbuild or --disable-fastbuild was given.
|
||||
if test "${enable_fastbuild+set}" = set; then
|
||||
enableval="$enable_fastbuild"
|
||||
|
||||
fi;
|
||||
|
||||
if test "$enable_fastbuild" = "yes"
|
||||
then
|
||||
CXX="`pwd`/bin/fastbuild.sh"
|
||||
chmod +x "$CXX"
|
||||
AR="`pwd`/bin/fastbuild.sh"
|
||||
RANLIB="true"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check whether --with-workshop or --without-workshop was given.
|
||||
if test "${with_workshop+set}" = set; then
|
||||
@ -5278,6 +5297,44 @@ then
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check whether --with-doxygen or --without-doxygen was given.
|
||||
if test "${with_doxygen+set}" = set; then
|
||||
withval="$with_doxygen"
|
||||
|
||||
fi;
|
||||
|
||||
if test "$with_doxygen" != ""
|
||||
then
|
||||
if test "$with_doxygen" = "yes" -a "$HAVE_DOXYGEN" != "yes"
|
||||
then
|
||||
echo ignoring --with-doxygen
|
||||
else
|
||||
HAVE_DOXYGEN="$with_doxygen"
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check whether --with-man2html or --without-man2html was given.
|
||||
if test "${with_man2html+set}" = set; then
|
||||
withval="$with_man2html"
|
||||
|
||||
fi;
|
||||
|
||||
if test "$with_man2html" != ""
|
||||
then
|
||||
if test "$with_man2html" = "yes" -a "$HAVE_MAN2HTML" != "yes"
|
||||
then
|
||||
echo ignoring --with-man2html
|
||||
else
|
||||
HAVE_MAN2HTML="$with_man2html"
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# Check whether --enable-fhs or --disable-fhs was given.
|
||||
if test "${enable_fhs+set}" = set; then
|
||||
enableval="$enable_fhs"
|
||||
@ -5288,6 +5345,8 @@ if test "$e_sbindir" = "" ; then e_sbindir="$sbindir" ; fi
|
||||
|
||||
if test "$e_libexecdir" = "" ; then e_libexecdir="$libexecdir" ; fi
|
||||
|
||||
if test "$e_sysconfdir" = "" ; then e_sysconfdir="$sysconfdir" ; fi
|
||||
|
||||
if test "$e_docdir" = "" ; then e_docdir="$datadir/$PACKAGE/doc" ; fi
|
||||
|
||||
if test "$e_initdir" = "" ; then e_initdir="$libexecdir" ; fi
|
||||
@ -5311,10 +5370,10 @@ then
|
||||
localstatedir='/var'
|
||||
mandir='/usr/man'
|
||||
datadir='/usr/share'
|
||||
sysconfdir='/etc'
|
||||
#
|
||||
# not used by emailrelay
|
||||
#bindir=
|
||||
#sysconfdir=
|
||||
#sharedstatedir=
|
||||
#libdir=
|
||||
#includedir=
|
||||
@ -5329,13 +5388,14 @@ then
|
||||
e_spooldir="$localstatedir/spool/$PACKAGE"
|
||||
e_man1dir="$datadir/man/man1"
|
||||
e_examplesdir="$datadir/doc/$PACKAGE/examples"
|
||||
e_sysconfdir="$sysconfdir"
|
||||
|
||||
fi
|
||||
|
||||
|
||||
SET_MAKE=""
|
||||
|
||||
ac_config_files="$ac_config_files Makefile src/Makefile src/glib/Makefile src/gnet/Makefile src/gsmtp/Makefile src/main/Makefile src/win32/Makefile lib/Makefile lib/gcc2.95/Makefile lib/msvc6.0/Makefile lib/sunpro5/Makefile bin/Makefile doc/Makefile"
|
||||
ac_config_files="$ac_config_files Makefile src/Makefile src/glib/Makefile src/gnet/Makefile src/gsmtp/Makefile src/main/Makefile src/win32/Makefile lib/Makefile lib/gcc2.95/Makefile lib/msvc6.0/Makefile lib/sunpro5/Makefile bin/Makefile doc/Makefile etc/Makefile"
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
# tests run on this system so they can be shared between configure
|
||||
@ -5904,6 +5964,7 @@ do
|
||||
"lib/sunpro5/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/sunpro5/Makefile" ;;
|
||||
"bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES bin/Makefile" ;;
|
||||
"doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
||||
"etc/Makefile" ) CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
|
||||
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
||||
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
|
||||
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
|
||||
@ -6044,6 +6105,7 @@ s,@CPP@,$CPP,;t t
|
||||
s,@EGREP@,$EGREP,;t t
|
||||
s,@e_sbindir@,$e_sbindir,;t t
|
||||
s,@e_libexecdir@,$e_libexecdir,;t t
|
||||
s,@e_sysconfdir@,$e_sysconfdir,;t t
|
||||
s,@e_docdir@,$e_docdir,;t t
|
||||
s,@e_initdir@,$e_initdir,;t t
|
||||
s,@e_spooldir@,$e_spooldir,;t t
|
||||
|
26
configure.ac
26
configure.ac
@ -1,4 +1,4 @@
|
||||
dnl Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
dnl Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
dnl
|
||||
dnl This program is free software; you can redistribute it and/or
|
||||
dnl modify it under the terms of the GNU General Public License
|
||||
@ -21,7 +21,7 @@ dnl Process this file with autoconf to produce a configure script.
|
||||
dnl
|
||||
|
||||
AC_INIT(src/gsmtp/gsmtp.h)
|
||||
AM_INIT_AUTOMAKE(emailrelay,1.2)
|
||||
AM_INIT_AUTOMAKE(emailrelay,1.3)
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
dnl ===
|
||||
@ -68,12 +68,30 @@ dnl
|
||||
AC_ARG_ENABLE(debug,AC_HELP_STRING([--enable-debug],[enable extra debug messages at compile-time]))
|
||||
ENABLE_DEBUG
|
||||
|
||||
dnl ===
|
||||
dnl "--enable-fastbuild"
|
||||
dnl
|
||||
AC_ARG_ENABLE(fastbuild,AC_HELP_STRING([--enable-fastbuild],[enable experimental faster building; requires --disable-dependency-tracking]))
|
||||
ENABLE_FASTBUILD
|
||||
|
||||
dnl ===
|
||||
dnl "--with-workshop"
|
||||
dnl
|
||||
AC_ARG_WITH(workshop,AC_HELP_STRING([--with-workshop],[use Sun WorkShop 'CC -xar' as the 'ar' tool]))
|
||||
WITH_WORKSHOP
|
||||
|
||||
dnl ===
|
||||
dnl "--with-doxygen"
|
||||
dnl
|
||||
AC_ARG_WITH(doxygen,AC_HELP_STRING([--with-doxygen],[generate source code documentation with doxygen]))
|
||||
WITH_DOXYGEN
|
||||
|
||||
dnl ===
|
||||
dnl "--with-man2html"
|
||||
dnl
|
||||
AC_ARG_WITH(man2html,AC_HELP_STRING([--with-man2html],[convert man pages to html using man2html]))
|
||||
WITH_MAN2HTML
|
||||
|
||||
dnl ===
|
||||
dnl directory tweaking and "--enable-fhs" ...
|
||||
dnl
|
||||
@ -83,6 +101,8 @@ AC_SUBST(e_sbindir)
|
||||
if test "$e_sbindir" = "" ; then e_sbindir="$sbindir" ; fi
|
||||
AC_SUBST(e_libexecdir)
|
||||
if test "$e_libexecdir" = "" ; then e_libexecdir="$libexecdir" ; fi
|
||||
AC_SUBST(e_sysconfdir)
|
||||
if test "$e_sysconfdir" = "" ; then e_sysconfdir="$sysconfdir" ; fi
|
||||
AC_SUBST(e_docdir)
|
||||
if test "$e_docdir" = "" ; then e_docdir="$datadir/$PACKAGE/doc" ; fi
|
||||
AC_SUBST(e_initdir)
|
||||
@ -103,5 +123,5 @@ SET_MAKE=""
|
||||
dnl ===
|
||||
dnl generate files...
|
||||
dnl
|
||||
AC_OUTPUT(Makefile src/Makefile src/glib/Makefile src/gnet/Makefile src/gsmtp/Makefile src/main/Makefile src/win32/Makefile lib/Makefile lib/gcc2.95/Makefile lib/msvc6.0/Makefile lib/sunpro5/Makefile bin/Makefile doc/Makefile)
|
||||
AC_OUTPUT(Makefile src/Makefile src/glib/Makefile src/gnet/Makefile src/gsmtp/Makefile src/main/Makefile src/win32/Makefile lib/Makefile lib/gcc2.95/Makefile lib/msvc6.0/Makefile lib/sunpro5/Makefile bin/Makefile doc/Makefile etc/Makefile)
|
||||
|
||||
|
31
depcomp
31
depcomp
@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
# Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
|
||||
# Copyright 1999, 2000 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
|
||||
@ -172,25 +172,19 @@ sgi)
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||
# in a .u file. This file always lives in the current directory.
|
||||
# Also, the AIX compiler puts `$object:' at the start of each line;
|
||||
# $object doesn't have directory information.
|
||||
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
outname="$stripped.o"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
"$@" -M
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
|
||||
if test -f "$tmpdepfile"; then :
|
||||
else
|
||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||
tmpdepfile="$stripped.u"
|
||||
fi
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
@ -198,7 +192,6 @@ aix)
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
outname="$stripped.o"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
@ -285,8 +278,8 @@ tru64)
|
||||
fi
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
# That's a space and a tab in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
@ -299,7 +292,7 @@ tru64)
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
# always write the proprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
@ -395,7 +388,7 @@ makedepend)
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
# always write the proprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
@ -437,7 +430,7 @@ cpp)
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o,
|
||||
# always write the proprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
"$@" || exit $?
|
||||
IFS=" "
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
@ -73,7 +73,7 @@ $(converter_helper3): $(converter_helper3_src)
|
||||
if test "$(HAVE_DOXYGEN)" = "yes" ; then cat $(top_srcdir)/src/main/doxygen.cfg | sed "s:__TOP_SRC__:$(top_srcdir):g" | sed "s:__TOP_BUILD__:$(top_builddir):g" | doxygen - && touch .dox ; else echo no doxygen ; fi
|
||||
|
||||
emailrelay-man.html: emailrelay.1
|
||||
if test "$(HAVE_MAN2HTML)" = "yes" ; then man2html emailrelay.1 > emailrelay-man.html ; fi
|
||||
if test "$(HAVE_MAN2HTML)" = "yes" ; then man2html emailrelay.1 < /dev/null > emailrelay-man.html.tmp && mv emailrelay-man.html.tmp emailrelay-man.html ; fi
|
||||
|
||||
developer.html reference.html userguide.html: $(converter)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -111,6 +111,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -165,7 +166,7 @@ SCRIPTS = $(noinst_SCRIPTS)
|
||||
DIST_SOURCES =
|
||||
DATA = $(e_doc_DATA) $(e_man1_DATA)
|
||||
|
||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -276,7 +277,7 @@ clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -286,7 +287,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@ -308,7 +309,7 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
@ -365,7 +366,7 @@ $(converter_helper3): $(converter_helper3_src)
|
||||
if test "$(HAVE_DOXYGEN)" = "yes" ; then cat $(top_srcdir)/src/main/doxygen.cfg | sed "s:__TOP_SRC__:$(top_srcdir):g" | sed "s:__TOP_BUILD__:$(top_builddir):g" | doxygen - && touch .dox ; else echo no doxygen ; fi
|
||||
|
||||
emailrelay-man.html: emailrelay.1
|
||||
if test "$(HAVE_MAN2HTML)" = "yes" ; then man2html emailrelay.1 > emailrelay-man.html ; fi
|
||||
if test "$(HAVE_MAN2HTML)" = "yes" ; then man2html emailrelay.1 < /dev/null > emailrelay-man.html.tmp && mv emailrelay-man.html.tmp emailrelay-man.html ; fi
|
||||
|
||||
developer.html reference.html userguide.html: $(converter)
|
||||
|
||||
|
@ -271,4 +271,4 @@ to reassign a std::auto_ptr<>.
|
||||
|
||||
|
||||
|
||||
Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved.
|
||||
Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved.
|
||||
|
@ -1,6 +1,23 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
||||
<title>E-MailRelay: $title</title>
|
||||
<meta name="robots" content="noindex,nofollow">
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
||||
</head><body bgcolor="#ffffff">
|
||||
<style type="text/css">
|
||||
<!--
|
||||
h1 { text-align: center; font-family: veranda, arial, helvetica, sans-serif; color: #09c ; }
|
||||
h2 { font-family: veranda, geneva, arial, helvetica, sans-serif; color: #09c ; }
|
||||
h3 { font-family: veranda, geneva, arial, helvetica, sans-serif; color: #09c ; }
|
||||
a { color: #09c }
|
||||
a.qindex { color: #09c }
|
||||
a.qindex:visited { color: #09c }
|
||||
a.qindex:hover { background-color: #ccf }
|
||||
a.qindexHL { color: #09c ; background-color: #eeeeff ; }
|
||||
a.qindexHL:visited { color: #09c ; background-color: #eeeeff ; }
|
||||
a.qindexHL:hover { color: #09c ; background-color: #ccf; }
|
||||
-->
|
||||
</style>
|
||||
</head>
|
||||
<body bgcolor="#ffffff">
|
||||
|
@ -74,6 +74,10 @@ Enables the administration interface and specifies its listening port number.
|
||||
|
||||
<DD>
|
||||
Enables the terminate command on the admin interface.
|
||||
<DT><B>-A,--anonymous </B>
|
||||
|
||||
<DD>
|
||||
Disables the smtp vrfy command and sends less verbose smtp responses.
|
||||
<DT><B>-q,--as-client </B><I>host:port</I>
|
||||
|
||||
<DD>
|
||||
@ -129,7 +133,7 @@ Forwards stored mail on startup (requires <I>--forward-to</I>).
|
||||
<DT><B>-o,--forward-to </B><I>host:port</I>
|
||||
|
||||
<DD>
|
||||
Specifies the remote smtp server (required by <I>--forward</I> and <I>--admin</I>).
|
||||
Specifies the remote smtp server (required by <I>--forward</I>, <I>--poll</I>, <I>--immediate</I> and <I>--admin</I>).
|
||||
<DT><B>-h,--help </B>
|
||||
|
||||
<DD>
|
||||
@ -173,7 +177,7 @@ Specifies the smtp listening port number.
|
||||
<DT><B>-P,--postmaster </B>
|
||||
|
||||
<DD>
|
||||
Deliver to postmaster and reject all other local mailbox addresses.
|
||||
Allow delivery to postmaster but reject all other local mailbox addresses.
|
||||
<DT><B>-r,--remote-clients </B>
|
||||
|
||||
<DD>
|
||||
@ -213,6 +217,9 @@ Displays version information and exits.
|
||||
GNU style...
|
||||
<BR>
|
||||
|
||||
/usr/local/etc/emailrelay.conf
|
||||
<BR>
|
||||
|
||||
/usr/local/libexec/emailrelay
|
||||
<BR>
|
||||
|
||||
@ -228,9 +235,18 @@ GNU style...
|
||||
/usr/local/libexec/emailrelay-process.sh
|
||||
<BR>
|
||||
|
||||
/usr/local/libexec/emailrelay-resubmit.js
|
||||
<BR>
|
||||
|
||||
/usr/local/libexec/emailrelay-resubmit.sh
|
||||
<BR>
|
||||
|
||||
/usr/local/libexec/emailrelay-runperl.js
|
||||
<BR>
|
||||
|
||||
/usr/local/man/man1/emailrelay.1.gz
|
||||
<BR>
|
||||
|
||||
/usr/local/man/man1/emailrelay-passwd.1.gz
|
||||
<BR>
|
||||
|
||||
@ -240,9 +256,6 @@ GNU style...
|
||||
/usr/local/man/man1/emailrelay-submit.1.gz
|
||||
<BR>
|
||||
|
||||
/usr/local/man/man1/emailrelay.1.gz
|
||||
<BR>
|
||||
|
||||
/usr/local/sbin/emailrelay
|
||||
<BR>
|
||||
|
||||
@ -252,12 +265,6 @@ GNU style...
|
||||
/usr/local/sbin/emailrelay-submit
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/NEWS
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/README
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/changelog.gz
|
||||
<BR>
|
||||
|
||||
@ -273,9 +280,21 @@ GNU style...
|
||||
/usr/local/share/emailrelay/doc/emailrelay.css
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/emailrelay-man.html
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/index.html
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/NEWS
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/*.png
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/README
|
||||
<BR>
|
||||
|
||||
/usr/local/share/emailrelay/doc/readme.html
|
||||
<BR>
|
||||
|
||||
@ -306,6 +325,9 @@ GNU style...
|
||||
FHS style...
|
||||
<BR>
|
||||
|
||||
/etc/emailrelay.conf
|
||||
<BR>
|
||||
|
||||
/etc/init.d/emailrelay
|
||||
<BR>
|
||||
|
||||
@ -321,12 +343,6 @@ FHS style...
|
||||
/usr/sbin/emailrelay-submit
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/NEWS
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/README
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/changelog.gz
|
||||
<BR>
|
||||
|
||||
@ -342,6 +358,9 @@ FHS style...
|
||||
/usr/share/doc/emailrelay/emailrelay.css
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/emailrelay-man.html
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
||||
<BR>
|
||||
|
||||
@ -357,6 +376,15 @@ FHS style...
|
||||
/usr/share/doc/emailrelay/index.html
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/NEWS
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/*.png
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/README
|
||||
<BR>
|
||||
|
||||
/usr/share/doc/emailrelay/readme.html
|
||||
<BR>
|
||||
|
||||
@ -378,6 +406,9 @@ FHS style...
|
||||
/usr/share/doc/emailrelay/windows.txt
|
||||
<BR>
|
||||
|
||||
/usr/share/man/man1/emailrelay.1.gz
|
||||
<BR>
|
||||
|
||||
/usr/share/man/man1/emailrelay-passwd.1.gz
|
||||
<BR>
|
||||
|
||||
@ -387,9 +418,6 @@ FHS style...
|
||||
/usr/share/man/man1/emailrelay-submit.1.gz
|
||||
<BR>
|
||||
|
||||
/usr/share/man/man1/emailrelay.1.gz
|
||||
<BR>
|
||||
|
||||
/var/spool/emailrelay/emailrelay.*.content
|
||||
<BR>
|
||||
|
||||
@ -436,7 +464,7 @@ Graeme Walker, mailto:<A HREF="mailto:graeme_walker@users.sourceforge.net">graem
|
||||
This document was created by
|
||||
<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
|
||||
using the manual pages.<BR>
|
||||
Time: 21:06:55 GMT, November 06, 2003
|
||||
Time: 20:53:37 GMT, February 26, 2004
|
||||
</BODY>
|
||||
</HTML>
|
||||
<!-- Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved. -->
|
||||
<!-- Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved. -->
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
.\" Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
.\"
|
||||
.\" This program is free software; you can redistribute it and/or
|
||||
.\" modify it under the terms of the GNU General Public License
|
||||
@ -22,12 +22,26 @@ emailrelay-passwd \- a password encoding utility for E-MailRelay
|
||||
.B emailrelay-passwd
|
||||
.SH DESCRIPTION
|
||||
.I emailrelay-passwd
|
||||
is a utility which reads a plaintext password from the standard
|
||||
input, and writes it out in an encoded form onto the standard
|
||||
is a utility which reads a single plaintext password from the standard
|
||||
input, and writes out an encoded form onto the standard
|
||||
output. The encoded form is suitable for pasting into a CRAM-MD5
|
||||
line in an
|
||||
.B emailrelay
|
||||
secrets file.
|
||||
.LP
|
||||
A secrets file containing two CRAM-MD5 passwords might look like
|
||||
this:
|
||||
.LP
|
||||
#
|
||||
.br
|
||||
# emailrelay.auth
|
||||
.br
|
||||
#
|
||||
.br
|
||||
server cram-md5 bob 1465267825.1002706143.2005162520.2739353706.4126076156.3423185672.2674269368.3056934447
|
||||
.br
|
||||
server cram-md5 alice 4039336516.3719314525.4148590512.4209236927.1897255360.1012201638.2279588408.1076355329
|
||||
.br
|
||||
.SH SEE ALSO
|
||||
.BR emailrelay (1),
|
||||
.BR emailrelay-submit (1),
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
.\" Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
.\"
|
||||
.\" This program is free software; you can redistribute it and/or
|
||||
.\" modify it under the terms of the GNU General Public License
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
.\" Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
.\"
|
||||
.\" This program is free software; you can redistribute it and/or
|
||||
.\" modify it under the terms of the GNU General Public License
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
.\" Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
.\"
|
||||
.\" This program is free software; you can redistribute it and/or
|
||||
.\" modify it under the terms of the GNU General Public License
|
||||
@ -59,6 +59,9 @@ Enables the administration interface and specifies its listening port number.
|
||||
.B \-Q,--admin-terminate
|
||||
Enables the terminate command on the admin interface.
|
||||
.TP
|
||||
.B \-A,--anonymous
|
||||
Disables the smtp vrfy command and sends less verbose smtp responses.
|
||||
.TP
|
||||
.B \-q,--as-client \fIhost:port\fR
|
||||
Runs as a client, forwarding spooled mail to <host>: equivalent to \fI--log\fR \fI--no-syslog\fR \fI--no-daemon\fR \fI--dont-serve\fR \fI--forward\fR \fI--forward-to\fR.
|
||||
.TP
|
||||
@ -99,7 +102,7 @@ Defines a mail processor program for when storing.
|
||||
Forwards stored mail on startup (requires \fI--forward-to\fR).
|
||||
.TP
|
||||
.B \-o,--forward-to \fIhost:port\fR
|
||||
Specifies the remote smtp server (required by \fI--forward\fR and \fI--admin\fR).
|
||||
Specifies the remote smtp server (required by \fI--forward\fR, \fI--poll\fR, \fI--immediate\fR and \fI--admin\fR).
|
||||
.TP
|
||||
.B \-h,--help
|
||||
Displays help text and exits.
|
||||
@ -132,7 +135,7 @@ Enables polling with the specified period (requires \fI--forward-to\fR).
|
||||
Specifies the smtp listening port number.
|
||||
.TP
|
||||
.B \-P,--postmaster
|
||||
Deliver to postmaster and reject all other local mailbox addresses.
|
||||
Allow delivery to postmaster but reject all other local mailbox addresses.
|
||||
.TP
|
||||
.B \-r,--remote-clients
|
||||
Allows remote clients to connect.
|
||||
@ -160,6 +163,8 @@ Displays version information and exits.
|
||||
.SH FILES
|
||||
GNU style...
|
||||
.br
|
||||
/usr/local/etc/emailrelay.conf
|
||||
.br
|
||||
/usr/local/libexec/emailrelay
|
||||
.br
|
||||
/usr/local/libexec/emailrelay-deliver.sh
|
||||
@ -170,26 +175,26 @@ GNU style...
|
||||
.br
|
||||
/usr/local/libexec/emailrelay-process.sh
|
||||
.br
|
||||
/usr/local/libexec/emailrelay-resubmit.js
|
||||
.br
|
||||
/usr/local/libexec/emailrelay-resubmit.sh
|
||||
.br
|
||||
/usr/local/libexec/emailrelay-runperl.js
|
||||
.br
|
||||
/usr/local/man/man1/emailrelay.1.gz
|
||||
.br
|
||||
/usr/local/man/man1/emailrelay-passwd.1.gz
|
||||
.br
|
||||
/usr/local/man/man1/emailrelay-poke.1.gz
|
||||
.br
|
||||
/usr/local/man/man1/emailrelay-submit.1.gz
|
||||
.br
|
||||
/usr/local/man/man1/emailrelay.1.gz
|
||||
.br
|
||||
/usr/local/sbin/emailrelay
|
||||
.br
|
||||
/usr/local/sbin/emailrelay-passwd
|
||||
.br
|
||||
/usr/local/sbin/emailrelay-submit
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/NEWS
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/README
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/changelog.gz
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/changelog.html
|
||||
@ -200,8 +205,16 @@ GNU style...
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/emailrelay.css
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/emailrelay-man.html
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/index.html
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/NEWS
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/*.png
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/README
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/readme.html
|
||||
.br
|
||||
/usr/local/share/emailrelay/doc/reference.html
|
||||
@ -222,6 +235,8 @@ GNU style...
|
||||
.LP
|
||||
FHS style...
|
||||
.br
|
||||
/etc/emailrelay.conf
|
||||
.br
|
||||
/etc/init.d/emailrelay
|
||||
.br
|
||||
/usr/lib/emailrelay/emailrelay-poke
|
||||
@ -232,10 +247,6 @@ FHS style...
|
||||
.br
|
||||
/usr/sbin/emailrelay-submit
|
||||
.br
|
||||
/usr/share/doc/emailrelay/NEWS
|
||||
.br
|
||||
/usr/share/doc/emailrelay/README
|
||||
.br
|
||||
/usr/share/doc/emailrelay/changelog.gz
|
||||
.br
|
||||
/usr/share/doc/emailrelay/changelog.html
|
||||
@ -246,6 +257,8 @@ FHS style...
|
||||
.br
|
||||
/usr/share/doc/emailrelay/emailrelay.css
|
||||
.br
|
||||
/usr/share/doc/emailrelay/emailrelay-man.html
|
||||
.br
|
||||
/usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
||||
.br
|
||||
/usr/share/doc/emailrelay/examples/emailrelay-notify.sh
|
||||
@ -256,6 +269,12 @@ FHS style...
|
||||
.br
|
||||
/usr/share/doc/emailrelay/index.html
|
||||
.br
|
||||
/usr/share/doc/emailrelay/NEWS
|
||||
.br
|
||||
/usr/share/doc/emailrelay/*.png
|
||||
.br
|
||||
/usr/share/doc/emailrelay/README
|
||||
.br
|
||||
/usr/share/doc/emailrelay/readme.html
|
||||
.br
|
||||
/usr/share/doc/emailrelay/reference.html
|
||||
@ -270,14 +289,14 @@ FHS style...
|
||||
.br
|
||||
/usr/share/doc/emailrelay/windows.txt
|
||||
.br
|
||||
/usr/share/man/man1/emailrelay.1.gz
|
||||
.br
|
||||
/usr/share/man/man1/emailrelay-passwd.1.gz
|
||||
.br
|
||||
/usr/share/man/man1/emailrelay-poke.1.gz
|
||||
.br
|
||||
/usr/share/man/man1/emailrelay-submit.1.gz
|
||||
.br
|
||||
/usr/share/man/man1/emailrelay.1.gz
|
||||
.br
|
||||
/var/spool/emailrelay/emailrelay.*.content
|
||||
.br
|
||||
/var/spool/emailrelay/emailrelay.*.envelope
|
||||
|
@ -21,4 +21,4 @@
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<!-- Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved. -->
|
||||
<!-- Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved. -->
|
||||
|
@ -19,6 +19,9 @@ where <switch> is:
|
||||
# --admin-terminate (-Q)
|
||||
Enables the terminate command on the admin interface.
|
||||
|
||||
# --anonymous (-A)
|
||||
Disables the smtp vrfy command and sends less verbose smtp responses.
|
||||
|
||||
# --as-client (-q)
|
||||
Runs as a client, forwarding spooled mail to <host>: equivalent to "--log --no-syslog --no-daemon --dont-serve --forward --forward-to".
|
||||
|
||||
@ -59,7 +62,7 @@ where <switch> is:
|
||||
Forwards stored mail on startup (requires --forward-to).
|
||||
|
||||
# --forward-to (-o)
|
||||
Specifies the remote smtp server (required by --forward and --admin).
|
||||
Specifies the remote smtp server (required by --forward, --poll, --immediate and --admin).
|
||||
|
||||
# --help (-h)
|
||||
Displays help text and exits.
|
||||
@ -92,7 +95,7 @@ where <switch> is:
|
||||
Specifies the smtp listening port number.
|
||||
|
||||
# --postmaster (-P)
|
||||
Deliver to postmaster and reject all other local mailbox addresses.
|
||||
Allow delivery to postmaster but reject all other local mailbox addresses.
|
||||
|
||||
# --remote-clients (-r)
|
||||
Allows remote clients to connect.
|
||||
@ -130,13 +133,12 @@ behaviour is:
|
||||
* disable the administration interface
|
||||
* generate no logging or diagnostic messages
|
||||
|
||||
The "--as-server" switch makes sure that logging is enabled and that
|
||||
the standard error stream is closed.
|
||||
Adding the "--as-server" switch makes sure that logging is enabled and that the
|
||||
standard error stream is closed.
|
||||
|
||||
To foward spooled messages to the ISP the command-line switch "--as-client"
|
||||
is provided to run the program...
|
||||
To forward spooled messages the "--as-client" switch is provided to run the program
|
||||
* in foreground, exiting when all spooled mail has been processed
|
||||
* forwarding spooled mail from "/usr/local/var/spool/emailrelay" or "/var/spool/emailrelay"
|
||||
* taking spooled mail from "/usr/local/var/spool/emailrelay" or "/var/spool/emailrelay"
|
||||
* without listening on any port
|
||||
* with error, warning and information messages sent to stderr
|
||||
* without using syslog
|
||||
@ -231,9 +233,9 @@ command to an E-MailRelay server. For example:
|
||||
To use the "flush" command the next SMTP server address must have been defined
|
||||
on the "emailrelay" command line at start-up using the "--forward-to" switch.
|
||||
|
||||
Also, the "list" command lists the messages in the spool directory, the "info"
|
||||
command provides network status information and activity statistics, and the
|
||||
"notify" command enables asynchronous event notification.
|
||||
Also, the "list" command lists the messages in the spool directory, "info"
|
||||
provides network status information and activity statistics, and "notify"
|
||||
enables asynchronous event notification.
|
||||
|
||||
Mail processing
|
||||
---------------
|
||||
@ -319,21 +321,24 @@ For Windows this example can be rewritten in JavaScript:
|
||||
}
|
||||
WScript.Quit( 0 ) ;
|
||||
|
||||
Pre-processor programs written in JavaScript can be run with "cscript", using an
|
||||
E-MailRelay command line with a "--filter" switch something like this (V1.1.3
|
||||
or later):
|
||||
Windows pre-processor programs written in JavaScript can be run using "cscript",
|
||||
with an E-MailRelay "--filter" switch something like this (V1.1.3 or later):
|
||||
|
||||
--filter "c:/winnt/system32/cscript.exe \\nologo c:/program\ files/emailrelay/filter.js"
|
||||
--filter "c:/winnt/system32/cscript.exe //nologo c:/program\ files/emailrelay/filter.js"
|
||||
|
||||
A more complex example script which does rot-13 masking is also provided in the
|
||||
distribution ("emailrelay-process.sh"). This does some simple MIME encoding, and
|
||||
could be used as a template for more sophisticated message encryption.
|
||||
Note how the space character in the path is escaped with a backslash.
|
||||
|
||||
There also a "--client-filter" switch that enables pre-processing of messages
|
||||
just before they are forwarded, rather then when stored. But note that by then
|
||||
it is too late to notify the SMTP client of any processing failures.
|
||||
As an example of more complex processing there is a "--filter" script included in
|
||||
the distribution ("emailrelay-process.sh") that does rot-13 masking of messages.
|
||||
This script also does some simple MIME encoding, so that the masked message
|
||||
appears as an attachment within a plaintext bearer message.
|
||||
|
||||
Some points to note when writing "--filter" programs:
|
||||
E-MailRelay also has a "--client-filter" switch that enables pre-processing of
|
||||
messages just before they are forwarded, rather then after they are stored. The
|
||||
problem is that by then it is too late to notify the SMTP client of any
|
||||
processing failures, so in many applications using "--filter" is more useful.
|
||||
|
||||
Bear in mind the following points when writing "--filter" programs:
|
||||
* The standard input and output are not used; the content filename is passed on the command line.
|
||||
* Programs run with a reduced set of environment variables.
|
||||
* The E-MailRelay process is completely blocked while the "--filter" program runs.
|
||||
@ -344,21 +349,24 @@ Some points to note when writing "--filter" programs:
|
||||
Address verification
|
||||
--------------------
|
||||
In proxy mode all addresses supplied to the SMTP commands "RCPT" and "VRFY" are
|
||||
accepted by E-MailRelay as valid. In server mode (or more accurately when
|
||||
"--postmater" is in effect) addresses are accepted if they contain an at sign
|
||||
or if they are some sort of local "postmaster" address, as described in the SMTP
|
||||
section above.
|
||||
accepted by E-MailRelay as valid. But in server mode (or more accurately when
|
||||
"--postmater" is in effect) addresses are only accepted if they contain an at
|
||||
sign ("@") or if they are some sort of local "postmaster" address: "postmaster",
|
||||
"postmaster@localhost" or "postmaster@<fqdn>".
|
||||
|
||||
However, this behaviour can be modified by using an external verifier program,
|
||||
using the "--verifier" command-line switch.
|
||||
specified with the "--verifier" command-line switch.
|
||||
|
||||
The verifier program is passed a command-line containing: (1) the full
|
||||
address, (2) the user-name part of the address, (3) the host-name part, (4) the
|
||||
local host's fully qualified domain name, (5) the current "MAIL" command's "FROM:"
|
||||
address or the empty string for the "VRFY" command, (6) the IP address of the
|
||||
client connection, (7) the authentication mechanism used by the client ("NONE"
|
||||
if trusted), and (8) either the authentication name or the fourth field from
|
||||
authentication secrets file if a trusted IP address.
|
||||
The external verifier program is passed a command-line containing: (1) the full
|
||||
address, (2) the user-name part of the address in upper-case, (3) the host-name
|
||||
part in upper-case, (4) the local host's fully qualified domain name, (5) the
|
||||
current "MAIL" command's "FROM:" address or the empty string for the "VRFY"
|
||||
command, (6) the IP address of the client connection, (7) the authentication
|
||||
mechanism used by the client ("NONE" if trusted), and (8) either the
|
||||
authentication name or the fourth field from authentication secrets file if a
|
||||
trusted IP address:
|
||||
|
||||
myverifier me@myhost.mydomain ME MYHOST.MYDOMAIN MYHOST.MYDOMAIN bob@other.net 192.168.0.1 LOGIN bob
|
||||
|
||||
For valid local mailbox addresses the verifier is expected to write two lines to
|
||||
the standard output -- the full name associated with the mailbox, and the
|
||||
@ -367,19 +375,17 @@ addresses the first line of output should be empty, the second line should be
|
||||
copied from the first command-line argument, and the exit value should be one.
|
||||
For invalid addresses the exit value should be greater than one, and anything
|
||||
written to the standard output is taken as the failure reason. (Only the few
|
||||
few thousand characters are read from the verifier's standard output stream;
|
||||
any more is thrown away.)
|
||||
few thousand characters are read from the verifier's standard output stream; any
|
||||
more is thrown away.) If the exit code is 100 then the connection is aborted
|
||||
immediately.
|
||||
|
||||
In this simple example script all addresses are accepted as long as they contain
|
||||
an at sign. This is equivalent to removing the "--postmaster" command-line
|
||||
switch:
|
||||
an at sign:
|
||||
|
||||
#!/bin/sh
|
||||
# verifier.sh
|
||||
address="${1}"
|
||||
user="${2}"
|
||||
host="${3}"
|
||||
if test "${address}" != "${user}@${host}" ; then exit 2 ; fi
|
||||
address="$1"
|
||||
expr "${address}" : ".*@" > /dev/null || exit 2
|
||||
echo "${address}"
|
||||
echo "${address}" # again
|
||||
exit 1 # accept
|
||||
@ -390,7 +396,7 @@ by connecting on a trusted IP address:
|
||||
|
||||
#!/bin/sh
|
||||
# verifier.sh
|
||||
address="${1}"
|
||||
address="$1"
|
||||
host="$3"
|
||||
local_domain="$4"
|
||||
auth_mechanism="$7"
|
||||
@ -475,15 +481,24 @@ plaintext passwords, and the "CRAM-MD5" mechanism, as defined in RFC2195.
|
||||
|
||||
Authentication is enabled with the "--auth-client" and "--auth-server"
|
||||
command-line switches. The switch parameter is the name of a "secrets" file,
|
||||
containing usernames and passwords.
|
||||
containing usernames and passwords:
|
||||
|
||||
emailrelay --as-server --auth-server /etc/client-secrets.txt
|
||||
emailrelay --as-client myisp.net:smtp --auth-client /etc/myisp-secret.txt
|
||||
|
||||
The secrets file has a line-based format: blank lines are ignored and the hash
|
||||
character (#) is used for comments. Lines have four white-space delimited
|
||||
fields: "mechanism", "client-or-server", "userid", and "secret". The "mechanism"
|
||||
field must be "LOGIN" or "CRAM-MD5" (case-insensitive); the "client-or-server"
|
||||
field must be "client" or "server"; the "userid" field is xtext-encoded user
|
||||
identifier; and the "secret" field is the xtext-encoded "LOGIN" password or
|
||||
"CRAM-MD5" key.
|
||||
character (#) is used for comments.
|
||||
|
||||
Lines have four white-space delimited fields:
|
||||
* "mechanism"
|
||||
* "client-or-server"
|
||||
* "userid"
|
||||
* "secret"
|
||||
|
||||
The "mechanism" field must be "LOGIN" or "CRAM-MD5" (case-insensitive); the
|
||||
"client-or-server" field must be "client" or "server"; the "userid" field is
|
||||
xtext-encoded user identifier; and the "secret" field is the xtext-encoded
|
||||
"LOGIN" password or "CRAM-MD5" key.
|
||||
|
||||
The "xtext" encoding scheme is defined properly in RFC1891, but basically it
|
||||
says that non alphanumeric characters should be represented in hexadecimal as
|
||||
@ -526,7 +541,7 @@ A "CRAM-MD5" version would look like this:
|
||||
When using the LOGIN mechanism you have to store plaintext passwords in a file
|
||||
and then send them unencypted over a network. This is a bad thing. You should at
|
||||
least make sure that the secrets file has tight permissions, and that the
|
||||
passwords in it are not also used for anything important (such as root access).
|
||||
passwords in it are not also used for anything important.
|
||||
|
||||
On the server side authentication is advertised by E-MailRealy in the response
|
||||
to the SMTP "EHLO" command if the "--auth-server" command-line switch is used.
|
||||
@ -541,7 +556,7 @@ the third field, and an arbitrary keyword in the fourth field. The keyword
|
||||
is passed to any external address verifier program specified by the "--verifier"
|
||||
command-line switch.
|
||||
|
||||
For example this secrets file allows any client connecting from the 192.168.0.0
|
||||
For example this secrets file allows any client connecting from the 192.168.0.0/24
|
||||
domain to connect without authentication desipte the "--auth-server" switch:
|
||||
|
||||
#
|
||||
@ -567,27 +582,32 @@ Files and directories
|
||||
---------------------
|
||||
Following a normal build from source, a "make install" puts files in the
|
||||
following locations:
|
||||
* /usr/local/etc/emailrelay.conf
|
||||
* /usr/local/libexec/emailrelay
|
||||
* /usr/local/libexec/emailrelay-deliver.sh
|
||||
* /usr/local/libexec/emailrelay-notify.sh
|
||||
* /usr/local/libexec/emailrelay-poke
|
||||
* /usr/local/libexec/emailrelay-process.sh
|
||||
* /usr/local/libexec/emailrelay-resubmit.js
|
||||
* /usr/local/libexec/emailrelay-resubmit.sh
|
||||
* /usr/local/libexec/emailrelay-runperl.js
|
||||
* /usr/local/man/man1/emailrelay.1.gz
|
||||
* /usr/local/man/man1/emailrelay-passwd.1.gz
|
||||
* /usr/local/man/man1/emailrelay-poke.1.gz
|
||||
* /usr/local/man/man1/emailrelay-submit.1.gz
|
||||
* /usr/local/man/man1/emailrelay.1.gz
|
||||
* /usr/local/sbin/emailrelay
|
||||
* /usr/local/sbin/emailrelay-passwd
|
||||
* /usr/local/sbin/emailrelay-submit
|
||||
* /usr/local/share/emailrelay/doc/NEWS
|
||||
* /usr/local/share/emailrelay/doc/README
|
||||
* /usr/local/share/emailrelay/doc/changelog.gz
|
||||
* /usr/local/share/emailrelay/doc/changelog.html
|
||||
* /usr/local/share/emailrelay/doc/developer.html
|
||||
* /usr/local/share/emailrelay/doc/developer.txt
|
||||
* /usr/local/share/emailrelay/doc/emailrelay.css
|
||||
* /usr/local/share/emailrelay/doc/emailrelay-man.html
|
||||
* /usr/local/share/emailrelay/doc/index.html
|
||||
* /usr/local/share/emailrelay/doc/NEWS
|
||||
* /usr/local/share/emailrelay/doc/*.png
|
||||
* /usr/local/share/emailrelay/doc/README
|
||||
* /usr/local/share/emailrelay/doc/readme.html
|
||||
* /usr/local/share/emailrelay/doc/reference.html
|
||||
* /usr/local/share/emailrelay/doc/reference.txt
|
||||
@ -604,23 +624,26 @@ than the Filesystem Hierarchy Standard (FHS).
|
||||
To force FHS compliance you can use the "--enable-fhs" switch when running
|
||||
"configure", as is done for the RPMs. This results in the following file
|
||||
locations:
|
||||
* /etc/emailrelay.conf
|
||||
* /etc/init.d/emailrelay
|
||||
* /usr/lib/emailrelay/emailrelay-poke
|
||||
* /usr/sbin/emailrelay
|
||||
* /usr/sbin/emailrelay-passwd
|
||||
* /usr/sbin/emailrelay-submit
|
||||
* /usr/share/doc/emailrelay/NEWS
|
||||
* /usr/share/doc/emailrelay/README
|
||||
* /usr/share/doc/emailrelay/changelog.gz
|
||||
* /usr/share/doc/emailrelay/changelog.html
|
||||
* /usr/share/doc/emailrelay/developer.html
|
||||
* /usr/share/doc/emailrelay/developer.txt
|
||||
* /usr/share/doc/emailrelay/emailrelay.css
|
||||
* /usr/share/doc/emailrelay/emailrelay-man.html
|
||||
* /usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
||||
* /usr/share/doc/emailrelay/examples/emailrelay-notify.sh
|
||||
* /usr/share/doc/emailrelay/examples/emailrelay-process.sh
|
||||
* /usr/share/doc/emailrelay/examples/emailrelay-resubmit.sh
|
||||
* /usr/share/doc/emailrelay/index.html
|
||||
* /usr/share/doc/emailrelay/NEWS
|
||||
* /usr/share/doc/emailrelay/*.png
|
||||
* /usr/share/doc/emailrelay/README
|
||||
* /usr/share/doc/emailrelay/readme.html
|
||||
* /usr/share/doc/emailrelay/reference.html
|
||||
* /usr/share/doc/emailrelay/reference.txt
|
||||
@ -628,10 +651,10 @@ locations:
|
||||
* /usr/share/doc/emailrelay/userguide.txt
|
||||
* /usr/share/doc/emailrelay/windows.html
|
||||
* /usr/share/doc/emailrelay/windows.txt
|
||||
* /usr/share/man/man1/emailrelay.1.gz
|
||||
* /usr/share/man/man1/emailrelay-passwd.1.gz
|
||||
* /usr/share/man/man1/emailrelay-poke.1.gz
|
||||
* /usr/share/man/man1/emailrelay-submit.1.gz
|
||||
* /usr/share/man/man1/emailrelay.1.gz
|
||||
* /var/spool/emailrelay/emailrelay.*.content
|
||||
* /var/spool/emailrelay/emailrelay.*.envelope
|
||||
|
||||
@ -641,6 +664,7 @@ can be specified on the "configure" command-line (but note that the
|
||||
* e_sbindir
|
||||
* e_libexecdir
|
||||
* e_docdir
|
||||
* e_sysconfdir
|
||||
* e_initdir
|
||||
* e_spooldir
|
||||
* e_man1dir
|
||||
@ -674,4 +698,4 @@ if the directory exists, or in "/tmp" otherwise.
|
||||
|
||||
|
||||
|
||||
Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved.
|
||||
Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved.
|
||||
|
@ -44,29 +44,33 @@ E-MailRelay is designed to be policy-free, so that you can implement your own
|
||||
policies for message retries, bounces, local mailbox delivery, spam filtering
|
||||
etc. through external scripts.
|
||||
|
||||
It has no dependencies on third-party libraries or run-time environments, so it
|
||||
is easy to build and install.
|
||||
|
||||
Typical applications of E-MailRelay include:
|
||||
* spam filtering and virus checking incoming mail
|
||||
* adding digital signatures or legal disclaimers to outgoing mail
|
||||
* doing store-and-forward for outgoing mail across a dial-up internet connection
|
||||
* doing store-and-forward for outgoing mail across a dial-up Internet connection
|
||||
* adding authentication where the existing infrastructure does not support it
|
||||
* simple proxying on a firewall host or DMZ
|
||||
|
||||
Running E-MailRelay
|
||||
-------------------
|
||||
To run the program as a proxy use the "--as-proxy" command-line switch, followed by the
|
||||
address of the target SMTP server. If you want to edit or filter e-mail as it passes
|
||||
through the proxy then specify your pre-processor program with the "--filter" switch.
|
||||
You can optionally change the listening port number using "--port" and the
|
||||
spool directory using "--spool-dir".
|
||||
To run the program as a proxy use the "--as-proxy" command-line switch followed
|
||||
by the address of the target SMTP server. If you want to edit or filter e-mail
|
||||
as it passes through the proxy then specify your pre-processor program with the
|
||||
"--filter" switch. You can optionally change the listening port number using
|
||||
"--port" and the spool directory using "--spool-dir".
|
||||
|
||||
For example, to start up a local proxy which passes messages to some "addsig" script
|
||||
and then forwards them to an MTA running on "smarthost", use a command like this:
|
||||
For example, to start up a local proxy that passes messages to some "addsig"
|
||||
script and then forwards them to an MTA running on "smarthost", use a command
|
||||
like this:
|
||||
|
||||
emailrelay --as-proxy smarthost:smtp --filter $HOME/bin/addsig --spool-dir $HOME/tmp
|
||||
|
||||
To use E-MailRelay as a store-and-forward MTA use the "--as-server" switch
|
||||
to start the storage daemon in the background. And then trigger delivery of
|
||||
spooled messages by running emailrelay with the "--as-client" switch, followed
|
||||
spooled messages by running emailrelay with the "--as-client" switch followed
|
||||
by the address of the target SMTP server.
|
||||
|
||||
For example, to start a storage daemon listening on port 10025 use a command
|
||||
@ -78,6 +82,9 @@ And then to forward the spooled mail to "smarthost" run somthing like this:
|
||||
|
||||
emailrelay --as-client smarthost:smtp --spool-dir $HOME/tmp
|
||||
|
||||
You can also have an E-MailRelay storage daemon forward spooled e-mails
|
||||
periodically by using the "--poll" switch.
|
||||
|
||||
By default E-MailRelay will reject connections from remote machines. To
|
||||
allow connections from anywhere use the "--remote-clients" switch.
|
||||
|
||||
@ -109,7 +116,7 @@ script in the parent directory, using a "S" prefix for the starting link, and a
|
||||
the order in which the links are called.
|
||||
|
||||
So the goal is to set up symbolic links to the "emailrelay" start/stop script
|
||||
(not the binary) which "make install" will have put in "/etc/init.d" or
|
||||
(not the binary) which "make install" should have put in "/etc/init.d" or
|
||||
"/usr/local/libexec".
|
||||
|
||||
Before you start you will need to know where your "init.d" directory can be
|
||||
@ -125,7 +132,7 @@ there):
|
||||
$ cp /usr/local/libexec/emailrelay /etc/init.d
|
||||
|
||||
Then determine an appropriate numeric value for the link names by looking at
|
||||
the "sendmail" links:
|
||||
similar server programs like "sendmail":
|
||||
|
||||
$ cd /etc/init.d/rc5.d
|
||||
$ ls *sendmail*
|
||||
@ -137,8 +144,8 @@ the "emailrelay" links in the same format:
|
||||
$ ln -s ../emailrelay S10emailrelay
|
||||
$ ln -s ../emailrelay K10emailrelay
|
||||
|
||||
And finally remove sendmail from the run-level (otherwise both
|
||||
daemons compete for the standard SMTP listening port):
|
||||
And finally remove any incomatible SMTP servers from the run-level that might
|
||||
otherwise compete for the same SMTP listening port:
|
||||
|
||||
$ cd /etc/init.d/rc5.d
|
||||
$ rm *sendmail
|
||||
@ -146,12 +153,12 @@ daemons compete for the standard SMTP listening port):
|
||||
Triggering onward delivery
|
||||
--------------------------
|
||||
If you are using E-MailRelay to store and forward e-mail over a dial-up link to
|
||||
the internet, then you will need to set things up so that the dialler tells
|
||||
the Internet, then you will need to set things up so that the dialler tells
|
||||
E-MailRelay when to start forwarding.
|
||||
|
||||
This section assumes that you are using "pppd" to establish your dial-up
|
||||
Internet connection. (Note that KDE's "kppp" and Red Hat's "rp3" are graphical
|
||||
front-ends to the underlying "pppd" daemon.)
|
||||
Internet connection. (KDE's "kppp" and Red Hat's "rp3" are graphical
|
||||
front-ends to an underlying "pppd" daemon.)
|
||||
|
||||
The ppp daemon calls the script "/etc/ppp/ip-up" when it has successfully
|
||||
established a dial-up link to your ISP. This script will probably set up IP
|
||||
@ -208,8 +215,8 @@ too many times already.
|
||||
Logging
|
||||
-------
|
||||
If the "--log" switch is used then E-MailRelay program issues warnings and error
|
||||
messages to the "syslog" system using the "LOG_MAIL" facility. Under Windows NT
|
||||
it writes to the "Application" event log.
|
||||
messages to the "syslog" system using the "LOG_MAIL" facility. Under Windows it
|
||||
writes to the "Application" event log.
|
||||
|
||||
The "syslog" system is configured through the "/etc/syslog.conf" file (try
|
||||
"man syslog.conf"), and in most cases you will find that "LOG_MAIL" warnings and
|
||||
@ -232,13 +239,12 @@ remote server and drive the SMTP protocol manually. Telnet can be told to
|
||||
connect to the remote SMTP port by putting the port number (25) on the command
|
||||
line after the remote hostname, for example: "telnet smtp.myisp.net 25".
|
||||
|
||||
Once connected you should get a startup banner from the server, which will
|
||||
probably tell you what server software you have connected to. From there you
|
||||
should type something like "EHLO myhost.mydomain". The response to the EHLO
|
||||
command should contain a list of SMTP extensions which the server software
|
||||
supports. If this includes the AUTH extension then the set of supported
|
||||
authentication mechanisms (such as LOGIN, CRAM-MD5 etc.) will be listed on the
|
||||
same line.
|
||||
Once connected you should get a startup banner from the server, which may tell
|
||||
you what server software you have connected to. From there you should type
|
||||
something like "EHLO myhost.mydomain". The response to the EHLO command should
|
||||
contain a list of SMTP extensions which the server software supports. If this
|
||||
includes the AUTH extension then the set of supported authentication mechanisms
|
||||
(such as LOGIN, CRAM-MD5 etc.) will be listed on the same line.
|
||||
|
||||
After the EHLO response you should type "MAIL FROM:<myhost.mydomain>", retaining
|
||||
the angle brackets but substituing your own address. If this is accepted then
|
||||
@ -253,8 +259,8 @@ to do things properly you should have at least a "To:" line, a "From:" line and
|
||||
a "Subject:" line in the header.
|
||||
|
||||
At the end of the message text type a "." on a line of its own. At that point the
|
||||
message should get dispatched, and end up in your in-box in the usual way
|
||||
(assuming you put your own address in the "RCPT TO" command).
|
||||
message should get dispatched, and eventually end up in your in-box in the usual
|
||||
way (assuming you put your own address in the "RCPT TO" command).
|
||||
|
||||
The following is an example SMTP dialogue, with ">>" and "<<" marks added to
|
||||
show what was typed and what was received:
|
||||
@ -331,9 +337,9 @@ not authenticated. Again, refer to the reference guide for further details.
|
||||
SpamAssassin
|
||||
------------
|
||||
The E-MailRelay server can use *Spam Assassin* [http://spamassassin.org] to mark
|
||||
potential spam by having a small shell script which calls "spamassassin"
|
||||
installed as the E-MailRelay mail pre-processor using the "--filter" command-line
|
||||
switch.
|
||||
potential spam. To do this you will need to have a small shell script to call
|
||||
"spamassassin", and pass the name of this script to E-MailRelay using the
|
||||
"--filter" command-line switch.
|
||||
|
||||
Your "--filter" shell script could look something like this:
|
||||
|
||||
@ -364,13 +370,18 @@ to the exit code:
|
||||
exit 0
|
||||
|
||||
On Windows there is less of a problem with carriage returns, but because
|
||||
"spamassassin" is a perl script it takes a bit of work to call it correctly.
|
||||
"spamassassin" is a perl script it takes a bit of work to call it correctly: on
|
||||
Windows only ".exe" and ".bat" files can be executed directly by the operating
|
||||
system. One solution is to have E-MailRelay run some JavaScript using
|
||||
"cscript.exe", and the JavaScript can then run perl/spamassassin and pass the
|
||||
results back to E-MailRelay.
|
||||
|
||||
An example JavaScript wrapper called "emailrelay-runperl.js" is included in
|
||||
the distribution that by default calls "spamassassin".
|
||||
|
||||
Try an E-MailRelay command line like this:
|
||||
|
||||
emailrelay --as-server --filter "cscript //nologo c:/program\ files/emailrelay/emailrelay-runperl.js"
|
||||
emailrelay --as-server --filter "c:/winnt/system32/cscript.exe //nologo c:/program\ files/emailrelay/emailrelay-runperl.js"
|
||||
|
||||
But note that you may have to add explicit paths if perl or spamassassin are not
|
||||
on your path.
|
||||
@ -378,4 +389,4 @@ on your path.
|
||||
|
||||
|
||||
|
||||
Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved.
|
||||
Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved.
|
||||
|
@ -6,21 +6,21 @@ Introduction
|
||||
E-MailRelay was originally developed on Linux and so most of the documentation
|
||||
relates to Unix-like operating systems rather than Microsoft Windows. This
|
||||
document provides some help on installing and setting up E-MailRelay as a
|
||||
store-and-forward MTA on Windows.
|
||||
store-and-forward MTA on Windows 98.
|
||||
|
||||
Quick start
|
||||
------------
|
||||
In summary, the Windows installation process is as follows:
|
||||
* Unpack the zip file to "Program Files\emailrelay".
|
||||
* Create a shortcut to the E-MailRelay executable in "Start->Programs->StartUp".
|
||||
* Add "storage-daemon" configuration options (if any) to the "StartUp" shortcut's command line.
|
||||
* Create a shortcut to the executable on the taskbar and/or desktop.
|
||||
* Add "forwarding-client" configuration options to the taskbar/desktop shortcut's command line. These configuration options will normally include something like "--as-client smtp.myisp.com:smtp".
|
||||
* Create a spool directory under "<windir>\spool", eg. "c:\win98\spool\emailrelay".
|
||||
* Create a shortcut to the E-MailRelay executable in "Start->Programs->StartUp".
|
||||
* Add "storage-daemon" configuration options such as "--as-server" to the "StartUp" shortcut's command line.
|
||||
* Create a shortcut to the executable on the taskbar and/or desktop.
|
||||
* Add "forwarding-client" configuration options such as "--as-client smtp.myisp.com:smtp" to the taskbar/desktop shortcut's command line.
|
||||
* Configure your e-mail client (eg. Outlook) to use SMTP on the local machine for outgoing e-mail.
|
||||
* Run the forwarding client from the taskbar/desktop shortcut once connected to the Internet.
|
||||
|
||||
These steps are explained in more detail below.
|
||||
These steps are described in more detail below.
|
||||
|
||||
On versions of Windows that support services you could also try using Microsoft's
|
||||
"srvany.exe" utility to run emailrelay as a service; you will need to add the
|
||||
@ -102,4 +102,4 @@ taskbar, desktop or "Start->Programs->StartUp" shortcuts.
|
||||
|
||||
|
||||
|
||||
Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved.
|
||||
Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>. All rights reserved.
|
||||
|
@ -1,14 +1,12 @@
|
||||
Summary: Simple e-mail message transfer agent using SMTP
|
||||
Name: emailrelay
|
||||
Version: 1.2
|
||||
Version: 1.3
|
||||
Release: 1
|
||||
Copyright: GPL
|
||||
Group: System Environment/Daemons
|
||||
Source: http://emailrelay.sourceforge.net/.../emailrelay-src-1.2.tar.gz
|
||||
Source: http://emailrelay.sourceforge.net/.../emailrelay-src-1.3.tar.gz
|
||||
BuildRoot: /tmp/emailrelay-install
|
||||
|
||||
%define prefix /usr
|
||||
|
||||
%description
|
||||
E-MailRelay is a simple SMTP proxy and store-and-forward message transfer agent
|
||||
(MTA). When running as a proxy all e-mail messages can be passed through a
|
||||
@ -17,7 +15,7 @@ messages as they pass through. When running as a store-and-forward MTA incoming
|
||||
messages are stored in a local spool directory, and then forwarded to the next
|
||||
SMTP server on request.
|
||||
|
||||
Because of its functional simplicity E-MailRelay is easy to configure, typically
|
||||
Because of its functional simplicity E-MailRelay is easy to configure, typically
|
||||
only requiring the address of the target SMTP server to be put on the command
|
||||
line.
|
||||
|
||||
@ -28,11 +26,11 @@ Distribution is under the GNU General Public License.
|
||||
%setup
|
||||
|
||||
%build
|
||||
./configure --enable-fhs
|
||||
make HAVE_DOXYGEN=no HAVE_MAN2HTML=no
|
||||
./configure --enable-fhs --without-man2html --without-doxygen
|
||||
make
|
||||
|
||||
%install
|
||||
make install-strip destdir=$RPM_BUILD_ROOT DESTDIR=$RPM_BUILD_ROOT HAVE_DOXYGEN=no HAVE_MAN2HTML=no
|
||||
make install-strip destdir=$RPM_BUILD_ROOT DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
test -f /usr/lib/lsb/install_initd && cd /etc/init.d && /usr/lib/lsb/install_initd emailrelay || true
|
||||
@ -41,38 +39,41 @@ test -f /usr/lib/lsb/install_initd && cd /etc/init.d && /usr/lib/lsb/install_ini
|
||||
test $1 -eq 0 && test -f /usr/lib/lsb/remove_initd && cd /etc/init.d && /usr/lib/lsb/remove_initd emailrelay || true
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
test "$RPM_BUILD_ROOT" = "/" || rm -rf "$RPM_BUILD_ROOT"
|
||||
|
||||
%files
|
||||
|
||||
%config /etc/emailrelay.conf
|
||||
/etc/init.d/emailrelay
|
||||
%{prefix}/lib/emailrelay/emailrelay-poke
|
||||
%{prefix}/sbin/emailrelay
|
||||
%{prefix}/sbin/emailrelay-passwd
|
||||
%{prefix}/sbin/emailrelay-submit
|
||||
%{prefix}/share/doc/emailrelay/NEWS
|
||||
%{prefix}/share/doc/emailrelay/README
|
||||
%{prefix}/share/doc/emailrelay/changelog.gz
|
||||
%{prefix}/share/doc/emailrelay/changelog.html
|
||||
%{prefix}/share/doc/emailrelay/developer.html
|
||||
%{prefix}/share/doc/emailrelay/developer.txt
|
||||
%{prefix}/share/doc/emailrelay/emailrelay.css
|
||||
%{prefix}/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
||||
%{prefix}/share/doc/emailrelay/examples/emailrelay-notify.sh
|
||||
%{prefix}/share/doc/emailrelay/examples/emailrelay-process.sh
|
||||
%{prefix}/share/doc/emailrelay/examples/emailrelay-resubmit.sh
|
||||
%{prefix}/share/doc/emailrelay/index.html
|
||||
%{prefix}/share/doc/emailrelay/readme.html
|
||||
%{prefix}/share/doc/emailrelay/reference.html
|
||||
%{prefix}/share/doc/emailrelay/reference.txt
|
||||
%{prefix}/share/doc/emailrelay/userguide.html
|
||||
%{prefix}/share/doc/emailrelay/userguide.txt
|
||||
%{prefix}/share/doc/emailrelay/windows.html
|
||||
%{prefix}/share/doc/emailrelay/windows.txt
|
||||
%{prefix}/share/man/man1/emailrelay-passwd.1.gz
|
||||
%{prefix}/share/man/man1/emailrelay-poke.1.gz
|
||||
%{prefix}/share/man/man1/emailrelay-submit.1.gz
|
||||
%{prefix}/share/man/man1/emailrelay.1.gz
|
||||
/usr/lib/emailrelay/emailrelay-poke
|
||||
/usr/sbin/emailrelay
|
||||
/usr/sbin/emailrelay-passwd
|
||||
/usr/sbin/emailrelay-submit
|
||||
/usr/share/doc/emailrelay/changelog.gz
|
||||
/usr/share/doc/emailrelay/changelog.html
|
||||
/usr/share/doc/emailrelay/developer.html
|
||||
/usr/share/doc/emailrelay/developer.txt
|
||||
/usr/share/doc/emailrelay/emailrelay.css
|
||||
/usr/share/doc/emailrelay/emailrelay-man.html
|
||||
/usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
||||
/usr/share/doc/emailrelay/examples/emailrelay-notify.sh
|
||||
/usr/share/doc/emailrelay/examples/emailrelay-process.sh
|
||||
/usr/share/doc/emailrelay/examples/emailrelay-resubmit.sh
|
||||
/usr/share/doc/emailrelay/index.html
|
||||
/usr/share/doc/emailrelay/NEWS
|
||||
/usr/share/doc/emailrelay/*.png
|
||||
/usr/share/doc/emailrelay/README
|
||||
/usr/share/doc/emailrelay/readme.html
|
||||
/usr/share/doc/emailrelay/reference.html
|
||||
/usr/share/doc/emailrelay/reference.txt
|
||||
/usr/share/doc/emailrelay/userguide.html
|
||||
/usr/share/doc/emailrelay/userguide.txt
|
||||
/usr/share/doc/emailrelay/windows.html
|
||||
/usr/share/doc/emailrelay/windows.txt
|
||||
/usr/share/man/man1/emailrelay.1.gz
|
||||
/usr/share/man/man1/emailrelay-passwd.1.gz
|
||||
/usr/share/man/man1/emailrelay-poke.1.gz
|
||||
/usr/share/man/man1/emailrelay-submit.1.gz
|
||||
/var/spool/emailrelay/
|
||||
|
||||
%changelog
|
||||
|
21
etc/Makefile.am
Normal file
21
etc/Makefile.am
Normal file
@ -0,0 +1,21 @@
|
||||
#
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
##
|
||||
#
|
||||
EXTRA_DIST = emailrelay.conf
|
||||
e_sysconf_DATA = emailrelay.conf
|
292
etc/Makefile.in
Normal file
292
etc/Makefile.in
Normal file
@ -0,0 +1,292 @@
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
# 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.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
top_builddir = ..
|
||||
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
INSTALL = @INSTALL@
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMDEP_FALSE = @AMDEP_FALSE@
|
||||
AMDEP_TRUE = @AMDEP_TRUE@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILER_VERSION = @COMPILER_VERSION@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
GZIP = @GZIP@
|
||||
HAVE_DOXYGEN = @HAVE_DOXYGEN@
|
||||
HAVE_MAN2HTML = @HAVE_MAN2HTML@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKE = @MAKE@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
|
||||
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
bindir = @bindir@
|
||||
build_alias = @build_alias@
|
||||
datadir = @datadir@
|
||||
e_docdir = @e_docdir@
|
||||
e_examplesdir = @e_examplesdir@
|
||||
e_initdir = @e_initdir@
|
||||
e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
oldincludedir = @oldincludedir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
#
|
||||
#
|
||||
EXTRA_DIST = emailrelay.conf
|
||||
e_sysconf_DATA = emailrelay.conf
|
||||
subdir = etc
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
DIST_SOURCES =
|
||||
DATA = $(e_sysconf_DATA)
|
||||
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu etc/Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
|
||||
uninstall-info-am:
|
||||
e_sysconfDATA_INSTALL = $(INSTALL_DATA)
|
||||
install-e_sysconfDATA: $(e_sysconf_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
$(mkinstalldirs) $(DESTDIR)$(e_sysconfdir)
|
||||
@list='$(e_sysconf_DATA)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " $(e_sysconfDATA_INSTALL) $$d$$p $(DESTDIR)$(e_sysconfdir)/$$f"; \
|
||||
$(e_sysconfDATA_INSTALL) $$d$$p $(DESTDIR)$(e_sysconfdir)/$$f; \
|
||||
done
|
||||
|
||||
uninstall-e_sysconfDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(e_sysconf_DATA)'; for p in $$list; do \
|
||||
f="`echo $$p | sed -e 's|^.*/||'`"; \
|
||||
echo " rm -f $(DESTDIR)$(e_sysconfdir)/$$f"; \
|
||||
rm -f $(DESTDIR)$(e_sysconfdir)/$$f; \
|
||||
done
|
||||
tags: TAGS
|
||||
TAGS:
|
||||
|
||||
ctags: CTAGS
|
||||
CTAGS:
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
top_distdir = ..
|
||||
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
|
||||
list='$(DISTFILES)'; for file in $$list; do \
|
||||
case $$file in \
|
||||
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
|
||||
esac; \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
|
||||
dir="/$$dir"; \
|
||||
$(mkinstalldirs) "$(distdir)$$dir"; \
|
||||
else \
|
||||
dir=''; \
|
||||
fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(DATA)
|
||||
|
||||
installdirs:
|
||||
$(mkinstalldirs) $(DESTDIR)$(e_sysconfdir)
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-e_sysconfDATA
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-e_sysconfDATA uninstall-info-am
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic distclean \
|
||||
distclean-generic distdir dvi dvi-am info info-am install \
|
||||
install-am install-data install-data-am install-e_sysconfDATA \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
|
||||
uninstall-am uninstall-e_sysconfDATA uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
136
etc/emailrelay.conf
Normal file
136
etc/emailrelay.conf
Normal file
@ -0,0 +1,136 @@
|
||||
#
|
||||
# emailrelay.conf
|
||||
#
|
||||
# This is a configuration file for emailrelay (http://emailrelay.sf.net).
|
||||
# It is used by the emailrelay init.d script when it starts up an emailrelay
|
||||
# server.
|
||||
#
|
||||
# The init.d script constructs an emailrelay command-line by starting
|
||||
# with "--as-server --pid-file ..." and then contatenating uncommented lines
|
||||
# from this file, prefixing each with "--".
|
||||
#
|
||||
# To enable one of the configuration switches below remove the '#' character
|
||||
# on the last line in the block.
|
||||
#
|
||||
|
||||
# Name: remote-clients
|
||||
# Format: remote-clients
|
||||
# Description: Allows remote clients to connect.
|
||||
#
|
||||
#remote-clients
|
||||
|
||||
# Name: spool-dir
|
||||
# Format: spool-dir <dir>
|
||||
# Description: Specifies the spool directory. The default is compiled into the
|
||||
# program, but it is typically /var/spool/emailrelay.
|
||||
#
|
||||
#spool-dir /var/spool/emailrelay
|
||||
|
||||
# Name: interface
|
||||
# Format: interface <ip-address>
|
||||
# Description: Specifies an interface to listen on.
|
||||
#
|
||||
#interface 192.168.0.10
|
||||
|
||||
# Name: filter
|
||||
# Format: filter <program>
|
||||
# Description: Defines a mail processor program which is run as each message is stored.
|
||||
#
|
||||
#filter /usr/local/bin/emailrelay-filter
|
||||
|
||||
# Name: server-auth
|
||||
# Format: server-auth <file>
|
||||
# Description: Enables authentication of remote clients, using the given secrets file.
|
||||
#
|
||||
#server-auth /etc/emailrelay.auth
|
||||
|
||||
# Name: admin
|
||||
# Format: admin <admin-port>
|
||||
# Description: Enables the administration interface and specifies its listening port number.
|
||||
#
|
||||
#admin 10026
|
||||
|
||||
# Name: client-auth
|
||||
# Format: client-auth <file>
|
||||
# Description: Enables authentication with the remote server, using the given secrets file.
|
||||
#
|
||||
#client-auth /etc/emailrelay.auth
|
||||
|
||||
# Name: connection-timeout
|
||||
# Format: connection-timeout <time>
|
||||
# Description: Sets the timeout (in seconds) when connecting to a remote server. The default is 40.
|
||||
#
|
||||
#connection-timeout 10
|
||||
|
||||
# Name: domain
|
||||
# Format: domain <fqdn>
|
||||
# Description: Sets an override for this host's fully qualified domain name.
|
||||
#
|
||||
#domain myhost.mydomain.net
|
||||
|
||||
# Name: forward
|
||||
# Format: forward
|
||||
# Description: Forwards stored mail on startup. Requires --forward-to.
|
||||
#
|
||||
#forward
|
||||
|
||||
# Name: forward-to
|
||||
# Format: forward-to <host:port>
|
||||
# Description: Specifies the remote SMTP server when using --forward or --admin.
|
||||
#
|
||||
#forward-to smarthost.mydomain.net
|
||||
|
||||
# Name: immediate
|
||||
# Format: immediate
|
||||
# Description: Forwards each message as soon as it is received. Requires --forward-to.
|
||||
#
|
||||
#immediate
|
||||
|
||||
# Name: log-time
|
||||
# Format: log-time
|
||||
# Description: Adds a timestamp to the logging output.
|
||||
#
|
||||
#log-time
|
||||
|
||||
# Name: no-syslog
|
||||
# Format: no-syslog
|
||||
# Description: Disables syslog output.
|
||||
#
|
||||
#no-syslog
|
||||
|
||||
# Name: poll
|
||||
# Format: poll <period>
|
||||
# Description: Enables polling with the specified period. Requires --forward-to.
|
||||
#
|
||||
#poll 120
|
||||
|
||||
# Name: port
|
||||
# Format: port <port>
|
||||
# Description: Specifies the SMTP listening port number.
|
||||
#
|
||||
#port 587
|
||||
|
||||
# Name: response-timeout
|
||||
# Format: response-timeout <time>
|
||||
# Description: Sets the response timeout (in seconds) when talking to a remote server. The default is 1800.
|
||||
#
|
||||
#response-timeout 60
|
||||
|
||||
# Name: user
|
||||
# Format: user <username>
|
||||
# Description: Names the effective user to switch to when started as root (default is "daemon").
|
||||
#
|
||||
#user nobody
|
||||
|
||||
# Name: verbose
|
||||
# Format: verbose
|
||||
# Description: Generates more verbose logging output.
|
||||
#
|
||||
#verbose
|
||||
|
||||
# Name: verifier
|
||||
# Format: verifier <program>
|
||||
# Description: Defines an external address verifier program.
|
||||
#
|
||||
#verifier /usr/local/bin/emailrelay-verifier
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -140,7 +141,7 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive
|
||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
all: all-recursive
|
||||
|
||||
@ -345,7 +346,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -355,7 +356,7 @@ clean: clean-recursive
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
@ -377,7 +378,7 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -111,6 +111,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -135,7 +136,7 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
DIST_SOURCES =
|
||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -207,7 +208,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -217,7 +218,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@ -239,7 +240,7 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
@ -18,5 +18,5 @@
|
||||
##
|
||||
#
|
||||
|
||||
EXTRA_DIST = cstdio cstdlib cstring ctime cmath
|
||||
EXTRA_DIST = cstdio cstdlib cstring ctime cmath cstddef
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -111,6 +111,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -128,14 +129,14 @@ sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
|
||||
EXTRA_DIST = cstdio cstdlib cstring ctime cmath
|
||||
EXTRA_DIST = cstdio cstdlib cstring ctime cmath cstddef
|
||||
subdir = lib/msvc6.0
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
DIST_SOURCES =
|
||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -207,7 +208,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -217,7 +218,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@ -239,7 +240,7 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
35
lib/msvc6.0/cstddef
Normal file
35
lib/msvc6.0/cstddef
Normal file
@ -0,0 +1,35 @@
|
||||
//
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
// ===
|
||||
//
|
||||
// cstddef
|
||||
//
|
||||
|
||||
#ifndef G_PORT_CSTDDEF_H
|
||||
#define G_PORT_CSTDDEF_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
namespace std
|
||||
{
|
||||
using ::size_t ;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -25,6 +25,7 @@
|
||||
#define G_PORT_CSTDIO_H
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
namespace std
|
||||
{
|
||||
using ::remove ;
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -24,7 +24,8 @@
|
||||
#ifndef G_PORT_CSTDLIB_H
|
||||
#define G_PORT_CSTDLIB_H
|
||||
|
||||
#include "stdlib.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
namespace std
|
||||
{
|
||||
using ::rand ;
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -24,7 +24,8 @@
|
||||
#ifndef G_PORT_CSTRING_H
|
||||
#define G_PORT_CSTRING_H
|
||||
|
||||
#include "string.h"
|
||||
#include <string.h>
|
||||
|
||||
namespace std
|
||||
{
|
||||
using ::strlen ;
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -25,6 +25,7 @@
|
||||
#define G_PORT_CTIME_H
|
||||
|
||||
#include <time.h>
|
||||
|
||||
namespace std
|
||||
{
|
||||
using ::time_t ;
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -134,7 +135,7 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
DIST_SOURCES =
|
||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -206,7 +207,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -216,7 +217,7 @@ clean: clean-am
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
@ -238,7 +239,7 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
@ -1,5 +1,24 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
#
|
||||
# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# ===
|
||||
#
|
||||
# xar
|
||||
#
|
||||
# A replacement for 'ar' that does 'CC -xar' ignoring
|
||||
|
6
missing
6
missing
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@ -165,7 +165,7 @@ WARNING: \`$1' is missing on your system. You should only need it if
|
||||
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||
system. You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||
You can get \`$1Help2man' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
||||
@ -326,7 +326,7 @@ WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
WARNING: \`$1' is needed, and you do not seem to have it handy on your
|
||||
system. You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
it often tells you about the needed prerequirements for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
@ -17,5 +17,5 @@
|
||||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
##
|
||||
#
|
||||
SUBDIRS = glib gnet gsmtp main win32
|
||||
EXTRA_DIST = mingw.mak mingw-common.mak
|
||||
SUBDIRS = glib gnet gsmtp main win32
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -127,8 +128,8 @@ target_alias = @target_alias@
|
||||
|
||||
#
|
||||
#
|
||||
SUBDIRS = glib gnet gsmtp main win32
|
||||
EXTRA_DIST = mingw.mak mingw-common.mak
|
||||
SUBDIRS = glib gnet gsmtp main win32
|
||||
subdir = src
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
@ -141,7 +142,7 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
|
||||
all-recursive install-data-recursive install-exec-recursive \
|
||||
installdirs-recursive install-recursive uninstall-recursive \
|
||||
check-recursive installcheck-recursive
|
||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
all: all-recursive
|
||||
|
||||
@ -346,7 +347,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -356,7 +357,7 @@ clean: clean-recursive
|
||||
clean-am: clean-generic mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f Makefile
|
||||
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
@ -378,7 +379,7 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
## Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
## Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or
|
||||
## modify it under the terms of the GNU General Public License
|
||||
@ -31,12 +31,12 @@ EXTRA_DIST=\
|
||||
gfile_win32.cpp \
|
||||
gregistry_win32.cpp \
|
||||
gregistry.h \
|
||||
md5c.c \
|
||||
md5.h \
|
||||
mingw.mak
|
||||
INCLUDES = -I$(top_srcdir)/lib/$(COMPILER_VERSION)
|
||||
noinst_LIBRARIES = libglib.a
|
||||
libglib_a_SOURCES = \
|
||||
md5.cpp \
|
||||
md5.h \
|
||||
garg.cpp \
|
||||
garg.h \
|
||||
garg_unix.cpp \
|
||||
@ -74,7 +74,7 @@ libglib_a_SOURCES = \
|
||||
glogoutput.cpp \
|
||||
glogoutput.h \
|
||||
glogoutput_unix.cpp \
|
||||
gmd5_rsa.cpp \
|
||||
gmd5_native.cpp \
|
||||
gmd5.h \
|
||||
gmemory.h \
|
||||
gnoncopyable.h \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated by automake 1.7.8 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.7.6 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
||||
e_man1dir = @e_man1dir@
|
||||
e_sbindir = @e_sbindir@
|
||||
e_spooldir = @e_spooldir@
|
||||
e_sysconfdir = @e_sysconfdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host_alias = @host_alias@
|
||||
includedir = @includedir@
|
||||
@ -141,13 +142,13 @@ EXTRA_DIST = \
|
||||
gfile_win32.cpp \
|
||||
gregistry_win32.cpp \
|
||||
gregistry.h \
|
||||
md5c.c \
|
||||
md5.h \
|
||||
mingw.mak
|
||||
|
||||
INCLUDES = -I$(top_srcdir)/lib/$(COMPILER_VERSION)
|
||||
noinst_LIBRARIES = libglib.a
|
||||
libglib_a_SOURCES = \
|
||||
md5.cpp \
|
||||
md5.h \
|
||||
garg.cpp \
|
||||
garg.h \
|
||||
garg_unix.cpp \
|
||||
@ -185,7 +186,7 @@ libglib_a_SOURCES = \
|
||||
glogoutput.cpp \
|
||||
glogoutput.h \
|
||||
glogoutput_unix.cpp \
|
||||
gmd5_rsa.cpp \
|
||||
gmd5_native.cpp \
|
||||
gmd5.h \
|
||||
gmemory.h \
|
||||
gnoncopyable.h \
|
||||
@ -216,14 +217,14 @@ LIBRARIES = $(noinst_LIBRARIES)
|
||||
|
||||
libglib_a_AR = $(AR) cru
|
||||
libglib_a_LIBADD =
|
||||
am_libglib_a_OBJECTS = garg.$(OBJEXT) garg_unix.$(OBJEXT) \
|
||||
am_libglib_a_OBJECTS = md5.$(OBJEXT) garg.$(OBJEXT) garg_unix.$(OBJEXT) \
|
||||
gcleanup_unix.$(OBJEXT) gdaemon_unix.$(OBJEXT) gdate.$(OBJEXT) \
|
||||
gdatetime.$(OBJEXT) gdatetime_unix.$(OBJEXT) \
|
||||
gdirectory.$(OBJEXT) gdirectory_unix.$(OBJEXT) \
|
||||
gexception.$(OBJEXT) gexe.$(OBJEXT) gfile.$(OBJEXT) \
|
||||
gfile_unix.$(OBJEXT) gfs_unix.$(OBJEXT) ggetopt.$(OBJEXT) \
|
||||
gidentity_unix.$(OBJEXT) glog.$(OBJEXT) glogoutput.$(OBJEXT) \
|
||||
glogoutput_unix.$(OBJEXT) gmd5_rsa.$(OBJEXT) gpath.$(OBJEXT) \
|
||||
glogoutput_unix.$(OBJEXT) gmd5_native.$(OBJEXT) gpath.$(OBJEXT) \
|
||||
gpidfile.$(OBJEXT) gprocess_unix.$(OBJEXT) groot.$(OBJEXT) \
|
||||
gslot.$(OBJEXT) gstr.$(OBJEXT) gtime.$(OBJEXT)
|
||||
libglib_a_OBJECTS = $(am_libglib_a_OBJECTS)
|
||||
@ -244,11 +245,11 @@ am__depfiles_maybe = depfiles
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gidentity_unix.Po ./$(DEPDIR)/glog.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/glogoutput.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/glogoutput_unix.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gmd5_rsa.Po ./$(DEPDIR)/gpath.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gmd5_native.Po ./$(DEPDIR)/gpath.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gpidfile.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gprocess_unix.Po ./$(DEPDIR)/groot.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gslot.Po ./$(DEPDIR)/gstr.Po \
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gtime.Po
|
||||
@AMDEP_TRUE@ ./$(DEPDIR)/gtime.Po ./$(DEPDIR)/md5.Po
|
||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
CXXLD = $(CXX)
|
||||
@ -259,7 +260,7 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_SOURCES = $(libglib_a_SOURCES)
|
||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
||||
DIST_COMMON = Makefile.am Makefile.in
|
||||
SOURCES = $(libglib_a_SOURCES)
|
||||
|
||||
all: all-am
|
||||
@ -304,7 +305,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glog.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glogoutput.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glogoutput_unix.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmd5_rsa.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmd5_native.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpath.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpidfile.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gprocess_unix.Po@am__quote@
|
||||
@ -312,6 +313,10 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gslot.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gtime.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
|
||||
|
||||
distclean-depend:
|
||||
-rm -rf ./$(DEPDIR)
|
||||
|
||||
.cpp.o:
|
||||
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||
@ -445,7 +450,7 @@ mostlyclean-generic:
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-rm -f $(CONFIG_CLEAN_FILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@ -455,10 +460,9 @@ clean: clean-am
|
||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
distclean-am: clean-am distclean-compile distclean-depend \
|
||||
distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
@ -479,8 +483,7 @@ install-man:
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
@ -499,13 +502,14 @@ uninstall-am: uninstall-info-am
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||
clean-noinstLIBRARIES ctags distclean distclean-compile \
|
||||
distclean-generic distclean-tags distdir dvi dvi-am info \
|
||||
info-am install install-am install-data install-data-am \
|
||||
install-exec install-exec-am install-info install-info-am \
|
||||
install-man install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
|
||||
ps ps-am tags uninstall uninstall-am uninstall-info-am
|
||||
distclean-depend distclean-generic distclean-tags distdir dvi \
|
||||
dvi-am info info-am install install-am install-data \
|
||||
install-data-am install-exec install-exec-am install-info \
|
||||
install-info-am install-man install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
|
||||
uninstall-am uninstall-info-am
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -107,7 +107,7 @@ public:
|
||||
|
||||
void removeAt( size_t sw_index , size_t sw_args = 0U ) ;
|
||||
// Removes the given argument and the
|
||||
// following <sw_args> ones.
|
||||
// following 'sw_args' ones.
|
||||
|
||||
Arg & operator=( const Arg & ) ;
|
||||
// Assignment operator.
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -26,6 +26,7 @@
|
||||
#include "gdebug.h"
|
||||
#include <ctime>
|
||||
#include <iomanip>
|
||||
#include <sstream>
|
||||
|
||||
//static
|
||||
int G::Date::yearUpperLimit()
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -37,7 +37,7 @@ namespace G
|
||||
|
||||
// Class: G::Date
|
||||
// Description: A date (dd/mm/yyyy) class.
|
||||
// See also: Time, DateTime
|
||||
// See also: G::Time, G::DateTime
|
||||
//
|
||||
class G::Date
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -145,6 +145,10 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Pull some std types into the global namespace
|
||||
//
|
||||
using std::size_t ;
|
||||
|
||||
// Modify compiler error handling
|
||||
//
|
||||
#if defined(G_COMPILER_IS_MICROSOFT)
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -41,7 +41,7 @@ namespace G
|
||||
// Description: An encapsulation of a file system directory
|
||||
// which allows for iterating through the set of contained
|
||||
// files.
|
||||
// See also: Path, FileSystem, File
|
||||
// See also: G::Path, G::FileSystem, G::File
|
||||
//
|
||||
class G::Directory
|
||||
{
|
||||
@ -119,7 +119,7 @@ public:
|
||||
|
||||
std::string sizeString() const ;
|
||||
// Returns the file size as a decimal string. The value
|
||||
// may be more than 32 bits. See also class Number.
|
||||
// may be more than 32 bits. See also class G::Number.
|
||||
|
||||
Path filePath() const ;
|
||||
// Returns the path of the current item.
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
@ -37,7 +37,7 @@ namespace G
|
||||
|
||||
// Class: G::File
|
||||
// Description: A simple static class for dealing with files.
|
||||
// See also: Path, FileSystem, Directory
|
||||
// See also: G::Path, G::FileSystem, G::Directory
|
||||
//
|
||||
class G::File
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
@ -1,5 +1,5 @@
|
||||
//
|
||||
// Copyright (C) 2001-2003 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
// Copyright (C) 2001-2004 Graeme Walker <graeme_walker@users.sourceforge.net>
|
||||
//
|
||||
// This program is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU General Public License
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user