v3.1.4 released

merged all changes of [222] into trunk
master
lars 17 years ago
parent 532ed226ff
commit de99aa3045
  1. 161
      ezmlm-web-3.1.4/INSTALL
  2. 34
      ezmlm-web-3.1.4/INSTALL.clearsilver
  3. 307
      ezmlm-web-3.1.4/README
  4. 16
      ezmlm-web-3.1.4/TODO
  5. 83
      ezmlm-web-3.1.4/UPGRADING
  6. 134
      ezmlm-web-3.1.4/changelog
  7. 30
      ezmlm-web-3.1.4/copyright
  8. 325
      ezmlm-web-3.1.4/css/default.css
  9. 1
      ezmlm-web-3.1.4/debian-related/DEBIAN/conffiles
  10. 19
      ezmlm-web-3.1.4/debian-related/DEBIAN/control
  11. 3
      ezmlm-web-3.1.4/debian-related/DEBIAN/postinst
  12. 3
      ezmlm-web-3.1.4/debian-related/DEBIAN/postrm
  13. 3
      ezmlm-web-3.1.4/debian-related/DEBIAN/prerm
  14. 54
      ezmlm-web-3.1.4/debian-related/README.Debian
  15. 11
      ezmlm-web-3.1.4/debian-related/changelog.Debian
  16. 33
      ezmlm-web-3.1.4/debian-related/ezmlm-web-make-suid
  17. 11
      ezmlm-web-3.1.4/debian-related/index.c
  18. 25
      ezmlm-web-3.1.4/debian-related/man/ezmlm-web-make-suid.1
  19. 1412
      ezmlm-web-3.1.4/ezmlm-web.cgi
  20. 69
      ezmlm-web-3.1.4/ezmlmwebrc
  21. 7
      ezmlm-web-3.1.4/htaccess.sample
  22. 34
      ezmlm-web-3.1.4/index.c
  23. 236
      ezmlm-web-3.1.4/lang/de.hdf
  24. 236
      ezmlm-web-3.1.4/lang/en.hdf
  25. 187
      ezmlm-web-3.1.4/lang/jp.pm
  26. 26
      ezmlm-web-3.1.4/scripts/check_languages.sh
  27. 76
      ezmlm-web-3.1.4/scripts/debian.sh
  28. 40
      ezmlm-web-3.1.4/spec/actions-spec.txt
  29. 49
      ezmlm-web-3.1.4/spec/hdf-spec.txt
  30. 23
      ezmlm-web-3.1.4/spec/release-policy.txt
  31. 39
      ezmlm-web-3.1.4/template/config_admin.cs
  32. 185
      ezmlm-web-3.1.4/template/config_all.cs
  33. 42
      ezmlm-web-3.1.4/template/config_archive.cs
  34. 69
      ezmlm-web-3.1.4/template/config_main.cs
  35. 3
      ezmlm-web-3.1.4/template/config_options/admin_allow.cs
  36. 2
      ezmlm-web-3.1.4/template/config_options/admin_edit_text.cs
  37. 2
      ezmlm-web-3.1.4/template/config_options/admin_get_subscribers.cs
  38. 2
      ezmlm-web-3.1.4/template/config_options/archive_public.cs
  39. 2
      ezmlm-web-3.1.4/template/config_options/block_deny.cs
  40. 2
      ezmlm-web-3.1.4/template/config_options/block_nonmod_post.cs
  41. 2
      ezmlm-web-3.1.4/template/config_options/block_others_archive.cs
  42. 2
      ezmlm-web-3.1.4/template/config_options/block_others_post.cs
  43. 2
      ezmlm-web-3.1.4/template/config_options/confirm_post.cs
  44. 2
      ezmlm-web-3.1.4/template/config_options/confirm_sub.cs
  45. 2
      ezmlm-web-3.1.4/template/config_options/confirm_unsub.cs
  46. 2
      ezmlm-web-3.1.4/template/config_options/from_address.cs
  47. 4
      ezmlm-web-3.1.4/template/config_options/headeradd.cs
  48. 4
      ezmlm-web-3.1.4/template/config_options/headerremove.cs
  49. 2
      ezmlm-web-3.1.4/template/config_options/mainlist.cs
  50. 9
      ezmlm-web-3.1.4/template/config_options/mime_both.cs
  51. 5
      ezmlm-web-3.1.4/template/config_options/mimereject.cs
  52. 5
      ezmlm-web-3.1.4/template/config_options/mimeremove.cs
  53. 2
      ezmlm-web-3.1.4/template/config_options/mod_post.cs
  54. 2
      ezmlm-web-3.1.4/template/config_options/mod_post_path.cs
  55. 2
      ezmlm-web-3.1.4/template/config_options/mod_sub.cs
  56. 2
      ezmlm-web-3.1.4/template/config_options/mod_sub_path.cs
  57. 9
      ezmlm-web-3.1.4/template/config_options/msgsize_max.cs
  58. 9
      ezmlm-web-3.1.4/template/config_options/msgsize_min.cs
  59. 2
      ezmlm-web-3.1.4/template/config_options/mysql.cs
  60. 2
      ezmlm-web-3.1.4/template/config_options/owner_address.cs
  61. 5
      ezmlm-web-3.1.4/template/config_options/prefix.cs
  62. 2
      ezmlm-web-3.1.4/template/config_options/public.cs
  63. 8
      ezmlm-web-3.1.4/template/config_options/trailer.cs
  64. 7
      ezmlm-web-3.1.4/template/config_options/webusers.cs
  65. 73
      ezmlm-web-3.1.4/template/config_posting.cs
  66. 65
      ezmlm-web-3.1.4/template/config_processing.cs
  67. 42
      ezmlm-web-3.1.4/template/config_subscription.cs
  68. 8
      ezmlm-web-3.1.4/template/footer.cs
  69. 9
      ezmlm-web-3.1.4/template/form_common.cs
  70. 25
      ezmlm-web-3.1.4/template/header.cs
  71. 21
      ezmlm-web-3.1.4/template/help_tag_substitution.cs
  72. 50
      ezmlm-web-3.1.4/template/list_create.cs
  73. 20
      ezmlm-web-3.1.4/template/list_delete.cs
  74. 39
      ezmlm-web-3.1.4/template/list_select.cs
  75. 57
      ezmlm-web-3.1.4/template/macros.cs
  76. 21
      ezmlm-web-3.1.4/template/main.cs
  77. 20
      ezmlm-web-3.1.4/template/modpath_info.cs
  78. 73
      ezmlm-web-3.1.4/template/nav.cs
  79. 147
      ezmlm-web-3.1.4/template/subscribers.cs
  80. 45
      ezmlm-web-3.1.4/template/textfile_edit.cs
  81. 63
      ezmlm-web-3.1.4/template/textfiles.cs
  82. 5
      ezmlm-web-3.1.4/webusers.sample
  83. BIN
      packages/ezmlm-web-3.1.4.tar.gz
  84. BIN
      packages/ezmlm-web_3.1.4-1_all.deb

