initial commit of file from CVS for ezmlm-web on Thu Oct 9 11:44:01 AEDT 2025
This commit is contained in:
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*.3.1.tar.gz filter=lfs diff=lfs merge=lfs -text
|
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
*.rpm
|
||||||
|
*.log
|
||||||
|
*spec-20*
|
21
Makefile
Normal file
21
Makefile
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Makefile for source rpm: ezmlm-web
|
||||||
|
# $Id: Makefile,v 1.1 2022/03/15 19:09:46 jpp Exp $
|
||||||
|
NAME := ezmlm-web
|
||||||
|
SPECFILE = $(firstword $(wildcard *.spec))
|
||||||
|
|
||||||
|
define find-makefile-common
|
||||||
|
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||||
|
endef
|
||||||
|
|
||||||
|
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||||
|
|
||||||
|
ifeq ($(MAKEFILE_COMMON),)
|
||||||
|
# attept a checkout
|
||||||
|
define checkout-makefile-common
|
||||||
|
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||||
|
endef
|
||||||
|
|
||||||
|
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||||
|
endif
|
||||||
|
|
||||||
|
include $(MAKEFILE_COMMON)
|
@@ -1,3 +1,9 @@
|
|||||||
# ezmlm-web
|
# ezmlm-web
|
||||||
|
|
||||||
3rd Party (Maintained by Koozali) git repo for ezmlm-web smecontribs
|
3rd Party (Maintained by Koozali) git repo for ezmlm-web smecontribs
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
|
||||||
|
*Once it has been checked, then this comment will be deleted*
|
||||||
|
<br />
|
||||||
|
1
contriborbase
Normal file
1
contriborbase
Normal file
@@ -0,0 +1 @@
|
|||||||
|
contribs10
|
19
ezmlm-web-3.3.1-bz11913-deprecateddefined.patch
Normal file
19
ezmlm-web-3.3.1-bz11913-deprecateddefined.patch
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
diff -Nur --no-dereference ezmlm-web-3.3.1.old/ezmlm-web.cgi ezmlm-web-3.3.1/ezmlm-web.cgi
|
||||||
|
--- ezmlm-web-3.3.1.old/ezmlm-web.cgi 2022-03-20 13:49:24.150000000 -0400
|
||||||
|
+++ ezmlm-web-3.3.1/ezmlm-web.cgi 2022-03-20 14:04:48.534000000 -0400
|
||||||
|
@@ -240,13 +240,13 @@
|
||||||
|
$HTML_TITLE = '' unless defined($HTML_TITLE);
|
||||||
|
|
||||||
|
# check HTML_LINKS
|
||||||
|
-@HTML_LINKS = () unless defined(@HTML_LINKS);
|
||||||
|
+@HTML_LINKS = () unless @HTML_LINKS;
|
||||||
|
|
||||||
|
# check DEFAULT_INTERFACE_TYPE
|
||||||
|
$DEFAULT_INTERFACE_TYPE = 'normal' unless defined($DEFAULT_INTERFACE_TYPE);
|
||||||
|
|
||||||
|
# check possible blacklist of interface options (since v3.3)
|
||||||
|
-@INTERFACE_OPTIONS_BLACKLIST = () unless defined(@INTERFACE_OPTIONS_BLACKLIST);
|
||||||
|
+@INTERFACE_OPTIONS_BLACKLIST = () unless @INTERFACE_OPTIONS_BLACKLIST;
|
||||||
|
|
||||||
|
# check the configured detault location of gnupg keyrings
|
||||||
|
$GPG_KEYRING_DEFAULT_LOCATION = ".gnupg"
|
23
ezmlm-web-3.3.1-cgi.patch
Normal file
23
ezmlm-web-3.3.1-cgi.patch
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
--- ezmlm-web-3.3.1/ezmlm-web.cgi.ori 2016-04-18 23:46:09.000000000 -0400
|
||||||
|
+++ ezmlm-web-3.3.1/ezmlm-web.cgi 2016-04-20 05:03:33.000000000 -0400
|
||||||
|
@@ -2064,7 +2064,10 @@
|
||||||
|
if (defined($q->param("setting_state_$i"))) {
|
||||||
|
$options .= " -$i '" . $q->param("setting_value_$i") . "'";
|
||||||
|
} else {
|
||||||
|
- if ($i != 5) {
|
||||||
|
+ if ($i == 3) {
|
||||||
|
+ unlink("$LIST_DIR/$listname/fromheader");
|
||||||
|
+ }
|
||||||
|
+ elsif ($i != 5) {
|
||||||
|
# everything except for the "owner" attribute:
|
||||||
|
# do not set the value to an empty string,
|
||||||
|
# as ezmlm-idx 5.0 does not work correctly for this case
|
||||||
|
@@ -2427,7 +2430,7 @@
|
||||||
|
if (defined($q->param('option_t'))) {
|
||||||
|
# TODO: the trailer _must_ be followed by a newline
|
||||||
|
#$list->set_text_content('trailer', $q->param('trailing_text'));
|
||||||
|
- $list->set_text_content('trailer', $list->get_text_default_content('trailer'))
|
||||||
|
+ $list->set_text_content('trailer', $list->get_text_content('trailer'))
|
||||||
|
unless (-e "$list->{'LIST_NAME'}/text/trailer");
|
||||||
|
} else {
|
||||||
|
# ezmlm-make automatically removes this file
|
226
ezmlm-web-3.3.1-modiffor722.patch
Normal file
226
ezmlm-web-3.3.1-modiffor722.patch
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
--- ezmlm-web-3.3.1/ezmlm-web.cgi.plusmodif 2016-04-20 06:55:41.000000000 -0400
|
||||||
|
+++ ezmlm-web-3.3.1/ezmlm-web.cgi 2016-04-20 15:21:15.000000000 -0400
|
||||||
|
@@ -1169,6 +1169,20 @@
|
||||||
|
$item = '' unless defined($item);
|
||||||
|
$pagedata->setValue("Data.List.CopyLines", "$item");
|
||||||
|
}
|
||||||
|
+ if (Mail::Ezmlm->get_version() >= 7) {
|
||||||
|
+ $item = $list->getpart('digsize');
|
||||||
|
+ $item = '' unless defined($item);
|
||||||
|
+ $pagedata->setValue("Data.List.digsize", "$item");
|
||||||
|
+
|
||||||
|
+ $item = $list->getpart('digcount');
|
||||||
|
+ $item = '' unless defined($item);
|
||||||
|
+ $pagedata->setValue("Data.List.digcount", "$item");
|
||||||
|
+
|
||||||
|
+ $item = $list->getpart('digtime');
|
||||||
|
+ $item = '' unless defined($item);
|
||||||
|
+ $pagedata->setValue("Data.List.digtime", "$item");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
|
||||||
|
$item = $list->getpart('mimereject');
|
||||||
|
$item = '' unless defined($item);
|
||||||
|
@@ -2524,6 +2538,46 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ # 'digsize' setting (since ezmlm-idx v7)
|
||||||
|
+ if (defined($q->param('digsize'))) {
|
||||||
|
+ my $digsize;
|
||||||
|
+ $digsize = (defined($q->param('digsize'))) ?
|
||||||
|
+ $q->param('digsize') : 0;
|
||||||
|
+ if (defined($q->param('digsize_state')) && ($digsize)) {
|
||||||
|
+ $list->setpart('digsize', "$digsize");
|
||||||
|
+ } else {
|
||||||
|
+ my $digsize = $list->thislist() . "/digsize";
|
||||||
|
+ unlink ($digsize) if (-e $digsize);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ # 'digsize' setting (since ezmlm-idx v7)
|
||||||
|
+ if (defined($q->param('digcount'))) {
|
||||||
|
+ my $digcount;
|
||||||
|
+ $digcount = (defined($q->param('digcount'))) ?
|
||||||
|
+ $q->param('digcount') : 0;
|
||||||
|
+ if (defined($q->param('digcount_state')) && ($digcount)) {
|
||||||
|
+ $list->setpart('digcount', "$digcount");
|
||||||
|
+ } else {
|
||||||
|
+ my $digcount = $list->thislist() . "/digcount";
|
||||||
|
+ unlink ($digcount) if (-e $digcount);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ # 'digtime' setting (since ezmlm-idx v7)
|
||||||
|
+ if (defined($q->param('digtime'))) {
|
||||||
|
+ my $digtime;
|
||||||
|
+ $digtime = (defined($q->param('digtime'))) ?
|
||||||
|
+ $q->param('digtime') : 0;
|
||||||
|
+ if (defined($q->param('digtime_state')) && ($digtime)) {
|
||||||
|
+ $list->setpart('digtime', "$digtime");
|
||||||
|
+ } else {
|
||||||
|
+ my $digtime = $list->thislist() . "/digtime";
|
||||||
|
+ unlink ($digtime) if (-e $digtime);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+
|
||||||
|
# 'msgsize' setting
|
||||||
|
if (defined($q->param('msgsize_max_value'))
|
||||||
|
&& defined($q->param('msgsize_min_value'))) {
|
||||||
|
--- ezmlm-web/lang/en.hdf.plusmodif 2016-04-20 06:55:41.000000000 -0400
|
||||||
|
+++ ezmlm-web/lang/en.hdf 2016-04-20 15:06:49.000000000 -0400
|
||||||
|
@@ -234,6 +234,12 @@
|
||||||
|
ListAddress = List Address
|
||||||
|
ListOptions = Basic List Options
|
||||||
|
AllowedToEdit = Users allowed to edit this list via web interface
|
||||||
|
+ digsize = Size of message body accumulated since the latest digest
|
||||||
|
+ digsize.unit = kbytes
|
||||||
|
+ digcount = Number of message accumulated since the latest digest
|
||||||
|
+ digcount.unit = messages
|
||||||
|
+ digtime = Time since lastest digest
|
||||||
|
+ digtime.unit = hours
|
||||||
|
HeaderFiltering = Header filtering
|
||||||
|
HeaderRemove = strip these header lines
|
||||||
|
HeaderKeep = keep only these header lines
|
||||||
|
--- ezmlm-web/template/ui/easy.hdf.plusmodif 2016-04-20 06:55:42.000000000 -0400
|
||||||
|
+++ ezmlm-web/template/ui/easy.hdf 2016-04-20 14:54:20.000000000 -0400
|
||||||
|
@@ -40,7 +40,6 @@
|
||||||
|
Listname = create_listname
|
||||||
|
Listaddress = create_listaddress
|
||||||
|
Listlanguage = lang_select
|
||||||
|
- Webuser = webusers
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -60,7 +59,6 @@
|
||||||
|
SubscribeRules = subscribe_selection
|
||||||
|
PostingRules = posting_selection
|
||||||
|
Confirm = confirm_selection
|
||||||
|
- WebUsers = webusers
|
||||||
|
}
|
||||||
|
|
||||||
|
Processing {
|
||||||
|
--- ezmlm-web/template/ui/normal.hdf.plusmodif 2016-04-20 06:55:42.000000000 -0400
|
||||||
|
+++ ezmlm-web/template/ui/normal.hdf 2016-04-20 14:54:58.000000000 -0400
|
||||||
|
@@ -47,7 +47,6 @@
|
||||||
|
Listname = create_listname
|
||||||
|
Listaddress = create_listaddress
|
||||||
|
Listlanguage = lang_select
|
||||||
|
- Webuser = webusers
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -58,7 +57,6 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
Deny {
|
||||||
|
- Enabled = block_deny
|
||||||
|
}
|
||||||
|
|
||||||
|
Moderators {
|
||||||
|
@@ -85,7 +83,6 @@
|
||||||
|
Main {
|
||||||
|
Language = lang_select
|
||||||
|
Owner = owner_address
|
||||||
|
- WebUsers = webusers
|
||||||
|
}
|
||||||
|
|
||||||
|
Archive {
|
||||||
|
@@ -110,7 +107,6 @@
|
||||||
|
|
||||||
|
Posting {
|
||||||
|
Moderate = posting_selection
|
||||||
|
- UseDeny = block_deny
|
||||||
|
Confirm = confirm_post
|
||||||
|
SizeMax = msgsize_max
|
||||||
|
SizeMin = msgsize_min
|
||||||
|
--- ezmlm-web/template/ui/expert.hdf.plusmodif 2016-04-20 06:55:42.000000000 -0400
|
||||||
|
+++ ezmlm-web/template/ui/expert.hdf 2016-04-20 14:53:16.000000000 -0400
|
||||||
|
@@ -49,7 +49,6 @@
|
||||||
|
Listaddress = create_listaddress
|
||||||
|
Listlanguage = lang_select
|
||||||
|
Mysql = mysql
|
||||||
|
- Webuser = webusers
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -61,7 +60,6 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
Deny {
|
||||||
|
- Enabled = block_deny
|
||||||
|
}
|
||||||
|
|
||||||
|
Moderators {
|
||||||
|
@@ -93,10 +91,8 @@
|
||||||
|
Charset = charset_select
|
||||||
|
Owner = owner_address
|
||||||
|
MainList = mainlist
|
||||||
|
- MailmanRequests = mailman_requests
|
||||||
|
RemoveWarn = warn_remove
|
||||||
|
SQL = mysql
|
||||||
|
- WebUsers = webusers
|
||||||
|
}
|
||||||
|
|
||||||
|
Archive {
|
||||||
|
@@ -123,7 +119,6 @@
|
||||||
|
|
||||||
|
Posting {
|
||||||
|
Rules = posting_selection
|
||||||
|
- UseDeny = block_deny
|
||||||
|
Confirm = confirm_post
|
||||||
|
SizeMax = msgsize_max
|
||||||
|
SizeMin = msgsize_min
|
||||||
|
@@ -156,12 +151,10 @@
|
||||||
|
ConfirmSub = confirm_sub
|
||||||
|
ConfirmUnsub = confirm_unsub
|
||||||
|
ModSubEnable = mod_sub
|
||||||
|
- UseDeny = block_deny
|
||||||
|
BlockOthers = block_others_post
|
||||||
|
ConfirmPosting = confirm_post
|
||||||
|
ModPosting = mod_post
|
||||||
|
NonModPosting = block_nonmod_post
|
||||||
|
- MailmanRequests = mailman_requests
|
||||||
|
RemoveWarn = warn_remove
|
||||||
|
DigestEnabled = digest_enabled
|
||||||
|
DigestSettings = digest_settings
|
||||||
|
@@ -190,7 +183,6 @@
|
||||||
|
CopyLines = copylines
|
||||||
|
Language = lang_select
|
||||||
|
Charset = charset_select
|
||||||
|
- WebUsers = webusers
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--- ezmlm-web/template/config_options/digest_settings.cs.ori 2016-04-20 13:51:45.000000000 -0400
|
||||||
|
+++ ezmlm-web/template/config_options/digest_settings.cs 2016-04-20 15:13:35.000000000 -0400
|
||||||
|
@@ -1,3 +1,27 @@
|
||||||
|
<!-- REMOVE --><?cs include:TemplateDir + '/macros.cs' ?>
|
||||||
|
<!-- digest settings -->
|
||||||
|
-<?cs call:setting("4") ?>
|
||||||
|
+<input type="checkbox" name="digsize_state"
|
||||||
|
+ value="selected" id="digsize_state" <?cs
|
||||||
|
+ if:Data.List.digsize>0 ?>checked="checked"<?cs /if ?> />
|
||||||
|
+ <label for="digsize"><?cs var:html_escape(Lang.Misc.digsize) ?></label>
|
||||||
|
+ <ul><li><input type="text" name="digsize" size="10"
|
||||||
|
+ style="text-align:right" value="<?cs
|
||||||
|
+ alt:Data.List.digsize ?>64<?cs /alt ?>" /> <?cs
|
||||||
|
+ var:html_escape(Lang.Misc.digsize.unit) ?></li></ul>
|
||||||
|
+<input type="checkbox" name="digcount_state"
|
||||||
|
+ value="selected" id="digcount_state" <?cs
|
||||||
|
+ if:Data.List.digcount>0 ?>checked="checked"<?cs /if ?> />
|
||||||
|
+ <label for="digcount"><?cs var:html_escape(Lang.Misc.digcount) ?></label>
|
||||||
|
+ <ul><li><input type="text" name="digcount" size="10"
|
||||||
|
+ style="text-align:right" value="<?cs
|
||||||
|
+ alt:Data.List.digcount ?>30<?cs /alt ?>" /> <?cs
|
||||||
|
+ var:html_escape(Lang.Misc.digcount.unit) ?></li></ul>
|
||||||
|
+<input type="checkbox" name="digtime_state"
|
||||||
|
+ value="selected" id="digtime_state" <?cs
|
||||||
|
+ if:Data.List.digtime>0 ?>checked="checked"<?cs /if ?> />
|
||||||
|
+ <label for="digtime"><?cs var:html_escape(Lang.Misc.digtime) ?></label>
|
||||||
|
+ <ul><li><input type="text" name="digtime" size="10"
|
||||||
|
+ style="text-align:right" value="<?cs
|
||||||
|
+ alt:Data.List.digtime ?>48<?cs /alt ?>" /> <?cs
|
||||||
|
+ var:html_escape(Lang.Misc.digtime.unit) ?></li></ul>
|
||||||
|
+
|
112
ezmlm-web-3.3.1-smeintegration.patch
Normal file
112
ezmlm-web-3.3.1-smeintegration.patch
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
--- ezmlm-web-3.3.1/ezmlm-web.cgi.smeintegration 2013-10-20 15:32:06.000000000 -0400
|
||||||
|
+++ ezmlm-web-3.3.1/ezmlm-web.cgi 2016-04-18 23:06:22.084000000 -0400
|
||||||
|
@@ -402,39 +402,39 @@
|
||||||
|
$pagename = 'list_select';
|
||||||
|
$error = 'ParameterMissing';
|
||||||
|
}
|
||||||
|
-} elsif ($action eq 'list_delete_ask') {
|
||||||
|
- # Confirm list removal
|
||||||
|
- if ($list) {
|
||||||
|
- $pagename = 'list_delete';
|
||||||
|
- } else {
|
||||||
|
- $pagename = 'list_select';
|
||||||
|
- $error = 'ParameterMissing';
|
||||||
|
- }
|
||||||
|
-} elsif ($action eq 'list_delete_do') {
|
||||||
|
- # User really wants to delete a list ...
|
||||||
|
- if ($list) {
|
||||||
|
- $success = 'DeleteList' if (&delete_list($list));
|
||||||
|
- $list = undef;
|
||||||
|
- } else {
|
||||||
|
- $error = 'ParameterMissing';
|
||||||
|
- }
|
||||||
|
- $pagename = 'list_select';
|
||||||
|
-} elsif ($action eq 'list_create_ask') {
|
||||||
|
- # User wants to create a list ...
|
||||||
|
- $pagename = 'list_create';
|
||||||
|
-} elsif ($action eq 'list_create_do') {
|
||||||
|
- # create the new list
|
||||||
|
- # Message if list creation is unsuccessful ...
|
||||||
|
- if (defined($q->param('new_list'))) {
|
||||||
|
- if ($list = &create_list($q->param('new_list'))) {
|
||||||
|
- $success = 'CreateList';
|
||||||
|
- $pagename = 'subscribers';
|
||||||
|
- } else {
|
||||||
|
- $pagename = 'list_create';
|
||||||
|
- }
|
||||||
|
- } else {
|
||||||
|
- $error = 'ParameterMissing';
|
||||||
|
- }
|
||||||
|
+#} elsif ($action eq 'list_delete_ask') {
|
||||||
|
+# # Confirm list removal
|
||||||
|
+# if ($list) {
|
||||||
|
+# $pagename = 'list_delete';
|
||||||
|
+# } else {
|
||||||
|
+# $pagename = 'list_select';
|
||||||
|
+# $error = 'ParameterMissing';
|
||||||
|
+# }
|
||||||
|
+#} elsif ($action eq 'list_delete_do') {
|
||||||
|
+# # User really wants to delete a list ...
|
||||||
|
+# if ($list) {
|
||||||
|
+# $success = 'DeleteList' if (&delete_list($list));
|
||||||
|
+# $list = undef;
|
||||||
|
+# } else {
|
||||||
|
+# $error = 'ParameterMissing';
|
||||||
|
+# }
|
||||||
|
+# $pagename = 'list_select';
|
||||||
|
+#} elsif ($action eq 'list_create_ask') {
|
||||||
|
+# # User wants to create a list ...
|
||||||
|
+# $pagename = 'list_create';
|
||||||
|
+#} elsif ($action eq 'list_create_do') {
|
||||||
|
+# # create the new list
|
||||||
|
+# # Message if list creation is unsuccessful ...
|
||||||
|
+# if (defined($q->param('new_list'))) {
|
||||||
|
+# if ($list = &create_list($q->param('new_list'))) {
|
||||||
|
+# $success = 'CreateList';
|
||||||
|
+# $pagename = 'subscribers';
|
||||||
|
+# } else {
|
||||||
|
+# $pagename = 'list_create';
|
||||||
|
+# }
|
||||||
|
+# } else {
|
||||||
|
+# $error = 'ParameterMissing';
|
||||||
|
+# }
|
||||||
|
} elsif (($action eq 'config_ask') || ($action eq 'config_do')) {
|
||||||
|
# User wants to see/change the configuration ...
|
||||||
|
my $subset = $q->param('config_subset');
|
||||||
|
@@ -1891,6 +1891,9 @@
|
||||||
|
# ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
sub create_list {
|
||||||
|
+ # SME process
|
||||||
|
+ warn "Please use SME Server panel to create new list";
|
||||||
|
+ return undef;
|
||||||
|
# Create a list according to user selections ...
|
||||||
|
my $listname = shift;
|
||||||
|
my ($qmail, $options, $i);
|
||||||
|
--- ezmlm-web-3.3.1/template/nav.cs.smeintegration 2013-10-20 15:32:06.000000000 -0400
|
||||||
|
+++ ezmlm-web-3.3.1/template/nav.cs 2016-04-18 23:29:05.790000000 -0400
|
||||||
|
@@ -12,13 +12,13 @@
|
||||||
|
<?cs /if ?>
|
||||||
|
<?cs if:(subcount(Data.Lists) > 0) && (UI.Navigation.ListSelect == 1) ?>
|
||||||
|
<li><a <?cs if:(Data.Action == "list_select") ?> class="nav_active"<?cs /if ?>
|
||||||
|
- href="<?cs call:link("action","list_select","","","","") ?>"
|
||||||
|
+ href="/server-manager/cgi-bin/mailinglists"
|
||||||
|
title="<?cs var:html_escape(Lang.Menue.ListSelect) ?>"><?cs var:html_escape(Lang.Menue.ListSelect) ?></a>
|
||||||
|
</li>
|
||||||
|
<?cs /if ?>
|
||||||
|
<?cs if:Data.Permissions.Create && (UI.Navigation.ListCreate == 1) ?>
|
||||||
|
<li><a <?cs if:(Data.Action == "list_create") ?> class="nav_active"<?cs /if ?>
|
||||||
|
- href="<?cs call:link("action","list_create_ask","","","","") ?>"
|
||||||
|
+ href="/server-manager/cgi-bin/mailinglists?state=create"
|
||||||
|
title="<?cs var:html_escape(Lang.Menue.ListCreate) ?>"><?cs var:html_escape(Lang.Menue.ListCreate) ?></a>
|
||||||
|
</li>
|
||||||
|
<?cs /if ?>
|
||||||
|
@@ -181,7 +181,7 @@
|
||||||
|
var:html_escape(Lang.Menue.SubscribeLog) ?></a></li><?cs /if ?>
|
||||||
|
<?cs if:UI.Navigation.ListDelete == 1
|
||||||
|
?><li><a <?cs if:(Data.Action == "list_delete") ?> class="nav_active"<?cs /if ?>
|
||||||
|
- href="<?cs call:link("list",Data.List.Name,"action","list_delete_ask","","") ?>"
|
||||||
|
+ href="/server-manager/cgi-bin/mailinglists?state=delete&list=<?cs var:html_escape(Data.List.Name) ?>"
|
||||||
|
title="<?cs var:html_escape(Lang.Menue.ListDelete) ?>"><?cs
|
||||||
|
var:html_escape(Lang.Menue.ListDelete) ?></a></li><?cs /if ?>
|
||||||
|
|
BIN
ezmlm-web-3.3.1.tar.gz
(Stored with Git LFS)
Normal file
BIN
ezmlm-web-3.3.1.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
174
ezmlm-web.spec
Normal file
174
ezmlm-web.spec
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
# $Id: ezmlm-web.spec,v 1.3 2022/03/20 18:07:07 jpp Exp $
|
||||||
|
# Authority: gordonr
|
||||||
|
# Name: Gordon Rowell
|
||||||
|
|
||||||
|
Summary: Web interface to ezmlm configuration
|
||||||
|
%define name ezmlm-web
|
||||||
|
Name: %{name}
|
||||||
|
%define version 3.3.1
|
||||||
|
%define release 9
|
||||||
|
Version: %{version}
|
||||||
|
Release: %{release}%{?dist}
|
||||||
|
License: BSD-style
|
||||||
|
Group: Networking/Daemons
|
||||||
|
URL: https://systemausfall.org/toolforge/ezmlm-web/
|
||||||
|
Source: https://systemausfall.org/toolforge/ezmlm-web/download/ezmlm-web-3.3.1.tar.gz
|
||||||
|
Patch0: ezmlm-web-3.3.1-smeintegration.patch
|
||||||
|
Patch1: ezmlm-web-3.3.1-cgi.patch
|
||||||
|
Patch2: ezmlm-web-3.3.1-modiffor722.patch
|
||||||
|
Patch3: ezmlm-web-3.3.1-bz11913-deprecateddefined.patch
|
||||||
|
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
|
||||||
|
Requires: ezmlm-idx-std
|
||||||
|
Requires: httpd
|
||||||
|
Requires: qmail
|
||||||
|
Requires: perl
|
||||||
|
Requires: perl-Ezmlm
|
||||||
|
Requires: perl-MailTools
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: e-smith-devtools
|
||||||
|
BuildRequires: perl-Ezmlm
|
||||||
|
BuildRequires: perl-devel
|
||||||
|
BuildRequires: perl(ExtUtils::Manifest)
|
||||||
|
|
||||||
|
%description
|
||||||
|
The need for ezmlm-web arose from the fact that we host many student
|
||||||
|
societies on our system. These societies usually have a virtual host for web
|
||||||
|
and email, which is administered by a computer rep from the society. These
|
||||||
|
computer reps often have little or no knowledge of Unix and so we needed a
|
||||||
|
user friendly system that would let the create and maintain mailing lists
|
||||||
|
(such as members@foo.soc.ru.ac.za, committee@foo.soc.ru.ac.za, etc).
|
||||||
|
|
||||||
|
Since I am never keen to re-invent the wheel, I had a look at Steve Peterson's
|
||||||
|
script (http://virtation.com/qmail/ml-sub), which allows people to subscribe
|
||||||
|
and unsubscribe from mailing lists using a form->email gateway. This is fine
|
||||||
|
for putting on a web page saying "here come and join our mailing list", but
|
||||||
|
doesn't really allow you to administrate a list.
|
||||||
|
|
||||||
|
Security of mailing lists was a concern, as we really didn't want
|
||||||
|
unauthorised people to be able to alter some users list. Ezmlm-web itself
|
||||||
|
implements no security checks (apart from un-tainting input) and so relies
|
||||||
|
on the web server to do this (re-inventing the wheel again :). We use an
|
||||||
|
Apache webserver, so one can control access to a directory using a .htaccess
|
||||||
|
file or in the access.conf file. ApacheWeek have a good article on doing
|
||||||
|
this at http://www.apacheweek.com/features/userauth. I also give examples
|
||||||
|
later in this document.
|
||||||
|
|
||||||
|
This version of ezmlm-web (2.0) is based to a large extent on previous
|
||||||
|
versions that I have developed. It has however been totally re-written to
|
||||||
|
make use of the Mail::Ezmlm perl module I wrote. At the same time it was
|
||||||
|
updated and extended to include the new features of ezmlm-idx. It includes
|
||||||
|
many new features that have been suggested to me over the last few months,
|
||||||
|
and hopefully is now useful to a much larger group of people.
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Oct 09 2025 BogusDateBot
|
||||||
|
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
|
||||||
|
by assuming the date is correct and changing the weekday.
|
||||||
|
|
||||||
|
* Sun Mar 20 2022 Jean-Philippe Pialasse <tests@pialasse.com> 3.3.1-9.sme
|
||||||
|
- remove deprecated defined array warning [SME: 11913]
|
||||||
|
|
||||||
|
* Wed Mar 16 2022 Jean-Philippe Pialasse <tests@pialasse.com> 3.3.1-8.sme
|
||||||
|
- remove /usr/lib64 from filelist, this conflict with base rpm filesystem
|
||||||
|
|
||||||
|
* Fri Apr 22 2016 Jean-Philippe Pialasse <tests@pialasse.com> 3.3.1-7.sme
|
||||||
|
- fix to build against SME 9 centos 6 [SME: 8439]
|
||||||
|
|
||||||
|
* Thu Apr 21 2016 Jean-Philippe Pialasse <tests@pialasse.com> 3.3.1-5.sme
|
||||||
|
- remove non available options (always on) in ezmlm-idx 7.2.2 [SME: 9470]
|
||||||
|
- remove setting user access to web, as unecessary in SME
|
||||||
|
- patch ezmlm-web-3.3.1-modiffor722.patch
|
||||||
|
|
||||||
|
* Wed Apr 20 2016 Jean-Philippe Pialasse <tests@pialasse.com> 3.3.1-4.sme
|
||||||
|
- small fix to save some config with 7.2.2 idx [SME: 9470]
|
||||||
|
|
||||||
|
* Mon Apr 18 2016 Jean-Philippe Pialasse <tests@pialasse.com> 3.3.1-1.sme
|
||||||
|
- update to 3.3.1 [SME: 7588]
|
||||||
|
|
||||||
|
* Sun Apr 29 2007 Shad L. Lords <slords@mail.com>
|
||||||
|
- Clean up spec so package can be built by koji/plague
|
||||||
|
|
||||||
|
* Thu Dec 07 2006 Shad L. Lords <slords@mail.com>
|
||||||
|
- Update to new release naming. No functional changes.
|
||||||
|
- Make Packager generic
|
||||||
|
|
||||||
|
* Tue Oct 25 2005 Gordon Rowell <gordonr@gormand.com.au> 2.3-01sme02
|
||||||
|
- Retarget previous patches against 2.3
|
||||||
|
- Change ezmlm-cgi location
|
||||||
|
- Access local help icon
|
||||||
|
- Hide delete button if -c provided
|
||||||
|
|
||||||
|
* Tue Oct 25 2005 Gordon Rowell <gordonr@gormand.com.au> 2.3-01sme01
|
||||||
|
- Update to 2.3 - ezmlm-web has moved to a new home
|
||||||
|
|
||||||
|
* Wed Nov 28 2001 Gordon Rowell <gordonr@e-smith.com>
|
||||||
|
- [2.1-04]
|
||||||
|
- Create ezmlm user (uid/gid 80) in %pre if it doesn't already exist
|
||||||
|
|
||||||
|
* Wed Oct 24 2001 Gordon Rowell <gordonr@e-smith.com>
|
||||||
|
- [2.1-03]
|
||||||
|
- Allow the web server to execute the CGI script
|
||||||
|
|
||||||
|
* Wed Oct 24 2001 Gordon Rowell <gordonr@e-smith.com>
|
||||||
|
- [2.1-02]
|
||||||
|
- Remove [Delete] button if $opt_c is set
|
||||||
|
- $opt_c "no list creation" now also means "no list deletion"
|
||||||
|
|
||||||
|
* Wed Oct 24 2001 Gordon Rowell <gordonr@e-smith.com>
|
||||||
|
- [2.1-01]
|
||||||
|
- Initial packaging
|
||||||
|
- Modified ezmlm-web.cgi path to /usr/bin
|
||||||
|
- Modified $HELP_ICON_URL for RedHat Apache patch
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -n %{name}-%{version}
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
mkdir build
|
||||||
|
perl Makefile.PL DESTDIR=build PREFIX=/usr
|
||||||
|
# REALINSTALLBIN=/usr/bin/ezmlm-web
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
(cd build ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
|
||||||
|
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
|
||||||
|
| sed -e '/ezmlm-web.cgi.1p/d' \
|
||||||
|
| sed -e '/lib64$/d' \
|
||||||
|
| sed -e '/lib$/d' \
|
||||||
|
> %{name}-%{version}-%{release}-filelist
|
||||||
|
#| sed -e '/ezmlm-web.cgi.1p/d' \
|
||||||
|
#> %{name}-%{version}-%{release}-filelist
|
||||||
|
|
||||||
|
# creating the cgi index to the suid wrapper
|
||||||
|
cp -a $RPM_BUILD_ROOT/usr/bin/ezmlm-web.wrapper $RPM_BUILD_ROOT/usr/local/share/ezmlm-web/www-data/index.cgi
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%pre
|
||||||
|
if [ -d /home/e-smith ]
|
||||||
|
then
|
||||||
|
EZMLMHOME=/home/e-smith/files/ezmlm
|
||||||
|
else
|
||||||
|
EZMLMHOME=/home/ezmlm
|
||||||
|
fi
|
||||||
|
grep '^ezmlm:' /etc/passwd > /dev/null || \
|
||||||
|
/usr/sbin/useradd -c "ezmlm" -u 80 -m -d $EZMLMHOME -s /bin/false ezmlm
|
||||||
|
|
||||||
|
%post
|
||||||
|
%preun
|
||||||
|
%postun
|
||||||
|
|
||||||
|
%files -f %{name}-%{version}-%{release}-filelist
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%attr(104755,ezmlm,ezmlm) /usr/local/share/ezmlm-web/www-data/index.cgi
|
||||||
|
%doc /usr/share/man/man1/ezmlm-web.cgi.1p.gz
|
Reference in New Issue
Block a user