Wish List

From QmailToaster
Revision as of 20:29, 24 April 2024 by Ebroch (talk | contribs)
Jump to navigation Jump to search

Back Have you found a patch, or know of some free software you'd like to see included with the Qmail-Toaster? You've come to the right place! Please edit a section below with your request.


rblsmtpd & tcpserver timeouts

Requestor: Jean-Paul van de Plasse

Date: 1/9/07

Status: On Devel Site (1/14/2007)

Description: If I am not mistaken the timeout is default 60 secs per rbl, normally one would think this would not give to much problems. But then again if your timeout on the client side is lowish and 1 or 2 are not working you will get this kind of problems/slowness.. Maybe we could incorporate this patch http://www.gossamer-threads.com/lists/qmail/users/123473 since that looks at the total time of the rblsmtp session instead of per blacklist. The patches applied without any problems, using it now for some testing.

I made a subset of the patch on the page above, figured the connection limits are better to be solved using iptables.

The patch allows you to set a environment var RBLTIMEOUT="seconds". After seconds rblsmtp will timeout and continue with qmail-smtpd. The logfile will contain a message that a timeout happened and on which rbl this was. (Not necessary the one causing the timeout but mostly it will be).

You can set the var in /etc/tcprules.d/tcp.smtp as RBLTIMEOUT="45" . Or any other timeout you wish..

Download at http://iserve01.i-serve.net/rblsmtp.c.rbltimeout.patch

LDAP Integration

Requestor: SV

Date: 1-9-2007

Status: This isn't a QmailToaster goal, we're not moving in that direction. Use qmail-ldap.org instructions for LDAP support.

Description: Use an existing LDAP server for account management, vs MySQL. qmail-ldap.org

ES Reply (1-12-2007) The Toaster uses vpopmail for account management, which provides most if not all of the features of qmail-ldap, so providing qmail-ldap as part of the Toaster would be impractical. However, vpopmail does have the capability to use LDAP in place of MySQL for authentication, as does courier-authlib, so it would be feasible (possibly somewhat trivial depending on your skill level) to modify vpopmail-toaster and courier-authlib-toaster yourself to use LDAP in place of MySQL. If someone were to successfully create vpopmail-toaster and courier-authlib-toaster ldap configurations, the developers might consider incorporating this into the 'stock' Toaster. Note, you might run into a problem with squirrelmail address books, as I don't know where they're stored in the Toaster configuration. There might also be other Toaster packages which use MySQL that I'm not aware of.

Clamav 0.90 patch

Requestor: Nikki Locke

Date: 2007-02-19

Description: We need a clamav 0.90 patch, as all earlier versions are now out of date, and the old patches do not work on clamav 0.90.

Below is my attampt at a patch - feel free to use this in its entirety, or improve it.

No warranty expressed or implied - I just did the minimum to get the patch to go through, and ran it on my CentOS box for a couple of days. I did find the live clamd.conf file did not get updated by install, and had to update it manually.

diff -urN original/etc/clamd.conf ./etc/clamd.conf
--- original/etc/clamd.conf	2007-02-12 18:18:42.000000000 +0000
+++ ./etc/clamd.conf	2007-02-15 15:31:47.000000000 +0000
@@ -5,13 +5,13 @@
 
 
 # Comment or remove the line below.
-Example
+#Example
 
 # Uncomment this option to enable logging.
 # LogFile must be writable for the user running daemon.
 # A full path is required.
 # Default: disabled
-#LogFile /tmp/clamd.log
+LogFile stderr
 
 # By default the log file is locked for writing - the lock protects against
 # running clamd multiple times (if want to run another clamd, please
@@ -36,7 +36,7 @@
 # Also log clean files. Useful in debugging but drastically increases the
 # log size.
 # Default: no
-#LogClean yes
+LogClean yes
 
 # Use system logger (can work together with LogFile).
 # Default: no
@@ -49,7 +49,7 @@
 
 # Enable verbose logging.
 # Default: no
-#LogVerbose yes
+LogVerbose yes
 
 # This option allows you to save a process identifier of the listening
 # daemon (main thread).
@@ -153,7 +153,7 @@
 
 # Don't fork into background.
 # Default: no
-#Foreground yes
+Foreground yes
 
 # Enable debug messages in libclamav.
 # Default: no
@@ -207,7 +207,7 @@
 
 # Enable internal e-mail scanner.
 # Default: yes
-#ScanMail yes
+ScanMail yes
 
 # If an email contains URLs ClamAV can download and scan them.
 # WARNING: This option may open your system to a DoS attack.
