Compare commits

..

No commits in common. "bd28a4cc376b6f0600d331fe8b1d9138c5dbac6e" and "ae5a180410dac701068759ec7cd92d398d051661" have entirely different histories.

12 changed files with 141 additions and 146 deletions

2
.gitignore vendored
View File

@ -34,8 +34,6 @@ Makefile.in
/doc/petidomo.aux
/doc/petidomo.css
/doc/petidomo.dvi
/doc/petidomo.fdb_latexmk
/doc/petidomo.fls
/doc/petidomo.html
/doc/petidomo.idv
/doc/petidomo.lg

View File

@ -12,7 +12,6 @@ addons:
- texlive
- texlive-latex-extra
- tex4ht
- latexmk
install:
- git clone --depth=1 git://git.savannah.gnu.org/gnulib.git

View File

@ -5,7 +5,7 @@
ACLOCAL_AMFLAGS = -I build-aux
AM_YFLAGS = -d
SUBDIRS = libgnu libargv libtext liblists libmpools librfc822 libconfigfile doc
SUBDIRS = libgnu libargv libtext liblists librfc822 libmpools libconfigfile doc
sbin_PROGRAMS = petidomo

View File

@ -4,8 +4,6 @@ set -eu
if [ -x "gnulib/gnulib-tool" ]; then
gnulibtool=gnulib/gnulib-tool
elif [ -x "../gnulib/gnulib-tool" ]; then
gnulibtool=../gnulib/gnulib-tool
else
gnulibtool=gnulib-tool
fi

View File

@ -1,5 +1,5 @@
How to use the Petidomo mailing list server
*******************************************
How to use the Petidomo 2.x mailing list server
***********************************************
Petidomo is an automatic mailing list server, which maintains mailing lists
without any human interaction. The program understands a set of commands
@ -8,38 +8,38 @@ lists you are subscribed on. These commands will be explained in the
following paragraphs:
SUBSCRIBE
The "subscribe" command will add your address to a mailing list.
Usually sending an e-mail to the server with only this word in the
body of the mail will do the right thing for you. In case you want
to subscribe an address not equal to the one you are mailing from,
you can add this address as parameter to the command, like this:
The "subscribe" command will add your address to a mailing list.
Usually sending an e-mail to the server with only this word in the
body of the mail will do the right thing for you. In case you want
to subscribe an address not equal to the one you are mailing from,
you can add this address as parameter to the command, like this:
subscribe user@site.domain.net
subscribe user@site.domain.net
Please note that many list servers to do not allow to subscribe
other addresses than your own, though, because this feature can be
abused.
Please note that many list servers to do not allow to subscribe
other addresses than your own, though, because this feature can be
abused.
UNSUBSCRIBE
Syntax and usage of the "unsubscribe" command are the same as with
the "subscribe" command, the purpose is a bit different though:
Sending this command to the server will remove your address from
the mailing list.
Syntax and usage of the "unsubscribe" command are the same as with
the "subscribe" command, the purpose is a bit different though:
Sending this command to the server will remove your address from
the mailing list.
INDEX
The "index" command does not need any parameters. Sending it to the
server will get you a list of available mailing lists on this
server. This is useful in case you want to subscribe to a list but
can't remember the exact name anymore.
The "index" command does not need any parameters. Sending it to the
server will get you a list of available mailing lists on this
server. This is useful in case you want to subscribe to a list but
can't remember the exact name anymore.
HELP
The "help" command will make the list server send you this file.
The "help" command will make the list server send you this file.
HELP listname
If you specify a parameter after the "help" command, the server
will send you the description of this mailing list back. The
description usually contains the topic and purpose of the mailing
list.
If you specify a parameter after the "help" command, the server
will send you the description of this mailing list back. The
description usually contains the topic and purpose of the mailing
list.
Commands must begin at the first column on each line in the mail, to
be recognized. Lines which do not contain a command will be ignored.

View File

