disable encryption support for now

README.clearsilver is obsolete
adapt ezmlmwebrc.dist to the new HTML_CSS_COMMON setting (renamed from HTML_CSS_FILE)
separate style and color settings (CSS)
add HTML_CSS_COLOR setting
adapted Makefile.PL to the new paths
cleaned up the README file
prevent uppercase letters in dotqmail filenames
This commit is contained in:
lars 2007-08-04 22:53:31 +00:00
parent 9feba7481e
commit 70d0ae5d01
22 changed files with 167 additions and 180 deletions

15
INSTALL
View file

@ -145,11 +145,11 @@ OVERVIEW:
http://BASE_URL/ezmlm-web?domain=foo http://BASE_URL/ezmlm-web?domain=foo
7. Copy the stylesheet file (/usr/local/share/ezmlm-web/css/default.css) 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 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. a place like "/var/www/ezmlm-web.css" could be appropriate.
Now you may have to change the "HTML_CSS_FILE" setting in your Now you may have to change the "HTML_CSS_COMMON" and "HTML_CSS_COLOR"
ezmlmwebrc file. This value is a URL - not the local filename. settings in your ezmlmwebrc file.
8. Test the installation with your favourite web browser. You should be 8. Test the installation with your favourite web browser. You should be
@ -157,8 +157,11 @@ OVERVIEW:
with a screen entitled "EZ Mailing List Manger". You can then try to with a screen entitled "EZ Mailing List Manger". You can then try to
create and edit mailing lists ... Have Fun :) create and edit mailing lists ... Have Fun :)
If you do not see a colorful screen, then you did not set the HTML_CSS_FILE If you see a slightly disordered screen, the you did not set the
option correctly in ezmlmwebrc. Check it again. HTML_CSS_COMMON option correctly. Check it again.
If you do not see a colorful screen, then you 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 9. If anything failes - take a look at the web server's error log
@ -167,7 +170,7 @@ OVERVIEW:
10. If the error log of your web server did not help you to solve your problem: 10. If the error log of your web server did not help you to solve your problem:
- take a look at https://systemausfall.org/toolforge/ezmlm-web - 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 - 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 - report a bug at https://systemausfall.org/trac/ezmlm-web

View file

@ -3,5 +3,8 @@ changelog
copyright copyright
TODO TODO
UPGRADING UPGRADING
share template/
examples www-data/
man/
examples/
suid-wrapper/

View file