@ -0,0 +1,161 @@
The following notes will guide you through the installation of ezmlm-web:
OVERVIEW:
0 - important notes
1 - get it
2 - install executable
3 - configuration file
4 - compile cgi wrapper
5 - install cgi wrapper
6 - [optional] configure access control (http authentication)
7 - css stylesheet file
8 - final test
------------------------------------------------------------------------------
0. IMPORTANT: you need the perl module Mail::Ezmlm and others to use
ezmlm-web! The file README contains the complete list of necessary
modules.
Additionally (since v3.0) you have to install clearsilver (a templating
engine). See INSTALL.clearsilver for details.
1. Choose a distribution form
1a) source installation
Get ezmlm-web and extract the archive:
tar xzf ezmlm-web-3.x.tar.gz
(for source installation continue with step 2)
1b) debian package
This is the (by far) most convenient way to install ezmlm-web.
Read debian-releated/README.Debian for details.
(debian users may stop reading here)
2. Copy ezmlm-web.cgi to some publically readable directory. It does not
have to be in a path accessible to your web server, but any user with a
mailing list must be able to run it (Check the read and execute rights
on both the file and directory). We put our copy in "/usr/local/bin".
At the top of ezmlm-web.cgi you may have to change the $ENV{'PATH'}
variable. Be careful about what you set as the path. Too
much is a security risk and too little will cause the script to
malfunction. Version 2.0 requires that the following programs be
accessible in your path: mv, rm
3. Edit the ezmlmwebrc file and alter the variables to suit your
particular system.
Be careful about the $LIST_DIR variable. This script assumes that all
users store their mailing lists in the same sub directory of the home
directory (eg ~/lists). You can override this for an individual user
by recompiling the C wrapper to call ezmlm-web.cgi with a -d option.
Other configurable options are documented in the ezmlmwebrc file
itself. I have tried to keep the amount of information that you need to
supply to a minimum and also make reasonable guesses about default
values.
The directory containing ezmlm-web's language files should be something
like '/usr/local/share/ezmlm-web/lang':
mkdir -p /usr/local/share/ezmlm-web
cp -r lang /usr/local/share/ezmlm-web
You can change this default location in the ezmlmwebrc file.
Do the same with the template directory (e.g copy it
to /usr/local/share/ezmlm-web/template). Then you also have to
set the appropriate location in the ezmlmwebrc file.
Finally, copy the ezmlmwebrc file to one of
the following places:
1) the home directory of the user that runs ezmlm-web.cgi (~/.ezmlmwebrc)
2) the directory, that contains your cgi binary (index.cgi)
3) /etc/ezmlm-web/ezmlmwebrc
4) /etc/ezmlm/ezmlmwebrc [deprecated]
(ezmlm-web will look for it in these places in the given order)
4. Edit the index.c file and change the path to the path of your copy
of ezmlm-web.cgi. Then compile this file. You can do this by issuing
this command:
gcc -o index.cgi index.c
5. For every user/virtual host that needs to manage mailing lists, you
need to create a SUID (user not root!!) copy of index.cgi (e.g
chmod 4755 index.cgi). These need to reside somewhere accessible by
the web server. I suggest that you put them in a sub directory (see
about security) of each user/virtual host's home directory (eg
/home/luser/public_html/ezmlm for Apache on Redhat).
The copies don't actually have to be called index.cgi, but it is nice
for web servers that can resolve a cgi script as an index page (see the
srm.conf file in Apache). It is important to make sure that whichever
directory you choose to put them can
i: Execute CGI Scripts and
ii: Be access controlled (here I mean both web and user access) by
some method (eg .htaccess, access.conf for Apache).
6. Install some method of securing access to the page. The following
information is applicable to Apache web servers ... Detailed
information on user authentication can be obtained from the Apache
documentation (http://www.apache.org) and ApacheWeek
(http://www.apacheweek.com/features/userauth)
6.1 Ensure that your Apache setup will allow .htaccess file to control
access in the directory that contains. This is controlled by the
AllowOverride tag in access.conf. (Also ensure you have the
necessary Apache modules installed)
6.2 Create a htpasswd file. This is done using the htpasswd command that
comes with Apache. Its command line syntax is;
htpasswd [-c] passwordfile username
You need to put the passwordfile somewhere that is not accessible by
people through the web, and create an entry for each user you want
to have access ... See the ApacheWeek article for more details.
6.3 Create a .htaccess file in the directory that contains index.cgi.
Note that using Apache's built in access control, you can only control
access to directories, not individual files, hence the need for a
sub-directory in step 5.
The format of the .htaccess file should be along the lines of this;
AuthName EZ Mailing List Manager
AuthType Basic
AuthUserFile /path/to/passwordfile
require valid-user # or require user username
Again, see the ApacheWeek article for details.
7. You should copy the stylesheet file (css/default.css) to a location
of your choice. It has to be accessible by an URL - maybe a place like
"/var/www/ezmlm-web.css" could be appropriate.
Now you may have to change the "HTML_CSS_FILE" setting in your
ezmlmwebrc file. This value is a URL - not the local filename.
8. Test the installation with your favourite web browser. You should be
asked for a username and password (supplied in 6.2) and then be presented
with a screen entitled "EZ Mailing List Manger". You can then try to
create and edit mailing lists ... Have Fun :)
If you do not see a colorful screen, then you did not set the HTML_CSS_FILE
option correctly in ezmlmwebrc. Check it again.
If anything failes - take a look at the web server's error log
(e.g /var/log/apache/error.log).
If you have any problems:
- take a look at https://systemausfall.org/toolforge/ezmlm-web
- send me an email: ezmlm-web@sumpfralle.de
- subscribe to the mailinglist: ezmlm-web-subscribe@lists.systemausfall.org
- report a bug at https://systemausfall.org/trac/ezmlm-web

@ -0,0 +1,34 @@
Short notes on how to install clearsilver for perl:
(you should read it, as step 4 is quite unusual)
1) download & untar
http://clearsilver.net
2) configure
The following configure options should be sufficient:
./configure --enable-perl \
--disable-python \
--disable-ruby \
--disable-java \
--disable-csharp \
--disable-apache \
--disable-gettext \
--disable-remote-debugger
3) make
4) the tricky part :)
As the installation directory of clearsilver-perl is configured incorrectly,
you should replace the existing SITEPREFIX line in perl/Makefile with the following:
SITEPREFIX = $(PREFIX)
(without the leading white space)
5) make install
6) done