@ -2,10 +2,10 @@
# The following types of mailing lists exists:
#
# open -- The list is open for all postings which are not rejected
# due to the access control mechanism.
# due to the access control mechanism.
# closed -- Only subscribers are allowed to post.
# moderated -- Only postings which contain the correct posting
# password are allowed.
# password are allowed.
# acknowledged -- Every attempt to post will be answered with
# a request for acknowledgment, asking the poster to
# confirm. This prevents abuse and forgery.
@ -13,30 +13,30 @@
# acknowledge his posting once, after that, he can post
# as he wishes.
#
# The default, if this option is unset, is an open mailing list.
ListType open
# The default, if this option is unset, is an open mailing list.
ListType open
# TAG: SubscriptionType <public|admin|acknowledged>
# public -- Everybody can subscribe and unsubscribe.
# public -- Everybody can subscribe and unsubscribe.
# admin -- Un-/subscription can only be done by the admin.
# Authenticiation is done via password mechanism.
# Authenticiation is done via password mechanism.
# acknowledged -- Anybody can un-/subscribe, but he has to
# acknowledge the request sent to the address add to or
# deleted from the list.
#
# The default, if this option is unset, is to allow public
# subscription and unsubscription.
SubscriptionType public
# The default, if this option is unset, is to allow public
# subscription and unsubscription.
SubscriptionType public
# TAG: AllowMembersCommand <yes|no>
# Does the 'members' or 'who' command work for this mailing list, or
# do you want to keep the addresses of the subscribers confidential?
# Set this option to 'yes' to allow the 'members'-command, or set it
# to 'no' to disallow it.
# Does the 'members' or 'who' command work for this mailing list, or
# do you want to keep the addresses of the subscribers confidential?
# Set this option to 'yes' to allow the 'members'-command, or set it
# to 'no' to disallow it.
#
# The default, if the option is unset, is NOT to allow the 'members'-
# command.
AllowMembersCommand no
# command.
AllowMembersCommand no
# TAG: Hostname <string>
# This entry specifies the fully qualified domain name, Petidomo
@ -51,41 +51,41 @@ AllowMembersCommand no
# Hosting''.
#
# If this option is unset, Petidomo will use the name that has
# been specified in the master config file, ~petidomo/etc/petidomo.conf.
# been specified in the master config file, ~petidomo/etc/petidomo.conf.
#Hostname host.domain.net
# TAG: AdminPassword <string>
# This tag sets the master password, which authenticiates the
# administrator of this mailing list. The administrator has
# special priviledes, such as deleting other users, overriding
# access control restrictions or un-/subscribing users to closed
# mailing lists. Passwords are always case-insensitive.
# administrator of this mailing list. The administrator has
# special priviledes, such as deleting other users, overriding
# access control restrictions or un-/subscribing users to closed
# mailing lists. Passwords are always case-insensitive.
#
# Leave this entry blank, if you don't want to enable remote
# administration of the mailing list. This is not recommended,
# though, because you will have to edit all files manually,
# then.
# administration of the mailing list. This is not recommended,
# though, because you will have to edit all files manually,
# then.
#AdminPassword "open sesame"
# TAG: PostingPassword <string>
# The posting password must be specified when posting to closed
# or moderated mailing lists, or the server will reject the
# article and forward it to the list owner. Passwords are always
# case-insensitive.
#PostingPassword "yeahyeah"
# The posting password must be specified when posting to closed
# or moderated mailing lists, or the server will reject the
# article and forward it to the list owner. Passwords are always
# case-insensitive.
#PostingPassword "yeahyeah"
# TAG: ReplyTo <address|none>
# This tag controls the 'Reply-To:' field, which Petidomo adds
# to posted articles before they are delivered. Using this
# option, you can force Petidomo to insert a 'Reply-To:' which
# points to a certain address, or you can tell Petidomo to leave
# 'Reply-To:' alone, by setting the parameter to "none".
# This tag controls the 'Reply-To:' field, which Petidomo adds
# to posted articles before they are delivered. Using this
# option, you can force Petidomo to insert a 'Reply-To:' which
# points to a certain address, or you can tell Petidomo to leave
# 'Reply-To:' alone, by setting the parameter to "none".
#
# If this option is unset, Petidomo will default to insert a
# 'Reply-To:' point back to the mailing list, so that
# subscribers can conveniently post simply by hitting the
# 'reply' function in their mail reader.
#ReplyTo none
# If this option is unset, Petidomo will default to insert a
# 'Reply-To:' point back to the mailing list, so that
# subscribers can conveniently post simply by hitting the
# 'reply' function in their mail reader.
#ReplyTo none
# TAG: PostingFilter <string>
# If you specify a posting filter, this program or script will
@ -96,98 +96,98 @@ AllowMembersCommand no
# filter can be used to manipulate the headers for special
# purposes, for example.
#
# If the filter program exits with a returncode not equal to 0
# If the filter program exits with a returncode not equal to 0
# (zero), Petidomo will not post the article and terminate.
#PostingFilter "/bin/cat"
# TAG: Archive <string>
# Petidomo has the ability to archive all articles that have been
# posted to a mailing list. With this tag you can chose the path to
# this archive. You have two options: You can specify a directory
# name here, or a file name. If Petidomo finds a file name, it will
# simply append the posted article to the file, one by one. If you
# provide the path of a directory, Petidomo will save each article in
# a seperate file into this directory. Paths without a leading slash
# ("/") are treated relative to the list's home directory, otherwise
# the path is absolute.
# Petidomo has the ability to archive all articles that have been
# posted to a mailing list. With this tag you can chose the path to
# this archive. You have two options: You can specify a directory
# name here, or a file name. If Petidomo finds a file name, it will
# simply append the posted article to the file, one by one. If you
# provide the path of a directory, Petidomo will save each article in
# a seperate file into this directory. Paths without a leading slash
# ("/") are treated relative to the list's home directory, otherwise
# the path is absolute.
#
# If this option is unset, no archives of the posted articles will be
# kept.
#Archive "log"
# If this option is unset, no archives of the posted articles will be
# kept.
#Archive "log"
# TAG: IntroductionFile <string>
# This entry sets the path to the introduction file, which
# Petidomo will send to every new subscriber. If the path is not
# absolute -- not beginning with a '/' character, that is --, it
# will be interpreted relative to the directory where this
# config file has been found.
# This entry sets the path to the introduction file, which
# Petidomo will send to every new subscriber. If the path is not
# absolute -- not beginning with a '/' character, that is --, it
# will be interpreted relative to the directory where this
# config file has been found.
#
# If this option has not been set, the default value is
# "introduction".
#IntroductionFile introduction
# If this option has not been set, the default value is
# "introduction".
#IntroductionFile introduction
# TAG: DescriptionFile <string>
# This entry sets the path to the description file, which
# Petidomo will send back to a "help listname" command. If the
# path is not absolute -- not beginning with a '/' character,
# that is --, it will be interpreted relative to the directory
# where this config file has been found.
# This entry sets the path to the description file, which
# Petidomo will send back to a "help listname" command. If the
# path is not absolute -- not beginning with a '/' character,
# that is --, it will be interpreted relative to the directory
# where this config file has been found.
#
# If this option has not been set, the default value is
# "description".
#DescriptionFile description
# If this option has not been set, the default value is
# "description".
#DescriptionFile description
# TAG: ACLFile <string>
# This entry sets the path to the ACL file, which Petidomo will
# use to check whether a posting to this list is allowed. If the
# path is not absolute -- not beginning with a '/' character,
# that is --, it will be interpreted relative to the directory
# where this config file has been found.
# This entry sets the path to the ACL file, which Petidomo will
# use to check whether a posting to this list is allowed. If the
# path is not absolute -- not beginning with a '/' character,
# that is --, it will be interpreted relative to the directory
# where this config file has been found.
#
# If this option has not been set, the default value is "acl".
#ACLFile acl
# If this option has not been set, the default value is "acl".
#ACLFile acl
# TAG: HeaderFile <string>
# This entry sets the path to the header file, which's contents
# Petidomo will add to the header of every posting on this list.
# If the path is not absolute -- not beginning with a '/'
# character, that is --, it will be interpreted relative to the
# directory where this config file has been found.
# This entry sets the path to the header file, which's contents
# Petidomo will add to the header of every posting on this list.
# If the path is not absolute -- not beginning with a '/'
# character, that is --, it will be interpreted relative to the
# directory where this config file has been found.
#
# If this option has not been set, the default value is
# "header".
#HeaderFile header
# If this option has not been set, the default value is
# "header".
#HeaderFile header
# TAG: SignatureFile <string>
# This entry sets the path to the signature file, which's
# contents Petidomo will append to every posting on this list.
# If the path is not absolute -- not beginning with a '/'
# character, that is --, it will be interpreted relative to the
# directory where this config file has been found.
# This entry sets the path to the signature file, which's
# contents Petidomo will append to every posting on this list.
# If the path is not absolute -- not beginning with a '/'
# character, that is --, it will be interpreted relative to the
# directory where this config file has been found.
#
# If this option has not been set, the default value is
# "signature".
#SignatureFile signature
# If this option has not been set, the default value is
# "signature".
#SignatureFile signature
# TAG: AddressFile <string>
# This entry sets the path to the address database file, which
# Petidomo uses to store the addresses of the list's
# subscribers. If the path is not absolute -- not beginning with
# a '/' character, that is --, it will be interpreted relative
# to the directory where this config file has been found.
# This entry sets the path to the address database file, which
# Petidomo uses to store the addresses of the list's
# subscribers. If the path is not absolute -- not beginning with
# a '/' character, that is --, it will be interpreted relative
# to the directory where this config file has been found.
#
# If this option has not been set, the default value is
# "list".
#AddressFile list
# If this option has not been set, the default value is
# "list".
#AddressFile list
# TAG: AcknowledgementFile <string>
# This entry sets the path to the acknowledgement database file,
# which Petidomo uses to store the addresses of posters who have
# verified their address by acknowledgement already. If the path
# is not absolute -- not beginning with a '/' character, that is
# --, it will be interpreted relative to the directory where
# this config file has been found.
# This entry sets the path to the acknowledgement database file,
# which Petidomo uses to store the addresses of posters who have
# verified their address by acknowledgement already. If the path
# is not absolute -- not beginning with a '/' character, that is
# --, it will be interpreted relative to the directory where
# this config file has been found.
#
# If this option has not been set, the default value is
# "list".
#AcknowledgementFile ack
# If this option has not been set, the default value is
# "list".
#AcknowledgementFile ack

