tagged ezmlm-web release v3.3.1

master
lars 14 years ago
parent e8f0fc7832
commit b78397f773
  1. 185
      ezmlm-web-3.3.1/INSTALL
  2. 112
      ezmlm-web-3.3.1/MANIFEST
  3. 110
      ezmlm-web-3.3.1/Makefile.PL
  4. 230
      ezmlm-web-3.3.1/README
  5. 47
      ezmlm-web-3.3.1/README.crypto
  6. 8
      ezmlm-web-3.3.1/TODO
  7. 121
      ezmlm-web-3.3.1/UPGRADING
  8. 178
      ezmlm-web-3.3.1/changelog
  9. 33
      ezmlm-web-3.3.1/copyright
  10. 13
      ezmlm-web-3.3.1/examples/apache.conf.dist
  11. 134
      ezmlm-web-3.3.1/examples/ezmlmwebrc.dist
  12. 26
      ezmlm-web-3.3.1/examples/ezmlmwebrc.minimal-dist
  13. 7
      ezmlm-web-3.3.1/examples/htaccess.dist
  14. 66
      ezmlm-web-3.3.1/examples/multidomain.conf.dist
  15. 5
      ezmlm-web-3.3.1/examples/webusers.dist
  16. 3014
      ezmlm-web-3.3.1/ezmlm-web.cgi
  17. 1265
      ezmlm-web-3.3.1/intl/cs/LC_MESSAGES/ezmlm-web.po
  18. 1265
      ezmlm-web-3.3.1/intl/da/LC_MESSAGES/ezmlm-web.po
  19. 1385
      ezmlm-web-3.3.1/intl/de/LC_MESSAGES/ezmlm-web.po
  20. 1339
      ezmlm-web-3.3.1/intl/en/LC_MESSAGES/ezmlm-web.po
  21. 1376
      ezmlm-web-3.3.1/intl/es/LC_MESSAGES/ezmlm-web.po
  22. 1250
      ezmlm-web-3.3.1/intl/ezmlm-web.pot
  23. 1265
      ezmlm-web-3.3.1/intl/fi/LC_MESSAGES/ezmlm-web.po
  24. 1273
      ezmlm-web-3.3.1/intl/fr/LC_MESSAGES/ezmlm-web.po
  25. 1274
      ezmlm-web-3.3.1/intl/hu/LC_MESSAGES/ezmlm-web.po
  26. 1270
      ezmlm-web-3.3.1/intl/it/LC_MESSAGES/ezmlm-web.po
  27. 1269
      ezmlm-web-3.3.1/intl/ja/LC_MESSAGES/ezmlm-web.po
  28. 1269
      ezmlm-web-3.3.1/intl/nl/LC_MESSAGES/ezmlm-web.po
  29. 1265
      ezmlm-web-3.3.1/intl/pl/LC_MESSAGES/ezmlm-web.po
  30. 1621
      ezmlm-web-3.3.1/intl/pt/LC_MESSAGES/ezmlm-web.po
  31. 1350
      ezmlm-web-3.3.1/intl/pt_BR/LC_MESSAGES/ezmlm-web.po
  32. 1350
      ezmlm-web-3.3.1/intl/ru/LC_MESSAGES/ezmlm-web.po
  33. 1350
      ezmlm-web-3.3.1/intl/sl/LC_MESSAGES/ezmlm-web.po
  34. 1265
      ezmlm-web-3.3.1/intl/sv/LC_MESSAGES/ezmlm-web.po
  35. 8
      ezmlm-web-3.3.1/lang/README
  36. 361
      ezmlm-web-3.3.1/lang/en.hdf
  37. 25
      ezmlm-web-3.3.1/man/ezmlm-web-make-suid.1
  38. 21
      ezmlm-web-3.3.1/man/ezmlm-web.wrapper.1
  39. 157
      ezmlm-web-3.3.1/man/ezmlmwebrc.5
  40. 60
      ezmlm-web-3.3.1/man/webusers.5
  41. 3
      ezmlm-web-3.3.1/package.exclude
  42. 84
      ezmlm-web-3.3.1/scripts/fetch_po_files.sh
  43. 337
      ezmlm-web-3.3.1/scripts/update_language_files.py
  44. 40
      ezmlm-web-3.3.1/spec/actions-spec.txt
  45. 62
      ezmlm-web-3.3.1/spec/hdf-spec.txt
  46. 22
      ezmlm-web-3.3.1/spec/release-policy.txt
  47. 15
      ezmlm-web-3.3.1/suid-wrapper/Makefile
  48. 38
      ezmlm-web-3.3.1/suid-wrapper/ezmlm-web-make-suid
  49. 38
      ezmlm-web-3.3.1/suid-wrapper/index.c
  50. 1
      ezmlm-web-3.3.1/suid-wrapper/index.h
  51. 23
      ezmlm-web-3.3.1/template/config_admin.cs
  52. 23
      ezmlm-web-3.3.1/template/config_all.cs
  53. 23
      ezmlm-web-3.3.1/template/config_archive.cs
  54. 23
      ezmlm-web-3.3.1/template/config_gpgezmlm.cs
  55. 23
      ezmlm-web-3.3.1/template/config_main.cs
  56. 3
      ezmlm-web-3.3.1/template/config_options/admin_edit_text.cs
  57. 3
      ezmlm-web-3.3.1/template/config_options/admin_enabled.cs
  58. 3
      ezmlm-web-3.3.1/template/config_options/admin_get_subscribers.cs
  59. 7
      ezmlm-web-3.3.1/template/config_options/admin_path.cs
  60. 3
      ezmlm-web-3.3.1/template/config_options/archive_access.cs
  61. 3
      ezmlm-web-3.3.1/template/config_options/archive_deny_unknown.cs
  62. 3
      ezmlm-web-3.3.1/template/config_options/archive_enabled.cs
  63. 3
      ezmlm-web-3.3.1/template/config_options/archive_mod_only.cs
  64. 3
      ezmlm-web-3.3.1/template/config_options/archive_remove_private_header.cs
  65. 3
      ezmlm-web-3.3.1/template/config_options/block_deny.cs
  66. 3
      ezmlm-web-3.3.1/template/config_options/block_nonmod_post.cs
  67. 3
      ezmlm-web-3.3.1/template/config_options/block_others_archive.cs
  68. 3
      ezmlm-web-3.3.1/template/config_options/block_others_post.cs
  69. 9
      ezmlm-web-3.3.1/template/config_options/charset_select.cs
  70. 3
      ezmlm-web-3.3.1/template/config_options/confirm_post.cs
  71. 3
      ezmlm-web-3.3.1/template/config_options/confirm_selection.cs
  72. 3
      ezmlm-web-3.3.1/template/config_options/confirm_sub.cs
  73. 3
      ezmlm-web-3.3.1/template/config_options/confirm_unsub.cs
  74. 13
      ezmlm-web-3.3.1/template/config_options/copylines.cs
  75. 5
      ezmlm-web-3.3.1/template/config_options/create_listaddress.cs
  76. 2
      ezmlm-web-3.3.1/template/config_options/create_listname.cs
  77. 3
      ezmlm-web-3.3.1/template/config_options/digest_enabled.cs
  78. 3
      ezmlm-web-3.3.1/template/config_options/digest_settings.cs
  79. 3
      ezmlm-web-3.3.1/template/config_options/from_address.cs
  80. 8
      ezmlm-web-3.3.1/template/config_options/gnupg_keycomment.cs
  81. 15
      ezmlm-web-3.3.1/template/config_options/gnupg_keyexpires.cs
  82. 8
      ezmlm-web-3.3.1/template/config_options/gnupg_keyname.cs
  83. 11
      ezmlm-web-3.3.1/template/config_options/gnupg_keysize.cs
  84. 6
      ezmlm-web-3.3.1/template/config_options/gpgezmlm_allowkeysubmission.cs
  85. 6
      ezmlm-web-3.3.1/template/config_options/gpgezmlm_encrypttoall.cs
  86. 6
      ezmlm-web-3.3.1/template/config_options/gpgezmlm_nokeynocrypt.cs
  87. 6
      ezmlm-web-3.3.1/template/config_options/gpgezmlm_requiresigs.cs
  88. 6
      ezmlm-web-3.3.1/template/config_options/gpgezmlm_signmessages.cs
  89. 6
      ezmlm-web-3.3.1/template/config_options/gpgezmlm_verifiedkeyreq.cs
  90. 5
      ezmlm-web-3.3.1/template/config_options/headeradd.cs
  91. 31
      ezmlm-web-3.3.1/template/config_options/headerfilter.cs
  92. 25
      ezmlm-web-3.3.1/template/config_options/lang_select.cs
  93. 3
      ezmlm-web-3.3.1/template/config_options/mailman_requests.cs
  94. 3
      ezmlm-web-3.3.1/template/config_options/mainlist.cs
  95. 35
      ezmlm-web-3.3.1/template/config_options/mimefilter.cs
  96. 7
      ezmlm-web-3.3.1/template/config_options/mimereject.cs
  97. 3
      ezmlm-web-3.3.1/template/config_options/mod_post.cs
  98. 5
      ezmlm-web-3.3.1/template/config_options/mod_post_path.cs
  99. 3
      ezmlm-web-3.3.1/template/config_options/mod_sub.cs
  100. 5
      ezmlm-web-3.3.1/template/config_options/mod_sub_path.cs
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,185 @@
The following notes will guide you through the installation of ezmlm-web:
$Id$
OVERVIEW:
0 - important notes
1 - get it
2 - install executable and shared files
3 - configuration file
4 - create a suid cgi wrapper
5 - [optional] configure access control (http authentication)
6 - [optional] configure multi domain support
7 - css stylesheet file
8 - final test
9 - troubleshooting
10 - report problems
------------------------------------------------------------------------------
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.
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.
Add the following line to your /etc/apt/sources.list file:
deb http://systemausfall.org/toolforge/debian/ testing main contrib
Now you can install it:
aptitude update
aptitude install ezmlm-web
(debian users may stop reading here)
2. Execute the following lines to install the cgi script and the shared data
files to the appropriate locations.
perl Makefile.PL
make
make install
3. Edit the examples/ezmlmwebrc.dist 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.
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) /etc/ezmlm-web/ezmlmwebrc
3) /etc/ezmlm/ezmlmwebrc [deprecated]
(ezmlm-web will look for it in these places in the given order)
See the manpage of ezmlmwebrc (5) for a complete description of all
configuration settings.
4. For every user/virtual host that needs to manage mailing lists, you
need to create a suid wrapper owned by the user whom the mailing lists
belong to. This wrapper needs to reside somewhere accessible by
the web server. I suggest that you put it in a sub directory
of each user/virtual host's home directory (eg.
/home/luser/public_html/ezmlm for Apache).
Create a suid wrapper by issuing the following command:
ezmlm-web-make-suid
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. 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 for Apache).
Alternatively you can also manage multiple domains/users/virtual hosts
with a single suid-wrapper. Take a look at examples/multidomain.conf for
details.
5. 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).
5.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)
5.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.
5.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
You may use examples/htaccess.dist as a template.
Again, see the ApacheWeek article for details.
6. You may skip this step if you manage only one directory containing mailing
lists. For more than one domain or multiple user directories you should
follow the instructions below. BEWARE: this is an advanced setting.
1) copy examples/multidomain.conf.dist to /etc/ezmlm-web/multidomain.conf
2) add your mailing list parent directories to this file
3) uncomment the respective line in your ezmlmwebrc file
The web interface should now show a "Change domain" link in the navigation
bar to the left.
Direct links to a specifc domain use the following format:
http://BASE_URL/ezmlm-web?domain=foo
Note that since version 3.3 webusers file has to explictly let users create
and manage lists. If you are relying on the user beeing able to create lists
if no webusers file exists, then you will have to explicitly create one with
the appropiate permissions.
7. Copy the stylesheet files (/usr/local/share/ezmlm-web/www-data/*.css)
to a location of your choice. It has to be accessible by an URL - maybe
a place like "/var/www/ezmlm-web/" could be appropriate.
Now you may have to adapt the "HTML_CSS_COMMON" and "HTML_CSS_COLOR"
settings in your ezmlmwebrc file.
Alternatively you can also use the mapping feature of your web server.
Take a look at examples/apache.conf.dist for an example.
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 "ezmlm-web". You can then try to create and edit
mailing lists ... Have Fun :)
If you see a slightly disordered screen, the you probably did not set the
HTML_CSS_COMMON option correctly. Check it again.
If you do not see a colorful screen, then you probably did not set the
HTML_CSS_COLOR option correctly. Check it again.
9. If anything failes - take a look at the web server's error log
(e.g. /var/log/apache/error.log).
10. If the error log of your web server does not to solve your problem:
- take a look at https://systemausfall.org/toolforge/ezmlm-web
- subscribe to the mailinglist: ezmlm-web-subscribe@lists.systemausfall.org
- send me an email: ezmlm-web@sumpfralle.de
- report a bug at https://systemausfall.org/trac/ezmlm-web

@ -0,0 +1,112 @@
ezmlm-web.cgi
changelog
copyright
UPGRADING
template/gnupg_public.cs
template/config_all.cs
template/gnupg_import.cs
template/config_subscription.cs
template/language_select.cs
template/config_encryption.cs
template/config_archive.cs
template/gnupg_convert.cs
template/main.cs
template/config_processing.cs
template/gnupg_generate_key.cs
template/config_admin.cs
template/config_posting.cs
template/help_tag_substitution.cs
template/config_main.cs
template/config_options/block_others_post.cs
template/config_options/admin_get_subscribers.cs
template/config_options/confirm_sub.cs
template/config_options/msgsize_max.cs
template/config_options/archive_deny_unknown.cs
template/config_options/confirm_post.cs
template/config_options/gnupg_keysize.cs
template/config_options/gnupg_sign_messages.cs
template/config_options/admin_enabled.cs
template/config_options/confirm_unsub.cs
template/config_options/confirm_selection.cs
template/config_options/mainlist.cs
template/config_options/create_listname.cs
template/config_options/mimereject.cs
template/config_options/mod_post_path.cs
template/config_options/digest_enabled.cs
template/config_options/gnupg_keyexpires.cs
template/config_options/trailer.cs
template/config_options/prefix.cs
template/config_options/mysql.cs
template/config_options/msgsize_min.cs
template/config_options/mimefilter.cs
template/config_options/mod_sub.cs
template/config_options/admin_path.cs
template/config_options/webusers.cs
template/config_options/lang_select.cs
template/config_options/digest_settings.cs
template/config_options/subscribe_selection.cs
template/config_options/mod_sub_path.cs
template/config_options/gnupg_keyname.cs
template/config_options/reply_to_self.cs
template/config_options/mailman_requests.cs
template/config_options/public.cs
template/config_options/block_deny.cs
template/config_options/admin_edit_text.cs
template/config_options/mod_post.cs
template/config_options/copylines.cs
template/config_options/headeradd.cs
template/config_options/from_address.cs
template/config_options/create_listaddress.cs
template/config_options/posting_selection.cs
template/config_options/warn_remove.cs
template/config_options/headerfilter.cs
template/config_options/gnupg_keycomment.cs
template/config_options/archive_enabled.cs
template/config_options/gnupg_plain_without_key.cs
template/config_options/block_nonmod_post.cs
template/config_options/block_others_archive.cs
template/config_options/archive_remove_private_header.cs
template/config_options/owner_address.cs
template/config_options/archive_mod_only.cs
template/config_options/charset_select.cs
template/config_options/archive_access.cs
template/textfile_edit.cs
template/modpath_info.cs
template/ui/easy.hdf
template/ui/expert.hdf
template/ui/normal.hdf
template/domain_select.cs
template/mime_type_examples.txt
template/list_delete.cs
template/header.cs
template/list_create.cs
template/interface_select.cs
template/footer.cs
template/textfiles.cs
template/show_subscription_log.cs
template/list_select.cs
template/subscribers.cs
template/macros.cs
template/gnupg_secret.cs
template/nav.cs
www-data/horiz_grad_blue.png
www-data/color-red-blue.css
www-data/vert_grad_red.png
www-data/horiz_grad_blue_long.png
www-data/color-blue-gray.css
www-data/graphics-template.svg
www-data/default.css
man/ezmlm-web-make-suid.1
man/ezmlm-web.wrapper.1
man/webusers.5
man/ezmlmwebrc.5
examples/ezmlmwebrc.minimal-dist
examples/apache.conf.dist
examples/htaccess.dist
examples/multidomain.conf.dist
examples/webusers.dist
examples/ezmlmwebrc.dist
suid-wrapper/index.h
suid-wrapper/index.c
suid-wrapper/ezmlm-web-make-suid
suid-wrapper/Makefile

@ -0,0 +1,110 @@
# $Id$
use strict;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
'NAME' => 'ezmlm-web',
'AUTHOR' => 'Lars Kruse <devel@sumpfralle.de>',
'VERSION_FROM' => 'ezmlm-web.cgi', # finds $VERSION
'DISTNAME' => 'ezmlm-web',
'PREREQ_PM' => {
'Mail::Ezmlm' => 0.07,
'Mail::Address' => 1.15,
'CGI' => 2.6,
'CGI::Carp' => 1.06,
'DB_File' => 1.65,
'Getopt::Std' => 1.0,
'File::Find' => 0.0,
'File::Copy' => 2.02,
'File::Path' => 1.07,
'Text::ParseWords' => 3.0 },
'MAN1PODS' => { 'ezmlm-web.cgi' => 'blib/man1/ezmlm-web.cgi.1p' },
'dist' => { COMPRESS => 'gzip', SUFFIX => 'gz' }
);
sub MY::postamble {
my ($self, $datadir) = @_;
my $SHAREDIR = "\$(DESTINSTALLSHARE)/$self->{NAME}";
return <<ENDOFTEXT
# REALINSTALLBIN is introduced later depending on "site" or "vendor" installation
export REALINSTALLBIN
export NOECHO
export CC
real_install_bin_: REALINSTALLBIN := \$(INSTALLSITEBIN)
real_install_bin_: install_suid_wrapper install_cgi
real_install_bin_site: REALINSTALLBIN := \$(INSTALLSITEBIN)
real_install_bin_site: install_suid_wrapper install_cgi
real_install_bin_vendor: REALINSTALLBIN := \$(INSTALLVENDORBIN)
real_install_bin_vendor: install_suid_wrapper install_cgi
real_install_bin_perl: REALINSTALLBIN := \$(INSTALLBIN)
real_install_bin_perl: install_suid_wrapper install_cgi
real_build_bin_: REALINSTALLBIN := \$(INSTALLSITEBIN)
real_build_bin_: build_suid_wrapper
real_build_bin_site: REALINSTALLBIN := \$(INSTALLSITEBIN)
real_build_bin_site: build_suid_wrapper
real_build_bin_vendor: REALINSTALLBIN := \$(INSTALLVENDORBIN)
real_build_bin_vendor: build_suid_wrapper
real_build_bin_perl: REALINSTALLBIN := \$(INSTALLBIN)
real_build_bin_perl: build_suid_wrapper
subdirs:: real_build_bin_\$(INSTALLDIRS)
clean_subdirs: clean_suid_wrapper
build_suid_wrapper:
\$(MAKE) -C suid-wrapper build
clean_suid_wrapper:
\$(MAKE) -C suid-wrapper clean
make_real_bin: real_install_bin_\$(INSTALLDIRS)
\$(MKPATH) \$(DESTDIR)\$(REALINSTALLBIN)
install_cgi: make_real_bin
install -c -m 755 ezmlm-web.cgi \$(DESTDIR)\$(REALINSTALLBIN)/ezmlm-web.cgi
install_suid_wrapper: build_suid_wrapper make_real_bin
\$(NOECHO) echo "WARNING: \$(REALINSTALLBIN)"
install -c -m 0755 suid-wrapper/index.cgi \$(DESTDIR)\$(REALINSTALLBIN)/ezmlm-web.wrapper
install -c -m 0755 suid-wrapper/ezmlm-web-make-suid.configured \$(DESTDIR)\$(REALINSTALLBIN)/ezmlm-web-make-suid
install:: real_install_bin_\$(INSTALLDIRS) install_share_\$(INSTALLDIRS)
install_share_site:: DESTINSTALLSHARE := \$(DESTDIR)\$(PREFIX)/local/share
install_share_site:: install_share
install_share_vendor:: DESTINSTALLSHARE := \$(DESTDIR)\$(PREFIX)/share
install_share_vendor:: install_share
install_share:
install -d -m 0755 $SHAREDIR
install -d -m 0755 $SHAREDIR/lang
for file in lang/*.hdf ; \\
do install -c -m 0644 \$\$file $SHAREDIR/lang/ ; \\
done
install -d -m 0755 $SHAREDIR/www-data
for file in www-data/*.css www-data/*.png ; \\
do install -c -m 0644 \$\$file $SHAREDIR/www-data/ ; \\
done
install -d -m 0755 $SHAREDIR/template
install -d -m 0755 $SHAREDIR/template/config_options
install -d -m 0755 $SHAREDIR/template/ui
for file in template/*.cs template/*.txt ; \\
do install -c -m 0644 \$\$file $SHAREDIR/template/ ; \\
done
for file in template/config_options/*.cs ; \\
do install -c -m 0644 \$\$file $SHAREDIR/template/config_options/ ; \\
done
for file in template/ui/*.hdf ; \\
do install -c -m 0644 \$\$file $SHAREDIR/template/ui/ ; \\
done
ENDOFTEXT
}

@ -0,0 +1,230 @@
===================
| ezmlm-web-3.3.1 |
===================
$Id$
If you only want to know how to install ezmlm-web, then you should
read INSTALL.
Contents
========
I. Copyright Stuff
II. Requirements
III. Multi-level list access
IV. Multilingual interface
V. Encryption support
VI. Bugs && Bug Reports
VII. Acknowledgements
VIII. Availability
I. Copyright Stuff - essentially the FreeBSD licence ...
==================
ezmlm-web - version 3.3.1 - 14/10/02008
Copyright (C) 1998, Guy Antony Halse, All Rights Reserved.
Copyright (C) 02005-02008, Lars Kruse, 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. Requirements
================
This version of ezmlm-web requires the following;
* qmail v1.03
* ezmlm-idx v0.40 or higher
* clearsilver v0.10.3 (only perl support is necessary)
* Perl v5.004 and the following modules;
+ Mail::Ezmlm v0.07
+ Mail::Address v1.15 OR Email::Address
+ 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
+ MIME::QuotedPrint v?
+ Encode (optional)
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) from http://clearsilver.net.
III. 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.
You find the details of the format of webusers (5) file in the respective
manpage.
IV. Multilingual interface
==========================
One of the great new features since 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 default fallback language can be selected in ezmlmwebrc with the
"HTML_LANGUAGE" option. ezmlm-web tries to determine the language of the
current user by evaluating the http header information of the browser.
Additionally the user may select a different language via the web interface.
The currently supported languages are:
- English
- German
- Slovenian
- Portuguese (Brazil)
Please visit the translation center at http://translate.systemausfall.org
to contribute some translations for your native language. Thanks!
V. Encryption support
=====================
ezmlm-web supports encrypted mailinglists since v3.3.
See README.crypto for details.
VI. Bugs && Bug Reports
=======================
I don't know of any bugs ...
Ezmlm-web 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 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
VII. 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) - designed most of the new
interface for v3.0
* Clavdia Horvat - designed the new color scheme of v3.2 and translated to
Slovenian
* Carlinhos Cecconi - added the translation for Portugues do Brasil
* Hans F. Nordhaug - fixed MANIFEST file and reported typos
* Jose Luis Martinez - various code improvements; added the Spanish translation
* Anton Ponkratov - added the Russian translation
* kinneko - added the Japanese translation
VIII. 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 (inofficial) debian repository containing ezmlm-web is at:
http://systemausfall.org/toolforge/debian/
The translation web interface (powered by Pootle) is at:
http://translate.systemausfall.org
The website of Guy Antony Halse (the original 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,47 @@
This file describes how to manage encrypted mailing lists with ezmlm-web.
$Id$
Content:
1) Requirements
2) Installation of gpgpy-ezmlm
3) Setup of ezmlm-web
4) Notes
------------------------------
1) Requirements
To use encrypted mailing lists, you need to install gpg-ezmlm (see
http://www.synacklabs.net/projects/crypt-ml/).
gpg-ezmlm will handle your incoming and outgoing mails. It does not
support all the features of ezmlm-idx, but it should suffice for the
specialized needs of encrypted communication for small groups.
Install the perl module Mail::Ezmlm (>=0.08) to access gpg-ezmlm. You can
download it from
https://systemausfall.org/toolforge/ezmlm-web/downloads/Ezmlm-Gpg.
Of course, you also need gnupg (it is required by gpg-ezmlm, too).
2) Installation
Follow the instructions in the README file of gpg-ezmlm.
Usually it should boil down to the following commands:
perl Makefile.PL
make
make test
make install
See INSTALL in the Mail::Ezmlm module
(https://systemausfall.org/toolforge/ezmlm-web/download/Ezmlm)
for details on how to install it.
3) Setup of ezmlm-web
Support for encrypted mailing lists can be enabled by setting the
ENCRYPTION_SUPPORT configuration setting in ezmlmwebrc to "1".
4) Notes
As soon as you installed all the necessary programs you will find a new
link in the navigation bar of ezmlm-web named "Encryption".

@ -0,0 +1,8 @@
Infos fuer Massen-Hosting:
http://www.fbis.ch/index-de.php?page=14&frameset=4
main page title should be a link to the domain/list selection
-> text configurable?
listname (incl. domain name) below the main title?

@ -0,0 +1,121 @@
This file contains some useful hints for upgrading from a previous version.
##############################################################################
------------------------------------------------------------------------------
UPGRADING ezmlm-web 3.2 to ezmlm-web 3.3
1) the file webusers is mandatory
The admin has to add ALLOW_CREATE or user-specific permissions to the
webusers file, to allow changes to mailing lists otherwise no changes are
allowed. If you have ezmlm-web running already, a webusers file has already
been created for you (this was actually a bug - see issue #51 in the bug
database).
This change should not have any negative impact on working installations.
------------------------------------------------------------------------------
UPGRADING ezmlm-web 3.1 to ezmlm-web 3.2
1) the following dependency was added:
- File::Path
2) CSS stylesheet file
The css stylesheet file changed significantly. Please update your copy.
Additionally the stylesheet file was splitted into a common and a color
scheme part. Thus you need to specify the location of your color scheme
CSS file (a URL) in your ezmlmwebrc as HTML_CSS_COLOR. Otherwise your web
interface will be plain black and white. Read 'man ezmlmwebrc' for details.
Be aware that at least one of the supplied color schemes requires some
images to be available in the directory of the stylesheet file.
The easiest approach would be to publish the 'www-data' directory via an
'Alias' (or something similar) with your favourite web server.
Take a look at examples/apache.conf.dist for an example.
3) possible locations of ezmlmwebrc
ezmlm-web does no longer search for a configuration file (ezmlmwebrc) in
the current directory, as this can be a security risk.
If you relied on this behavior (should be rare), then you have two options:
A) move your configuration file to one of the other possible locations
B) patch the source of ezmlm-web.cgi to include the deprecated
configuration file location. Do this on your own risk!
4) renamed configuration setting
The configuration setting 'HTML_CSS_FILE' is replaced by 'HTML_CSS_COMMON'
for clarity. 'HTML_CSS_COMMON' falls back to the value of 'HTML_CSS_FILE'
if it is undefined. Thus your setup should work as before. But you are
encouraged to replace the setting, as it might break your setup in a
future version of ezmlm-web.
------------------------------------------------------------------------------
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 languge directory somewhere 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,178 @@
Version 3.3.1 - 10/14/02008
* generate gnupg keys in the background to avoid timeouts
* remove authorization info during list deletion (Closes: #54)
Version 3.3 - 10/12/02008
* add gnupg keyring management
* add gpg-ezmlm support - experimental (Closes: #42)
* fix bug for installations without 'webusers' file (Closes: #51)
* improve parsing of subscription log (Closes: #43)
* add posting model for moderated subscriber-only lists (Closes: #49)
* fix a bug in the authorization code regarding lower/uppercase (Closes: #53)
* add configuration of blacklisted interface options
* hide domains without accessible lists for improved privacy (Closes: #46)
* fixed ambiguity of MAIL_ADDRESS_PREFIX for virtualdomain (Closes: #45)
* relax possible characters in a list path (Closes: #48)
* added Spanish translation contributed by CAPSiDE
* added Russian translation contributed by Anton Ponkratov
* added Japanese translation contributed by kinneko
Version 3.2 - 08/15/02007
* support for multi-domain setups (multiple list directories)
* detect preferred interface language
* user-specific interface language selection
* user-specific interface types (easy/normal/expert)
* simplified rules for subscribing, posting and archive access
* support for listing of subscription log
* support for downloading the subscribers list as a text file
* configurable prefix for the local part of mailing list addresses
* support for more ezmlm-idx features: 'headerkeep', 'mimekeep' and 'copylines'
* "reply-to-self" is easier to use
* added configuration setting for site-specific links
* script for creating binary suid wrappers added
* handling of empty settings for ezmlm-idx 5.0 fixed (closes #21)
* bug in MySQL support fixed
* handling of the special character "dot" in listname and list address fixed
* prevent creation of dotqmail files containing uppercase characters (invalid)
* support regional language codes (e.g.: pt_BR)
* allow to reset the "owner" attribute
* the formerly required module "Encode" is now optional
* the perl module Email::Address can be used instead of Mail::Address
* most importantly: a new color scheme! (red/blue instead of blue/gray)
(the "classic" color scheme is still supported)
Version 3.1.4 - 03/26/02006
* new setting: DOTQMAIL_DIR (useful for multi domain vpopmail setups)
[suggested by Maurits Lamers]
* 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
* support 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,33 @@
ezmlm-web is distributed under the following BSD-style license:
Copyright (C) 1999/2000, Guy Antony Halse
Copyright (C) 2005-2008, Lars Kruse
All Rights Reserved.
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, Lars Kruse 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,13 @@
# example configuration of ezmlm-web for apache-style web servers
# you should copy this file to e.g. /etc/apache2/conf.d
# don't forget to restart the web server afterwards
# map the static content (css files and images) to the base URL /ezmlm-web/
Alias /ezmlm-web/ /usr/local/share/ezmlm-web/www-data/
# usually you will have to create a suid wrapper for ezmlm-web to enable
# write access to the mailing list directories
# see 'man ezmlm-web-make-suid' for details
# e.g.: 'ezmlm-web-make-suid ezmlm /usr/local/bin/ezmlm-web'
#ScriptAlias /ezmlm-web /usr/local/bin/ezmlm-web

@ -0,0 +1,134 @@
# Configuration file for ezmlm-web 3.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 ;-)
#
# See the manpage of ezmlmwebrc(5) for a list of all available configuration
# settings.
# ---------------------------------------------------------------------------
# Where do we store lists on this server ... Try "$HOME_DIR/lists".
# This directory will automatically be created if needed.
# BEWARE: the (resulting) path MUST be absolute (starting with a slash)!
$LIST_DIR = "$HOME_DIR/lists";
# Multi-Domain-Support
# This is a quite advanced setting for special installations.
# Most people should just ignore it.
# Anyway - if you want to control more than one directory containing
# different lists, then you should:
# 1) copy examples/multidomain.conf.dist to /etc/ezmlm-web/multidomain.conf
# 2) adjust /etc/ezmlm-web/multidomain.conf to your setup
# 3) uncomment the following line
# 4) make sure that your multi domain settings are not overriden by settings below
#warn "multidomain.conf failed" unless (defined do "/etc/ezmlm-web/multidomain.conf");
# 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.
# BEWARE: the (resulting) path MUST be absolute (starting with a slash)!
#$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 ...
# defaults to /var/qmail/control
$QMAIL_BASE = $Mail::Ezmlm::QMAIL_BASE . '/control';
# default mailing list domain name (optional)
#$MAIL_DOMAIN = "lists.someserver.org";
# default prefix of the local part of the addresses of mailing lists
# useful for some qmail-ldap setups
#$MAIL_ADDRESS_PREFIX = "lists-";
# 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";
# Which interface type should be displayed by default?
# available values are: easy, normal and expert
#$DEFAULT_INTERFACE_TYPE = "normal";
# exclude some interface options from being displayed
# BEWARE: this does not protect the specific option from being changed.
# It just hides the visible interface items. Anyone can still craft a manual
# http request, that could change the specified options.
# See the list of filenames below $TEMPLATE_DIR/config_options/. The
# blacklist may contain any of these filenames (without '.cs' extension).
#$INTERFACE_OPTIONS_BLACKLIST = ('lang_select', 'mime_reject');
# What is the title of this document?
$HTML_TITLE = "ezmlm-web - a mailinglist administration interface";
# Optional: some permanent links (visible in the top right corner)
#@HTML_LINKS = (
# { name => 'ezmlm-web homepage',
# url => 'https://systemausfall.org/toolforge/ezmlm-web' },
# { name => 'domain\'s root',
# url => '/'},
# );
# use a cascading style sheet (css)
# the setting is interpreted as a URL
# this setting was formerly known as "HTML_CSS_FILE"
$HTML_CSS_COMMON = "/ezmlm-web/default.css";
# choose a coloring scheme - the available files are:
# color-blue-gray: default style used before v3.2
# color-red-blue: use gradients instead of plain colors (since v3.2)
#
# be aware, that some stylesheets may require additional graphic
# files in the same directory
$HTML_CSS_COLOR = "/ezmlm-web/color-red-blue.css";
# the default interface language
# all other available translation are available via the web interface
# the configured preferred browser language of a user can override this
# setting individually
$HTML_LANGUAGE = "en";
# enabled support for encrypted mailing lists - defaults to 0 (off)
# This include keyring management and mailing list handling in general.
#$ENCRYPTION_SUPPORT = 0;
# Define the default location of gnupg keyrings used for mailing list
# encryption. If the location starts with a slash ('/'), then it is considered
# to be an absolute path. Otherwise it is relative to the current list
# directory. For the ezmlm-gpg mailing list encryption system, the default
# (".gnupg") is usable.
#$GPG_KEYRING_DEFAULT_LOCATION = ".gnupg";

@ -0,0 +1,26 @@
# Minimal configuration file for ezmlm-web 3.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 ;-)
#
# See the manpage of ezmlmwebrc(5) for a list of all available configuration
# settings.
# ---------------------------------------------------------------------------
# Where do we store lists on this server ... Try "$HOME_DIR/lists".
# This directory will automatically be created if needed.
# BEWARE: the (resulting) path MUST be absolute (starting with a slash)!
$LIST_DIR = "$HOME_DIR/lists";
# 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";

@ -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,66 @@
# This is a configuration file for ezmlm-web setups with more than one
# mailing list directory.
#
# If you want to use multi-domain support, then you should somehow know
# what you are doing. You have been warned! ;)
#
# Usually you just need to adjust the $DOMAIN setting below.
# Use the existing example as a template.
#
# If your setup is a little bit more exotic, then you can change the code, too.
# In the end, the setting $LIST_DIR should either be an empty string or
# the path of a mailing list directory. You may also want to take care for the
# $DOTQMAIL_DIR, $MAILDOMAIN and $MAIL_ADDRESS_PREFIX settings.
#
# BEWARE: you may not define new variables as - otherwise they could collide
# with the names of variables of the ezmlm-web program.
#
# AGAIN: you have to remove any setting defined in this multidomain setup from
# the ezmlmwebrc file. Otherwise the settings below get overriden and are ignored.
#
{
# we do not want to spoil our namespace - but we need CGI input
use CGI ();
$CURRENT_DOMAIN = new CGI->param('domain');
};
# domain names may not contain any special characters
# you must define at least "name" and "list_dir" for each domain
%DOMAINS = (
foo => {
name => "Example Domain Foo",
list_dir => "/data/lists/foo",
dot_dir => "/var/vpopmail/lists/foo",
mail_domain => "lists.foo.org",
mail_prefix => "lists-",
webusers_file => "/data/lists/foo/webusers",
},
bar => {
name => "Example Domain Bar",
list_dir => "/data/lists/bar",
dot_dir => "/var/vpopmail/lists/bar",
mail_domain => "lists.bar.org",
mail_prefix => "lists-",
webusers_file => "/data/lists/bar/webusers",
},
);
# this simple code defines the most common list specific parameters in a sane way
if (defined($CURRENT_DOMAIN) && defined($DOMAINS{$CURRENT_DOMAIN})) {
$LIST_DIR = $DOMAINS{$CURRENT_DOMAIN}{'list_dir'}
if (defined $DOMAINS{$CURRENT_DOMAIN}{'list_dir'});
$DOTQMAIL_DIR = $DOMAINS{$CURRENT_DOMAIN}{'dot_dir'}
if (defined $DOMAINS{$CURRENT_DOMAIN}{'dot_dir'});
$MAIL_DOMAIN = $DOMAINS{$CURRENT_DOMAIN}{'mail_domain'}
if (defined $DOMAINS{$CURRENT_DOMAIN}{'mail_domain'});
$MAIL_ADDRESS_PREFIX = $DOMAINS{$CURRENT_DOMAIN}{'mail_prefix'}
if (defined $DOMAINS{$CURRENT_DOMAIN}{'mail_prefix'});
$WEBUSERS_FILE = $DOMAINS{$CURRENT_DOMAIN}{'webusers_file'}
if (defined $DOMAINS{$CURRENT_DOMAIN}{'webusers_file'});
} else {
$LIST_DIR = '';
}

@ -0,0 +1,5 @@
comm: guy arb
users: arb
members: ALL
ALL: root
ALLOW_CREATE: root guy

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,8 @@
BEWARE: all files in this directory except for "en.hdf" are auto-generated by
scripts/update_language_files.sh.
Do not change these files! All changes will get lost!
Use the po files in the directory "intl" instead, if you want to update a
translation.
Use the UTF-8 character set for the language files.

@ -0,0 +1,361 @@
Lang {
Name = English
Menue {
ListCreate = Create new list
ListDelete = Delete list
Subscribers = Subscribers
AllowList = allow list
DenyList = deny list
DigestList = digest list
ModList = moderators
ConfigMain = Options
ConfigSub = subscription
ConfigPost = posting
ConfigAdmin = administration
ConfigArchive = archive
ConfigProcess = processing
ConfigAll = overview
Gnupg = Key management
GnupgPublicKeys = public keys
GnupgSecretKeys = secret keys
GnupgGenerateKey = generate key
GpgEzmlmConvert = Encryption
GpgEzmlmOptions = encryption
TextFiles = Text files
ListSelect = Choose a list
Properties = Properties of
Language = Language
Interface = Interface
Help = Help (external)
SubscribeLog = Subscriber's log
DomainSelect = Choose a domain
}
Title {
ConfigMain = List configuration
ConfigSub = Subscription options
ConfigPosting = Posting options
ConfigAdmin = Remote administration
ConfigArchive = Archive options
ConfigProcess = Message processing
ConfigAll = Complete configuration
SubscriberList = Subscribers of the list
AllowList = Allowed users
DenyList = Blocked users
DigestList = Digest subscribers
ModList = Moderators of the mailinglist
ListCreate = Create a new list
ListSelect = Choose a list
ListDelete = Delete list
FileSelect = Choose a file for editing
FileEdit = Editing file
SubscribeLog = Subscription events
GpgEzmlmConvert = Encryption
GnupgPublic = Public keys
GnupgSecret = Secret keys
GnupgGenerateKey = Generate a new keypair
GpgEzmlmOptions = Encryption settings
DomainSelect = Choose a domain
}
Buttons {
Create = Create list
ConfirmDeletion = Delete the list
DeleteAddress = Delete address(es)
DownloadSubscribersList = Download subscribers
AddAddress = Add address(es)
UpdateConfiguration = Update configuration
UpdateGnupg = Update keyring
EditFile = Edit file
SaveFile = Save file
ResetFile = Remove customized file
InterfaceSet = Apply
GpgEzmlmConvertToEncrypted = Convert to an encrypted mailinglist
GpgEzmlmConvertToPlain = Convert to a plaintext mainlinglist
DeletePublicKey = Delete public key(s)
DeleteSecretKey = Delete secret key(s)
GnupgImportKey = Import key
GnupgGenerateKey = Generate key pair
GnupgExportKey = download
}
ErrorMessage {
UnknownAction = this action is undefined
ParameterMissing = this action needs one or more parameters
Forbidden = Error: you are not allowed to do this!
InvalidFileName = The name of the file is invalid!
UnknownConfigPage = The chosen config page is invalid!
UnknownGnupgPage = The chosen gnupg page is invalid!
GnupgKeyImport = Failed to import the uploaded key!
GnupgDelKey = Failed to remove the key(s)!
GnupgGenerateKey = Failed generate a new key!
}
WarningMessage {
AddAddress = Adding of at least one mail address failed!
DeleteAddress = Removal of at least one mail address failed!
CreateList = Creation of new mailing list failed!
DeleteList = Removal of mailing list failed!
UpdateConfig = Update of configuration failed!
SaveFile = The file could not be saved!
ListNameAlreadyExists = There is already a list with this name!
ListAddressAlreadyExists = There is already a list with this address!
ListDoesNotExist = A list with this name does not exist!
ListDirAccessDenied = Unable to access the list's directory
TextDirAccessDenied = Unable to access the list's directory of text files
SafeRemoveRenameDirFailed = Unable to rename list for safe removal
DotQmailDirAccessDenied = Unable to read the mail user's home directory for .qmail files
SafeRemoveMoveDotQmailFailed = Unable to move .qmail files
UnsafeRemoveListDirFailed = Unable to delete list
UnsafeRemoveDotQmailFailed = Unable to delete .qmail files
InvalidFileFormat = The uploaded file must be a text file
WebUsersUpdate = Could not update the webusers file
WebUsersRead = Could not read the webusers file
InvalidListName = The name of the list contains invalid characters
ReservedListName = This listname may not be used as it is reserved for internal purposes
EmptyListName = The name of the list may not be empty
EmptyList = This list has no subscribers.
InvalidLocalPart = The local part of the list address is not valid
RequiresIDX5 = This action requires ezmlm-idx v5.0 or higher.
ResetFileIsDefault = There is no customized text file, that can be removed.
ResetFile = Removal of custimized text file failed.
LogFile = Reading of log file failed.
GnupgNoKeyFile = There was no key file selected for upload!
GnupgDelKey = Removal of (at least) one key failed!
GnupgNoKeySelected = There was no key selected to be removed!
GnupgNoName = The name of the key may not be empty!
GnupgInvalidExpiration = The expiration time is invalid!
GnupgInvalidKeySize = The length of the key is invalid!
GnupgExportKey = Export of key failed!
GpgEzmlmConvertEnable = Conversion to encrypted mailing list failed!
GpgEzmlmConvertDisable = Conversion to plaintext mailing list failed!
GpgEzmlmConvertAlreadyEnabled = Encryption was already enabled for this mailing list.
GpgEzmlmConvertAlreadyDisabled = Encryption was already disabled for this mailing list.
}
SuccessMessage {
AddAddress = The address was added to the list.
DeleteAddress = The address was removed from the list.
CreateList = The new mailing list was successfully created.
DeleteList = The mailing list was successfully removed.
UpdateConfig = The mailing list's configuration was successfully changed.
UpdateGnupg = The keyring has been changed successfully.
SaveFile = The file was saved.
ResetFile = The customized text file was successfully removed. From now on, the system-wide default text file will be used instead of it.
GnupgKeyImport = The key was successfully imported.
GnupgGenerateKey = The key was created successfully.
GnupgGenerateKeyInBackground = The key is created in the background. It will be visible in a few minutes.
GpgEzmlmConvertEnable = Encryption is now enabled for this list.
GpgEzmlmConvertDisable = Encryption is now disabled for this list.
}
Options {
a = Archive mailing list messages
b = Only moderators are allowed to access the archive
d = Activate the digest list
f = Add a prefix to the subject line of outgoing messages
g = Archive requests from unrecognised senders are denied
h = Subscriptions do not require confirmation by the user
i = Index mailing list messages for WWW archive access
j = Unsubscribe does not require confirmation
k = Use deny list to prevent some users from posting
l = Remote administrators (moderators) may request a subscriber list
m = All incoming messages are moderated
n = Remote administrators (moderators) may edit text files in DIR/text
o = Only moderators may post
p = Allow subscription and archive retrieval for everyone
q = Process mailman-style requests (to local-request@domain)
r = Enable remote administration of the list (for moderators)
s = Subscriptions to the main list and the digest list will be moderated
t = Add a trailing text to every (plaintext) message
u = Only subscribed users may post messages (for moderated lists: always accept subscribers' postings)
w = Remove the ezmlm-warn invocations from the list setup (rarely useful)
x = Reset the list of to be stripped mime types to its default value
y = Request a confirmation mail for every posted message
special_replytoself = Redirect replies to the list
gpgezmlm_nokeynocrypt = Send a warning instead of the original content to subscribers without a key
gpgezmlm_signmessages = Sign outgoing messages with the list's key
gpgezmlm_requiresigs = Accept only incoming messages with signatures
gpgezmlm_allowkeysubmission = Allow submitting a key in the subscription confirmation mail
gpgezmlm_encrypttoall = Encrypt the message to all subscribers within one mail instead of sending a single mail for each subscriber