@ -0,0 +1,307 @@
===================
| ezmlm-web-3.1.4 |
===================
If you only want to know how to install ezmlm-web, then you should
read INSTALL.
Contents
========
I. Copyright Stuff
II. Some Background
III. Requirements
IV. Files
V. Notes
VI. Multi-level list access
VII. Language Portability
VIII. Bugs && Bug Reports
XI. Acknowledgements
X. Availability
I. Copyright Stuff - essentially the FreeBSD licence ...
==================
ezmlm-web - version 3.1.4 - 02/22/02006
Copyright (C) 1998, Guy Antony Halse, All Rights Reserved.
Please send bug reports and comments to ezmlm-web@sumpfralle.de
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
Neither name Guy Antony Halse nor the names of any contributors may be used
to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
II. Some Background
===================
[this text was written by Guy Antony Halse - the original author of ezmlm-web]
The need for ezmlm-web arose from the fact that we host many student
societies on our system. These societies usually have a virtual host for web
and email, which is administered by a computer rep from the society. These
computer reps often have little or no knowledge of Unix and so we needed a
user friendly system that would let the create and maintain mailing lists
(such as members@foo.soc.ru.ac.za, committee@foo.soc.ru.ac.za, etc).
Since I am never keen to re-invent the wheel, I had a look at Steve Peterson's
script (http://virtation.com/qmail/ml-sub), which allows people to subscribe
and unsubscribe from mailing lists using a form->email gateway. This is fine
for putting on a web page saying "here come and join our mailing list", but
doesn't really allow you to administrate a list.
Security of mailing lists was a concern, as we really didn't want
unauthorised people to be able to alter some users list. Ezmlm-web itself
implements no security checks (apart from un-tainting input) and so relies
on the web server to do this (re-inventing the wheel again :). We use an
Apache webserver, so one can control access to a directory using a .htaccess
file or in the access.conf file. ApacheWeek have a good article on doing
this at http://www.apacheweek.com/features/userauth. I also give examples
later in this document.
This version of ezmlm-web is based to a large extent on previous
versions that I have developed. It has however been totally re-written to
make use of the Mail::Ezmlm perl module I wrote. At the same time it was
updated and extended to include the new features of ezmlm-idx. It includes
many new features that have been suggested to me over the last few months,
and hopefully is now useful to a much larger group of people.
Since 02005 ezmlm-web is maintained by Lars Kruse (ezmlm-web@sumpfralle.de).
Only minor improvements had to be implemented to keep the already fully
functional ezmlm-web up to date.
III. Requirements
=================
This version of ezmlm-web requires the following;
* qmail v1.03
* ezmlm v0.53 (or ezmlm-idx v0.40)
* clearsilver v0.10.2 (only perl support is necessary)
* Perl v5.004 and the following modules;
+ Mail::Ezmlm v0.07 (current version!)
+ Mail::Address v1.15
+ CGI v2.6
+ CGI::Carp v1.06
+ DB_File v1.65
+ Getopt::Std v4.1
+ File::Find v?
+ File::Copy v2.02
+ File::Path v1.07
+ Text::ParseWords v3.24
The version number indicates the version of the module that ezmlm-web was
developed with. Earlier versions may work, but then they haven't been
tested. Have a look on http://www.CPAN.org/, http://www.qmail.org/, and
http://www.ezmlm.org/ for anything you are missing. Of course, newer
versions are expected to work as well.
To install perl modules you may use the cpan command line interface.
Just run "cpan" and type something like "install Mail::Ezmlm".
You can download clearsilver (a templating engine - it is required since
ezmlm-web v3.0) from http://clearsilver.net.
IV. Files
=========
In this distribution you should find the following files;
README (optional) This file. Provides some background information.
INSTALL (optional) Notes on installation.
INSTALL.clearsilver (optional) Notes on the installation of clearsilver.
CHANGES (optional) The change history.
UPGRADING (optional) Notes on upgrading ezmlm-web from a previous version.
TODO (optional) This file is a list of things I intend doing in future
versions of ezmlm-web.
ezmlm-web.cgi (required) The ezmlm-web cgi script in perl. You will need it :)
index.c (recommended) A C wrapper to allow ezmlm-web.cgi to run
suid. Not strictly necessary if your setup allows perl scripts
to run suid, but I prefer using wrappers anyway. It needs to
be edited and compiled to suit your system. Not needed to
run ezmlm-web.
ezmlmwebrc (required) This is the configuration file for ezmlm-web.
All options are explained in this example file. You will need
this file to run ezmlm-web.
htaccess.sample (recommended) A sample Apache .htaccess file for controlling access to
the mailing lists. If you use another web server, you will
have to work this bit out for yourself.
webusers.sample (recommended) A sample webusers file for multi-level access control.
lang (directory, required) It contains the language files. You will need
at least the one, that you have choosen in "ezmlmwebrc" by
the option "HTML_LANGUAGE".
css (directory, recommended) Here you find available css stylesheet files.
Pick the one you like (for now, there is only one choice :)) and
set it up by pointing the "HTML_CSS_FILE" setting in your
"ezmlmwebrc" to an appropriate URL.
template (directory, required) The clearsilver template files in this
directory defined the layout of the web interface. You should be able
to adapt them to your needs, if you like.
spec (directory, optional) Some development specific information.
V. Notes
=========
* There is a function to delete mailing lists, but I really don't like the
idea. The only reason I put it in is that bvi@rucus asked for it.
If you set $UNSAFE_RD = 0 (the default) in the config section, the
ezmlm-web won't actually delete the list. In this case it moves the <list>
and all the associated .qmail files to a sub-directory called
deleted.qmail/ (In the users home directory. This is by far a safer way
(since you can restore lists) and therefore I recommend it.
* I suggest that you make use of custom ezmlmwebrc files rather than using
the -d command line switches - it makes fault diagnosis easier ...
* Vpopmail users should set up different suid wrappers for every single
managed domain.
These wrappers should be accompanied by seperate ezmlmwebrc files with
different DOTQMAIL_DIR settings.
Please send me a more detailed description, if you managed to use ezmlm-web
with this kind of setup :)
VI. Multi-Level Access
=======================
Ezmlm-web has a multi-level access system. This depends on a file called
webusers being present in $LIST_DIR. If the file is not present, then ANY
valid user has access to all lists. If, however, this file exists a number
of constraints come into place.
- The webusers file is scanned for either the list name (case insensitive) or
an ALL (case sensitive) entry.
- The list entry (or ALL) is scanned for the current user (as set in
$REMOTE_USER) or an ALL (user) entry.
- If any valid match is made, then the user is allowed to edit the list.
Otherwise the user is politely told to go away ;-)
If list creation is allowed and the webusers file exists, then the person who
creates the list is the default owner. There is no way to create users
through the web interface, as this depends on your authentication system.
The format of a webusers file is as follows;
list1: user1 user2 user3
ALL: user1 user2
list2: ALL
Once this file exists, the ezmlm-web script will allow the list users to
configure their access lists along with any other options.
You can permit some users to create lists by adding a line similar to the
following to your webusers file:
ALLOW_CREATE: user2 user3
If there is no line starting with "ALLOW_CREATE:" in the webusers file, then
no one will be allowed to create lists. This behaviour is new for ezmlm-web
since version 2.2. To stay compatible to old installations, the commandline
option "-c" for ezmlm-web.cgi will still allow everyone to create lists. The
use of this option is deprecated, since the line "ALLOW_CREATE: ALL" provides
the same effect in a cleaner way.
VII. Language Portablity
=========================
One of the great new features of version 2.0 is that it is essentially
language independant. All of the fixed strings, help, etc is defined in the
files of the lang directory. Of course you can change them or create a new
translation.
The language can be selected in ezmlmwebrc with the "HTML_LANGUAGE" option.
If anyone gets round to writing full templates for languages I would
appreciate it if you would do two things;
Firstly, make them public and announce them on the ezmlm@lists.cr.yp.to
mailing list so that others may benefit.
Secondly, please mail me a copy (ezmlm-web@sumpfralle.de) so that I may use
them in any future releases of ezmlm-web.
VIII. Bugs && Bug Reports
=======================
I don't know of any bugs, but then this is a rewrite and a first release. It
has been tested reasonably well, but not exhaustively. I know it works on
FreeBSD 4.0-STABLE, FreeBSD 3.4-RELEASE, RedHat 5.1, Redhat 6.0 and Debian
3.0 all using an Apache web server, but I would be interested to know whether
it works on other OSs and with other web servers.
Please mail bug reports and comments to ezmlm-web@sumpfralle.de.
Or (even better) submit a bug report at https://systemausfall.org/trac/ezmlm-web.
Or subscribe to the ezmlm-web mailinglist: ezmlm-web-subscribe@lists.systemausfall.org.
IX. Acknowledgements
===================
* Guy Antony Halse (guy-ezmlm@rucus.ru.ac.za) - he created ezmlm-web
and maintained it till 02005
* Keith Burdis (keith@rucus.ru.ac.za) - For constantly bugging me (Guy) and
ensuring that I actually got round to writing some code :)
* Bryan Kilian (bryan@rucus.ru.ac.za) and the administrators of the
Litestep mailing list - For helping beta test and putting up with me (Guy)
pestering them.
* Several societies at Rhodes. For switching to my web interface and so
unknowingly helping to beta test it.
* Barry Irwin (bvi@moria.org) - For trusting me (Guy) and moving the Grahamstown
Foundation over to qmail and ezmlm - yet another beta tester :-)
* David Summers (david@summersoft.fay.ar.us) - For some ideas. And for
offering to make up an RPM version. I hope the offer still exists for
version 2.0 :-)
* Glen Stewart (glen_stewart@associate.com) - For a multitude of ideas.
* Fred Lindberg (lindberg@id.wustl.edu) for his useful posts to the
mailing list, suggestions, help, etc
* Galen Johnson (gjohnson@totalsports.net) - For some ideas on bugfixes.
* Reinin Ooyama (lenin@hasiru.net) - a japanese translation and bugixes for v2.3
* Henning Rieger (age@systemausfall.org) - he designed most of the new
interface for v3.0
X. Availability
=================
More information on ezmlm-web and developments to ezmlm-web can be found at:
https://systemausfall.org/toolforge/ezmlm-web
The public subversion repository is at:
https://svn.systemausfall.org/svn/ezmlm-web
The website of Guy Antony Halse (the author of ezmlm-web) is still at:
http://rucus.ru.ac.za/~guy/ezmlm/
The old ftp-archive of ezmlm-web is still available on:
ftp://rucus.ru.ac.za/pub/mail/ezmlm/

