From 70d0ae5d018028f9f5c92ff7459678b4320d81ca Mon Sep 17 00:00:00 2001 From: lars Date: Sat, 4 Aug 2007 22:53:31 +0000 Subject: [PATCH] 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 --- INSTALL | 15 ++++--- MANIFEST | 7 ++- Makefile.PL | 23 ++++------ README | 85 +++++++++++++---------------------- README.gnupg => README.crypto | 0 UPGRADING | 28 +++++++----- changelog | 9 ++-- debian/README.Debian | 45 +++++++++---------- debian/changelog | 2 +- debian/compat | 1 + debian/control | 6 +-- debian/docs | 2 - debian/ezmlm-web.examples | 1 + debian/rules | 22 ++------- examples/ezmlmwebrc.dist | 21 ++++++--- ezmlm-web.cgi | 34 ++++++++------ man/ezmlmwebrc.5 | 13 ++++-- package.exclude | 6 +++ template/domain_select.cs | 4 +- template/header.cs | 4 +- template/list_select.cs | 4 +- template/subscribers.cs | 15 +++---- 22 files changed, 167 insertions(+), 180 deletions(-) rename README.gnupg => README.crypto (100%) create mode 100644 debian/compat create mode 100644 debian/ezmlm-web.examples create mode 100644 package.exclude diff --git a/INSTALL b/INSTALL index 638d3b3..a30bbbf 100644 --- a/INSTALL +++ b/INSTALL @@ -145,11 +145,11 @@ OVERVIEW: 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 a place like "/var/www/ezmlm-web.css" could be appropriate. - Now you may have to change the "HTML_CSS_FILE" setting in your - ezmlmwebrc file. This value is a URL - not the local filename. + Now you may have to change the "HTML_CSS_COMMON" and "HTML_CSS_COLOR" + settings in your ezmlmwebrc file. 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 create and edit mailing lists ... Have Fun :) - If you do not see a colorful screen, then you did not set the HTML_CSS_FILE - option correctly in ezmlmwebrc. Check it again. + If you see a slightly disordered screen, the you did not set the + 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 @@ -167,7 +170,7 @@ OVERVIEW: 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 - - send me an email: ezmlm-web@sumpfralle.de - 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 diff --git a/MANIFEST b/MANIFEST index f565300..344ec9f 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3,5 +3,8 @@ changelog copyright TODO UPGRADING -share -examples +template/ +www-data/ +man/ +examples/ +suid-wrapper/ diff --git a/Makefile.PL b/Makefile.PL index ecad243..da8e572 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -87,29 +87,24 @@ install_share_vendor:: install_share install_share: install -d -m 0755 $SHAREDIR 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/ ; \\ done - install -d -m 0755 $SHAREDIR/css - for file in share/css/*.css ; \\ - do install -c -m 0644 \$\$file $SHAREDIR/css/ ; \\ + 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/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 - 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/ ; \\ 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/ ; \\ done - for file in share/template/ui/default/*.hdf ; \\ - do install -c -m 0644 \$\$file $SHAREDIR/template/ui/default/ ; \\ - done - for file in share/template/ui/gnupg/*.hdf ; \\ - do install -c -m 0644 \$\$file $SHAREDIR/template/ui/gnupg/ ; \\ + for file in template/ui/*.hdf ; \\ + do install -c -m 0644 \$\$file $SHAREDIR/template/ui/ ; \\ done ENDOFTEXT } diff --git a/README b/README index 8ebf915..c2352a9 100644 --- a/README +++ b/README @@ -10,15 +10,12 @@ read INSTALL. Contents ======== I. Copyright Stuff - II. Some Background - III. Requirements - V. Notes - VI. Multi-level list access - VII. Language Portability -VIII. Encrypted mailing lists - IX. Bugs && Bug Reports - X. Acknowledgements - XI. Availability + II. Requirements + III. Multi-level list access + IV. Multilingual interface + V. Bugs && Bug Reports + VI. Acknowledgements + VII. Availability I. Copyright Stuff - essentially the FreeBSD licence ... @@ -62,10 +59,10 @@ II. Requirements This version of ezmlm-web requires the following; * 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) * Perl v5.004 and the following modules; - + Mail::Ezmlm v0.07 (current version!) + + Mail::Ezmlm v0.07 + Mail::Address v1.15 + CGI v2.6 + 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. -III. Notes -========== -* There is a function to delete mailing lists, but I really don't like the - idea. The only reason I put it in is that bvi@rucus asked for it. - If you set $UNSAFE_RM = 0 (the default) in the config section, the - ezmlm-web won't actually delete the list. In this case it moves the - 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 -====================== +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 @@ -153,32 +129,34 @@ You find the details of the format of webusers (5) file in the respective manpage. -V. Language Portablity -====================== +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 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 -to contribute some strings translated to yoru native language. Thanks! +to contribute some translations for your native language. Thanks! -VI. Encrypted mailing lists -=========================== -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 -======================== +V. 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 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. Please mail bug reports and comments to @@ -189,8 +167,8 @@ Or subscribe to the ezmlm-web mailinglist: ezmlm-web-subscribe@lists.systemausfall.org -VIII. Acknowledgements -====================== +VI. 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 @@ -212,12 +190,13 @@ VIII. Acknowledgements * 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 +* Clavdia Horvat - designed the new color scheme of v3.2 and translated to + Slovenian * 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: https://systemausfall.org/toolforge/ezmlm-web/ diff --git a/README.gnupg b/README.crypto similarity index 100% rename from README.gnupg rename to README.crypto diff --git a/UPGRADING b/UPGRADING index 0fc46f9..b28a466 100644 --- a/UPGRADING +++ b/UPGRADING @@ -7,15 +7,19 @@ UPGRADING ezmlm-web 3.1 to ezmlm-web 3.2 1) the following dependency was added: - File::Path -2) design update +2) CSS stylesheet file The css stylesheet file changed significantly. Please update your copy. - Additionally you should also copy the images of the directory www-data/ - to the directory of your local stylesheet file. + 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. -3) install Mail::Ezmlm::Gpg if you want to handle encrypted mailing lists - (see README.gnupg 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. -4) possible locations of ezmlmwebrc +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: @@ -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 configuration file location. Do this on your own risk! -5) renamed configuration setting - The configuration setting 'HTML_CSS_FILE' is replaced by 'HTML_CSS_URL' for - clarity. 'HTML_CSS_URL' 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. +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. ------------------------------------------------------------------------------ diff --git a/changelog b/changelog index 34f1ce2..8ddf3e5 100644 --- a/changelog +++ b/changelog @@ -1,19 +1,18 @@ 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) * detect preferred interface language * 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) * 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 * 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) * the formerly required module "Encode" is now optional Version 3.1.4 - 03/26/02006 diff --git a/debian/README.Debian b/debian/README.Debian index 99e50c0..f011981 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -4,12 +4,11 @@ $Id$ Table of content 1 - install the package -2 - install required additional software -3 - create user-sprecific suid binaries -4 - create a user-specific configuration -5 - enable stylesheet -6 - access control -7 - testing +2 - create user-sprecific suid binaries +3 - create a user-specific configuration +4 - enable stylesheet +5 - access control +6 - testing ################################################################# @@ -23,16 +22,10 @@ Table of content Now you may simply execute the following commands: apt-get update - apt-get install ezmlm-web libemail-ezmlm-perl + apt-get install ezmlm-web -2) install required additional software - clearsilver perl bindings: - * download clearsilver (http://clearsilver.net) v0.10.2 or higher - * compile and install it with perl enabled - - -3) create user-specific suid binaries +2) create user-specific suid binaries As perl-suid is considered deprecated, you have to compile a C-wrapper for every user of your debian system, who wants to manage his mailing lists with ezmlm-we. @@ -44,20 +37,21 @@ Table of content 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 and change its content according to your setup. -5) enable the stylesheet - Copy the stylesheet file (/usr/share/ezmlm-web/css/default.css) - to a location of your choice. It has to be accessible by an URL - maybe - a place like "/var/www/ezmlm-web.css" could be appropriate. - Now you may have to change the "HTML_CSS_FILE" setting in your - ezmlmwebrc file. This value is a URL - not the local filename. +4) enable the stylesheet + Copy the stylesheet files (/usr/share/ezmlm-web/www-data/*) to a location + of your choice. These files have to be accessible via a URL - maybe a place + like "/var/www/ezmlm-web-data/" could be appropriate. + Now you may have to change the "HTML_CSS_COMMON" and "HTML_CSS_COLOR" + 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 use the htaccess.sample file in /usr/share/doc/ezmlm-web/examples as a template. @@ -69,9 +63,10 @@ Table of content 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. 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 - may have to revisit your stylesheet setting (HTML_CSS_FILE in ezmlmwebrc). + If the web interface does not look like you would expect it, then you + may have to revise your stylesheet settings (HTML_CSS_COMMON and + HTML_CSS_COLOR in ezmlmwebrc). diff --git a/debian/changelog b/debian/changelog index 245eefb..6920c41 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,3 @@ -ezmlm-web (0.3.2-1) unstable; urgency=low +ezmlm-web (3.2-1) unstable; urgency=low * Initial release -- Lars Kruse Fri, 14 Apr 2006 14:36:47 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control index 9a8a8c6..cf3b19f 100644 --- a/debian/control +++ b/debian/control @@ -3,11 +3,11 @@ Section: admin Priority: extra Maintainer: Lars Kruse Build-Depends: debhelper (>>3.0.0), gcc (>= 2.95), dpatch -Standards-Version: 3.6.2 +Standards-Version: 3.7.2 Package: ezmlm-web 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 Description: Web interface for ezmlm-idx mailing list administration 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 * ezmlm-idx - http://ezmlm.org/ * 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 diff --git a/debian/docs b/debian/docs index b823047..7f70a21 100644 --- a/debian/docs +++ b/debian/docs @@ -1,6 +1,4 @@ changelog -README.clearsilver README -README.gnupg UPGRADING TODO diff --git a/debian/ezmlm-web.examples b/debian/ezmlm-web.examples new file mode 100644 index 0000000..1e107f5 --- /dev/null +++ b/debian/ezmlm-web.examples @@ -0,0 +1 @@ +examples diff --git a/debian/rules b/debian/rules index 17bd6d8..cdfb1e7 100755 --- a/debian/rules +++ b/debian/rules @@ -9,9 +9,6 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -# This is the debhelper compatibility version to use. -export DH_COMPAT=4 - # necessary for dpatch .NOTPARALLEL: @@ -36,7 +33,7 @@ clean-patched: dh_testdir dh_testroot -$(MAKE) clean - rm -f build-stamp configure-stamp + rm -f build-stamp configure-stamp Makefile.old dh_clean patch: patch-stamp @@ -57,7 +54,6 @@ install: build $(MAKE) install 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. @@ -70,24 +66,13 @@ binary-arch: build install dh_installchangelogs dh_installdocs dh_installexamples -# dh_install -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_installinit -# dh_installcron -# dh_installinfo + dh_install dh_installman dh_link dh_strip dh_compress dh_fixperms -# dh_perl -# dh_python -# dh_makeshlibs + dh_perl dh_installdeb dh_shlibdeps dh_gencontrol @@ -96,3 +81,4 @@ binary-arch: build install binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure + diff --git a/examples/ezmlmwebrc.dist b/examples/ezmlmwebrc.dist index e4d3cc7..ace4cb9 100644 --- a/examples/ezmlmwebrc.dist +++ b/examples/ezmlmwebrc.dist @@ -90,14 +90,21 @@ $HTML_TITLE = "ezmlm-web - a mailinglist administration interface"; # ); # use a cascading style sheet (css) -# this is a URL - you have to copy the css file to the right location before -$HTML_CSS_URL = "/ezmlm-web.css"; +# the setting is interpreted as a URL +# 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 -# 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"; -# 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; - diff --git a/ezmlm-web.cgi b/ezmlm-web.cgi index 53287a1..89f0564 100755 --- a/ezmlm-web.cgi +++ b/ezmlm-web.cgi @@ -44,7 +44,8 @@ unless (&safely_import_module("Encode")) { $UID = $EUID; $GID = $EGID; -my $VERSION = '3.2'; +my $VERSION; +$VERSION = '3.2'; my $q = new CGI; $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[$QMAIL_BASE $PRETTY_NAMES $DOTQMAIL_DIR]; 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]; # some settings for encrypted mailing lists use vars qw[$GPG_SUPPORT]; # settings for multi-domain setups use vars qw[%DOMAINS $CURRENT_DOMAIN]; -# deprecated settings -use vars qw[$HTML_CSS_FILE]; # replaced by HTML_CSS_URL since v3.2 - -# some deprecated configuration settings - they have to be announced +# some deprecated configuration settings - they have to be registered # 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 # "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? # 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 (&safely_import_module("Mail::Ezmlm::Gpg")) { $GPG_SUPPORT = 1; @@ -153,18 +153,21 @@ $DEFAULT_OPTIONS = 'aBDFGHiJkLMNOpQRSTUWx' unless defined($DEFAULT_OPTIONS); $HTML_LANGUAGE = 'en' unless defined($HTML_LANGUAGE); # check stylesheet -# HTML_CSS_FILE was replaced by HTML_CSS_URL in v3.2 -unless (defined($HTML_CSS_URL)) { - # HTML_CSS_URL is undefined - we will check the deprecated setting first +# HTML_CSS_FILE was replaced by HTML_CSS_COMMON in v3.2 +unless (defined($HTML_CSS_COMMON)) { + # HTML_CSS_COMMON is undefined - we will check the deprecated setting first if (defined($HTML_CSS_FILE)) { # ok - we fall back to the deprecated setting - $HTML_CSS_URL = $HTML_CSS_FILE; + $HTML_CSS_COMMON = $HTML_CSS_FILE; } else { # 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 $TEMPLATE_DIR = 'template' unless defined($TEMPLATE_DIR); @@ -561,7 +564,8 @@ sub init_hdf { $hdf = &load_interface_language($hdf); $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"); my $i; @@ -1575,6 +1579,8 @@ sub create_list { # dots have to be turned into colons # see http://www.qmail.org/man/man5/dot-qmail.html $qmail =~ s/\./:/g; + # dotqmail files may not contain uppercase letters + $qmail = lc($qmail); $listname = $q->param('list'); if ($listname =~ m/[^\w\.-]/) { $warning = 'InvalidListName'; diff --git a/man/ezmlmwebrc.5 b/man/ezmlmwebrc.5 index 6c96e8e..024105a 100644 --- a/man/ezmlmwebrc.5 +++ b/man/ezmlmwebrc.5 @@ -84,10 +84,17 @@ will just move deleted lists to a safe place. Thus deletion is recoverable. .IP \fB$HTML_TITLE\fR Print a reasonable name of the web interface to the left upper corner of every page. By default this string is empty. -.IP \fB$HTML_CSS_URL\fR -This is the URL of the stylesheet file to be used by ezmlm-web. Make sure it is -actually available, as the design of the web interface will suffer a lot +.IP \fB$HTML_CSS_COMMON\fR +This is the URL of the basic stylesheet file to be used by ezmlm-web. Make sure +it is actually available, as the design of the web interface will suffer a lot 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 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. diff --git a/package.exclude b/package.exclude new file mode 100644 index 0000000..026ab92 --- /dev/null +++ b/package.exclude @@ -0,0 +1,6 @@ +debian +intl +spec +package.exclude +TODO +README.crypto diff --git a/template/domain_select.cs b/template/domain_select.cs index dd52147..2b15947 100644 --- a/template/domain_select.cs +++ b/template/domain_select.cs @@ -3,9 +3,7 @@
- - - + 0 ?>
    diff --git a/template/header.cs b/template/header.cs index 6311cc5..465a3c3 100644 --- a/template/header.cs +++ b/template/header.cs @@ -12,7 +12,9 @@ - + diff --git a/template/list_select.cs b/template/list_select.cs index 194485f..3bb910f 100644 --- a/template/list_select.cs +++ b/template/list_select.cs @@ -3,9 +3,7 @@
    - - - + diff --git a/template/subscribers.cs b/template/subscribers.cs index 9914567..72f6a86 100644 --- a/template/subscribers.cs +++ b/template/subscribers.cs @@ -64,14 +64,13 @@ ((Data.List.PartType == 'digest') && (Data.List.Options.d == 1)) ?>
    - - - - - - - - + 0 ?>