@ -87,29 +87,24 @@ install_share_vendor:: install_share
install_share: install_share:
install -d -m 0755 $SHAREDIR install -d -m 0755 $SHAREDIR
install -d -m 0755 $SHAREDIR/lang install -d -m 0755 $SHAREDIR/lang
for file in share/lang/*.hdf ; \\ for file in lang/*.hdf ; \\
do install -c -m 0644 \$\$file $SHAREDIR/lang/ ; \\ do install -c -m 0644 \$\$file $SHAREDIR/lang/ ; \\
done done
install -d -m 0755 $SHAREDIR/css install -d -m 0755 $SHAREDIR/www-data
for file in share/css/*.css ; \\ for file in www-data/*.css www-data/*.png ; \\
do install -c -m 0644 \$\$file $SHAREDIR/css/ ; \\ do install -c -m 0644 \$\$file $SHAREDIR/www-data/ ; \\
done done
install -d -m 0755 $SHAREDIR/template install -d -m 0755 $SHAREDIR/template
install -d -m 0755 $SHAREDIR/template/ui
install -d -m 0755 $SHAREDIR/template/ui/default
install -d -m 0755 $SHAREDIR/template/ui/gnupg
install -d -m 0755 $SHAREDIR/template/config_options install -d -m 0755 $SHAREDIR/template/config_options
for file in share/template/*.cs ; \\ install -d -m 0755 $SHAREDIR/template/ui
for file in template/*.cs template/*.txt ; \\
do install -c -m 0644 \$\$file $SHAREDIR/template/ ; \\ do install -c -m 0644 \$\$file $SHAREDIR/template/ ; \\
done done
for file in share/template/config_options/*.cs ; \\ for file in template/config_options/*.cs ; \\
do install -c -m 0644 \$\$file $SHAREDIR/template/config_options/ ; \\ do install -c -m 0644 \$\$file $SHAREDIR/template/config_options/ ; \\
done done
for file in share/template/ui/default/*.hdf ; \\ for file in template/ui/*.hdf ; \\
do install -c -m 0644 \$\$file $SHAREDIR/template/ui/default/ ; \\ do install -c -m 0644 \$\$file $SHAREDIR/template/ui/ ; \\
done
for file in share/template/ui/gnupg/*.hdf ; \\
do install -c -m 0644 \$\$file $SHAREDIR/template/ui/gnupg/ ; \\
done done
ENDOFTEXT ENDOFTEXT
} }

85
README
View file

@ -10,15 +10,12 @@ read INSTALL.
Contents Contents
======== ========
I. Copyright Stuff I. Copyright Stuff
II. Some Background II. Requirements
III. Requirements III. Multi-level list access
V. Notes IV. Multilingual interface
VI. Multi-level list access V. Bugs && Bug Reports
VII. Language Portability VI. Acknowledgements
VIII. Encrypted mailing lists VII. Availability
IX. Bugs && Bug Reports
X. Acknowledgements
XI. Availability
I. Copyright Stuff - essentially the FreeBSD licence ... I. Copyright Stuff - essentially the FreeBSD licence ...
@ -62,10 +59,10 @@ II. Requirements
This version of ezmlm-web requires the following; This version of ezmlm-web requires the following;
* qmail v1.03 * qmail v1.03
* ezmlm v0.53 (or ezmlm-idx v0.40) * ezmlm-idx v0.40 or higher
* clearsilver v0.10.3 (only perl support is necessary) * clearsilver v0.10.3 (only perl support is necessary)
* Perl v5.004 and the following modules; * Perl v5.004 and the following modules;
+ Mail::Ezmlm v0.07 (current version!) + Mail::Ezmlm v0.07
+ Mail::Address v1.15 + Mail::Address v1.15
+ CGI v2.6 + CGI v2.6
+ CGI::Carp v1.06 + CGI::Carp v1.06
@ -89,29 +86,8 @@ Just run "cpan" and type something like "install Mail::Ezmlm".
You can download clearsilver (a templating engine) from http://clearsilver.net. You can download clearsilver (a templating engine) from http://clearsilver.net.
III. Notes III. Multi-Level Access
========== =======================
* 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_RM = 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_lists/ (In the user's 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 :)
IV. Multi-Level Access
======================
Ezmlm-web has a multi-level access system. This depends on a file called 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 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 valid user has access to all lists. If, however, this file exists a number
@ -153,32 +129,34 @@ You find the details of the format of webusers (5) file in the respective
manpage. manpage.
V. Language Portablity IV. Multilingual interface
====================== =======================
One of the great new features since version 2.0 is that it is essentially 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 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 files of the lang directory. Of course you can change them or create a new
translation. translation.
The language can be selected in ezmlmwebrc with the "HTML_LANGUAGE" option. 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 Please visit the translation center at http://translate.systemausfall.org
to contribute some strings translated to yoru native language. Thanks! to contribute some translations for your native language. Thanks!
VI. Encrypted mailing lists V. Bugs && Bug Reports
=========================== ======================
If you want to manage encrypted mailing lists (see
https://systemausfall.org/toolforge/gpgpy-ezmlm) with ezmlm-web, then you
should read README.gnupg and follow the instructions.
VII. Bugs && Bug Reports
========================
I don't know of any bugs ... I don't know of any bugs ...
Ezmlm-web has been tested reasonably well, but not exhaustively. I know it 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 works on FreeBSD 4.0-STABLE, FreeBSD 3.4-RELEASE, RedHat 5.1, Redhat 6.0 and
Debian 3.1 all using an Apache web server, but I would be interested to know 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. whether it works on other OSs and with other web servers.
Please mail bug reports and comments to Please mail bug reports and comments to
@ -189,8 +167,8 @@ Or subscribe to the ezmlm-web mailinglist:
ezmlm-web-subscribe@lists.systemausfall.org ezmlm-web-subscribe@lists.systemausfall.org
VIII. Acknowledgements VI. Acknowledgements
====================== ====================
* Guy Antony Halse (guy-ezmlm@rucus.ru.ac.za) - he created ezmlm-web * Guy Antony Halse (guy-ezmlm@rucus.ru.ac.za) - he created ezmlm-web
and maintained it till 02005 and maintained it till 02005
* Keith Burdis (keith@rucus.ru.ac.za) - For constantly bugging me (Guy) and * Keith Burdis (keith@rucus.ru.ac.za) - For constantly bugging me (Guy) and
@ -212,12 +190,13 @@ VIII. Acknowledgements
* Reinin Ooyama (lenin@hasiru.net) - a Japanese translation and bugixes for v2.3 * Reinin Ooyama (lenin@hasiru.net) - a Japanese translation and bugixes for v2.3
* Henning Rieger (age@systemausfall.org) - designed most of the new * Henning Rieger (age@systemausfall.org) - designed most of the new
interface for v3.0 interface for v3.0
* Clavdia Horvat - designed the new color scheme of v3.2 and translated to Slovenian * Clavdia Horvat - designed the new color scheme of v3.2 and translated to
Slovenian
* Carlinhos Cecconi - added the translation for Portugues do Brasil * Carlinhos Cecconi - added the translation for Portugues do Brasil
IX. Availability VII. Availability
================ =================
More information on ezmlm-web and developments to ezmlm-web can be found at: More information on ezmlm-web and developments to ezmlm-web can be found at:
https://systemausfall.org/toolforge/ezmlm-web/ https://systemausfall.org/toolforge/ezmlm-web/

View file

@ -7,15 +7,19 @@ UPGRADING ezmlm-web 3.1 to ezmlm-web 3.2
1) the following dependency was added: 1) the following dependency was added:
- File::Path - File::Path
2) design update 2) CSS stylesheet file
The css stylesheet file changed significantly. Please update your copy. The css stylesheet file changed significantly. Please update your copy.
Additionally you should also copy the images of the directory www-data/ Additionally the stylesheet file was splitted into a common and a color
to the directory of your local stylesheet file. 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.
3) install Mail::Ezmlm::Gpg if you want to handle encrypted mailing lists Be aware that at least one of the supplied color schemes requires some
(see README.gnupg for details) 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.
4) possible locations of ezmlmwebrc 3) possible locations of ezmlmwebrc
ezmlm-web does no longer search for a configuration file (ezmlmwebrc) in ezmlm-web does no longer search for a configuration file (ezmlmwebrc) in
the current directory, as this can be a security risk. the current directory, as this can be a security risk.
If you relied on this behavior (should be rare), then you have two options: If you relied on this behavior (should be rare), then you have two options:
@ -23,12 +27,12 @@ UPGRADING ezmlm-web 3.1 to ezmlm-web 3.2
B) patch the source of ezmlm-web.cgi to include the deprecated B) patch the source of ezmlm-web.cgi to include the deprecated
configuration file location. Do this on your own risk! configuration file location. Do this on your own risk!
5) renamed configuration setting 4) renamed configuration setting
The configuration setting 'HTML_CSS_FILE' is replaced by 'HTML_CSS_URL' for The configuration setting 'HTML_CSS_FILE' is replaced by 'HTML_CSS_COMMON'
clarity. 'HTML_CSS_URL' falls back to the value of 'HTML_CSS_FILE' if it is for clarity. 'HTML_CSS_COMMON' falls back to the value of 'HTML_CSS_FILE'
undefined. Thus your setup should work as before. But you are encouraged to if it is undefined. Thus your setup should work as before. But you are
replace the setting, as it might break your setup in a future version of encouraged to replace the setting, as it might break your setup in a
ezmlm-web. future version of ezmlm-web.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------

View file

@ -1,19 +1,18 @@
Version 3.2 - 04/14/02006 Version 3.2 - 04/14/02006
* support for encrypted mailing lists
(https://systemausfall.org/toolforge/gpgpy-ezmlm/)
* support for multi-domain setups (multiple list directories) * support for multi-domain setups (multiple list directories)
* detect preferred interface language * detect preferred interface language
* user-specific interface language selection * user-specific interface language selection
* support for listing of subscription log
* a prefix for the local part of mailing list addresses is now configurable
* user-specific interface selection (easy/default/expert) * user-specific interface selection (easy/default/expert)
* simplified rules for subscribing, posting and archive access * simplified rules for subscribing, posting and archive access
* support for more ezmlm-idx: 'headerkeep', 'mimekeep' and 'copylines' * support for listing of subscription log
* configurable prefix for the local part of mailing list addresses
* support for more ezmlm-idx features: 'headerkeep', 'mimekeep' and 'copylines'
* added configuration setting for site-specific links * added configuration setting for site-specific links
* script for creating binary suid wrappers added * script for creating binary suid wrappers added
* handling of empty settings for ezmlm-idx 5.0 fixed (closes #21) * handling of empty settings for ezmlm-idx 5.0 fixed (closes #21)
* bug in MySQL support fixed * bug in MySQL support fixed
* handling of the special character "dot" in listname and list address fixed * handling of the special character "dot" in listname and list address fixed
* prevent creation of dotqmail files containing uppercase characters (invalid)
* the formerly required module "Encode" is now optional * the formerly required module "Encode" is now optional
Version 3.1.4 - 03/26/02006 Version 3.1.4 - 03/26/02006

45
debian/README.Debian vendored
View file

@ -4,12 +4,11 @@ $Id$
Table of content Table of content
1 - install the package 1 - install the package
2 - install required additional software 2 - create user-sprecific suid binaries
3 - create user-sprecific suid binaries 3 - create a user-specific configuration
4 - create a user-specific configuration 4 - enable stylesheet
5 - enable stylesheet 5 - access control
6 - access control 6 - testing
7 - testing
################################################################# #################################################################
@ -23,16 +22,10 @@ Table of content
Now you may simply execute the following commands: Now you may simply execute the following commands:
apt-get update apt-get update
apt-get install ezmlm-web libemail-ezmlm-perl apt-get install ezmlm-web
2) install required additional software 2) create user-specific suid binaries
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 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 for every user of your debian system, who wants to manage his mailing
lists with ezmlm-we. lists with ezmlm-we.
@ -44,20 +37,21 @@ Table of content
e.g: ezmlm-web-make-suid john ~john/public_html/cgi-bin/ezmlm-web e.g: ezmlm-web-make-suid john ~john/public_html/cgi-bin/ezmlm-web
4) create a user-specific configuration file (optional) 3) create a user-specific configuration file (optional)
Copy /usr/share/doc/ezmlm-web/examples/ezmlmwebrc to ~john/.ezmlmwebrc Copy /usr/share/doc/ezmlm-web/examples/ezmlmwebrc to ~john/.ezmlmwebrc
and change its content according to your setup. and change its content according to your setup.
5) enable the stylesheet 4) enable the stylesheet
Copy the stylesheet file (/usr/share/ezmlm-web/css/default.css) Copy the stylesheet files (/usr/share/ezmlm-web/www-data/*) to a location
to a location of your choice. It has to be accessible by an URL - maybe of your choice. These files have to be accessible via a URL - maybe a place
a place like "/var/www/ezmlm-web.css" could be appropriate. like "/var/www/ezmlm-web-data/" could be appropriate.
Now you may have to change the "HTML_CSS_FILE" setting in your Now you may have to change the "HTML_CSS_COMMON" and "HTML_CSS_COLOR"
ezmlmwebrc file. This value is a URL - not the local filename. settings in your ezmlmwebrc file. These values are URLs - not local
filenames.
6) access control (optional) 5) access control (optional)
Configure access control for the fresh cgi binary. Maybe you can Configure access control for the fresh cgi binary. Maybe you can
use the htaccess.sample file in /usr/share/doc/ezmlm-web/examples as use the htaccess.sample file in /usr/share/doc/ezmlm-web/examples as
a template. a template.
@ -69,9 +63,10 @@ Table of content
See /usr/share/doc/ezmlm-web/README for details about access control. See /usr/share/doc/ezmlm-web/README for details about access control.
7) testing 6) testing
Now you can access the ezmlm-web interface by using your web browser. 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 e.g. point it to http://localhost/~john/cgi-bin/ezmlm-web
If the web interface looks not as colorful as you expected, then you If the web interface does not look like you would expect it, then you
may have to revisit your stylesheet setting (HTML_CSS_FILE in ezmlmwebrc). may have to revise your stylesheet settings (HTML_CSS_COMMON and
HTML_CSS_COLOR in ezmlmwebrc).

2
debian/changelog vendored
View file

@ -1,3 +1,3 @@
ezmlm-web (0.3.2-1) unstable; urgency=low ezmlm-web (3.2-1) unstable; urgency=low
* Initial release * Initial release
-- Lars Kruse <devel@sumpfralle.de> Fri, 14 Apr 2006 14:36:47 +0100 -- Lars Kruse <devel@sumpfralle.de> Fri, 14 Apr 2006 14:36:47 +0100

1
debian/compat vendored Normal file
View file

@ -0,0 +1 @@
5

6
debian/control vendored
View file

@ -3,11 +3,11 @@ Section: admin
Priority: extra Priority: extra
Maintainer: Lars Kruse <devel@sumpfralle.de> Maintainer: Lars Kruse <devel@sumpfralle.de>
Build-Depends: debhelper (>>3.0.0), gcc (>= 2.95), dpatch Build-Depends: debhelper (>>3.0.0), gcc (>= 2.95), dpatch
Standards-Version: 3.6.2 Standards-Version: 3.7.2
Package: ezmlm-web Package: ezmlm-web
Architecture: any Architecture: any
Depends: perl, httpd-cgi, libemail-address-perl, liblocale-gettext-perl, libemail-ezmlm-perl (>= 0.07) Depends: httpd-cgi, libemail-address-perl, libemail-ezmlm-perl (>= 0.07), ${perl:Depends}
Suggests: qmail-src, bash (>=2.0), gcc Suggests: qmail-src, bash (>=2.0), gcc
Description: Web interface for ezmlm-idx mailing list administration Description: Web interface for ezmlm-idx mailing list administration
This web interface allows you to configure every part of an ezmlm-idx This web interface allows you to configure every part of an ezmlm-idx
@ -19,6 +19,6 @@ Description: Web interface for ezmlm-idx mailing list administration
* qmail - http://cr.yp.to/qmail.html * qmail - http://cr.yp.to/qmail.html
* ezmlm-idx - http://ezmlm.org/ * ezmlm-idx - http://ezmlm.org/
* clearsilver for perl (>= 0.10.2) - http://www.clearsilver.net/downloads/ * clearsilver for perl (>= 0.10.2) - http://www.clearsilver.net/downloads/
* Mail::Ezmlm perl module via cpan or as debian package from * Mail::Ezmlm perl module via cpan or as a debian package from
https://systemausfall.org/toolforge/debian https://systemausfall.org/toolforge/debian

2
debian/docs vendored
View file

@ -1,6 +1,4 @@
changelog changelog
README.clearsilver
README README
README.gnupg
UPGRADING UPGRADING
TODO TODO

1
debian/ezmlm-web.examples vendored Normal file
View file

@ -0,0 +1 @@
examples

22
debian/rules vendored
View file

@ -9,9 +9,6 @@
# Uncomment this to turn on verbose mode. # Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1 #export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
export DH_COMPAT=4
# necessary for dpatch # necessary for dpatch
.NOTPARALLEL: .NOTPARALLEL:
@ -36,7 +33,7 @@ clean-patched:
dh_testdir dh_testdir
dh_testroot dh_testroot
-$(MAKE) clean -$(MAKE) clean
rm -f build-stamp configure-stamp rm -f build-stamp configure-stamp Makefile.old
dh_clean dh_clean
patch: patch-stamp patch: patch-stamp
@ -57,7 +54,6 @@ install: build
$(MAKE) install $(MAKE) install
install -c -m 644 examples/ezmlmwebrc.dist "$(CURDIR)/debian/ezmlm-web/etc/ezmlm-web/ezmlmwebrc" install -c -m 644 examples/ezmlmwebrc.dist "$(CURDIR)/debian/ezmlm-web/etc/ezmlm-web/ezmlmwebrc"
install -c -m 644 examples/ezmlmwebrc.gnupg.dist "$(CURDIR)/debian/ezmlm-web/etc/ezmlm-web/ezmlmwebrc.gnupg"
# Build architecture-independent files here. # Build architecture-independent files here.
@ -70,24 +66,13 @@ binary-arch: build install
dh_installchangelogs dh_installchangelogs
dh_installdocs dh_installdocs
dh_installexamples dh_installexamples
# dh_install dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman dh_installman
dh_link dh_link
dh_strip dh_strip
dh_compress dh_compress
dh_fixperms dh_fixperms
# dh_perl dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb dh_installdeb
dh_shlibdeps dh_shlibdeps
dh_gencontrol dh_gencontrol
@ -96,3 +81,4 @@ binary-arch: build install
binary: binary-indep binary-arch binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure .PHONY: build clean binary-indep binary-arch binary install configure

View file

@ -90,14 +90,21 @@ $HTML_TITLE = "ezmlm-web - a mailinglist administration interface";
# ); # );
# use a cascading style sheet (css) # use a cascading style sheet (css)
# this is a URL - you have to copy the css file to the right location before # the setting is interpreted as a URL
$HTML_CSS_URL = "/ezmlm-web.css"; # this setting was formerly known as "HTML_CSS_FILE"
$HTML_CSS_COMMON = "/ezmlm-web-data/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 of may require some graphic
# files in the same directory (where the stylesheet file is located)
$HTML_CSS_COLOR = "/ezmlm-web-data/color-red-blue.css";
# the default interface language # the default interface language
# can only be changed via the web interface if gettext support is available # 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"; $HTML_LANGUAGE = "en";
# turn support for encrypted mailing lists on or off - defaults to 0 (off)
# see https://systemausfall.org/toolforge/gpgpy-ezmlm for details
$GPG_SUPPORT = 0;

View file

@ -44,7 +44,8 @@ unless (&safely_import_module("Encode")) {
$UID = $EUID; $UID = $EUID;
$GID = $EGID; $GID = $EGID;
my $VERSION = '3.2'; my $VERSION;
$VERSION = '3.2';
my $q = new CGI; my $q = new CGI;
$q->import_names('Q'); $q->import_names('Q');
@ -67,19 +68,18 @@ use vars qw[$HOME_DIR]; $HOME_DIR=$tmp[7];
use vars qw[$DEFAULT_OPTIONS $UNSAFE_RM $ALIAS_USER $LIST_DIR]; use vars qw[$DEFAULT_OPTIONS $UNSAFE_RM $ALIAS_USER $LIST_DIR];
use vars qw[$QMAIL_BASE $PRETTY_NAMES $DOTQMAIL_DIR]; use vars qw[$QMAIL_BASE $PRETTY_NAMES $DOTQMAIL_DIR];
use vars qw[$FILE_UPLOAD $WEBUSERS_FILE $MAIL_DOMAIN $HTML_TITLE]; use vars qw[$FILE_UPLOAD $WEBUSERS_FILE $MAIL_DOMAIN $HTML_TITLE];
use vars qw[$HTML_CSS_URL $TEMPLATE_DIR $LANGUAGE_DIR $HTML_LANGUAGE]; use vars qw[$TEMPLATE_DIR $LANGUAGE_DIR $HTML_LANGUAGE];
use vars qw[$HTML_CSS_COMMON $HTML_CSS_COLOR];
use vars qw[$MAIL_ADDRESS_PREFIX @HTML_LINKS]; use vars qw[$MAIL_ADDRESS_PREFIX @HTML_LINKS];
# some settings for encrypted mailing lists # some settings for encrypted mailing lists
use vars qw[$GPG_SUPPORT]; use vars qw[$GPG_SUPPORT];
# settings for multi-domain setups # settings for multi-domain setups
use vars qw[%DOMAINS $CURRENT_DOMAIN]; use vars qw[%DOMAINS $CURRENT_DOMAIN];
# deprecated settings # some deprecated configuration settings - they have to be registered
use vars qw[$HTML_CSS_FILE]; # replaced by HTML_CSS_URL since v3.2
# some deprecated configuration settings - they have to be announced
# otherwise old configuration files would break # otherwise old configuration files would break
# for now there are no deprecated settings use vars qw[$HTML_CSS_FILE]; # replaced by HTML_CSS_COMMON since v3.2
# "pagedata" contains the hdf tree for clearsilver # "pagedata" contains the hdf tree for clearsilver
# "pagename" refers to the template file that should be used # "pagename" refers to the template file that should be used
@ -116,7 +116,7 @@ unless (my $return = do $config_file) {
# do we support encrypted mailing lists? # do we support encrypted mailing lists?
# see https://systemausfall.org/toolforge/crypto-ezmlm # see https://systemausfall.org/toolforge/crypto-ezmlm
$GPG_SUPPORT = 0 unless defined($GPG_SUPPORT); $GPG_SUPPORT = 0; # disabled for v3.2 - unless defined($GPG_SUPPORT);
if ($GPG_SUPPORT) { if ($GPG_SUPPORT) {
if (&safely_import_module("Mail::Ezmlm::Gpg")) { if (&safely_import_module("Mail::Ezmlm::Gpg")) {
$GPG_SUPPORT = 1; $GPG_SUPPORT = 1;
@ -153,18 +153,21 @@ $DEFAULT_OPTIONS = 'aBDFGHiJkLMNOpQRSTUWx' unless defined($DEFAULT_OPTIONS);
$HTML_LANGUAGE = 'en' unless defined($HTML_LANGUAGE); $HTML_LANGUAGE = 'en' unless defined($HTML_LANGUAGE);
# check stylesheet # check stylesheet
# HTML_CSS_FILE was replaced by HTML_CSS_URL in v3.2 # HTML_CSS_FILE was replaced by HTML_CSS_COMMON in v3.2
unless (defined($HTML_CSS_URL)) { unless (defined($HTML_CSS_COMMON)) {
# HTML_CSS_URL is undefined - we will check the deprecated setting first # HTML_CSS_COMMON is undefined - we will check the deprecated setting first
if (defined($HTML_CSS_FILE)) { if (defined($HTML_CSS_FILE)) {
# ok - we fall back to the deprecated setting # ok - we fall back to the deprecated setting
$HTML_CSS_URL = $HTML_CSS_FILE; $HTML_CSS_COMMON = $HTML_CSS_FILE;
} else { } else {
# nothing is defined - we use the default value # nothing is defined - we use the default value
$HTML_CSS_URL = '/ezmlm-web.css'; $HTML_CSS_COMMON = '/ezmlm-web.css';
} }
} }
# CSS color scheme
$HTML_CSS_COLOR = '/color-red-blue.css' unless defined($HTML_CSS_COLOR);
# check template directory # check template directory
$TEMPLATE_DIR = 'template' unless defined($TEMPLATE_DIR); $TEMPLATE_DIR = 'template' unless defined($TEMPLATE_DIR);
@ -561,7 +564,8 @@ sub init_hdf {
$hdf = &load_interface_language($hdf); $hdf = &load_interface_language($hdf);
$hdf->setValue("ScriptName", $ENV{SCRIPT_NAME}) if (defined($ENV{SCRIPT_NAME})); $hdf->setValue("ScriptName", $ENV{SCRIPT_NAME}) if (defined($ENV{SCRIPT_NAME}));
$hdf->setValue("Stylesheet", "$HTML_CSS_URL"); $hdf->setValue("Stylesheet.0", "$HTML_CSS_COMMON");
$hdf->setValue("Stylesheet.1", "$HTML_CSS_COLOR");
$hdf->setValue("Config.PageTitle", "$HTML_TITLE"); $hdf->setValue("Config.PageTitle", "$HTML_TITLE");
my $i; my $i;
@ -1575,6 +1579,8 @@ sub create_list {
# dots have to be turned into colons # dots have to be turned into colons
# see http://www.qmail.org/man/man5/dot-qmail.html # see http://www.qmail.org/man/man5/dot-qmail.html
$qmail =~ s/\./:/g; $qmail =~ s/\./:/g;
# dotqmail files may not contain uppercase letters
$qmail = lc($qmail);
$listname = $q->param('list'); $listname = $q->param('list');
if ($listname =~ m/[^\w\.-]/) { if ($listname =~ m/[^\w\.-]/) {
$warning = 'InvalidListName'; $warning = 'InvalidListName';

View file

@ -84,10 +84,17 @@ will just move deleted lists to a safe place. Thus deletion is recoverable.
.IP \fB$HTML_TITLE\fR .IP \fB$HTML_TITLE\fR
Print a reasonable name of the web interface to the left upper corner of every Print a reasonable name of the web interface to the left upper corner of every
page. By default this string is empty. page. By default this string is empty.
.IP \fB$HTML_CSS_URL\fR .IP \fB$HTML_CSS_COMMON\fR
This is the URL of the stylesheet file to be used by ezmlm-web. Make sure it is This is the URL of the basic stylesheet file to be used by ezmlm-web. Make sure
actually available, as the design of the web interface will suffer a lot it is actually available, as the design of the web interface will suffer a lot
without it. without it.
.IP \fB$HTML_CSS_COLOR\fR
The color scheme of the web interface is separated from the basic stylesheet.
This URL should point to the location of the color scheme CSS file. Your
interface will be plain black and white if the stylesheet is not available.
Be aware, that some of the supplied color schemes may require additional
files (images) in the same directory. Currently 'color-red-blue.css'
and 'color-blue-gray.css' are available.
.IP \fB@HTML_LINKS\fR .IP \fB@HTML_LINKS\fR
This array may contain hashes with the elements \fIname\fR and \fIurl\fR. This array may contain hashes with the elements \fIname\fR and \fIurl\fR.
These links will be visible in the upper right corner of every page. These links will be visible in the upper right corner of every page.

6
package.exclude Normal file
View file

@ -0,0 +1,6 @@
debian
intl
spec
package.exclude
TODO
README.crypto

View file

@ -3,9 +3,7 @@
</div> </div>
<fieldset> <fieldset>
<legend> <legend><?cs var:html_escape(Lang.Legend.AvailableDomains) ?></legend>
<?cs var:html_escape(Lang.Legend.AvailableDomains) ?>
</legend>
<?cs if:subcount(Data.Domains) > 0 ?> <?cs if:subcount(Data.Domains) > 0 ?>
<ul> <ul>

View file

@ -12,7 +12,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Author" content="devel[at]sumpfralle.de" /> <meta http-equiv="Author" content="devel[at]sumpfralle.de" />
<meta http-equiv="expire" content="-1d" /> <meta http-equiv="expire" content="-1d" />
<link rel="stylesheet" type="text/css" href="<?cs var:Stylesheet ?>" /> <?cs each: item = Stylesheet
?><link rel="stylesheet" type="text/css" href="<?cs var:item ?>" /><?cs
/each ?>
</head> </head>
<body> <body>

View file

@ -3,9 +3,7 @@
</div> </div>
<fieldset> <fieldset>
<legend> <legend><?cs var:html_escape(Lang.Legend.AvailableLists) ?></legend>
<?cs var:html_escape(Lang.Legend.AvailableLists) ?>
</legend>
<!-- to get a multiple-columns-design, we do strange things ... --> <!-- to get a multiple-columns-design, we do strange things ... -->
<?cs set:listnum=subcount(Data.Lists) ?> <?cs set:listnum=subcount(Data.Lists) ?>

View file

@ -64,14 +64,13 @@
((Data.List.PartType == 'digest') && (Data.List.Options.d == 1)) ?> ((Data.List.PartType == 'digest') && (Data.List.Options.d == 1)) ?>
<fieldset> <fieldset>
<legend> <legend><?cs
<?cs if:(Data.List.PartType == "allow") ?> <?cs var:html_escape(Lang.Legend.MembersAllow) ?> if:(Data.List.PartType == "allow") ?> <?cs var:html_escape(Lang.Legend.MembersAllow) ?><?cs
<?cs elif:(Data.List.PartType == "deny") ?> <?cs var:html_escape(Lang.Legend.MembersDeny) ?> elif:(Data.List.PartType == "deny") ?> <?cs var:html_escape(Lang.Legend.MembersDeny) ?><?cs
<?cs elif:(Data.List.PartType == "digest") ?><?cs var:html_escape(Lang.Legend.MembersDigest) ?> elif:(Data.List.PartType == "digest") ?><?cs var:html_escape(Lang.Legend.MembersDigest) ?><?cs
<?cs elif:(Data.List.PartType == "mod") ?> <?cs var:html_escape(Lang.Legend.MembersMod) ?> elif:(Data.List.PartType == "mod") ?> <?cs var:html_escape(Lang.Legend.MembersMod) ?><?cs
<?cs else ?> <?cs var:html_escape(Lang.Legend.MembersList) ?> else ?> <?cs var:html_escape(Lang.Legend.MembersList) ?><?cs
<?cs /if ?> /if ?></legend>
</legend>
<table class="subscribers"><tr> <table class="subscribers"><tr>
<?cs if:subcount(Data.List.Subscribers) > 0 ?> <?cs if:subcount(Data.List.Subscribers) > 0 ?>