@ -0,0 +1,16 @@
"cancel" button during text editing (simple "reset" input button)
restore user input after failed list_create (especially options)
support for:
* show subscription log
* 'mailinglist' (maybe)
* config directory (maybe)
allow dynamic addition of user-made config templates (seperate directory, ...)
interface language switch support
choose basic/expert to disable questions
export subscribers

@ -0,0 +1,83 @@
This file contains some useful hints for upgrading from a previous version of ezmlm-web.
##############################################################################
UPGRADING ezmlm-web 3.1.3 to ezmlm-web 3.1.4
1) a new (optional) configuration setting is available: DOTQMAIL_DIR
Use it, if you run a multi domain vpopmail setup.
------------------------------------------------------------------------------
UPGRADING ezmlm-web 3.1 to ezmlm-web 3.1.3
1) install the perl module File::Path
------------------------------------------------------------------------------
UPGRADING ezmlm-web 3.0 to ezmlm-web 3.1
1) update the perl module Mail::Ezmlm to v0.07
------------------------------------------------------------------------------
UPGRADING ezmlm-web 2.3 to ezmlm-web 3.0
1) install clearsilver (see INSTALL for details)
2) copy the "template" directory somewhere (see INSTALL again)
3) set "TEMPLATE_DIR" in your ezmlmwebrc file to this directory
4) copy the languga directory somewehre and adjust the "LANGUAGE_DIR" setting
4) maybe you want to define "MAIL_DOMAIN" in your ezmlmwebrc
5) the search order for ezmlmwebrc has changed
from HOME -> SYSTEM -> CGI_DIR
to HOME -> CGI_DIR -> SYSTEM
------------------------------------------------------------------------------
UPGRADING ezmlm-web 2.2 to ezmlm-web 2.3
1) set the location (URL) of the css file in ezmlmwebrc
------------------------------------------------------------------------------
UPGRADING ezmlm-web 2.1 to ezmlm-web 2.2
1) Creating of new lists is now controlled by a line in the webusers file instead
of a commandline switch for ezmlm-web.cgi.
necessary changes:
- optional: remove switch "-c" when calling ezmlm-web.cgi (take a look at index.c)
- optional: add a line like "ALLOW_CREATE: john, myra" to the webusers file
2) The location of the webusers file is now defined in ezmlmwebrc. (default: $LIST_DIR/webusers)
necessary changes:
- optional: add a line like "$WEBUSERS_FILE = /home/ml/webusers" to ezmlmwebrc
3) A german translation is available.
- optional: include "lang/de.pm" in ezmlmwebrc (there you can also remove the english definitions)
or copy the new ezmlmwebrc :)
------------------------------------------------------------------------------
UPGRADING ezmlm-web 2.0 to ezmlm-web 2.1
There are no major changes that need to be made in order to upgrade. All
that is necessary is to add two new lines to your ezmlmwebrc ... In the top
section of the file add
$FILE_UPLOAD = 1;
and in the %HELPER section, you need to add
addaddressfile => 'or you may enter the filename of a plain text file containing multiple RFC822 email addresses, one per line',
(or just copy the new ezmlmwebrc :)
Have a look for these two lines in the new ezmlmwebrc included in this
distribution if you are unsure of how/where to put these.