diff -urN original/clamd/clamd.c ./clamd/clamd.c
--- original/clamd/clamd.c	2007-02-12 20:55:24.000000000 +0000
+++ ./clamd/clamd.c	2007-02-15 15:26:08.000000000 +0000
@@ -229,10 +229,14 @@
     if((cpt = cfgopt(copt, "LogFile"))->enabled) {
 	logg_file = cpt->strarg;
 	if(strlen(logg_file) < 2 || (logg_file[0] != '/' && logg_file[0] != '\\' && logg_file[1] != ':')) {
-	    fprintf(stderr, "ERROR: LogFile requires full path.\n");
-	    logg_close();
-	    freecfg(copt);
-	    return 1;
+		if (strcmp(logg_file,"stderr")!=0) {
+			fprintf(stderr, "ERROR: LogFile requires full path.\n");
+	    	logg_close();
+	    	freecfg(copt);
+	    	return 1;
+	    } else {
+			use_stderr=1;
+		}
 	}
 	time(&currtime);
 	if(logg("#+++ Started at %s", ctime(&currtime))) {
diff -urN original/shared/output.c ./shared/output.c
--- original/shared/output.c	2006-08-30 23:41:21.000000000 +0100
+++ ./shared/output.c	2007-02-15 15:29:21.000000000 +0000
@@ -138,7 +138,9 @@
     pthread_mutex_lock(&logg_mutex);
 #endif
     if(logg_file) {
-	if(!logg_fd) {
+	if(use_stderr) {
+		logg_fd = stderr;
+	} else if(!logg_fd) {
 	    old_umask = umask(0037);
 	    if((logg_fd = fopen(logg_file, "a")) == NULL) {
 		umask(old_umask);
@@ -161,7 +163,7 @@
 	    }
 	}
 
-	if(logg_size) {
+	if(logg_size && !use_stderr) {
 	    if(stat(logg_file, &sb) != -1) {
 		if(sb.st_size > logg_size) {
 		    logg_file = NULL;
diff -urN original/shared/output.h ./shared/output.h
--- original/shared/output.h	2007-02-13 21:14:38.000000000 +0000
+++ ./shared/output.h	2007-02-15 15:22:24.000000000 +0000
@@ -29,6 +29,7 @@
 
 int mdprintf(int desc, const char *str, ...);
 
+int use_stderr;
 int logg(const char *str, ...);
 
 void logg_close(void);
diff -urN original/etc/freshclam.conf ./etc/freshclam.conf
--- original/etc/freshclam.conf	2007-02-11 09:54:46.000000000 +0000
+++ ./etc/freshclam.conf	2007-02-15 15:22:56.000000000 +0000
@@ -5,7 +5,7 @@
 
 
 # Comment or remove the line below.
-Example
+#Example
 
 # Path to the database directory.
 # WARNING: It must match clamd.conf's directive!
@@ -14,7 +14,7 @@
 
 # Path to the log file (make sure it has proper permissions)
 # Default: disabled
-#UpdateLogFile /var/log/freshclam.log
+UpdateLogFile /var/log/freshclam.log
 
 # Enable verbose logging.
 # Default: no

EXTTODO patch for silly qmail syndrome

Requestor: KBS Ramachandra

Date: 10-Aug-2007

Description: Would like the exttodo patch in QmailToaster to handle the silly qmail syndrome. I manage a shared server with high mail injection rates. While the pre-processing queue keeps building up, qmail-send only delivers one local message at a time. I think that this is an essential patch for a toaster configuration. URL to the patch: [1]

Increased Mail Store/Quota

Requestor: Roxanne Sandesara

Date: 09/17/2007

Status: Requested

Description: Currently there seems to be a limit of 1gb to the allowable content for a given account on the server. I would like to find a way to increase this. Various web-mail services allow as much as 5gb, and especially in a business environment where getting rid of mail and thusly business intelligence is frowned upon, it is not hard at all to accumulate quite a bit of mail in just a few years. QmailAdmin allows setting a quota of 2gb, but the server reports full and will not upload anything more once it gets up to 1gb. And I'd like to be able to exceed even 2gb.

chkuser Settings Review

Requestor: Jake Vickers

Date: 07/01/2009

Status: Requested

Description: chkuser, unfortunately, must be configured at compile time. Let's look at all the various options available (current version at time of writing is 2.0.9), see what we're currently doing, and decide whether or not they should be changed. This job is too big for this page; let's take it to chkuser Settings.