changeset 445:e4494aa175f5

Bugfixes and 1.2.2
author mmj
date Tue, 01 Feb 2005 20:14:01 +1100
parents 4ca90b0abbbb
children 045dfcaf37ad
files ChangeLog configure.ac contrib/web/perl-admin/conf/tunables.pl contrib/web/php-admin/conf/tunables.php src/mlmmj-make-ml.sh.in src/mlmmj-process.c src/mlmmj-send.c
diffstat 7 files changed, 79 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Feb 01 00:14:08 2005 +1100
+++ b/ChangeLog	Tue Feb 01 20:14:01 2005 +1100
@@ -1,3 +1,7 @@
+1.2.2
+ o Make mlmmj-send work allthough no subscribers exist
+ o Bring webinterfaces up to speed (Christian Laursen)
+ o Fix moderate tag in access
  o Make mlmmj-make-ml.sh default the listtext dir to where they were
    installed in the system (Stephan Kulow)
 1.2.1
--- a/configure.ac	Tue Feb 01 00:14:08 2005 +1100
+++ b/configure.ac	Tue Feb 01 20:14:01 2005 +1100
@@ -25,6 +25,7 @@
 AC_TYPE_SIZE_T
 
 savex=$exec_prefix
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
 test "x$exec_prefix" = xNONE && exec_prefix=$prefix
 tmp=$datadir/$PACKAGE/text.skel
 while textlibdir=`eval echo "$tmp"`; test "x$textlibdir" != "x$tmp"; do tmp=$textlibdir; done
--- a/contrib/web/perl-admin/conf/tunables.pl	Tue Feb 01 00:14:08 2005 +1100
+++ b/contrib/web/perl-admin/conf/tunables.pl	Tue Feb 01 20:14:01 2005 +1100
@@ -96,3 +96,22 @@
 			  "No archive",
 			  "If this option is set, the mails won't be saved in the ".
 			  "archive but simply deleted");
+
+mlmmj_boolean("noget",
+			  "No get",
+			  "If this option is set, listname+get-INDEX is turned off.");
+
+mlmmj_boolean("notoccdenymails",
+			  "No To: Cc: deny mails",
+			  "This switch turns off whether mlmmj sends out notification about postings ".
+			  "being denied due to the listaddress not being in To: or Cc: (see 'tocc').");
+
+mlmmj_boolean("noaccessdenymails",
+			  "No access deny mails",
+			  "This switch turns off whether mlmmj sends out notification about postings ".
+			  "being rejected due to an access rule (see 'access').");
+
+mlmmj_boolean("nosubonlydenymails",
+			  "No subscribers only deny mails",
+			  "This switch turns off whether mlmmj sends out notification about postings ".
+			  "being rejected due to a subscribers only posting list (see 'subonlypost').");
--- a/contrib/web/php-admin/conf/tunables.php	Tue Feb 01 00:14:08 2005 +1100
+++ b/contrib/web/php-admin/conf/tunables.php	Tue Feb 01 20:14:01 2005 +1100
@@ -115,4 +115,27 @@
 	      "used, but there is times on local lists etc. where this is ".
 	      "useful. HANDLE WITH CARE!");
 
+mlmmj_boolean("noget",
+	      "No get",
+	      "If this option is set, listname+get-INDEX is turned off.");
+
+mlmmj_boolean("notoccdenymails",
+	      "No To: Cc: deny mails",
+	      "This switch turns off whether mlmmj sends out notification ".
+	      "about postings being denied due to the listaddress not being ".
+	      "in To: or Cc: (see 'tocc').");
+
+mlmmj_boolean("noaccessdenymails",
+	      "No access deny mails",
+	      "This switch turns off whether mlmmj sends out notification ".
+	      "about postings being rejected due to an access rule (see ".
+	      "'access').");
+
+mlmmj_boolean("nosubonlydenymails",
+	      "No subscribers only deny mails",
+	      "This switch turns off whether mlmmj sends out notification ".
+	      "about postings being rejected due to a subscribers only ".
+	      "posting list (see 'subonlypost').");
+
+
 ?>
--- a/src/mlmmj-make-ml.sh.in	Tue Feb 01 00:14:08 2005 +1100
+++ b/src/mlmmj-make-ml.sh.in	Tue Feb 01 20:14:01 2005 +1100
@@ -78,7 +78,7 @@
 echo -n "The Domain for the List? [] : "
 read FQDN
 if [ -z "$FQDN" ]; then