@ -0,0 +1,134 @@
Version 3.1.4 - 03/26/02006
* new setting: DOTQMAIL_DIR (useful for multi domain vpopmail setups)
* minor stylesheet change (circumvents IE rendering bug)
* case-insensitive check for mime type during address file upload
Version 3.1.3 - 02/22/02006
* fixed removal of dotqmail files
Version 3.1.2 - 02/15/02006
* honour DEFAULT_OPTIONS for new lists
* fixed portability issue of the suid-wrapper
Version 3.1.1 - 01/19/02006
* more careful removal of dotmail files
* allow dots in webuser names
* allow underscores in descriptive listname
Version 3.1 - 01/14/02006
* fully compatible with ezmlm-idx v5.0
* change language of list (idx >= 5.0)
* change charset of list (idx >= 5.0)
* 'modsub' and 'remote' can be changed independently
* improved configuration parsing
* requires Mail::Ezmlm v0.07
Version 3.0.2 - 01/11/02006
* fixed two confusing description strings
Version 3.0.1 - 01/06/02006
* allow several special characters in local part of mail address (RFC2822)
Version 3.0 - 12/25/02005
* complete interface rewritten for enhanced usability
* suppurt for msgsize, mimereject, trailer
* fixed insecure writing of webusers data
* define a default MAIL_DOMAIN
* changed directory for safely removed mailinglists
* requires the clearsilver template engine
Version 2.3 - 10/06/02005
* css styles are used instead of tables
* permission check for upload of files fixed
* removed some taint errors
* file upload typo fixed
* update of webusers file fixed
* moderator unsubscribe fixed
Version 2.2 - 26/01/02005 (not officially released)
* German translation of the web interface - more translations can be added easily
* changed "ALT"-tags to "TITLE" - most browsers will display the tooltip texts now
* fixed security problems (permissions were not thoroughly checked)
* user-based permission for creating lists (can be set in webusersrc)
* the location of the webusers file is now an option in ezmlmwebrc
Version 2.1 - 25/09/00
* Fixed the multiple delete thing - finally!
* Fixed the '-' in username problem - The '-' in hostnames problem is fixed
in the new version of Mail::Ezmlm
* Fixed the '_' in list names problem
* Added support for file uploads of email addresses (multiple subscribe)
* Made error handling more friendly
Version 2.0 - 01/01/00
* Rewrote most of the code to take advantage of Mail::Ezmlm
* Made the webuser file more functional (users can alter it)
* Now handles all current, and future command line options
* Changed the colours :)
* Added support for ezmlm-cgi web archives
* Made it -w and use strict clean
* Moved all user config to a separate file
* Fixed the way we worked out list config - now complete
* Allowed a user specific config over-ride ``ezmlmwebrc''
* Allowed the printing of `nice' usernames (for Rhodes CS Dept)
* Took account of non-standard paths for moderators
* Removed all system() and `` calls from ezmlm-web.cgi
* Made `look and feel' virtually all user configurable
* Added a lot more context sensitive help
* Made ezmlm-web 99% language configurable - but no other templates yet :(
* Added support for creating databases
Version 1.0.3 - 03/10/98
* Fixed the alias-alias-alias-list bug in inlocal (bryan@rucus)
* Added a bit of online help
* Fixed the & in list owner (bryan@rucus)
* Added multi-level access to lists (based on idea by Glen Stewart)
Version 1.0.2 - 28/08/98
* Fixed the bug introduced in v1.0.1 :( (keith@rucus)
* Fixed the way we recreate config files (noticed by Glen Stewart)
* Made the script check return values of system calls properly
* Fixed some of the taint checking stuff ... reports less in the logs now.
Version 1.0.1 - 10/08/98
* Fixed a bug in the way 1.0 re-configured virtual hosts (bryan@rucus)
* Made the script read the /var/qmail/control files instead of explicitly
setting variables (for david@summersoft)
Version 1.0 - 01/08/98
* Complete re-write to convert to perl5 and CGI.pm
* Removed a lot of dependancy on the OS. Use builtin functions instead :)
* Added support for ezmlm-idx
* Added a lot more command line option support (-adfgiklmnpqsrstux5)
* Added support for digests and digest subscribers
* Added support for blacklists
* Allowed users to edit the config of existing lists
* Allowed the user to edit headeradd and headerremove as well as mimeremove
* Allowed user to edit any of the files in DIR/text
* Revised interface to make it more user-friendly and ergonomic.
* Changed the background colour for Kether (clb@rucus) *gryn*
* Removed a big bug in the delete_list function that had gone unnoticed.
Version 0.5 - 12/05/98 (Not Released)
* More bug fixes. Mainly for mathew@graham.
Version 0.4 - 28/04/98
* Fixed up virtual domain (inlocal) stuff as spotted by bryan@rucus
* Allowed the list directory to be automatically created if necessary.
Version 0.3 - 15/04/98
* Allow list deletion (for balin@moria.org)
* Made changes to allow it to run on RedHat 4.2 as well as FreeBSD 3.0
* Fixed some minor bugs (cosmetic irritaions really) that people noticed
* Sorted subscribers list into alphabetical order.
* Added command line switch to change list directory (for nxsy@moria.org)
* Wrote some documentation ...
Version 0.2 - 13/04/98 (Not Released)
* Allow list creation
* Allowed users to edit moderators
Version 0.1 - 10/04/98 (Not Released)
* University Vac - I was bored and started to play. The first version just
let people play with the subscribers list. No moderators, no nothing.

@ -0,0 +1,30 @@
Copyright (C) 1999/2000, Guy Antony Halse, All Rights Reserved.
Please send bug reports and comments to guy-ezmlm@rucus.ru.ac.za
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
Neither name Guy Antony Halse nor the names of any contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

@ -0,0 +1,325 @@
body {
margin: 0;
padding: 0;
font: normal 100% sans-serif;
color: #606760;
}
font.ez {
font-style: italic;
color: #505050;
}
font.hint {
font-size: 85%;
}
font.feature {
font-weight: bold;
}
#nav_bar {
float: left;
width: 20%;
margin-left: 1%;
margin-right: 1%;
margin-bottom: 1%;
margin-top: 5px;
padding-left: 0.5%;
padding-right: 0.5%;
padding-top: 1.5%;
padding-bottom: 1.5%;
background-color: #c0c0b0;
}
.nav_group {
margin-top: 1%;
padding-bottom: 1%;
}
#nav_bar ul {
color: #af8060;
margin: 0;
padding-left: 15px;
list-style: none;
}
#nav_bar ul li {
margin-top: 0;
/* small space between highest level entries */
margin-bottom: 5px;
}
#nav_bar ul li ul li {
/* no space between lower level entries */
margin-bottom: 0;
}
#nav_bar li a.nav_active {
color: #fff;
}
#nav_bar font.no_link {
color: #2f4860;
font-style: italic;
}
#nav_bar a {
color: #2f4860;
text-decoration: none;
}
#nav_bar a:hover {
background-color: #d8d8d8;
color: #2f4860;
}
#main_content {
margin-left: 22%;
padding-left: 3%;
padding-right: 1%;
min-height: 440px;
}
#main_content li {
list-style: none;
}
#main_content button {
margin-top: 12px;
}
#main_content ul {
line-height: 1.8em;
list-style: none;
}
#main_content ul li ul {
font-size: 85%;
}
#main_content fieldset {
margin-top: 0.5%;
margin-bottom: 1%;
padding-top: 1%;
padding-bottom: 1.5%;
}
#main_content fieldset.form form ul {
padding-left: 10px;
}
#main_content fieldset.form form ul li ul {
padding-left: 25px;
}
#main_content table.list_select {
table-layout: fixed;
width: 100%;
text-align: left;
line-height: 1.2em;
border-width: 0px;
padding-left: 2%;
padding-right: 0px;
}
div.formfield {
font-style: normal;
}
#news {
background: #e8947c;
color: #000000;
margin: 1%;
padding: 5px;
width: 30%;
float: right;
font-size: 80%;
}
#news font.title {
font-style: italic;
font-size: 110%;
}
#news ul.changes {
font-size: 90%;
margin-top: 0px;
}
a:visited {
color: #005040;
}
#oben {
background-color: #2f4860;
}
h1.oben {
text-align: left;
border-bottom: solid 2px #ffffff;
padding: 5px;
font-weight: bold;
letter-spacing: -1px;
color: #ffffff;
margin: 0;
}
#perm_nav {
float: right;
padding-right: 5px;
font-size: 100%;
color: #ffd7f0;
background-color: inherit;
}
#perm_nav a {
font-weight: bold;
color: #ffffff;
padding-left: 2px;
padding-right: 2px;
text-decoration: none;
}
#perm_nav a:hover {
color: #ffcc00;
}
table.subscribers {
border-width: 0;
margin: 0;
padding: 1%;
width: 100%;
}
tr, td {
margin: 0;
padding: 0;
}
button {
color: #5e5e5e;
background-color: #d8d8d8;
border: 1px dotted #5e5e5e;
font-size: 90%;
cursor: pointer;
}
button:hover {
color: #505050;
background-color: #d0d0d0;
border: 1px dotted #ACE149;
font-size: 90%;
cursor: pointer;
}
.lid {
margin: 0;
padding: 3px;
border-bottom: solid 1px #606070;
background-color: #c0c0b0;
font: bold 100% sans-serif;
letter-spacing: -1px;
color: #ffffff;
}
#content {
position: absolute;
right: 0px;
width: 85%;
font: normal 82% sans-serif;
background-color: #ffffff;
padding: 2px;
}
#content h2 {
margin-left: 5px;
margin-right: 5px;
margin-top: 10px;
font-weight: normal;
letter-spacing: -1px;
color: #2f4860;
}
.push {
margin: 5px;
padding: 0;
}
.push p {
text-align: justify;
}
#info_title {
text-align: center;
background-color: #c0c0b0;
margin-top: 5px;
margin-left: 0%;
margin-right: 1%;
margin-bottom: 0.2%;
color: #ffffff;
font-size: 125%;
font-style: italic;
}
#header {
text-align: right;
background-color: #2f4860;
font-size: 90%;
color: #ffffff;
margin: 0;
top: 0;
width: 100%;
}
#footer {
text-align: center;
background-color: #2f4860;
font-size: 90%;
color: #ffffff;
margin: 0px;
padding: 3px;
}
#footer a {
color: #a0d0b0;
}
#footer a:visited {
color: #a0d0b0;
}
#main_content div.introduction {
font-size: 80%;
}
#main_content div.warning, div.error, div.success {
margin-left: 10%;
margin-right: 10%;
margin-top: 2%;
margin-bottom: 3%;
padding: 2%;
text-align: center;
font-style: italic;
font-size: 90%;
}
#main_content div.success {
background-color: #40d070;
color: #202020;
}
#main_content div.warning {
background-color: #e0a0a0;
color: #202020;
}
#main_content div.error {
background-color: #d05050;
color: #202020;
}
.mail {
font-style: italic;
color: #2f4860;
}

