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>
|
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
|
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
|
1.1.2 -> 1.2
|
||||||
------------
|
------------
|
||||||
* The "--filter" and "--verifier" arguments interpreted as command-lines; spaces in executable paths now need escaping.
|
* 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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## modify it under the terms of the GNU General Public License
|
||||||
@ -18,7 +18,7 @@
|
|||||||
##
|
##
|
||||||
#
|
#
|
||||||
EXTRA_DIST = emailrelay.spec ChangeLog
|
EXTRA_DIST = emailrelay.spec ChangeLog
|
||||||
SUBDIRS = src bin lib doc
|
SUBDIRS = src bin lib doc etc
|
||||||
e_doc_DATA = NEWS README changelog.gz
|
e_doc_DATA = NEWS README changelog.gz
|
||||||
CLEANFILES = changelog.gz
|
CLEANFILES = changelog.gz
|
||||||
changelog.gz: ChangeLog
|
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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -128,7 +129,7 @@ target_alias = @target_alias@
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
EXTRA_DIST = emailrelay.spec ChangeLog
|
EXTRA_DIST = emailrelay.spec ChangeLog
|
||||||
SUBDIRS = src bin lib doc
|
SUBDIRS = src bin lib doc etc
|
||||||
e_doc_DATA = NEWS README changelog.gz
|
e_doc_DATA = NEWS README changelog.gz
|
||||||
CLEANFILES = changelog.gz
|
CLEANFILES = changelog.gz
|
||||||
subdir = .
|
subdir = .
|
||||||
@ -145,10 +146,9 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
|
|||||||
all-recursive install-data-recursive install-exec-recursive \
|
all-recursive install-data-recursive install-exec-recursive \
|
||||||
installdirs-recursive install-recursive uninstall-recursive \
|
installdirs-recursive install-recursive uninstall-recursive \
|
||||||
check-recursive installcheck-recursive
|
check-recursive installcheck-recursive
|
||||||
DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \
|
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
|
||||||
COPYING ChangeLog INSTALL Makefile.am NEWS acinclude.m4 \
|
Makefile.in NEWS acinclude.m4 aclocal.m4 config.h.in configure \
|
||||||
aclocal.m4 config.h.in configure configure.ac depcomp \
|
configure.ac depcomp install-sh missing mkinstalldirs
|
||||||
install-sh missing mkinstalldirs
|
|
||||||
DIST_SUBDIRS = $(SUBDIRS)
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
all: config.h
|
all: config.h
|
||||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
@ -482,7 +482,7 @@ clean-generic:
|
|||||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -493,7 +493,6 @@ clean-am: clean-generic mostlyclean-am
|
|||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
|
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
|
||||||
|
|
||||||
dvi: dvi-recursive
|
dvi: dvi-recursive
|
||||||
@ -517,7 +516,6 @@ installcheck-am:
|
|||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
-rm -rf $(top_srcdir)/autom4te.cache
|
-rm -rf $(top_srcdir)/autom4te.cache
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-recursive
|
mostlyclean: mostlyclean-recursive
|
||||||
|
31
README
31
README
@ -19,20 +19,21 @@ Distribution is under the GNU General Public License.
|
|||||||
|
|
||||||
Quick start
|
Quick start
|
||||||
-----------
|
-----------
|
||||||
To run the program as a proxy use the "--as-proxy" command-line switch, followed by the
|
To run the program as a proxy use the "--as-proxy" command-line switch followed
|
||||||
address of the target SMTP server. If you want to edit or filter e-mail as it passes
|
by the address of the target SMTP server. If you want to edit or filter e-mail
|
||||||
through the proxy then specify your pre-processor program with the "--filter" switch.
|
as it passes through the proxy then specify your pre-processor program with the
|
||||||
You can optionally change the listening port number using "--port" and the
|
"--filter" switch. You can optionally change the listening port number using
|
||||||
spool directory using "--spool-dir".
|
"--port" and the spool directory using "--spool-dir".
|
||||||
|
|
||||||
For example, to start up a local proxy which passes messages to some "addsig" script
|
For example, to start up a local proxy that passes messages to some "addsig"
|
||||||
and then forwards them to an MTA running on "smarthost", use a command like this:
|
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
|
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 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
|
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.
|
by the address of the target SMTP server.
|
||||||
|
|
||||||
For example, to start a storage daemon listening on port 10025 use a command
|
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
|
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
|
By default E-MailRelay will reject connections from remote machines. To
|
||||||
allow connections from anywhere use the "--remote-clients" switch.
|
allow connections from anywhere use the "--remote-clients" switch.
|
||||||
|
|
||||||
@ -57,7 +61,7 @@ Documentation
|
|||||||
The following documentation is provided:
|
The following documentation is provided:
|
||||||
* README -- this document
|
* README -- this document
|
||||||
* COPYING -- the GNU General Public License
|
* 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
|
* AUTHORS -- authors, credits and additional copyrights
|
||||||
* copyright -- main copyright and GPL reference
|
* copyright -- main copyright and GPL reference
|
||||||
* userguide.txt -- user guide
|
* userguide.txt -- user guide
|
||||||
@ -73,16 +77,15 @@ The code was originally developed on SuSE Linux 7.1 using:
|
|||||||
* linux 2.4.10
|
* linux 2.4.10
|
||||||
* gcc 2.95.3
|
* gcc 2.95.3
|
||||||
* glibc 2.2.4 (libc.so.6)
|
* glibc 2.2.4 (libc.so.6)
|
||||||
* gnu make 3.79.1
|
|
||||||
* autoconf 2.52
|
* autoconf 2.52
|
||||||
|
|
||||||
and ported to Windows 98 using:
|
and ported to Windows 98 using:
|
||||||
* MSVC 6.0
|
* MSVC 6.0
|
||||||
|
|
||||||
Recent releases were developed on SuSE Linux 8.0 and
|
Recent releases were developed on SuSE Linux 9.0 using:
|
||||||
RedHat Linux 8.0 using:
|
* linux 2.4.22
|
||||||
* gcc 2.95.3 and gcc 3.2
|
* gcc 3.3.1
|
||||||
* autoconf 2.53
|
* autoconf 2.57
|
||||||
|
|
||||||
The code has also been built successfully on:
|
The code has also been built successfully on:
|
||||||
* MacOS X
|
* 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
|
||||||
dnl This program is free software; you can redistribute it and/or
|
dnl This program is free software; you can redistribute it and/or
|
||||||
dnl modify it under the terms of the GNU General Public License
|
dnl modify it under the terms of the GNU General Public License
|
||||||
@ -139,6 +139,19 @@ then
|
|||||||
fi
|
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 with-workshop
|
||||||
dnl
|
dnl
|
||||||
AC_DEFUN([WITH_WORKSHOP],
|
AC_DEFUN([WITH_WORKSHOP],
|
||||||
@ -151,6 +164,38 @@ then
|
|||||||
fi
|
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 enable-fhs
|
||||||
dnl
|
dnl
|
||||||
AC_DEFUN([ENABLE_FHS],
|
AC_DEFUN([ENABLE_FHS],
|
||||||
@ -175,10 +220,10 @@ AC_DEFUN([FHS_COMPLIANCE],
|
|||||||
localstatedir='/var'
|
localstatedir='/var'
|
||||||
mandir='/usr/man'
|
mandir='/usr/man'
|
||||||
datadir='/usr/share'
|
datadir='/usr/share'
|
||||||
|
sysconfdir='/etc'
|
||||||
#
|
#
|
||||||
# not used by emailrelay
|
# not used by emailrelay
|
||||||
#bindir=
|
#bindir=
|
||||||
#sysconfdir=
|
|
||||||
#sharedstatedir=
|
#sharedstatedir=
|
||||||
#libdir=
|
#libdir=
|
||||||
#includedir=
|
#includedir=
|
||||||
@ -193,5 +238,6 @@ AC_DEFUN([FHS_COMPLIANCE],
|
|||||||
e_spooldir="$localstatedir/spool/$PACKAGE"
|
e_spooldir="$localstatedir/spool/$PACKAGE"
|
||||||
e_man1dir="$datadir/man/man1"
|
e_man1dir="$datadir/man/man1"
|
||||||
e_examplesdir="$datadir/doc/$PACKAGE/examples"
|
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
|
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
@ -11,7 +11,7 @@
|
|||||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
# PARTICULAR PURPOSE.
|
# 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
|
||||||
dnl This program is free software; you can redistribute it and/or
|
dnl This program is free software; you can redistribute it and/or
|
||||||
dnl modify it under the terms of the GNU General Public License
|
dnl modify it under the terms of the GNU General Public License
|
||||||
@ -152,6 +152,19 @@ then
|
|||||||
fi
|
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 with-workshop
|
||||||
dnl
|
dnl
|
||||||
AC_DEFUN([WITH_WORKSHOP],
|
AC_DEFUN([WITH_WORKSHOP],
|
||||||
@ -164,6 +177,38 @@ then
|
|||||||
fi
|
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 enable-fhs
|
||||||
dnl
|
dnl
|
||||||
AC_DEFUN([ENABLE_FHS],
|
AC_DEFUN([ENABLE_FHS],
|
||||||
@ -188,10 +233,10 @@ AC_DEFUN([FHS_COMPLIANCE],
|
|||||||
localstatedir='/var'
|
localstatedir='/var'
|
||||||
mandir='/usr/man'
|
mandir='/usr/man'
|
||||||
datadir='/usr/share'
|
datadir='/usr/share'
|
||||||
|
sysconfdir='/etc'
|
||||||
#
|
#
|
||||||
# not used by emailrelay
|
# not used by emailrelay
|
||||||
#bindir=
|
#bindir=
|
||||||
#sysconfdir=
|
|
||||||
#sharedstatedir=
|
#sharedstatedir=
|
||||||
#libdir=
|
#libdir=
|
||||||
#includedir=
|
#includedir=
|
||||||
@ -206,6 +251,7 @@ AC_DEFUN([FHS_COMPLIANCE],
|
|||||||
e_spooldir="$localstatedir/spool/$PACKAGE"
|
e_spooldir="$localstatedir/spool/$PACKAGE"
|
||||||
e_man1dir="$datadir/man/man1"
|
e_man1dir="$datadir/man/man1"
|
||||||
e_examplesdir="$datadir/doc/$PACKAGE/examples"
|
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.
|
# Call AM_AUTOMAKE_VERSION so it can be traced.
|
||||||
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
|
||||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
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 -*-
|
# 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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## 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
|
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
|
noinst_SCRIPTS = emailrelay-doxygen-filter.sh emailrelay-test.sh emailrelay-soak.sh emailrelay-runperl.js emailrelay-resubmit.js
|
||||||
e_init_SCRIPTS = emailrelay
|
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
|
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
|
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-resubmit.sh
|
||||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-deliver.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-process.sh
|
||||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-runperl.js
|
|
||||||
|
|
||||||
uninstall-local:
|
uninstall-local:
|
||||||
-rmdir $(DESTDIR)$(e_examplesdir) 2>/dev/null
|
-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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -111,6 +111,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -128,14 +129,14 @@ sharedstatedir = @sharedstatedir@
|
|||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target_alias = @target_alias@
|
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
|
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
|
noinst_SCRIPTS = emailrelay-doxygen-filter.sh emailrelay-test.sh emailrelay-soak.sh emailrelay-runperl.js emailrelay-resubmit.js
|
||||||
e_init_SCRIPTS = emailrelay
|
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
|
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
|
TESTS = emailrelay-test.sh
|
||||||
|
|
||||||
@ -150,7 +151,7 @@ SCRIPTS = $(e_init_SCRIPTS) $(noinst_SCRIPTS)
|
|||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
DATA = $(e_examples_DATA)
|
DATA = $(e_examples_DATA)
|
||||||
|
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
@ -337,7 +338,7 @@ clean-generic:
|
|||||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -347,7 +348,7 @@ clean: clean-am
|
|||||||
clean-am: clean-generic mostlyclean-am
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
dvi: dvi-am
|
dvi: dvi-am
|
||||||
@ -370,7 +371,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
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-resubmit.sh
|
||||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-deliver.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-process.sh
|
||||||
chmod ugo+x $(DESTDIR)$(e_examplesdir)/emailrelay-runperl.js
|
|
||||||
|
|
||||||
uninstall-local:
|
uninstall-local:
|
||||||
-rmdir $(DESTDIR)$(e_examplesdir) 2>/dev/null
|
-rmdir $(DESTDIR)$(e_examplesdir) 2>/dev/null
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
@ -156,6 +156,7 @@ PostFilter()
|
|||||||
${awk} '
|
${awk} '
|
||||||
{
|
{
|
||||||
if( match( $0 , "^[[:space:]]*class[[:space:]][^/]*//" ) ||
|
if( match( $0 , "^[[:space:]]*class[[:space:]][^/]*//" ) ||
|
||||||
|
match( $0 , "^[[:space:]]*union[[:space:]][^/]*//" ) ||
|
||||||
match( $0 , "^[[:space:]]*struct[[:space:]][^/]*//" ) )
|
match( $0 , "^[[:space:]]*struct[[:space:]][^/]*//" ) )
|
||||||
{
|
{
|
||||||
class = substr( $0 , 1 , RLENGTH-2 )
|
class = substr( $0 , 1 , RLENGTH-2 )
|
||||||
@ -180,7 +181,11 @@ name="`basename \"${1}\"`"
|
|||||||
type="`echo \"${name}\" | ${awk} -F . '{print $NF}'`"
|
type="`echo \"${name}\" | ${awk} -F . '{print $NF}'`"
|
||||||
classes="`fgrep '// Class:' \"${1}\" | wc -l`"
|
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
|
then
|
||||||
cat "${1}" | BasicFilter
|
cat "${1}" | BasicFilter
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# 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
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -20,20 +20,25 @@
|
|||||||
//
|
//
|
||||||
// emailrelay-runperl.js
|
// emailrelay-runperl.js
|
||||||
//
|
//
|
||||||
// An example JavaScript wrapper that runs a perl script
|
// An example JavaScript wrapper that runs a perl script for E-MailRelay.
|
||||||
// for E-MailRelay. The perl script's standard input
|
// The name of the perl script is hard-coded below: edit as necessary.
|
||||||
// will the be the e-mail's content file. The perl script
|
//
|
||||||
// should process this to its standard output, and
|
// 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.
|
// terminate with a zero exit code.
|
||||||
//
|
//
|
||||||
// Eg:
|
// The implementation of this JavaScript makes use of "CMD.EXE", which may be
|
||||||
// emailrelay --as-server --filter "cscript.exe //nologo emailrelay-runperl.js"
|
// not be available on some versions of Windows.
|
||||||
//
|
|
||||||
// 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.
|
|
||||||
//
|
//
|
||||||
|
// Edit the next two lines as necessary, but avoid spaces in paths:
|
||||||
var cfg_perl="perl -S -T -w"
|
var cfg_perl="perl -S -T -w"
|
||||||
var cfg_perl_script="spamassassin"
|
var cfg_perl_script="spamassassin"
|
||||||
|
|
||||||
@ -82,4 +87,3 @@ else
|
|||||||
WScript.Quit( rc )
|
WScript.Quit( rc )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
@ -23,12 +23,15 @@
|
|||||||
#
|
#
|
||||||
# Soak tests the E-MailRelay system.
|
# Soak tests the E-MailRelay system.
|
||||||
#
|
#
|
||||||
|
# usage: emailrelay-soak.sh [<exe>]
|
||||||
|
#
|
||||||
# (As a side-effect it does "killall emailrelay".)
|
# (As a side-effect it does "killall emailrelay".)
|
||||||
#
|
#
|
||||||
|
|
||||||
# configuration
|
# configuration
|
||||||
#
|
#
|
||||||
exe="`dirname $0`/../src/main/emailrelay"
|
exe="`dirname $0`/../src/main/emailrelay"
|
||||||
|
test -z "${1}" || exe="${1}"
|
||||||
content="/etc/services"
|
content="/etc/services"
|
||||||
pp="1001" # port prefix
|
pp="1001" # port prefix
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
@ -39,71 +39,83 @@
|
|||||||
# -n no cleanup
|
# -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
|
# configuration
|
||||||
#
|
#
|
||||||
use_valgrind="0" ; if test "${1}" = "-v" ; then use_valgrind="1" ; shift ; fi
|
cfg_sw_debug="" ; test "${opt_debug}" -eq 0 || cfg_sw_debug="--debug"
|
||||||
debug="" ; if test "${1}" = "-d" ; then debug="--debug" ; shift ; fi
|
cfg_sw_extra="" ; test "${opt_use_valgrind}" -eq 0 || cfg_sw_extra="--no-daemon"
|
||||||
no_cleanup="0" ; if test "${1}" = "-n" ; then no_cleanup="1" ; shift ; fi
|
cfg_exe_dir="../src/main" ; test -z "${opt_exe_dir}" || cfg_exe_dir="${opt_exe_dir}"
|
||||||
exe_dir="../src/main" ; if test "${1}" != "" ; then exe_dir="${1}" ; fi
|
cfg_main_exe="${cfg_exe_dir}/emailrelay"
|
||||||
exe="${exe_dir}/emailrelay"
|
cfg_poke_exe="${cfg_exe_dir}/emailrelay-poke"
|
||||||
poke="${exe_dir}/emailrelay-poke"
|
cfg_null_filter="/bin/touch" ; test -f ${cfg_null_filter} || cfg_null_filter="/usr/bin/touch"
|
||||||
null_filter="/bin/touch"
|
cfg_content_file="/etc/services"
|
||||||
content_file="/etc/services"
|
cfg_pp="201" # port-prefix
|
||||||
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
|
Init()
|
||||||
#
|
{
|
||||||
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"
|
MALLOC_CHECK_="2"
|
||||||
export MALLOC_CHECK_
|
export MALLOC_CHECK_
|
||||||
ulimit -c 1000000
|
ulimit -c 1000000
|
||||||
if test "${use_valgrind}" -eq 1
|
trap "Trap 1 ; exit 1" 1 2 3 13 15
|
||||||
then
|
trap "e=\$? ; Trap 0 ; exit \$e" 0
|
||||||
exe="valgrind --logfile=${base_dir}/valgrind --trace-children=yes --num-callers=40 --leak-check=yes ${exe} --no-daemon"
|
|
||||||
fi
|
|
||||||
|
|
||||||
Cleanup()
|
|
||||||
{
|
|
||||||
${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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Trap()
|
Trap()
|
||||||
{
|
{
|
||||||
Cleanup
|
trap 0 1 2 3 13 15
|
||||||
exit ${exit_code}
|
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()
|
RunServer()
|
||||||
@ -115,10 +127,15 @@ RunServer()
|
|||||||
pidfile_="${5}"
|
pidfile_="${5}"
|
||||||
extra_="${6}"
|
extra_="${6}"
|
||||||
|
|
||||||
mkdir -p ${base_dir}/${spool_}
|
mkdir -p ${cfg_base_dir}/${spool_}
|
||||||
${exe} ${debug} --log --verbose --no-syslog --port ${port_} --spool-dir ${base_dir}/${spool_} \
|
${cfg_run} ${cfg_main_exe} ${cfg_sw_extra} ${cfg_sw_debug} \
|
||||||
--admin ${admin_port_} --admin-terminate \
|
--log --verbose --no-syslog \
|
||||||
--pid-file ${base_dir}/${pidfile_} ${extra_} 2> ${base_dir}/${log_} &
|
--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()
|
RunClient()
|
||||||
@ -128,9 +145,11 @@ RunClient()
|
|||||||
log_="${3}"
|
log_="${3}"
|
||||||
pidfile_="${4}"
|
pidfile_="${4}"
|
||||||
|
|
||||||
${exe} ${debug} --forward --no-daemon --dont-serve --log --verbose --no-syslog \
|
${cfg_run} ${cfg_main_exe} ${cfg_sw_extra} ${cfg_sw_debug} \
|
||||||
--pid-file ${base_dir}/${pidfile_} \
|
--forward --no-daemon --dont-serve --log --verbose --no-syslog \
|
||||||
--forward-to ${to_} --spool-dir ${base_dir}/${spool_} 2> ${base_dir}/${log_}
|
--pid-file ${cfg_base_dir}/${pidfile_} \
|
||||||
|
--forward-to ${to_} \
|
||||||
|
--spool-dir ${cfg_base_dir}/${spool_} 2> ${cfg_base_dir}/${log_}
|
||||||
}
|
}
|
||||||
|
|
||||||
RunPoke()
|
RunPoke()
|
||||||
@ -138,7 +157,7 @@ RunPoke()
|
|||||||
port_="${1}"
|
port_="${1}"
|
||||||
log_="${2}"
|
log_="${2}"
|
||||||
|
|
||||||
${poke} ${port_} > ${base_dir}/${log_}
|
${cfg_poke_exe} ${cfg_pp}${port_} > ${cfg_base_dir}/${log_}
|
||||||
}
|
}
|
||||||
|
|
||||||
Content()
|
Content()
|
||||||
@ -147,7 +166,7 @@ Content()
|
|||||||
echo "Subject: test message 1"
|
echo "Subject: test message 1"
|
||||||
echo "From: sender"
|
echo "From: sender"
|
||||||
echo " "
|
echo " "
|
||||||
cat "${content_file}"
|
cat "${cfg_content_file}"
|
||||||
}
|
}
|
||||||
|
|
||||||
Envelope()
|
Envelope()
|
||||||
@ -168,99 +187,109 @@ CrLf()
|
|||||||
sed 's/$/£/' | tr '£' '\r'
|
sed 's/$/£/' | tr '£' '\r'
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckResults()
|
TestDone()
|
||||||
{
|
{
|
||||||
store="${1}"
|
store_="${1}"
|
||||||
if test "`ls -1 ${base_dir}/${store}/emailrelay.*.content 2>/dev/null | wc -l`" -eq 2 -a \
|
test \
|
||||||
"`ls -1 ${base_dir}/${store}/emailrelay.*.envelope 2>/dev/null | wc -l`" -eq 2
|
"`ls -1 ${cfg_base_dir}/${store_}/emailrelay.*.content 2>/dev/null | wc -l`" -eq 2 -a \
|
||||||
then
|
"`ls -1 ${cfg_base_dir}/${store_}/emailrelay.*.envelope 2>/dev/null | wc -l`" -eq 2
|
||||||
exit_code="0"
|
|
||||||
echo `basename $0`: succeeded
|
|
||||||
else
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
StartWatchdog()
|
ReportResults()
|
||||||
{
|
{
|
||||||
sleep 10 && kill `cat ${base_dir}/pid-* 2>/dev/null` 2>/dev/null &
|
ok_="${1}"
|
||||||
watchdog_pid=$!
|
if test "${ok_}" -eq 1
|
||||||
|
then
|
||||||
|
echo `basename $0`: succeeded
|
||||||
|
else
|
||||||
|
echo `basename $0`: failed: see ${cfg_summary_log} >&2
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
CreateMessages()
|
CreateMessages()
|
||||||
{
|
{
|
||||||
mkdir -p ${base_dir}/store-1
|
mkdir -p ${cfg_base_dir}/store-1
|
||||||
Content | CrLf > ${base_dir}/store-1/emailrelay.0.1.content
|
Content | CrLf > ${cfg_base_dir}/store-1/emailrelay.0.1.content
|
||||||
Envelope | CrLf > ${base_dir}/store-1/emailrelay.0.1.envelope
|
Envelope | CrLf > ${cfg_base_dir}/store-1/emailrelay.0.1.envelope
|
||||||
Content | CrLf > ${base_dir}/store-1/emailrelay.0.2.content
|
Content | CrLf > ${cfg_base_dir}/store-1/emailrelay.0.2.content
|
||||||
Envelope | CrLf > ${base_dir}/store-1/emailrelay.0.2.envelope
|
Envelope | CrLf > ${cfg_base_dir}/store-1/emailrelay.0.2.envelope
|
||||||
}
|
}
|
||||||
|
|
||||||
CreateAuth()
|
CreateAuth()
|
||||||
{
|
{
|
||||||
mkdir -p "${base_dir}"
|
mkdir -p "${cfg_base_dir}"
|
||||||
|
|
||||||
# encrypted version "joes_password" provided by emailrelay-passwd
|
# encrypted version "joes_password" provided by emailrelay-passwd
|
||||||
key="2168297042.2818429713.1297528852.2023008371.2713943401.1997919265.1829599518.235099638"
|
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 "# server.auth" > ${file}
|
||||||
echo "LOGIN server fred freds_password" >> ${file}
|
echo "LOGIN server fred freds_password" >> ${file}
|
||||||
echo "CRAM-MD5 server joe ${key}" >> ${file}
|
echo "CRAM-MD5 server joe ${key}" >> ${file}
|
||||||
echo "CRAM-MD5 server brian 1.1.1.1.2.2.2.2" >> ${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 "# client-fred.auth" > ${file}
|
||||||
echo "LOGIN client fred freds_password" >> ${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 "# client-joe.auth" > ${file}
|
||||||
echo "CRAM-MD5 client joe ${key}" >> ${file}
|
echo "CRAM-MD5 client joe ${key}" >> ${file}
|
||||||
}
|
}
|
||||||
|
|
||||||
CreateFilter()
|
CreateFilter()
|
||||||
{
|
{
|
||||||
cat <<EOF | sed 's/^_//' > ${base_dir}/filter.sh
|
cat <<EOF | sed 's/^ *_//' > ${cfg_base_dir}/filter.sh
|
||||||
_#!/bin/sh
|
_#!/bin/sh
|
||||||
_# filter.sh
|
_# filter.sh
|
||||||
_tmp="/tmp/`basename $0`.\$\$.tmp"
|
_tmp="/tmp/`basename $0`.\$\$.tmp"
|
||||||
_tr 'a-z' 'A-Z' < \$1 > \$tmp && mv \$tmp \$1
|
_tr 'a-z' 'A-Z' < \$1 > \$tmp && mv \$tmp \$1
|
||||||
_exit 0
|
_exit 0
|
||||||
EOF
|
EOF
|
||||||
chmod +x ${base_dir}/filter.sh
|
chmod +x ${cfg_base_dir}/filter.sh
|
||||||
}
|
}
|
||||||
|
|
||||||
trap "Trap ; exit" 1 2 3 13 15
|
Sleep()
|
||||||
trap "Trap 0 ; exit" 0
|
{
|
||||||
|
if test "${opt_use_valgrind}" -eq 1
|
||||||
|
then
|
||||||
|
sleep 30
|
||||||
|
else
|
||||||
|
sleep 5
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
#StartWatchdog
|
Main()
|
||||||
|
{
|
||||||
|
Init
|
||||||
|
SanityChecks
|
||||||
CreateAuth
|
CreateAuth
|
||||||
CreateFilter
|
CreateFilter
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
CreateMessages
|
CreateMessages
|
||||||
RunClient localhost:${pp}01 store-1 log-c pid-7
|
|
||||||
RunPoke ${pp}12 log-p
|
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
|
sleep 1
|
||||||
|
RunClient localhost:${cfg_pp}01 store-1 log-c pid-7
|
||||||
|
RunPoke 12 log-p
|
||||||
|
|
||||||
|
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
|
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
|
do
|
||||||
if test "${use_valgrind}" -eq 1 ; then sleep 50 ; fi
|
Sleep
|
||||||
sleep 10
|
if TestDone store-6
|
||||||
CheckResults store-6
|
then
|
||||||
if test $? -eq 0 ; then break ; fi
|
success="1"
|
||||||
|
break
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
if test "${watchdog_pid}" != ""
|
ReportResults "${success}"
|
||||||
then
|
}
|
||||||
kill "${watchdog_pid}"
|
|
||||||
fi
|
Main
|
||||||
if test ${exit_code} -ne 0
|
|
||||||
then
|
|
||||||
echo `basename $0`: failed: see ${summary_log} >&2
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# 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
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# modify it under the terms of the GNU General Public License
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# This program is free software; you can redistribute it and/or
|
||||||
# modify it under the terms of the GNU General Public License
|
# 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>
|
# include <unistd.h>
|
||||||
#endif"
|
#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=''
|
ac_subst_files=''
|
||||||
|
|
||||||
# Initialize some variables set by options.
|
# Initialize some variables set by options.
|
||||||
@ -855,6 +855,8 @@ Optional Features:
|
|||||||
--disable-dependency-tracking Speeds up one-time builds
|
--disable-dependency-tracking Speeds up one-time builds
|
||||||
--enable-dependency-tracking Do not reject slow dependency extractors
|
--enable-dependency-tracking Do not reject slow dependency extractors
|
||||||
--enable-debug enable extra debug messages at compile-time
|
--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
|
--enable-fhs force FHS-compliant directories, ignoring --prefix
|
||||||
etc
|
etc
|
||||||
|
|
||||||
@ -862,6 +864,8 @@ Optional Packages:
|
|||||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||||
--with-workshop use Sun WorkShop 'CC -xar' as the 'ar' tool
|
--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:
|
Some influential environment variables:
|
||||||
CC C compiler command
|
CC C compiler command
|
||||||
@ -1553,7 +1557,7 @@ fi
|
|||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE=emailrelay
|
PACKAGE=emailrelay
|
||||||
VERSION=1.2
|
VERSION=1.3
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
@ -5263,6 +5267,21 @@ _ACEOF
|
|||||||
fi
|
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.
|
# Check whether --with-workshop or --without-workshop was given.
|
||||||
if test "${with_workshop+set}" = set; then
|
if test "${with_workshop+set}" = set; then
|
||||||
@ -5278,6 +5297,44 @@ then
|
|||||||
fi
|
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.
|
# Check whether --enable-fhs or --disable-fhs was given.
|
||||||
if test "${enable_fhs+set}" = set; then
|
if test "${enable_fhs+set}" = set; then
|
||||||
enableval="$enable_fhs"
|
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_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_docdir" = "" ; then e_docdir="$datadir/$PACKAGE/doc" ; fi
|
||||||
|
|
||||||
if test "$e_initdir" = "" ; then e_initdir="$libexecdir" ; fi
|
if test "$e_initdir" = "" ; then e_initdir="$libexecdir" ; fi
|
||||||
@ -5311,10 +5370,10 @@ then
|
|||||||
localstatedir='/var'
|
localstatedir='/var'
|
||||||
mandir='/usr/man'
|
mandir='/usr/man'
|
||||||
datadir='/usr/share'
|
datadir='/usr/share'
|
||||||
|
sysconfdir='/etc'
|
||||||
#
|
#
|
||||||
# not used by emailrelay
|
# not used by emailrelay
|
||||||
#bindir=
|
#bindir=
|
||||||
#sysconfdir=
|
|
||||||
#sharedstatedir=
|
#sharedstatedir=
|
||||||
#libdir=
|
#libdir=
|
||||||
#includedir=
|
#includedir=
|
||||||
@ -5329,13 +5388,14 @@ then
|
|||||||
e_spooldir="$localstatedir/spool/$PACKAGE"
|
e_spooldir="$localstatedir/spool/$PACKAGE"
|
||||||
e_man1dir="$datadir/man/man1"
|
e_man1dir="$datadir/man/man1"
|
||||||
e_examplesdir="$datadir/doc/$PACKAGE/examples"
|
e_examplesdir="$datadir/doc/$PACKAGE/examples"
|
||||||
|
e_sysconfdir="$sysconfdir"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
SET_MAKE=""
|
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
|
cat >confcache <<\_ACEOF
|
||||||
# This file is a shell script that caches the results of configure
|
# This file is a shell script that caches the results of configure
|
||||||
# tests run on this system so they can be shared between 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" ;;
|
"lib/sunpro5/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/sunpro5/Makefile" ;;
|
||||||
"bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES bin/Makefile" ;;
|
"bin/Makefile" ) CONFIG_FILES="$CONFIG_FILES bin/Makefile" ;;
|
||||||
"doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
"doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
|
||||||
|
"etc/Makefile" ) CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;;
|
||||||
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
|
||||||
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
|
"config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
|
||||||
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
|
*) { { 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,@EGREP@,$EGREP,;t t
|
||||||
s,@e_sbindir@,$e_sbindir,;t t
|
s,@e_sbindir@,$e_sbindir,;t t
|
||||||
s,@e_libexecdir@,$e_libexecdir,;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_docdir@,$e_docdir,;t t
|
||||||
s,@e_initdir@,$e_initdir,;t t
|
s,@e_initdir@,$e_initdir,;t t
|
||||||
s,@e_spooldir@,$e_spooldir,;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
|
||||||
dnl This program is free software; you can redistribute it and/or
|
dnl This program is free software; you can redistribute it and/or
|
||||||
dnl modify it under the terms of the GNU General Public License
|
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
|
dnl
|
||||||
|
|
||||||
AC_INIT(src/gsmtp/gsmtp.h)
|
AC_INIT(src/gsmtp/gsmtp.h)
|
||||||
AM_INIT_AUTOMAKE(emailrelay,1.2)
|
AM_INIT_AUTOMAKE(emailrelay,1.3)
|
||||||
AM_CONFIG_HEADER(config.h)
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
dnl ===
|
dnl ===
|
||||||
@ -68,12 +68,30 @@ dnl
|
|||||||
AC_ARG_ENABLE(debug,AC_HELP_STRING([--enable-debug],[enable extra debug messages at compile-time]))
|
AC_ARG_ENABLE(debug,AC_HELP_STRING([--enable-debug],[enable extra debug messages at compile-time]))
|
||||||
ENABLE_DEBUG
|
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 ===
|
||||||
dnl "--with-workshop"
|
dnl "--with-workshop"
|
||||||
dnl
|
dnl
|
||||||
AC_ARG_WITH(workshop,AC_HELP_STRING([--with-workshop],[use Sun WorkShop 'CC -xar' as the 'ar' tool]))
|
AC_ARG_WITH(workshop,AC_HELP_STRING([--with-workshop],[use Sun WorkShop 'CC -xar' as the 'ar' tool]))
|
||||||
WITH_WORKSHOP
|
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 ===
|
||||||
dnl directory tweaking and "--enable-fhs" ...
|
dnl directory tweaking and "--enable-fhs" ...
|
||||||
dnl
|
dnl
|
||||||
@ -83,6 +101,8 @@ AC_SUBST(e_sbindir)
|
|||||||
if test "$e_sbindir" = "" ; then e_sbindir="$sbindir" ; fi
|
if test "$e_sbindir" = "" ; then e_sbindir="$sbindir" ; fi
|
||||||
AC_SUBST(e_libexecdir)
|
AC_SUBST(e_libexecdir)
|
||||||
if test "$e_libexecdir" = "" ; then e_libexecdir="$libexecdir" ; fi
|
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)
|
AC_SUBST(e_docdir)
|
||||||
if test "$e_docdir" = "" ; then e_docdir="$datadir/$PACKAGE/doc" ; fi
|
if test "$e_docdir" = "" ; then e_docdir="$datadir/$PACKAGE/doc" ; fi
|
||||||
AC_SUBST(e_initdir)
|
AC_SUBST(e_initdir)
|
||||||
@ -103,5 +123,5 @@ SET_MAKE=""
|
|||||||
dnl ===
|
dnl ===
|
||||||
dnl generate files...
|
dnl generate files...
|
||||||
dnl
|
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)
|
||||||
|
|
||||||
|
29
depcomp
29
depcomp
@ -1,7 +1,7 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# depcomp - compile a program generating dependencies as side-effects
|
# 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
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
@ -172,25 +172,19 @@ sgi)
|
|||||||
|
|
||||||
aix)
|
aix)
|
||||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||||
# in a .u file. In older versions, this file always lives in the
|
# in a .u file. This file always lives in the current directory.
|
||||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
# Also, the AIX compiler puts `$object:' at the start of each line;
|
||||||
# start of each line; $object doesn't have directory information.
|
# $object doesn't have directory information.
|
||||||
# Version 6 uses the directory in both cases.
|
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
|
||||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
|
||||||
tmpdepfile="$stripped.u"
|
tmpdepfile="$stripped.u"
|
||||||
|
outname="$stripped.o"
|
||||||
if test "$libtool" = yes; then
|
if test "$libtool" = yes; then
|
||||||
"$@" -Wc,-M
|
"$@" -Wc,-M
|
||||||
else
|
else
|
||||||
"$@" -M
|
"$@" -M
|
||||||
fi
|
fi
|
||||||
|
|
||||||
stat=$?
|
stat=$?
|
||||||
|
|
||||||
if test -f "$tmpdepfile"; then :
|
|
||||||
else
|
|
||||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
|
||||||
tmpdepfile="$stripped.u"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $stat -eq 0; then :
|
if test $stat -eq 0; then :
|
||||||
else
|
else
|
||||||
rm -f "$tmpdepfile"
|
rm -f "$tmpdepfile"
|
||||||
@ -198,7 +192,6 @@ aix)
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if test -f "$tmpdepfile"; then
|
if test -f "$tmpdepfile"; then
|
||||||
outname="$stripped.o"
|
|
||||||
# Each line is of the form `foo.o: dependent.h'.
|
# Each line is of the form `foo.o: dependent.h'.
|
||||||
# Do two passes, one to just change these to
|
# Do two passes, one to just change these to
|
||||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||||
@ -285,7 +278,7 @@ tru64)
|
|||||||
fi
|
fi
|
||||||
if test -f "$tmpdepfile"; then
|
if test -f "$tmpdepfile"; then
|
||||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||||
# That's a tab and a space in the [].
|
# That's a space and a tab in the [].
|
||||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||||
else
|
else
|
||||||
echo "#dummy" > "$depfile"
|
echo "#dummy" > "$depfile"
|
||||||
@ -299,7 +292,7 @@ tru64)
|
|||||||
|
|
||||||
dashmstdout)
|
dashmstdout)
|
||||||
# Important note: in order to support this mode, a compiler *must*
|
# 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 $?
|
"$@" || exit $?
|
||||||
|
|
||||||
# Remove the call to Libtool.
|
# Remove the call to Libtool.
|
||||||
@ -395,7 +388,7 @@ makedepend)
|
|||||||
|
|
||||||
cpp)
|
cpp)
|
||||||
# Important note: in order to support this mode, a compiler *must*
|
# 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 $?
|
"$@" || exit $?
|
||||||
|
|
||||||
# Remove the call to Libtool.
|
# Remove the call to Libtool.
|
||||||
@ -437,7 +430,7 @@ cpp)
|
|||||||
|
|
||||||
msvisualcpp)
|
msvisualcpp)
|
||||||
# Important note: in order to support this mode, a compiler *must*
|
# 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.
|
# because we must use -o when running libtool.
|
||||||
"$@" || exit $?
|
"$@" || exit $?
|
||||||
IFS=" "
|
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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## 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
|
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
|
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)
|
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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -111,6 +111,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -165,7 +166,7 @@ SCRIPTS = $(noinst_SCRIPTS)
|
|||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
DATA = $(e_doc_DATA) $(e_man1_DATA)
|
DATA = $(e_doc_DATA) $(e_man1_DATA)
|
||||||
|
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
@ -276,7 +277,7 @@ clean-generic:
|
|||||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -286,7 +287,7 @@ clean: clean-am
|
|||||||
clean-am: clean-generic mostlyclean-am
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
dvi: dvi-am
|
dvi: dvi-am
|
||||||
@ -308,7 +309,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
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
|
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
|
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)
|
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">
|
<!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>
|
<title>E-MailRelay: $title</title>
|
||||||
<meta name="robots" content="noindex,nofollow">
|
<meta name="robots" content="noindex,nofollow">
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
<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>
|
<DD>
|
||||||
Enables the terminate command on the admin interface.
|
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>
|
<DT><B>-q,--as-client </B><I>host:port</I>
|
||||||
|
|
||||||
<DD>
|
<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>
|
<DT><B>-o,--forward-to </B><I>host:port</I>
|
||||||
|
|
||||||
<DD>
|
<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>
|
<DT><B>-h,--help </B>
|
||||||
|
|
||||||
<DD>
|
<DD>
|
||||||
@ -173,7 +177,7 @@ Specifies the smtp listening port number.
|
|||||||
<DT><B>-P,--postmaster </B>
|
<DT><B>-P,--postmaster </B>
|
||||||
|
|
||||||
<DD>
|
<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>
|
<DT><B>-r,--remote-clients </B>
|
||||||
|
|
||||||
<DD>
|
<DD>
|
||||||
@ -213,6 +217,9 @@ Displays version information and exits.
|
|||||||
GNU style...
|
GNU style...
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
/usr/local/etc/emailrelay.conf
|
||||||
|
<BR>
|
||||||
|
|
||||||
/usr/local/libexec/emailrelay
|
/usr/local/libexec/emailrelay
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -228,9 +235,18 @@ GNU style...
|
|||||||
/usr/local/libexec/emailrelay-process.sh
|
/usr/local/libexec/emailrelay-process.sh
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
/usr/local/libexec/emailrelay-resubmit.js
|
||||||
|
<BR>
|
||||||
|
|
||||||
/usr/local/libexec/emailrelay-resubmit.sh
|
/usr/local/libexec/emailrelay-resubmit.sh
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
/usr/local/libexec/emailrelay-runperl.js
|
||||||
|
<BR>
|
||||||
|
|
||||||
|
/usr/local/man/man1/emailrelay.1.gz
|
||||||
|
<BR>
|
||||||
|
|
||||||
/usr/local/man/man1/emailrelay-passwd.1.gz
|
/usr/local/man/man1/emailrelay-passwd.1.gz
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -240,9 +256,6 @@ GNU style...
|
|||||||
/usr/local/man/man1/emailrelay-submit.1.gz
|
/usr/local/man/man1/emailrelay-submit.1.gz
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
/usr/local/man/man1/emailrelay.1.gz
|
|
||||||
<BR>
|
|
||||||
|
|
||||||
/usr/local/sbin/emailrelay
|
/usr/local/sbin/emailrelay
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -252,12 +265,6 @@ GNU style...
|
|||||||
/usr/local/sbin/emailrelay-submit
|
/usr/local/sbin/emailrelay-submit
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
/usr/local/share/emailrelay/doc/NEWS
|
|
||||||
<BR>
|
|
||||||
|
|
||||||
/usr/local/share/emailrelay/doc/README
|
|
||||||
<BR>
|
|
||||||
|
|
||||||
/usr/local/share/emailrelay/doc/changelog.gz
|
/usr/local/share/emailrelay/doc/changelog.gz
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -273,9 +280,21 @@ GNU style...
|
|||||||
/usr/local/share/emailrelay/doc/emailrelay.css
|
/usr/local/share/emailrelay/doc/emailrelay.css
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
/usr/local/share/emailrelay/doc/emailrelay-man.html
|
||||||
|
<BR>
|
||||||
|
|
||||||
/usr/local/share/emailrelay/doc/index.html
|
/usr/local/share/emailrelay/doc/index.html
|
||||||
<BR>
|
<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
|
/usr/local/share/emailrelay/doc/readme.html
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -306,6 +325,9 @@ GNU style...
|
|||||||
FHS style...
|
FHS style...
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
/etc/emailrelay.conf
|
||||||
|
<BR>
|
||||||
|
|
||||||
/etc/init.d/emailrelay
|
/etc/init.d/emailrelay
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -321,12 +343,6 @@ FHS style...
|
|||||||
/usr/sbin/emailrelay-submit
|
/usr/sbin/emailrelay-submit
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
/usr/share/doc/emailrelay/NEWS
|
|
||||||
<BR>
|
|
||||||
|
|
||||||
/usr/share/doc/emailrelay/README
|
|
||||||
<BR>
|
|
||||||
|
|
||||||
/usr/share/doc/emailrelay/changelog.gz
|
/usr/share/doc/emailrelay/changelog.gz
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -342,6 +358,9 @@ FHS style...
|
|||||||
/usr/share/doc/emailrelay/emailrelay.css
|
/usr/share/doc/emailrelay/emailrelay.css
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
/usr/share/doc/emailrelay/emailrelay-man.html
|
||||||
|
<BR>
|
||||||
|
|
||||||
/usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
/usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -357,6 +376,15 @@ FHS style...
|
|||||||
/usr/share/doc/emailrelay/index.html
|
/usr/share/doc/emailrelay/index.html
|
||||||
<BR>
|
<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
|
/usr/share/doc/emailrelay/readme.html
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -378,6 +406,9 @@ FHS style...
|
|||||||
/usr/share/doc/emailrelay/windows.txt
|
/usr/share/doc/emailrelay/windows.txt
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
|
/usr/share/man/man1/emailrelay.1.gz
|
||||||
|
<BR>
|
||||||
|
|
||||||
/usr/share/man/man1/emailrelay-passwd.1.gz
|
/usr/share/man/man1/emailrelay-passwd.1.gz
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -387,9 +418,6 @@ FHS style...
|
|||||||
/usr/share/man/man1/emailrelay-submit.1.gz
|
/usr/share/man/man1/emailrelay-submit.1.gz
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
/usr/share/man/man1/emailrelay.1.gz
|
|
||||||
<BR>
|
|
||||||
|
|
||||||
/var/spool/emailrelay/emailrelay.*.content
|
/var/spool/emailrelay/emailrelay.*.content
|
||||||
<BR>
|
<BR>
|
||||||
|
|
||||||
@ -436,7 +464,7 @@ Graeme Walker, mailto:<A HREF="mailto:graeme_walker@users.sourceforge.net">graem
|
|||||||
This document was created by
|
This document was created by
|
||||||
<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
|
<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
|
||||||
using the manual pages.<BR>
|
using the manual pages.<BR>
|
||||||
Time: 21:06:55 GMT, November 06, 2003
|
Time: 20:53:37 GMT, February 26, 2004
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</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
|
.\" This program is free software; you can redistribute it and/or
|
||||||
.\" modify it under the terms of the GNU General Public License
|
.\" 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
|
.B emailrelay-passwd
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.I emailrelay-passwd
|
.I emailrelay-passwd
|
||||||
is a utility which reads a plaintext password from the standard
|
is a utility which reads a single plaintext password from the standard
|
||||||
input, and writes it out in an encoded form onto the standard
|
input, and writes out an encoded form onto the standard
|
||||||
output. The encoded form is suitable for pasting into a CRAM-MD5
|
output. The encoded form is suitable for pasting into a CRAM-MD5
|
||||||
line in an
|
line in an
|
||||||
.B emailrelay
|
.B emailrelay
|
||||||
secrets file.
|
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
|
.SH SEE ALSO
|
||||||
.BR emailrelay (1),
|
.BR emailrelay (1),
|
||||||
.BR emailrelay-submit (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
|
.\" This program is free software; you can redistribute it and/or
|
||||||
.\" modify it under the terms of the GNU General Public License
|
.\" 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
|
.\" This program is free software; you can redistribute it and/or
|
||||||
.\" modify it under the terms of the GNU General Public License
|
.\" 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
|
.\" This program is free software; you can redistribute it and/or
|
||||||
.\" modify it under the terms of the GNU General Public License
|
.\" 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
|
.B \-Q,--admin-terminate
|
||||||
Enables the terminate command on the admin interface.
|
Enables the terminate command on the admin interface.
|
||||||
.TP
|
.TP
|
||||||
|
.B \-A,--anonymous
|
||||||
|
Disables the smtp vrfy command and sends less verbose smtp responses.
|
||||||
|
.TP
|
||||||
.B \-q,--as-client \fIhost:port\fR
|
.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.
|
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
|
.TP
|
||||||
@ -99,7 +102,7 @@ Defines a mail processor program for when storing.
|
|||||||
Forwards stored mail on startup (requires \fI--forward-to\fR).
|
Forwards stored mail on startup (requires \fI--forward-to\fR).
|
||||||
.TP
|
.TP
|
||||||
.B \-o,--forward-to \fIhost:port\fR
|
.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
|
.TP
|
||||||
.B \-h,--help
|
.B \-h,--help
|
||||||
Displays help text and exits.
|
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.
|
Specifies the smtp listening port number.
|
||||||
.TP
|
.TP
|
||||||
.B \-P,--postmaster
|
.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
|
.TP
|
||||||
.B \-r,--remote-clients
|
.B \-r,--remote-clients
|
||||||
Allows remote clients to connect.
|
Allows remote clients to connect.
|
||||||
@ -160,6 +163,8 @@ Displays version information and exits.
|
|||||||
.SH FILES
|
.SH FILES
|
||||||
GNU style...
|
GNU style...
|
||||||
.br
|
.br
|
||||||
|
/usr/local/etc/emailrelay.conf
|
||||||
|
.br
|
||||||
/usr/local/libexec/emailrelay
|
/usr/local/libexec/emailrelay
|
||||||
.br
|
.br
|
||||||
/usr/local/libexec/emailrelay-deliver.sh
|
/usr/local/libexec/emailrelay-deliver.sh
|
||||||
@ -170,26 +175,26 @@ GNU style...
|
|||||||
.br
|
.br
|
||||||
/usr/local/libexec/emailrelay-process.sh
|
/usr/local/libexec/emailrelay-process.sh
|
||||||
.br
|
.br
|
||||||
|
/usr/local/libexec/emailrelay-resubmit.js
|
||||||
|
.br
|
||||||
/usr/local/libexec/emailrelay-resubmit.sh
|
/usr/local/libexec/emailrelay-resubmit.sh
|
||||||
.br
|
.br
|
||||||
|
/usr/local/libexec/emailrelay-runperl.js
|
||||||
|
.br
|
||||||
|
/usr/local/man/man1/emailrelay.1.gz
|
||||||
|
.br
|
||||||
/usr/local/man/man1/emailrelay-passwd.1.gz
|
/usr/local/man/man1/emailrelay-passwd.1.gz
|
||||||
.br
|
.br
|
||||||
/usr/local/man/man1/emailrelay-poke.1.gz
|
/usr/local/man/man1/emailrelay-poke.1.gz
|
||||||
.br
|
.br
|
||||||
/usr/local/man/man1/emailrelay-submit.1.gz
|
/usr/local/man/man1/emailrelay-submit.1.gz
|
||||||
.br
|
.br
|
||||||
/usr/local/man/man1/emailrelay.1.gz
|
|
||||||
.br
|
|
||||||
/usr/local/sbin/emailrelay
|
/usr/local/sbin/emailrelay
|
||||||
.br
|
.br
|
||||||
/usr/local/sbin/emailrelay-passwd
|
/usr/local/sbin/emailrelay-passwd
|
||||||
.br
|
.br
|
||||||
/usr/local/sbin/emailrelay-submit
|
/usr/local/sbin/emailrelay-submit
|
||||||
.br
|
.br
|
||||||
/usr/local/share/emailrelay/doc/NEWS
|
|
||||||
.br
|
|
||||||
/usr/local/share/emailrelay/doc/README
|
|
||||||
.br
|
|
||||||
/usr/local/share/emailrelay/doc/changelog.gz
|
/usr/local/share/emailrelay/doc/changelog.gz
|
||||||
.br
|
.br
|
||||||
/usr/local/share/emailrelay/doc/changelog.html
|
/usr/local/share/emailrelay/doc/changelog.html
|
||||||
@ -200,8 +205,16 @@ GNU style...
|
|||||||
.br
|
.br
|
||||||
/usr/local/share/emailrelay/doc/emailrelay.css
|
/usr/local/share/emailrelay/doc/emailrelay.css
|
||||||
.br
|
.br
|
||||||
|
/usr/local/share/emailrelay/doc/emailrelay-man.html
|
||||||
|
.br
|
||||||
/usr/local/share/emailrelay/doc/index.html
|
/usr/local/share/emailrelay/doc/index.html
|
||||||
.br
|
.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
|
/usr/local/share/emailrelay/doc/readme.html
|
||||||
.br
|
.br
|
||||||
/usr/local/share/emailrelay/doc/reference.html
|
/usr/local/share/emailrelay/doc/reference.html
|
||||||
@ -222,6 +235,8 @@ GNU style...
|
|||||||
.LP
|
.LP
|
||||||
FHS style...
|
FHS style...
|
||||||
.br
|
.br
|
||||||
|
/etc/emailrelay.conf
|
||||||
|
.br
|
||||||
/etc/init.d/emailrelay
|
/etc/init.d/emailrelay
|
||||||
.br
|
.br
|
||||||
/usr/lib/emailrelay/emailrelay-poke
|
/usr/lib/emailrelay/emailrelay-poke
|
||||||
@ -232,10 +247,6 @@ FHS style...
|
|||||||
.br
|
.br
|
||||||
/usr/sbin/emailrelay-submit
|
/usr/sbin/emailrelay-submit
|
||||||
.br
|
.br
|
||||||
/usr/share/doc/emailrelay/NEWS
|
|
||||||
.br
|
|
||||||
/usr/share/doc/emailrelay/README
|
|
||||||
.br
|
|
||||||
/usr/share/doc/emailrelay/changelog.gz
|
/usr/share/doc/emailrelay/changelog.gz
|
||||||
.br
|
.br
|
||||||
/usr/share/doc/emailrelay/changelog.html
|
/usr/share/doc/emailrelay/changelog.html
|
||||||
@ -246,6 +257,8 @@ FHS style...
|
|||||||
.br
|
.br
|
||||||
/usr/share/doc/emailrelay/emailrelay.css
|
/usr/share/doc/emailrelay/emailrelay.css
|
||||||
.br
|
.br
|
||||||
|
/usr/share/doc/emailrelay/emailrelay-man.html
|
||||||
|
.br
|
||||||
/usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
/usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
||||||
.br
|
.br
|
||||||
/usr/share/doc/emailrelay/examples/emailrelay-notify.sh
|
/usr/share/doc/emailrelay/examples/emailrelay-notify.sh
|
||||||
@ -256,6 +269,12 @@ FHS style...
|
|||||||
.br
|
.br
|
||||||
/usr/share/doc/emailrelay/index.html
|
/usr/share/doc/emailrelay/index.html
|
||||||
.br
|
.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
|
/usr/share/doc/emailrelay/readme.html
|
||||||
.br
|
.br
|
||||||
/usr/share/doc/emailrelay/reference.html
|
/usr/share/doc/emailrelay/reference.html
|
||||||
@ -270,14 +289,14 @@ FHS style...
|
|||||||
.br
|
.br
|
||||||
/usr/share/doc/emailrelay/windows.txt
|
/usr/share/doc/emailrelay/windows.txt
|
||||||
.br
|
.br
|
||||||
|
/usr/share/man/man1/emailrelay.1.gz
|
||||||
|
.br
|
||||||
/usr/share/man/man1/emailrelay-passwd.1.gz
|
/usr/share/man/man1/emailrelay-passwd.1.gz
|
||||||
.br
|
.br
|
||||||
/usr/share/man/man1/emailrelay-poke.1.gz
|
/usr/share/man/man1/emailrelay-poke.1.gz
|
||||||
.br
|
.br
|
||||||
/usr/share/man/man1/emailrelay-submit.1.gz
|
/usr/share/man/man1/emailrelay-submit.1.gz
|
||||||
.br
|
.br
|
||||||
/usr/share/man/man1/emailrelay.1.gz
|
|
||||||
.br
|
|
||||||
/var/spool/emailrelay/emailrelay.*.content
|
/var/spool/emailrelay/emailrelay.*.content
|
||||||
.br
|
.br
|
||||||
/var/spool/emailrelay/emailrelay.*.envelope
|
/var/spool/emailrelay/emailrelay.*.envelope
|
||||||
|
@ -21,4 +21,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</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)
|
# --admin-terminate (-Q)
|
||||||
Enables the terminate command on the admin interface.
|
Enables the terminate command on the admin interface.
|
||||||
|
|
||||||
|
# --anonymous (-A)
|
||||||
|
Disables the smtp vrfy command and sends less verbose smtp responses.
|
||||||
|
|
||||||
# --as-client (-q)
|
# --as-client (-q)
|
||||||
Runs as a client, forwarding spooled mail to <host>: equivalent to "--log --no-syslog --no-daemon --dont-serve --forward --forward-to".
|
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).
|
Forwards stored mail on startup (requires --forward-to).
|
||||||
|
|
||||||
# --forward-to (-o)
|
# --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)
|
# --help (-h)
|
||||||
Displays help text and exits.
|
Displays help text and exits.
|
||||||
@ -92,7 +95,7 @@ where <switch> is:
|
|||||||
Specifies the smtp listening port number.
|
Specifies the smtp listening port number.
|
||||||
|
|
||||||
# --postmaster (-P)
|
# --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)
|
# --remote-clients (-r)
|
||||||
Allows remote clients to connect.
|
Allows remote clients to connect.
|
||||||
@ -130,13 +133,12 @@ behaviour is:
|
|||||||
* disable the administration interface
|
* disable the administration interface
|
||||||
* generate no logging or diagnostic messages
|
* generate no logging or diagnostic messages
|
||||||
|
|
||||||
The "--as-server" switch makes sure that logging is enabled and that
|
Adding the "--as-server" switch makes sure that logging is enabled and that the
|
||||||
the standard error stream is closed.
|
standard error stream is closed.
|
||||||
|
|
||||||
To foward spooled messages to the ISP the command-line switch "--as-client"
|
To forward spooled messages the "--as-client" switch is provided to run the program
|
||||||
is provided to run the program...
|
|
||||||
* in foreground, exiting when all spooled mail has been processed
|
* 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
|
* without listening on any port
|
||||||
* with error, warning and information messages sent to stderr
|
* with error, warning and information messages sent to stderr
|
||||||
* without using syslog
|
* 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
|
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.
|
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"
|
Also, the "list" command lists the messages in the spool directory, "info"
|
||||||
command provides network status information and activity statistics, and the
|
provides network status information and activity statistics, and "notify"
|
||||||
"notify" command enables asynchronous event notification.
|
enables asynchronous event notification.
|
||||||
|
|
||||||
Mail processing
|
Mail processing
|
||||||
---------------
|
---------------
|
||||||
@ -319,21 +321,24 @@ For Windows this example can be rewritten in JavaScript:
|
|||||||
}
|
}
|
||||||
WScript.Quit( 0 ) ;
|
WScript.Quit( 0 ) ;
|
||||||
|
|
||||||
Pre-processor programs written in JavaScript can be run with "cscript", using an
|
Windows pre-processor programs written in JavaScript can be run using "cscript",
|
||||||
E-MailRelay command line with a "--filter" switch something like this (V1.1.3
|
with an E-MailRelay "--filter" switch something like this (V1.1.3 or later):
|
||||||
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
|
Note how the space character in the path is escaped with a backslash.
|
||||||
distribution ("emailrelay-process.sh"). This does some simple MIME encoding, and
|
|
||||||
could be used as a template for more sophisticated message encryption.
|
|
||||||
|
|
||||||
There also a "--client-filter" switch that enables pre-processing of messages
|
As an example of more complex processing there is a "--filter" script included in
|
||||||
just before they are forwarded, rather then when stored. But note that by then
|
the distribution ("emailrelay-process.sh") that does rot-13 masking of messages.
|
||||||
it is too late to notify the SMTP client of any processing failures.
|
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.
|
* 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.
|
* Programs run with a reduced set of environment variables.
|
||||||
* The E-MailRelay process is completely blocked while the "--filter" program runs.
|
* 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
|
Address verification
|
||||||
--------------------
|
--------------------
|
||||||
In proxy mode all addresses supplied to the SMTP commands "RCPT" and "VRFY" are
|
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
|
accepted by E-MailRelay as valid. But in server mode (or more accurately when
|
||||||
"--postmater" is in effect) addresses are accepted if they contain an at sign
|
"--postmater" is in effect) addresses are only accepted if they contain an at
|
||||||
or if they are some sort of local "postmaster" address, as described in the SMTP
|
sign ("@") or if they are some sort of local "postmaster" address: "postmaster",
|
||||||
section above.
|
"postmaster@localhost" or "postmaster@<fqdn>".
|
||||||
|
|
||||||
However, this behaviour can be modified by using an external verifier program,
|
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
|
The external 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
|
address, (2) the user-name part of the address in upper-case, (3) the host-name
|
||||||
local host's fully qualified domain name, (5) the current "MAIL" command's "FROM:"
|
part in upper-case, (4) the local host's fully qualified domain name, (5) the
|
||||||
address or the empty string for the "VRFY" command, (6) the IP address of the
|
current "MAIL" command's "FROM:" address or the empty string for the "VRFY"
|
||||||
client connection, (7) the authentication mechanism used by the client ("NONE"
|
command, (6) the IP address of the client connection, (7) the authentication
|
||||||
if trusted), and (8) either the authentication name or the fourth field from
|
mechanism used by the client ("NONE" if trusted), and (8) either the
|
||||||
authentication secrets file if a trusted IP address.
|
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
|
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
|
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.
|
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
|
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
|
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;
|
few thousand characters are read from the verifier's standard output stream; any
|
||||||
any more is thrown away.)
|
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
|
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
|
an at sign:
|
||||||
switch:
|
|
||||||
|
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# verifier.sh
|
# verifier.sh
|
||||||
address="${1}"
|
address="$1"
|
||||||
user="${2}"
|
expr "${address}" : ".*@" > /dev/null || exit 2
|
||||||
host="${3}"
|
|
||||||
if test "${address}" != "${user}@${host}" ; then exit 2 ; fi
|
|
||||||
echo "${address}"
|
echo "${address}"
|
||||||
echo "${address}" # again
|
echo "${address}" # again
|
||||||
exit 1 # accept
|
exit 1 # accept
|
||||||
@ -390,7 +396,7 @@ by connecting on a trusted IP address:
|
|||||||
|
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# verifier.sh
|
# verifier.sh
|
||||||
address="${1}"
|
address="$1"
|
||||||
host="$3"
|
host="$3"
|
||||||
local_domain="$4"
|
local_domain="$4"
|
||||||
auth_mechanism="$7"
|
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"
|
Authentication is enabled with the "--auth-client" and "--auth-server"
|
||||||
command-line switches. The switch parameter is the name of a "secrets" file,
|
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
|
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
|
character (#) is used for comments.
|
||||||
fields: "mechanism", "client-or-server", "userid", and "secret". The "mechanism"
|
|
||||||
field must be "LOGIN" or "CRAM-MD5" (case-insensitive); the "client-or-server"
|
Lines have four white-space delimited fields:
|
||||||
field must be "client" or "server"; the "userid" field is xtext-encoded user
|
* "mechanism"
|
||||||
identifier; and the "secret" field is the xtext-encoded "LOGIN" password or
|
* "client-or-server"
|
||||||
"CRAM-MD5" key.
|
* "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
|
The "xtext" encoding scheme is defined properly in RFC1891, but basically it
|
||||||
says that non alphanumeric characters should be represented in hexadecimal as
|
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
|
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
|
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
|
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
|
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.
|
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"
|
is passed to any external address verifier program specified by the "--verifier"
|
||||||
command-line switch.
|
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:
|
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 a normal build from source, a "make install" puts files in the
|
||||||
following locations:
|
following locations:
|
||||||
|
* /usr/local/etc/emailrelay.conf
|
||||||
* /usr/local/libexec/emailrelay
|
* /usr/local/libexec/emailrelay
|
||||||
* /usr/local/libexec/emailrelay-deliver.sh
|
* /usr/local/libexec/emailrelay-deliver.sh
|
||||||
* /usr/local/libexec/emailrelay-notify.sh
|
* /usr/local/libexec/emailrelay-notify.sh
|
||||||
* /usr/local/libexec/emailrelay-poke
|
* /usr/local/libexec/emailrelay-poke
|
||||||
* /usr/local/libexec/emailrelay-process.sh
|
* /usr/local/libexec/emailrelay-process.sh
|
||||||
|
* /usr/local/libexec/emailrelay-resubmit.js
|
||||||
* /usr/local/libexec/emailrelay-resubmit.sh
|
* /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-passwd.1.gz
|
||||||
* /usr/local/man/man1/emailrelay-poke.1.gz
|
* /usr/local/man/man1/emailrelay-poke.1.gz
|
||||||
* /usr/local/man/man1/emailrelay-submit.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
|
||||||
* /usr/local/sbin/emailrelay-passwd
|
* /usr/local/sbin/emailrelay-passwd
|
||||||
* /usr/local/sbin/emailrelay-submit
|
* /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.gz
|
||||||
* /usr/local/share/emailrelay/doc/changelog.html
|
* /usr/local/share/emailrelay/doc/changelog.html
|
||||||
* /usr/local/share/emailrelay/doc/developer.html
|
* /usr/local/share/emailrelay/doc/developer.html
|
||||||
* /usr/local/share/emailrelay/doc/developer.txt
|
* /usr/local/share/emailrelay/doc/developer.txt
|
||||||
* /usr/local/share/emailrelay/doc/emailrelay.css
|
* /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/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/readme.html
|
||||||
* /usr/local/share/emailrelay/doc/reference.html
|
* /usr/local/share/emailrelay/doc/reference.html
|
||||||
* /usr/local/share/emailrelay/doc/reference.txt
|
* /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
|
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
|
"configure", as is done for the RPMs. This results in the following file
|
||||||
locations:
|
locations:
|
||||||
|
* /etc/emailrelay.conf
|
||||||
* /etc/init.d/emailrelay
|
* /etc/init.d/emailrelay
|
||||||
* /usr/lib/emailrelay/emailrelay-poke
|
* /usr/lib/emailrelay/emailrelay-poke
|
||||||
* /usr/sbin/emailrelay
|
* /usr/sbin/emailrelay
|
||||||
* /usr/sbin/emailrelay-passwd
|
* /usr/sbin/emailrelay-passwd
|
||||||
* /usr/sbin/emailrelay-submit
|
* /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.gz
|
||||||
* /usr/share/doc/emailrelay/changelog.html
|
* /usr/share/doc/emailrelay/changelog.html
|
||||||
* /usr/share/doc/emailrelay/developer.html
|
* /usr/share/doc/emailrelay/developer.html
|
||||||
* /usr/share/doc/emailrelay/developer.txt
|
* /usr/share/doc/emailrelay/developer.txt
|
||||||
* /usr/share/doc/emailrelay/emailrelay.css
|
* /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-deliver.sh
|
||||||
* /usr/share/doc/emailrelay/examples/emailrelay-notify.sh
|
* /usr/share/doc/emailrelay/examples/emailrelay-notify.sh
|
||||||
* /usr/share/doc/emailrelay/examples/emailrelay-process.sh
|
* /usr/share/doc/emailrelay/examples/emailrelay-process.sh
|
||||||
* /usr/share/doc/emailrelay/examples/emailrelay-resubmit.sh
|
* /usr/share/doc/emailrelay/examples/emailrelay-resubmit.sh
|
||||||
* /usr/share/doc/emailrelay/index.html
|
* /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/readme.html
|
||||||
* /usr/share/doc/emailrelay/reference.html
|
* /usr/share/doc/emailrelay/reference.html
|
||||||
* /usr/share/doc/emailrelay/reference.txt
|
* /usr/share/doc/emailrelay/reference.txt
|
||||||
@ -628,10 +651,10 @@ locations:
|
|||||||
* /usr/share/doc/emailrelay/userguide.txt
|
* /usr/share/doc/emailrelay/userguide.txt
|
||||||
* /usr/share/doc/emailrelay/windows.html
|
* /usr/share/doc/emailrelay/windows.html
|
||||||
* /usr/share/doc/emailrelay/windows.txt
|
* /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-passwd.1.gz
|
||||||
* /usr/share/man/man1/emailrelay-poke.1.gz
|
* /usr/share/man/man1/emailrelay-poke.1.gz
|
||||||
* /usr/share/man/man1/emailrelay-submit.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.*.content
|
||||||
* /var/spool/emailrelay/emailrelay.*.envelope
|
* /var/spool/emailrelay/emailrelay.*.envelope
|
||||||
|
|
||||||
@ -641,6 +664,7 @@ can be specified on the "configure" command-line (but note that the
|
|||||||
* e_sbindir
|
* e_sbindir
|
||||||
* e_libexecdir
|
* e_libexecdir
|
||||||
* e_docdir
|
* e_docdir
|
||||||
|
* e_sysconfdir
|
||||||
* e_initdir
|
* e_initdir
|
||||||
* e_spooldir
|
* e_spooldir
|
||||||
* e_man1dir
|
* 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
|
policies for message retries, bounces, local mailbox delivery, spam filtering
|
||||||
etc. through external scripts.
|
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:
|
Typical applications of E-MailRelay include:
|
||||||
* spam filtering and virus checking incoming mail
|
* spam filtering and virus checking incoming mail
|
||||||
* adding digital signatures or legal disclaimers to outgoing 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
|
* adding authentication where the existing infrastructure does not support it
|
||||||
* simple proxying on a firewall host or DMZ
|
* simple proxying on a firewall host or DMZ
|
||||||
|
|
||||||
Running E-MailRelay
|
Running E-MailRelay
|
||||||
-------------------
|
-------------------
|
||||||
To run the program as a proxy use the "--as-proxy" command-line switch, followed by the
|
To run the program as a proxy use the "--as-proxy" command-line switch followed
|
||||||
address of the target SMTP server. If you want to edit or filter e-mail as it passes
|
by the address of the target SMTP server. If you want to edit or filter e-mail
|
||||||
through the proxy then specify your pre-processor program with the "--filter" switch.
|
as it passes through the proxy then specify your pre-processor program with the
|
||||||
You can optionally change the listening port number using "--port" and the
|
"--filter" switch. You can optionally change the listening port number using
|
||||||
spool directory using "--spool-dir".
|
"--port" and the spool directory using "--spool-dir".
|
||||||
|
|
||||||
For example, to start up a local proxy which passes messages to some "addsig" script
|
For example, to start up a local proxy that passes messages to some "addsig"
|
||||||
and then forwards them to an MTA running on "smarthost", use a command like this:
|
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
|
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 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
|
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.
|
by the address of the target SMTP server.
|
||||||
|
|
||||||
For example, to start a storage daemon listening on port 10025 use a command
|
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
|
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
|
By default E-MailRelay will reject connections from remote machines. To
|
||||||
allow connections from anywhere use the "--remote-clients" switch.
|
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.
|
the order in which the links are called.
|
||||||
|
|
||||||
So the goal is to set up symbolic links to the "emailrelay" start/stop script
|
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".
|
"/usr/local/libexec".
|
||||||
|
|
||||||
Before you start you will need to know where your "init.d" directory can be
|
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
|
$ cp /usr/local/libexec/emailrelay /etc/init.d
|
||||||
|
|
||||||
Then determine an appropriate numeric value for the link names by looking at
|
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
|
$ cd /etc/init.d/rc5.d
|
||||||
$ ls *sendmail*
|
$ ls *sendmail*
|
||||||
@ -137,8 +144,8 @@ the "emailrelay" links in the same format:
|
|||||||
$ ln -s ../emailrelay S10emailrelay
|
$ ln -s ../emailrelay S10emailrelay
|
||||||
$ ln -s ../emailrelay K10emailrelay
|
$ ln -s ../emailrelay K10emailrelay
|
||||||
|
|
||||||
And finally remove sendmail from the run-level (otherwise both
|
And finally remove any incomatible SMTP servers from the run-level that might
|
||||||
daemons compete for the standard SMTP listening port):
|
otherwise compete for the same SMTP listening port:
|
||||||
|
|
||||||
$ cd /etc/init.d/rc5.d
|
$ cd /etc/init.d/rc5.d
|
||||||
$ rm *sendmail
|
$ rm *sendmail
|
||||||
@ -146,12 +153,12 @@ daemons compete for the standard SMTP listening port):
|
|||||||
Triggering onward delivery
|
Triggering onward delivery
|
||||||
--------------------------
|
--------------------------
|
||||||
If you are using E-MailRelay to store and forward e-mail over a dial-up link to
|
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.
|
E-MailRelay when to start forwarding.
|
||||||
|
|
||||||
This section assumes that you are using "pppd" to establish your dial-up
|
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
|
Internet connection. (KDE's "kppp" and Red Hat's "rp3" are graphical
|
||||||
front-ends to the underlying "pppd" daemon.)
|
front-ends to an underlying "pppd" daemon.)
|
||||||
|
|
||||||
The ppp daemon calls the script "/etc/ppp/ip-up" when it has successfully
|
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
|
established a dial-up link to your ISP. This script will probably set up IP
|
||||||
@ -208,8 +215,8 @@ too many times already.
|
|||||||
Logging
|
Logging
|
||||||
-------
|
-------
|
||||||
If the "--log" switch is used then E-MailRelay program issues warnings and error
|
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
|
messages to the "syslog" system using the "LOG_MAIL" facility. Under Windows it
|
||||||
it writes to the "Application" event log.
|
writes to the "Application" event log.
|
||||||
|
|
||||||
The "syslog" system is configured through the "/etc/syslog.conf" file (try
|
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
|
"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
|
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".
|
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
|
Once connected you should get a startup banner from the server, which may tell
|
||||||
probably tell you what server software you have connected to. From there you
|
you what server software you have connected to. From there you should type
|
||||||
should type something like "EHLO myhost.mydomain". The response to the EHLO
|
something like "EHLO myhost.mydomain". The response to the EHLO command should
|
||||||
command should contain a list of SMTP extensions which the server software
|
contain a list of SMTP extensions which the server software supports. If this
|
||||||
supports. If this includes the AUTH extension then the set of supported
|
includes the AUTH extension then the set of supported authentication mechanisms
|
||||||
authentication mechanisms (such as LOGIN, CRAM-MD5 etc.) will be listed on the
|
(such as LOGIN, CRAM-MD5 etc.) will be listed on the same line.
|
||||||
same line.
|
|
||||||
|
|
||||||
After the EHLO response you should type "MAIL FROM:<myhost.mydomain>", retaining
|
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
|
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.
|
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
|
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
|
message should get dispatched, and eventually end up in your in-box in the usual
|
||||||
(assuming you put your own address in the "RCPT TO" command).
|
way (assuming you put your own address in the "RCPT TO" command).
|
||||||
|
|
||||||
The following is an example SMTP dialogue, with ">>" and "<<" marks added to
|
The following is an example SMTP dialogue, with ">>" and "<<" marks added to
|
||||||
show what was typed and what was received:
|
show what was typed and what was received:
|
||||||
@ -331,9 +337,9 @@ not authenticated. Again, refer to the reference guide for further details.
|
|||||||
SpamAssassin
|
SpamAssassin
|
||||||
------------
|
------------
|
||||||
The E-MailRelay server can use *Spam Assassin* [http://spamassassin.org] to mark
|
The E-MailRelay server can use *Spam Assassin* [http://spamassassin.org] to mark
|
||||||
potential spam by having a small shell script which calls "spamassassin"
|
potential spam. To do this you will need to have a small shell script to call
|
||||||
installed as the E-MailRelay mail pre-processor using the "--filter" command-line
|
"spamassassin", and pass the name of this script to E-MailRelay using the
|
||||||
switch.
|
"--filter" command-line switch.
|
||||||
|
|
||||||
Your "--filter" shell script could look something like this:
|
Your "--filter" shell script could look something like this:
|
||||||
|
|
||||||
@ -364,13 +370,18 @@ to the exit code:
|
|||||||
exit 0
|
exit 0
|
||||||
|
|
||||||
On Windows there is less of a problem with carriage returns, but because
|
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
|
An example JavaScript wrapper called "emailrelay-runperl.js" is included in
|
||||||
the distribution that by default calls "spamassassin".
|
the distribution that by default calls "spamassassin".
|
||||||
|
|
||||||
Try an E-MailRelay command line like this:
|
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
|
But note that you may have to add explicit paths if perl or spamassassin are not
|
||||||
on your path.
|
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
|
E-MailRelay was originally developed on Linux and so most of the documentation
|
||||||
relates to Unix-like operating systems rather than Microsoft Windows. This
|
relates to Unix-like operating systems rather than Microsoft Windows. This
|
||||||
document provides some help on installing and setting up E-MailRelay as a
|
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
|
Quick start
|
||||||
------------
|
------------
|
||||||
In summary, the Windows installation process is as follows:
|
In summary, the Windows installation process is as follows:
|
||||||
* Unpack the zip file to "Program Files\emailrelay".
|
* 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 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.
|
* 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.
|
* 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
|
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
|
"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
|
Summary: Simple e-mail message transfer agent using SMTP
|
||||||
Name: emailrelay
|
Name: emailrelay
|
||||||
Version: 1.2
|
Version: 1.3
|
||||||
Release: 1
|
Release: 1
|
||||||
Copyright: GPL
|
Copyright: GPL
|
||||||
Group: System Environment/Daemons
|
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
|
BuildRoot: /tmp/emailrelay-install
|
||||||
|
|
||||||
%define prefix /usr
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
E-MailRelay is a simple SMTP proxy and store-and-forward message transfer agent
|
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
|
(MTA). When running as a proxy all e-mail messages can be passed through a
|
||||||
@ -28,11 +26,11 @@ Distribution is under the GNU General Public License.
|
|||||||
%setup
|
%setup
|
||||||
|
|
||||||
%build
|
%build
|
||||||
./configure --enable-fhs
|
./configure --enable-fhs --without-man2html --without-doxygen
|
||||||
make HAVE_DOXYGEN=no HAVE_MAN2HTML=no
|
make
|
||||||
|
|
||||||
%install
|
%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
|
%post
|
||||||
test -f /usr/lib/lsb/install_initd && cd /etc/init.d && /usr/lib/lsb/install_initd emailrelay || true
|
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
|
test $1 -eq 0 && test -f /usr/lib/lsb/remove_initd && cd /etc/init.d && /usr/lib/lsb/remove_initd emailrelay || true
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
test "$RPM_BUILD_ROOT" = "/" || rm -rf "$RPM_BUILD_ROOT"
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
|
||||||
|
%config /etc/emailrelay.conf
|
||||||
/etc/init.d/emailrelay
|
/etc/init.d/emailrelay
|
||||||
%{prefix}/lib/emailrelay/emailrelay-poke
|
/usr/lib/emailrelay/emailrelay-poke
|
||||||
%{prefix}/sbin/emailrelay
|
/usr/sbin/emailrelay
|
||||||
%{prefix}/sbin/emailrelay-passwd
|
/usr/sbin/emailrelay-passwd
|
||||||
%{prefix}/sbin/emailrelay-submit
|
/usr/sbin/emailrelay-submit
|
||||||
%{prefix}/share/doc/emailrelay/NEWS
|
/usr/share/doc/emailrelay/changelog.gz
|
||||||
%{prefix}/share/doc/emailrelay/README
|
/usr/share/doc/emailrelay/changelog.html
|
||||||
%{prefix}/share/doc/emailrelay/changelog.gz
|
/usr/share/doc/emailrelay/developer.html
|
||||||
%{prefix}/share/doc/emailrelay/changelog.html
|
/usr/share/doc/emailrelay/developer.txt
|
||||||
%{prefix}/share/doc/emailrelay/developer.html
|
/usr/share/doc/emailrelay/emailrelay.css
|
||||||
%{prefix}/share/doc/emailrelay/developer.txt
|
/usr/share/doc/emailrelay/emailrelay-man.html
|
||||||
%{prefix}/share/doc/emailrelay/emailrelay.css
|
/usr/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
||||||
%{prefix}/share/doc/emailrelay/examples/emailrelay-deliver.sh
|
/usr/share/doc/emailrelay/examples/emailrelay-notify.sh
|
||||||
%{prefix}/share/doc/emailrelay/examples/emailrelay-notify.sh
|
/usr/share/doc/emailrelay/examples/emailrelay-process.sh
|
||||||
%{prefix}/share/doc/emailrelay/examples/emailrelay-process.sh
|
/usr/share/doc/emailrelay/examples/emailrelay-resubmit.sh
|
||||||
%{prefix}/share/doc/emailrelay/examples/emailrelay-resubmit.sh
|
/usr/share/doc/emailrelay/index.html
|
||||||
%{prefix}/share/doc/emailrelay/index.html
|
/usr/share/doc/emailrelay/NEWS
|
||||||
%{prefix}/share/doc/emailrelay/readme.html
|
/usr/share/doc/emailrelay/*.png
|
||||||
%{prefix}/share/doc/emailrelay/reference.html
|
/usr/share/doc/emailrelay/README
|
||||||
%{prefix}/share/doc/emailrelay/reference.txt
|
/usr/share/doc/emailrelay/readme.html
|
||||||
%{prefix}/share/doc/emailrelay/userguide.html
|
/usr/share/doc/emailrelay/reference.html
|
||||||
%{prefix}/share/doc/emailrelay/userguide.txt
|
/usr/share/doc/emailrelay/reference.txt
|
||||||
%{prefix}/share/doc/emailrelay/windows.html
|
/usr/share/doc/emailrelay/userguide.html
|
||||||
%{prefix}/share/doc/emailrelay/windows.txt
|
/usr/share/doc/emailrelay/userguide.txt
|
||||||
%{prefix}/share/man/man1/emailrelay-passwd.1.gz
|
/usr/share/doc/emailrelay/windows.html
|
||||||
%{prefix}/share/man/man1/emailrelay-poke.1.gz
|
/usr/share/doc/emailrelay/windows.txt
|
||||||
%{prefix}/share/man/man1/emailrelay-submit.1.gz
|
/usr/share/man/man1/emailrelay.1.gz
|
||||||
%{prefix}/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/
|
/var/spool/emailrelay/
|
||||||
|
|
||||||
%changelog
|
%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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## 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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -140,7 +141,7 @@ RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
|
|||||||
all-recursive install-data-recursive install-exec-recursive \
|
all-recursive install-data-recursive install-exec-recursive \
|
||||||
installdirs-recursive install-recursive uninstall-recursive \
|
installdirs-recursive install-recursive uninstall-recursive \
|
||||||
check-recursive installcheck-recursive
|
check-recursive installcheck-recursive
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
DIST_SUBDIRS = $(SUBDIRS)
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
all: all-recursive
|
all: all-recursive
|
||||||
|
|
||||||
@ -345,7 +346,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -355,7 +356,7 @@ clean: clean-recursive
|
|||||||
clean-am: clean-generic mostlyclean-am
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic distclean-tags
|
distclean-am: clean-am distclean-generic distclean-tags
|
||||||
|
|
||||||
dvi: dvi-recursive
|
dvi: dvi-recursive
|
||||||
@ -377,7 +378,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-recursive
|
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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## 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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -111,6 +111,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -135,7 +136,7 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
|||||||
CONFIG_HEADER = $(top_builddir)/config.h
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
@ -207,7 +208,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -217,7 +218,7 @@ clean: clean-am
|
|||||||
clean-am: clean-generic mostlyclean-am
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
dvi: dvi-am
|
dvi: dvi-am
|
||||||
@ -239,7 +240,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## 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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -111,6 +111,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -128,14 +129,14 @@ sharedstatedir = @sharedstatedir@
|
|||||||
sysconfdir = @sysconfdir@
|
sysconfdir = @sysconfdir@
|
||||||
target_alias = @target_alias@
|
target_alias = @target_alias@
|
||||||
|
|
||||||
EXTRA_DIST = cstdio cstdlib cstring ctime cmath
|
EXTRA_DIST = cstdio cstdlib cstring ctime cmath cstddef
|
||||||
subdir = lib/msvc6.0
|
subdir = lib/msvc6.0
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
CONFIG_HEADER = $(top_builddir)/config.h
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
@ -207,7 +208,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -217,7 +218,7 @@ clean: clean-am
|
|||||||
clean-am: clean-generic mostlyclean-am
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
dvi: dvi-am
|
dvi: dvi-am
|
||||||
@ -239,7 +240,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -25,6 +25,7 @@
|
|||||||
#define G_PORT_CSTDIO_H
|
#define G_PORT_CSTDIO_H
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
using ::remove ;
|
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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -24,7 +24,8 @@
|
|||||||
#ifndef G_PORT_CSTDLIB_H
|
#ifndef G_PORT_CSTDLIB_H
|
||||||
#define G_PORT_CSTDLIB_H
|
#define G_PORT_CSTDLIB_H
|
||||||
|
|
||||||
#include "stdlib.h"
|
#include <stdlib.h>
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
using ::rand ;
|
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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -24,7 +24,8 @@
|
|||||||
#ifndef G_PORT_CSTRING_H
|
#ifndef G_PORT_CSTRING_H
|
||||||
#define G_PORT_CSTRING_H
|
#define G_PORT_CSTRING_H
|
||||||
|
|
||||||
#include "string.h"
|
#include <string.h>
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
using ::strlen ;
|
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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -25,6 +25,7 @@
|
|||||||
#define G_PORT_CTIME_H
|
#define G_PORT_CTIME_H
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
namespace std
|
namespace std
|
||||||
{
|
{
|
||||||
using ::time_t ;
|
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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## 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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -134,7 +135,7 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
|||||||
CONFIG_HEADER = $(top_builddir)/config.h
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
DIST_SOURCES =
|
DIST_SOURCES =
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
@ -206,7 +207,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -216,7 +217,7 @@ clean: clean-am
|
|||||||
clean-am: clean-generic mostlyclean-am
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic
|
distclean-am: clean-am distclean-generic
|
||||||
|
|
||||||
dvi: dvi-am
|
dvi: dvi-am
|
||||||
@ -238,7 +239,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
mostlyclean: mostlyclean-am
|
||||||
|
@ -1,5 +1,24 @@
|
|||||||
#!/bin/sh
|
#!/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
|
# xar
|
||||||
#
|
#
|
||||||
# A replacement for 'ar' that does 'CC -xar' ignoring
|
# A replacement for 'ar' that does 'CC -xar' ignoring
|
||||||
|
6
missing
6
missing
@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Common stub for a few missing GNU programs while installing.
|
# 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.
|
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
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
|
system. You might have modified some files without having the
|
||||||
proper tools for further handling them.
|
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."
|
archive site."
|
||||||
|
|
||||||
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
|
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
|
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
|
system. You might have modified some files without having the
|
||||||
proper tools for further handling them. Check the \`README' file,
|
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
|
this package. You may also peek at any GNU archive site, in case
|
||||||
some other package would contain this missing \`$1' program."
|
some other package would contain this missing \`$1' program."
|
||||||
exit 1
|
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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## modify it under the terms of the GNU General Public License
|
||||||
@ -17,5 +17,5 @@
|
|||||||
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
##
|
##
|
||||||
#
|
#
|
||||||
SUBDIRS = glib gnet gsmtp main win32
|
|
||||||
EXTRA_DIST = mingw.mak mingw-common.mak
|
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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -127,8 +128,8 @@ target_alias = @target_alias@
|
|||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
SUBDIRS = glib gnet gsmtp main win32
|
|
||||||
EXTRA_DIST = mingw.mak mingw-common.mak
|
EXTRA_DIST = mingw.mak mingw-common.mak
|
||||||
|
SUBDIRS = glib gnet gsmtp main win32
|
||||||
subdir = src
|
subdir = src
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
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 \
|
all-recursive install-data-recursive install-exec-recursive \
|
||||||
installdirs-recursive install-recursive uninstall-recursive \
|
installdirs-recursive install-recursive uninstall-recursive \
|
||||||
check-recursive installcheck-recursive
|
check-recursive installcheck-recursive
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
DIST_SUBDIRS = $(SUBDIRS)
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
all: all-recursive
|
all: all-recursive
|
||||||
|
|
||||||
@ -346,7 +347,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -356,7 +357,7 @@ clean: clean-recursive
|
|||||||
clean-am: clean-generic mostlyclean-am
|
clean-am: clean-generic mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -f Makefile
|
|
||||||
distclean-am: clean-am distclean-generic distclean-tags
|
distclean-am: clean-am distclean-generic distclean-tags
|
||||||
|
|
||||||
dvi: dvi-recursive
|
dvi: dvi-recursive
|
||||||
@ -378,7 +379,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-recursive
|
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
|
## This program is free software; you can redistribute it and/or
|
||||||
## modify it under the terms of the GNU General Public License
|
## modify it under the terms of the GNU General Public License
|
||||||
@ -31,12 +31,12 @@ EXTRA_DIST=\
|
|||||||
gfile_win32.cpp \
|
gfile_win32.cpp \
|
||||||
gregistry_win32.cpp \
|
gregistry_win32.cpp \
|
||||||
gregistry.h \
|
gregistry.h \
|
||||||
md5c.c \
|
|
||||||
md5.h \
|
|
||||||
mingw.mak
|
mingw.mak
|
||||||
INCLUDES = -I$(top_srcdir)/lib/$(COMPILER_VERSION)
|
INCLUDES = -I$(top_srcdir)/lib/$(COMPILER_VERSION)
|
||||||
noinst_LIBRARIES = libglib.a
|
noinst_LIBRARIES = libglib.a
|
||||||
libglib_a_SOURCES = \
|
libglib_a_SOURCES = \
|
||||||
|
md5.cpp \
|
||||||
|
md5.h \
|
||||||
garg.cpp \
|
garg.cpp \
|
||||||
garg.h \
|
garg.h \
|
||||||
garg_unix.cpp \
|
garg_unix.cpp \
|
||||||
@ -74,7 +74,7 @@ libglib_a_SOURCES = \
|
|||||||
glogoutput.cpp \
|
glogoutput.cpp \
|
||||||
glogoutput.h \
|
glogoutput.h \
|
||||||
glogoutput_unix.cpp \
|
glogoutput_unix.cpp \
|
||||||
gmd5_rsa.cpp \
|
gmd5_native.cpp \
|
||||||
gmd5.h \
|
gmd5.h \
|
||||||
gmemory.h \
|
gmemory.h \
|
||||||
gnoncopyable.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@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
|
||||||
@ -108,6 +108,7 @@ e_libexecdir = @e_libexecdir@
|
|||||||
e_man1dir = @e_man1dir@
|
e_man1dir = @e_man1dir@
|
||||||
e_sbindir = @e_sbindir@
|
e_sbindir = @e_sbindir@
|
||||||
e_spooldir = @e_spooldir@
|
e_spooldir = @e_spooldir@
|
||||||
|
e_sysconfdir = @e_sysconfdir@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
host_alias = @host_alias@
|
host_alias = @host_alias@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
@ -141,13 +142,13 @@ EXTRA_DIST = \
|
|||||||
gfile_win32.cpp \
|
gfile_win32.cpp \
|
||||||
gregistry_win32.cpp \
|
gregistry_win32.cpp \
|
||||||
gregistry.h \
|
gregistry.h \
|
||||||
md5c.c \
|
|
||||||
md5.h \
|
|
||||||
mingw.mak
|
mingw.mak
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/lib/$(COMPILER_VERSION)
|
INCLUDES = -I$(top_srcdir)/lib/$(COMPILER_VERSION)
|
||||||
noinst_LIBRARIES = libglib.a
|
noinst_LIBRARIES = libglib.a
|
||||||
libglib_a_SOURCES = \
|
libglib_a_SOURCES = \
|
||||||
|
md5.cpp \
|
||||||
|
md5.h \
|
||||||
garg.cpp \
|
garg.cpp \
|
||||||
garg.h \
|
garg.h \
|
||||||
garg_unix.cpp \
|
garg_unix.cpp \
|
||||||
@ -185,7 +186,7 @@ libglib_a_SOURCES = \
|
|||||||
glogoutput.cpp \
|
glogoutput.cpp \
|
||||||
glogoutput.h \
|
glogoutput.h \
|
||||||
glogoutput_unix.cpp \
|
glogoutput_unix.cpp \
|
||||||
gmd5_rsa.cpp \
|
gmd5_native.cpp \
|
||||||
gmd5.h \
|
gmd5.h \
|
||||||
gmemory.h \
|
gmemory.h \
|
||||||
gnoncopyable.h \
|
gnoncopyable.h \
|
||||||
@ -216,14 +217,14 @@ LIBRARIES = $(noinst_LIBRARIES)
|
|||||||
|
|
||||||
libglib_a_AR = $(AR) cru
|
libglib_a_AR = $(AR) cru
|
||||||
libglib_a_LIBADD =
|
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) \
|
gcleanup_unix.$(OBJEXT) gdaemon_unix.$(OBJEXT) gdate.$(OBJEXT) \
|
||||||
gdatetime.$(OBJEXT) gdatetime_unix.$(OBJEXT) \
|
gdatetime.$(OBJEXT) gdatetime_unix.$(OBJEXT) \
|
||||||
gdirectory.$(OBJEXT) gdirectory_unix.$(OBJEXT) \
|
gdirectory.$(OBJEXT) gdirectory_unix.$(OBJEXT) \
|
||||||
gexception.$(OBJEXT) gexe.$(OBJEXT) gfile.$(OBJEXT) \
|
gexception.$(OBJEXT) gexe.$(OBJEXT) gfile.$(OBJEXT) \
|
||||||
gfile_unix.$(OBJEXT) gfs_unix.$(OBJEXT) ggetopt.$(OBJEXT) \
|
gfile_unix.$(OBJEXT) gfs_unix.$(OBJEXT) ggetopt.$(OBJEXT) \
|
||||||
gidentity_unix.$(OBJEXT) glog.$(OBJEXT) glogoutput.$(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) \
|
gpidfile.$(OBJEXT) gprocess_unix.$(OBJEXT) groot.$(OBJEXT) \
|
||||||
gslot.$(OBJEXT) gstr.$(OBJEXT) gtime.$(OBJEXT)
|
gslot.$(OBJEXT) gstr.$(OBJEXT) gtime.$(OBJEXT)
|
||||||
libglib_a_OBJECTS = $(am_libglib_a_OBJECTS)
|
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)/gidentity_unix.Po ./$(DEPDIR)/glog.Po \
|
||||||
@AMDEP_TRUE@ ./$(DEPDIR)/glogoutput.Po \
|
@AMDEP_TRUE@ ./$(DEPDIR)/glogoutput.Po \
|
||||||
@AMDEP_TRUE@ ./$(DEPDIR)/glogoutput_unix.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)/gpidfile.Po \
|
||||||
@AMDEP_TRUE@ ./$(DEPDIR)/gprocess_unix.Po ./$(DEPDIR)/groot.Po \
|
@AMDEP_TRUE@ ./$(DEPDIR)/gprocess_unix.Po ./$(DEPDIR)/groot.Po \
|
||||||
@AMDEP_TRUE@ ./$(DEPDIR)/gslot.Po ./$(DEPDIR)/gstr.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) \
|
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||||
CXXLD = $(CXX)
|
CXXLD = $(CXX)
|
||||||
@ -259,7 +260,7 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
|||||||
CCLD = $(CC)
|
CCLD = $(CC)
|
||||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||||
DIST_SOURCES = $(libglib_a_SOURCES)
|
DIST_SOURCES = $(libglib_a_SOURCES)
|
||||||
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
|
DIST_COMMON = Makefile.am Makefile.in
|
||||||
SOURCES = $(libglib_a_SOURCES)
|
SOURCES = $(libglib_a_SOURCES)
|
||||||
|
|
||||||
all: all-am
|
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)/glog.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glogoutput.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)/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)/gpath.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpidfile.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@
|
@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)/gslot.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gstr.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)/gtime.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
|
||||||
|
|
||||||
|
distclean-depend:
|
||||||
|
-rm -rf ./$(DEPDIR)
|
||||||
|
|
||||||
.cpp.o:
|
.cpp.o:
|
||||||
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
|
||||||
@ -445,7 +450,7 @@ mostlyclean-generic:
|
|||||||
clean-generic:
|
clean-generic:
|
||||||
|
|
||||||
distclean-generic:
|
distclean-generic:
|
||||||
-rm -f $(CONFIG_CLEAN_FILES)
|
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
maintainer-clean-generic:
|
maintainer-clean-generic:
|
||||||
@echo "This command is intended for maintainers to use"
|
@echo "This command is intended for maintainers to use"
|
||||||
@ -455,10 +460,9 @@ clean: clean-am
|
|||||||
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
|
||||||
-rm -f Makefile
|
distclean-am: clean-am distclean-compile distclean-depend \
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-generic distclean-tags
|
||||||
distclean-tags
|
|
||||||
|
|
||||||
dvi: dvi-am
|
dvi: dvi-am
|
||||||
|
|
||||||
@ -479,8 +483,7 @@ install-man:
|
|||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
|
||||||
-rm -f Makefile
|
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
mostlyclean: mostlyclean-am
|
mostlyclean: mostlyclean-am
|
||||||
@ -499,13 +502,14 @@ uninstall-am: uninstall-info-am
|
|||||||
|
|
||||||
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
|
||||||
clean-noinstLIBRARIES ctags distclean distclean-compile \
|
clean-noinstLIBRARIES ctags distclean distclean-compile \
|
||||||
distclean-generic distclean-tags distdir dvi dvi-am info \
|
distclean-depend distclean-generic distclean-tags distdir dvi \
|
||||||
info-am install install-am install-data install-data-am \
|
dvi-am info info-am install install-am install-data \
|
||||||
install-exec install-exec-am install-info install-info-am \
|
install-data-am install-exec install-exec-am install-info \
|
||||||
install-man install-strip installcheck installcheck-am \
|
install-info-am install-man install-strip installcheck \
|
||||||
installdirs maintainer-clean maintainer-clean-generic \
|
installcheck-am installdirs maintainer-clean \
|
||||||
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
|
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||||
ps ps-am tags uninstall uninstall-am uninstall-info-am
|
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.
|
# 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.
|
# 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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 ) ;
|
void removeAt( size_t sw_index , size_t sw_args = 0U ) ;
|
||||||
// Removes the given argument and the
|
// Removes the given argument and the
|
||||||
// following <sw_args> ones.
|
// following 'sw_args' ones.
|
||||||
|
|
||||||
Arg & operator=( const Arg & ) ;
|
Arg & operator=( const Arg & ) ;
|
||||||
// Assignment operator.
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -26,6 +26,7 @@
|
|||||||
#include "gdebug.h"
|
#include "gdebug.h"
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
//static
|
//static
|
||||||
int G::Date::yearUpperLimit()
|
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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -37,7 +37,7 @@ namespace G
|
|||||||
|
|
||||||
// Class: G::Date
|
// Class: G::Date
|
||||||
// Description: A date (dd/mm/yyyy) class.
|
// Description: A date (dd/mm/yyyy) class.
|
||||||
// See also: Time, DateTime
|
// See also: G::Time, G::DateTime
|
||||||
//
|
//
|
||||||
class G::Date
|
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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -145,6 +145,10 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Pull some std types into the global namespace
|
||||||
|
//
|
||||||
|
using std::size_t ;
|
||||||
|
|
||||||
// Modify compiler error handling
|
// Modify compiler error handling
|
||||||
//
|
//
|
||||||
#if defined(G_COMPILER_IS_MICROSOFT)
|
#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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// Description: An encapsulation of a file system directory
|
||||||
// which allows for iterating through the set of contained
|
// which allows for iterating through the set of contained
|
||||||
// files.
|
// files.
|
||||||
// See also: Path, FileSystem, File
|
// See also: G::Path, G::FileSystem, G::File
|
||||||
//
|
//
|
||||||
class G::Directory
|
class G::Directory
|
||||||
{
|
{
|
||||||
@ -119,7 +119,7 @@ public:
|
|||||||
|
|
||||||
std::string sizeString() const ;
|
std::string sizeString() const ;
|
||||||
// Returns the file size as a decimal string. The value
|
// 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 ;
|
Path filePath() const ;
|
||||||
// Returns the path of the current item.
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// modify it under the terms of the GNU General Public License
|
||||||
@ -37,7 +37,7 @@ namespace G
|
|||||||
|
|
||||||
// Class: G::File
|
// Class: G::File
|
||||||
// Description: A simple static class for dealing with files.
|
// 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
|
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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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
|
// This program is free software; you can redistribute it and/or
|
||||||
// modify it under the terms of the GNU General Public License
|
// 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