-	FQDN=`domainname`
+	FQDN=`domainname -f`
 fi
 
 echo -n "The emailaddress of the list owner? [postmaster] : "
@@ -88,14 +88,20 @@
 fi
 echo "$OWNER" > "$LISTDIR"/"control/owner"
 
-TEXTPATH=@textlibdir@
-echo -n "The path to texts for the list? [$TEXTPATH] : "
+TEXTPATHDEF=@textlibdir@
+echo -n "The path to texts for the list? [$TEXTPATHDEF] : "
 read TEXTPATHIN
-test TEXTPATHIN && TEXTPATH=$TEXTPATHIN
-if [ -z "$TEXTPATHIN" -o ! -d "$TEXTPATH" ]; then
+if [ -z "$TEXTPATHIN" ] ; then
+	TEXTPATH=$TEXTPATHDEF
+else
+	TEXTPATH=$TEXTPATHIN
+fi
+if [ ! -d "$TEXTPATH" ]; then
+	echo
 	echo "**NOTE** Could not copy the texts for the list"
 	echo "Please manually copy the files from the listtexts/ directory"
 	echo "in the source distribution of mlmmj."
+	sleep 2
 else
 	cp "$TEXTPATH"/* "$LISTDIR"/"text"
 fi
--- a/src/mlmmj-process.c	Tue Feb 01 00:14:08 2005 +1100
+++ b/src/mlmmj-process.c	Tue Feb 01 20:14:01 2005 +1100
@@ -697,15 +697,15 @@
 		enum action accret;
 		/* Don't send a mail about denial to the list, but silently
 		 * discard and exit. Also do this in case it's turned off */
-		if ((strcasecmp(listaddr, fromemails.emaillist[0]) == 0)
-				|| noaccessdenymails) {
+		accret = do_access(access_rules, &allheaders);
+		if (accret == DENY) {
+			if ((strcasecmp(listaddr, fromemails.emaillist[0]) ==
+						0) || noaccessdenymails) {
 			myfree(listaddr);
 			unlink(donemailname);
 			myfree(donemailname);
 			exit(EXIT_SUCCESS);
 		}
-		accret = do_access(access_rules, &allheaders);
-		if (accret == DENY) {
 			listname = genlistname(listaddr);
 			listfqdn = genlistfqdn(listaddr);
 			fromaddr = concatstr(3, listname, "+bounces-help@",
--- a/src/mlmmj-send.c	Tue Feb 01 00:14:08 2005 +1100
+++ b/src/mlmmj-send.c	Tue Feb 01 20:14:01 2005 +1100
@@ -322,6 +322,9 @@
 	int retval = 0;
 	char *reply = NULL;
 	
+	if(*sockfd == -1)
+		return retval;
+	
 	write_quit(*sockfd);
 	reply = checkwait_smtpreply(*sockfd, MLMMJ_QUIT);
 	if(reply) {
@@ -587,7 +590,7 @@
 int main(int argc, char **argv)
 {
 	size_t len = 0, hdrslen, bodylen;
-	int sockfd = 0, mailfd = 0, opt, mindex = 0, subfd = 0, tmpfd, i;
+	int sockfd = -1, mailfd = 0, opt, mindex = 0, subfd = 0, tmpfd, i;
 	int deletewhensent = 1, sendres = 0, archive = 1, digest = 0;
 	int ctrlarchive, res;
 	char *listaddr = NULL, *mailfilename = NULL, *subfilename = NULL;
@@ -977,14 +980,18 @@
 		myfree(listname);
 		myfree(listfqdn);
 
+		if(digest)
+			verp = NULL;
+
 		if(verp && (strcmp(verp, "postfix") == 0)) {
 			myfree(verp);
 			verp = mystrdup("XVERP=-=");
 		}
 
 		if(addtohdr && verp) {
-			log_error(LOG_ARGS, "Cannot use VERP and add To: "
-					"header. Not sending with VERP.");
+			log_error(LOG_ARGS, "Cannot use VERP and add "
+					"To: header. Not sending with "
+					"VERP.");
 			verp = NULL;
 		}