@ -0,0 +1,19 @@
Package: ezmlm-web
Version: 3.1.4-1
Section: admin
Priority: extra
Architecture: all
Depends: perl, httpd-cgi, libemail-address-perl, libemail-ezmlm-perl (>= 0.07)
Suggests: qmail-src, bash (>=2.0), gcc
Maintainer: Lars Kruse <devel@sumpfralle.de>
Description: Web interface for ezmlm-idx mailing list administration
This web interface allows you to configure every part of an ezmlm-idx
mailing list.
Access control makes it possible, to share the administrative work in a
controlled way.
This package depends on the following programs, that are not part of the main
debian distribution:
* qmail - http://cr.yp.to/qmail.html
* ezmlm-idx - http://ezmlm.org/
* clearsilver for perl (>= 0.10.2) - http://www.clearsilver.net/downloads/

@ -0,0 +1,54 @@
How to use ezmlm-web with debian
Table of content
1 - install the package
2 - install required additional software
3 - create user-sprecific suid binaries
4 - create a user-specific configuration
5 - access control
6 - testing
#################################################################
1) install the package
you surely did this already :)
2) install required additional software
clearsilver perl bindings:
* download clearsilver (http://clearsilver.net) v0.10.2 or higher
* compile and install it with perl enabled
3) create user-specific suid binaries
As perl-suid is considered deprecated, you have to compile a C-wrapper
for every user of your debian system, who wants to manage his mailing
lists with ezmlm-we.
Usually you do this only for your virtual mailing list user.
to create a wrapper, type the following:
ezmlm-web-make-suid USERNAME DESTINATION_FILE
e.g: ezmlm-web-make-suid john ~john/public_html/cgi-bin/ezmlm-web
4) create a user-specific configuration file (optional)
Copy /usr/share/doc/ezmlm-web/examples/ezmlmwebrc to ~john/.ezmlmwebrc
and change its content according to your setup.
5) access control (optional)
configure access control for the fresh cgi binary. Maybe you can
use the htaccess.sample file in /usr/share/doc/ezmlm-web/examples as
a template.
Now you should create a webusers file to define the permissions of all
possible web users. An example webusers file can be found at
/usr/share/doc/ezmlm-web/examples/webusers.sample.
See /usr/share/doc/ezmlm-web/README for details about access control.
6) testing
Now you can access the ezmlm-web interface by using your web browser.
e.g. point it to http://localhost/~john/cgi-bin/ezmlm-web

@ -0,0 +1,11 @@
ezmlm-web (0.3.4-1) unstable; urgency=low
* upstream update
-- Lars Kruse <devel@sumpfralle.de> Sun, 26 Mar 2006 22:28:15 +0100
ezmlm-web (0.3.3-1) unstable; urgency=low
* upstream update
-- Lars Kruse <devel@sumpfralle.de> Wed, 22 Feb 2006 04:12:42 +0100
ezmlm-web (0.3.2-1) unstable; urgency=low
* upstream update
-- Lars Kruse <devel@sumpfralle.de> Wed, 15 Feb 2006 17:23:51 +0100