View File

@ -65,7 +65,7 @@
#
# The default ListDirectory, assuming an installation prefix of
# "/usr/local", is "/usr/local/var/petidomo/lists".
#ListDirectory /usr/local/var/petidomo/lists
#ListDirectory /usr/local/var/petidomo/lists
# TAG: AckQueueDirectory <string>
# This entry sets the path to the directory, where Petidomo will

View File

@ -3,7 +3,7 @@ dnl configure.ac -- Process this file with autoconf to produce a configure scrip
AC_INIT([petidomo],[m4_esyscmd(build-aux/git-version-gen .tarball-version)],[simons@cryp.to],[petidomo],[https://github.com/peti/petidomo])
AC_CONFIG_SRCDIR([petidomo.h])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.11 -Wall foreign subdir-objects])
AM_INIT_AUTOMAKE([1.11 -Wall gnu subdir-objects])
AC_CONFIG_MACRO_DIR([build-aux])
AC_COPYRIGHT([dnl

View File

@ -8,7 +8,7 @@ htmldir = $(pkgdatadir)/html
dist_html_DATA = petidomo.html petidomo.css
petidomo.html: $(srcdir)/petidomo.tex
latexmk $<
latex $<
htlatex $<
petidomo.css: petidomo.html
@ -17,6 +17,6 @@ petidomo.css: petidomo.html
CLEANFILES = \
petidomo.4ct petidomo.4tc petidomo.aux petidomo.css petidomo.dvi \
petidomo.html petidomo.idv petidomo.lg petidomo.log petidomo.tmp \
petidomo.toc petidomo.xref petidomo.fdb_latexmk petidomo.fls
petidomo.toc petidomo.xref
MAINTAINERCLEANFILES = Makefile.in

Binary file not shown.

View File

@ -8,9 +8,9 @@ noinst_HEADERS = rfc822.h
librfc822_a_SOURCES = address.y address_scan.l address_sep.c decomment.c
noinst_PROGRAMS = test
test_SOURCES = test.c
test_SOURCES = test.c ../libmpools/mpools.c ../liblists/lists.c
test_CPPFLAGS = -I$(srcdir)/../libgnu
test_LDADD = librfc822.a ../libgnu/libgnu.a ../libmpools/libmpools.a ../liblists/liblists.a
test_LDADD = librfc822.a ../libgnu/libgnu.a
EXTRA_DIST = testaddresslines parse_address.c

6
main.c
View File

@ -46,9 +46,9 @@ main(int argc, char * argv[])
char * incoming_mail;
argv_t args[] =
{
{ARGV_MAND, "mode", ARGV_CHAR_P, &mode, "mode", "listserv, deliver, approve or dump"},
{ARGV_MAYBE, "listname", ARGV_CHAR_P, &listname, "listname", "default mailing list name"},
{ARGV_MAYBE, "masterconf", ARGV_CHAR_P, &masterconfig_path, "masterconf", "path to global petidomo.conf"},
{ARGV_MAND, "mode", ARGV_CHAR_P, &mode, "mode", "listserv, deliver, approve or dump."},
{ARGV_MAYBE, "listname", ARGV_CHAR_P, &listname, "listname", "Default mailing list."},
{ARGV_MAYBE, "masterconf", ARGV_CHAR_P, &masterconfig_path, "masterconf", "Path to petidomo.conf."},
{ARGV_MAYBE, "approved", ARGV_BOOL, &g_is_approved, "approved", "approved flag."},
{ARGV_LAST}
};