@ -0,0 +1,33 @@
#!/bin/sh
#
# create user-specific suid binaries to call ezmlm-web.cgi
#
# parameters: [USERNAME] DESTINATION_FILE
# e.g.: john ~john/public_html/cgi-bin/ezmlm-web
# only root may choose a USERNAME
#
set -eu
C_SOURCE=/usr/share/ezmlm-web/index.c
which cc >/dev/null || { echo "no compiler (cc) installed - sorry" >&2; exit 1; }
[ $(id -u) -ne 0 ] && [ $# -ne 1 ] && echo "Syntax (for non-root): $(basename $0) DESTINATION_FILE" >&2 && exit 1
[ $(id -u) -eq 0 ] && [ $# -gt 2 -o $# -lt 1 ] && echo "Syntax (for root): $(basename $0) [USERNAME] DESTINATION_FILE" >&2 && exit 1
if [ $# -eq 1 ]
then EZ_USER=$(id -un)
EZ_FILE=$1
else EZ_USER=$1
EZ_FILE=$2
fi
cc -o "$EZ_FILE" "$C_SOURCE"
if [ $(id -u) -eq 0 ]
then chown "$EZ_USER". "$EZ_FILE" || { echo "the user '$EZ_USER' does not exist" >&2; rm "$EZ_FILE"; exit 1; }
fi
chmod u+s "$EZ_FILE"
echo "Successfully created '$EZ_FILE' for user '$EZ_USER'."

@ -0,0 +1,11 @@
#include <stdio.h>
#include <unistd.h>
/* C wrapper to allow ezmlm-web.cgi to run suid */
/* Copyright (C) 1999/2000, Guy Antony Halse, All Rights Reserved */
/* See the README file in this distribution for copyright information */
int main(void) {
/* Change this path to wherever you decided to put ezmlm-web.cgi */
execv("/usr/lib/ezmlm-web/ezmlm-web.pl", NULL);
}

@ -0,0 +1,25 @@
.TH ezmlm-web-make-suid 1 "January 02006" "ezmlm-web" "helper script"
.SH NAME
ezmlm-web-make-suid \- create user-specific suid wrappers for ezmlm-web
.SH SYNOPSIS
.B ezmlm-web-make-suid
[\fIUSERNAME\fR] \fIDESTINATION_FILE\fR
.SH DESCRIPTION
.PP
Compile a user-specific suid wrapper for ezmlm-web. This is necessary, as
the mailing lists are usually not owned by the webserver, that executes
the cgi.
.PP
The destination file determines where to put the resulting binary.
.PP
Only root is allowed to choose a username.
.SH EXAMPLES
.PP
ezmlm-web-make-suid john ~john/public_html/ezmlm-web
.SH AUTHOR
Written by Lars Kruse
.SH "REPORTING BUGS"
Report bugs to <devel@sumpfralle.de>
.SH COPYRIGHT
Copyright \(co 02006 Lars Kruse

File diff suppressed because it is too large Load Diff

@ -0,0 +1,69 @@
# Configuration file for ezmlm-web 2.3
# ===========================================================================
# This file is not just an ordinary configuration file - it contains valid
# perl statements that are executed just like any other perl script. When
# editing this file, be careful that it is still valid perl when you have
# finished (perl -w ezmlmwebrc ;-)
# ---------------------------------------------------------------------------
# Where do we store lists on this server ... Try "$HOME_DIR/lists".
# This directory will automatically be created if needed.
$LIST_DIR = "$HOME_DIR/lists";
# Where do we store the dotqmail files of this user?
# (defaults to the home directory of the executing user)
# You will have to change this value, if you use a multi domain
# vpopmail setup. Otherwise just leave the setting turned off.
#$DOTQMAIL_DIR = '/home/vpopmail/domain';
# Where is the webusers file for access-permissions
# defaults to "$LIST_DIR/webusers"
$WEBUSERS_FILE = "$LIST_DIR/webusers";
# Where are the language files
# usually something like /usr/local/share/ezmlm-web/lang
$LANGUAGE_DIR = "/usr/local/share/ezmlm-web/lang";
# Where are the template files
# usually something like /usr/local/share/ezmlm-web/template
$TEMPLATE_DIR = "/usr/local/share/ezmlm-web/template";
# Safe list deletion?
# 0 = move list to $LIST_DIR/_deleted_lists -> recoverable :)
# 1 = allow user to delete list completely. No backup, therefore no recovery.
$UNSAFE_RM = 0;
# Who is the qmail alias user on this system (usually alias ;)
$ALIAS_USER = 'alias';
# Where do the qmail control files live on this system ...
$QMAIL_BASE = $Mail::Ezmlm::QMAIL_BASE . '/control';
# default mailing list domain name (optional)
#$MAIL_DOMAIN = 'lists.someserver.org';
# Do we want to allow ``pretty'' names - ie more human readable ones
# This will slow ezmlm-web down a bit for large lists
$PRETTY_NAMES = 1;
# Do we want to allow the users to be allowed to upload a file containing
# lists of email addresses to subscribe?
$FILE_UPLOAD = 1;
# What switches to we want ezmlm-web to have on as default. The ezmlm-make
# defaults are aBDFGHIJKLMNOpQRSTUWX (small means enabled, CAPITALS mean
# disabled). The defaults below should be reasonable - I use them ;)
$DEFAULT_OPTIONS = 'aBDFGHiJkLMNOpQRSTUWx';
# What is the title of this document?
$HTML_TITLE = "ezmlm-web - a mailinglists' administration interface";
# Optional: use a cascading style sheet (css)
# this is a URL - you have to copy the css file to the right location before
$HTML_CSS_FILE = "/ezmlm-web.css";
# choose a language (en|de)
$HTML_LANGUAGE = 'en';

@ -0,0 +1,7 @@
#order deny,allow
#deny from all
#allow from .ru.ac.za
AuthName "EZ Mailing List Manager"
AuthType Basic
AuthUserFile /etc/ezmlm/.htusers
require valid-user

@ -0,0 +1,34 @@
/* $Id$ */
#include <stdio.h>
#include <unistd.h>
/* C wrapper to allow ezmlm-web.cgi to run suid */
/* Copyright (C) 1999/2000, Guy Antony Halse, All Rights Reserved */
/* See the README file in this distribution for copyright information */
int main(void) {
/* Change this path to wherever you decided to put ezmlm-web.cgi */
execv("/usr/local/bin/ezmlm-web.cgi", NULL);
/* Note that you could also use the following to allow a specific user
to store their mailing lists and configuration file in a different
location. This overrides the default.
ezmlm-web.cgi understands the following parameters:
-C /path/to/config.file
-d /path/to/list/directory
See README for the default values. */
/* Look at the exec(3) man page if you don't understand how the arguments
list below works */
/*
char *switches[] = { "ezmlm-web.cgi", "-d", "/tmp/ezmlm-web-demo", NULL };
execv("/usr/local/bin/ezmlm-web.cgi", switches);
*/
}

@ -0,0 +1,236 @@
LanguageID = de
LanguageName = Deutsch
Lang {
Menue {
ListCreate = Neue Liste anlegen
ListDelete = Liste löschen
Subscribers = AbonnentInnen
AllowList = Zulassungsliste
DenyList = Ablehnungsliste
DigestList = Zusammenfassung
ModList = ModeratorInnen
ConfigMain = Einstellungen
ConfigSub = Einschreibung
ConfigPost = Einsendung
ConfigAdmin = Administration
ConfigArchive = Archivierung
ConfigProcess = Verarbeitung
ConfigAll = Übersicht
TextFiles = Texte
ListSelect = Auswahl einer Liste
Properties = Eigenschaften von
Help = Hilfe (extern)
}
Title {
ConfigMain = Listeneinstellungen
ConfigSub = Einschreibungsregeln
ConfigPosting = Einsendungsregeln
ConfigAdmin = Fern-Administration der Liste
ConfigArchive = Archivierung der Liste
ConfigProcess = Nachrichtenverarbeitung
ConfigAll = Einstellungen im Überblick
SubscriberList = AbonnentInnen der Liste
AllowList = Zugelassene Nutzer
DenyList = Abzuweisende Nutzer
DigestList = EmpfängerInnen von Zusammenfassungen
ModList = ModeratorInnen der Liste
ListCreate = Anlegen einer neuen Liste
ListSelect = Auswählen einer Liste
ListDelete = Löschung von
FileSelect = Auswählen eines Textbausteins
FileEdit = Bearbeitung des Textbausteins
}
Buttons {
Create = Erzeuge die Liste
ConfirmDeletion = Lösche die Liste
DeleteAddress = Adresse(n) entfernen
AddAddress = Adresse(n) hinzufügen
UpdateConfiguration = Einstellungen speichern
EditFile = Datei bearbeiten
SaveFile = Datei speichern
ResetFile = Angepassten Textbaustein verwerfen
}
ErrorMessage {
UnknownAction = Diese Aktion ist undefiniert!
ParameterMissing = Diese Aktion benätigt weitere Parameter!
Forbidden = Fehler: dir fehlen die notwendigen Rechte für diese Aktion
InvalidFileName = Der Dateiname ist nicht zulässig.
UnknownConfigPage = Die gähle Konfigurations-Seite existiert nicht!
}
WarningMessage {
AddAddress = Mindestens eine Mailadresse konnte nicht hinzugefügt werden!
DeleteAddress = Mindestens eine der angegebenen Adressen konnte nicht entfernt werden!
CreateList = Fehler beim Anlegen der neuen Liste!
DeleteList = Die Löschung der Mailingliste schlug fehl!
UpdateConfig = Beim Speichern der Einstellungen trat ein Fehler auf!
SaveFile = Die Datei konnte nicht gespeichert werden!
ListNameAlreadyExists = Es gibt bereits eine Liste mit diesem Namen.
ListAddressAlreadyExists = Es gibt bereits eine Liste mit dieser Adresse.
ListDoesNotExist = Eine Liste dieses Namens existiert nicht.
ListDirAccessDenied = Fehler beim Zugriff auf das Verzeichnis der Liste
TextDirAccessDenied = Beim Zugriff auf das Text-Verzeichnis der Liste trat ein Fehler auf.
SafeRemoveRenameDirFailed = Das Verschieben der Liste schlug fehl.
DotQmailDirAccessDenied = Fehler beim Zugriff auf das Nutzerverzeichnis des Listenverwalters
SafeRemoveMoveDotQmailFailed = Beim Verschieben der .qmail-Dateien trat ein Fehler auf!
UnsafeRemoveListDirFailed = Fehler beim sicheren Löschen der Mailingliste
UnsafeRemoveDotQmailFailed = Fehler beim Löschen der .qmail-Dateien
InvalidFileFormat = Die gewählte Datei konnte nicht als Textdatei erkannt werden.
WebUsersUpdate = Fehler beim Aktualisieren der Nutzerverwaltungsdatei
WebUsersRead = Fehler beim Lesen der Nutzerverwaltungsdatei
InvalidListName = Der gewählte Listenname enthält unzulässige Zeichen
ReservedListName = Dieser Listenname ist ein reserviertes Wort und kann nicht benutzt werden
EmptyListName = Es wurde kein Name für die Listen angegeben.
InvalidLocalPart = Die gewählte untergeordnete Liste ist ungültig.
RequiresIDX5 = Diese Aktion erfordert ezmlm-idx in der Version 5.0 oder höher.
ResetFileIsDefault = Dieser Textbaustein ist keine angepasste Variante und kann somit nicht zurückgesetzt werden.
ResetFile = Der angepasste Textbaustein konnte nicht entfernt werden.
}
SuccessMessage {
AddAddress = Einschreibung erfolgreich
DeleteAddress = Austragung erfolgreich abgeschlossen
CreateList = Die neue Liste wurde erfolgreich angelegt.
DeleteList = Die Mailingliste wurde gelöscht.
UpdateConfig = Die neuen Einstellungen wurden erfolgreich gespeichert.
SaveFile = Die Datei wurde gespeichert.
ResetFile = Der angepasste Textbaustein wurde entfernt. Zukünftig wird stattdessen der systemweite Standard-Baustein verwendet.
}
Options {
a = Archiviere Mailinglisten-Mails
b = Nur Moderatoren dürfen auf das Archiv zugreifen
d = Aktiviere die Zusammenfassungsliste
f = Füge ein Präfix zum Betreff der ausgehenden Mails hinzu
g = Verweigere unbekannten NutzerInnen den Zugriff auf das Archiv
h = Bei der Einschreibung in die Liste ist keine Bestätigungsmail erforderlich
i = Indiziere die Nachrichten zur Veröffentlichung im Internet (z.B. mit ezmlm-www)
j = Beim Austragen aus der Liste ist keine Bestätigungsmail erforderlich
k = Beachte die Ablehnungsliste bei der Verarbeitung von Mails
l = Fern-AdministratorInnen (ModeratorInnen) dürfen eine Liste der AbonnentInnen anfordern
m = Alle eingehenden Nachrichten werden moderiert
n = Fern-AdministratorInnen (ModeratorInnen) dürfen Textbausteine per Mail verändern
o = Nur ModeratorInnen dürfen Nachrichten einsenden
p = Die Einschreibung und der Zugriff auf das Archiv sind öffentlich zugänglich
q = Verarbeite auch Anfragen im Mailman-Stil (Kompatibilität)
r = Erlaube die Fern-Administration der Liste (für ModeratorInnen)
s = Die Einschreibung in die Liste und für die Zusammenfassungen wird moderiert
t = Hänge eine Signatur an jede versandte Nachricht
u = Nur Einsendungen von AbonnentInnen werden akzeptiert (für moderierte Listen: akzeptiere alle Einsendungen von AbonnentInnen)
w = Entferne den Aufruf von ezmlm-warn aus den Verarbeitungsregeln (für sehr spezielle Konfigurationen)
x = Prüfe die MIME-Typen der Anhänge eingehender Nachrichten
y = Fordere eine Bestätigung für jede eingesandte Nachricht an
}
Settings {
0 = Diese Liste ist die Unterliste einer anderen
3 = Definiere die Absender-Adresse ausgehender Mails
4 = Eigene Einstellungen zum Versand von Zusammenfassungsmails (ezmlm-tstdig)
5 = Lege die Mailadresse der/des Verantwortlichen für diese Liste fest
6 = Verwende eine SQL-Datenbank
7 = Die Datenbank der Nachrichten-ModeratorInnen befindet sich in einem alternativen Verzeichnis
8 = Die Datenbank der Einschreibe-ModeratorInnen befindet sich in einem alternativen Verzeichnis
9 = Die Datenbank der Fern-AdministratorInnen befindet sich in einem alternativen Verzeichnis
}
Misc {
HelpLink = Das online-Handbuch von ezmlm-idx
Subscription = Einschreibung
Subscribers = AbonnentInnen
RemoteAdmin = Fern-AdministratorIn
ListName = Name der Liste