diff --git a/indimail-mta-x/doc/ChangeLog b/indimail-mta-x/doc/ChangeLog index fe74aa4aa..278972233 100644 --- a/indimail-mta-x/doc/ChangeLog +++ b/indimail-mta-x/doc/ChangeLog @@ -1,3 +1,15 @@ +* XXX XXX XX XXXX XX:XX:XX +0000 <@email@> @version@-@release@ +Release 3.0.6-1.1 Start 25/10/2023 End XX/XX/XXXX +======= Release Highlights ================================================ +=========================================================================== +- 24/10/2023 +01. use matchregex.h from /usr/include/qmail +02. svctool: fixed create_smtp argument check +03. svctool: added /etc/clamd.d to backup.conf +04. mail_acl.c, qregex.c, smtpd.c, uacl.c: use matchregex.h from + /usr/include/qmail +05. qmail-queue.c: added feature to negate regexp match + * Tue Oct 17 2023 18:34:04 +0000 Manvendra Bhangui 3.0.5-1.1%{?dist} Release 3.0.5-1.1 Start 11/09/2023 End 17/10/2023 ======= Release Highlights ================================================ diff --git a/indimail-mta-x/mail_acl.c b/indimail-mta-x/mail_acl.c index fe0c1058b..30e18cc6d 100644 --- a/indimail-mta-x/mail_acl.c +++ b/indimail-mta-x/mail_acl.c @@ -1,5 +1,8 @@ /* * $Log: mail_acl.c,v $ + * Revision 1.7 2023-10-24 20:06:40+05:30 Cprogrammer + * use matchregex.h from /usr/include/qmail + * * Revision 1.6 2023-07-07 10:43:40+05:30 Cprogrammer * use NULL instead of 0 for null pointer * fixed call to out() @@ -24,7 +27,7 @@ #include #include #include -#include "matchregex.h" +#include #include "wildmat.h" #include "varargs.h" @@ -239,7 +242,7 @@ mail_acl(stralloc *acclist, int qregex, char *sender, char *recipient, char verb void getversion_mail_acl_c() { - static char *x = "$Id: mail_acl.c,v 1.6 2023-07-07 10:43:40+05:30 Cprogrammer Exp mbhangui $"; + static char *x = "$Id: mail_acl.c,v 1.7 2023-10-24 20:06:40+05:30 Cprogrammer Exp mbhangui $"; x = sccsidwildmath; x++; diff --git a/indimail-mta-x/qmail-queue.9 b/indimail-mta-x/qmail-queue.9 index a1ec48c14..c795f3db2 100644 --- a/indimail-mta-x/qmail-queue.9 +++ b/indimail-mta-x/qmail-queue.9 @@ -55,7 +55,7 @@ the filesystem. \fBqmail-queue\fR uses DIRSPLIT as the directory split. It can be overriden by environment variable \fBCONFSPLIT\fR upto a max of -DIRSPLIT +\fBDIRSPLIT\fR. The envelope information is an envelope sender address followed by a list of envelope recipient addresses. The sender address is preceded by the @@ -118,10 +118,9 @@ mailarchive control files \fBqmail-queue\fR use many control files to provide various features. .TP -.B extraqueue +\fBextraqueue\fR If this control file exists, each line in the content is added as a -recipient to the recipient list. The environment variable -.B EXTRAQUEUE +recipient to the recipient list. The environment variable \fBEXTRAQUEUE\fR also does the same thing. The value of the environment variable overrides the value in the control file. Also the environment variable can be just one recipient. There is a potential for loops in case the recipient is local and @@ -130,17 +129,16 @@ qmail-queue being invoked. If \fBEXTRAQUEUE\fR is set but empty, the control will not be read. .TP -.B quarantine +\fBquarantine\fR If this control file exists, recipient list is replaced with its content. -The environment variable -.B QUARANTINE -also does the same thing. The value of the environment variable overrides -the value in the control file. Additionally, comma separated list of -original recipient list is added to the header \fBX-Quarantine-ID\fR. If -\fBQUARANTINE\fR is set but empty, the control will not be read. +The environment variable \fBQUARANTINE\fR also does the same thing. The +value of the environment variable overrides the value in the control file. +Additionally, comma separated list of original recipient list is added to +the header \fBX-Quarantine-ID\fR. If \fBQUARANTINE\fR is set but empty, the +control will not be read. .TP -.B envheaders +\fBenvheaders\fR If this control file exists, \fBqmail-queue\fR passes all headers listed in the control file to the queue along with the value. \fBqmail-local\fR and \fBqmail-remote\fR will set environment variables corresponding to the @@ -154,7 +152,7 @@ a different name for this control file. If \fBENVHEADERS\fR is set but empty, the control file will not be read. .TP -.B logheaders +\fBlogheaders\fR If this control file exists, \fBqmail-queue\fR writes all headers (along with values) listed in the control file to file descriptor defined by \fBLOGHEADERFD\fR environment variable. The file descriptor needs to be open @@ -174,7 +172,7 @@ headers in log files. The environment variable \fBLOGHEADERS\fR can be set to use a different name for this control file. .TP -.B removeheaders +\fBremoveheaders\fR If this control file exists, \fBqmail-queue\fR removes all headers listed in the control file from the mail message on descriptor 0 before writing it to the disk. The @@ -196,38 +194,43 @@ set), and passes it into the queue. \fBqmail-local\fR and delivered. .TP -.B mailarchive +\fBmailarchive\fR if this control file exists, its content can be used for rule based -archival. The environment variable -.B MAILARCHIVE -overrides the name of the \fImailarchive\fR control file. if -\fBMAILARCHIVE\fR is set but empty, the control file will not be read. A -line in this control file can be of the form +archival. The environment variable \fBMAILARCHIVE\fR overrides the name of +the \fImailarchive\fR control file. If \fBMAILARCHIVE\fR is set but empty, +the control file will not be read. A line in this control file can be of +the form .EX - type:regexp:dest_mailbox + type:regexp:dest_mailbox .EE where \fItype\fR is \fBF\fR or \fBT\fR. If \fItype\fR is \fBF\fR, rule is appled on the sender. If \fItype\fR is \fBT\fR, the rule is applied on -the recipient. \fItype\fR can be omitted to match all recipients. -\fIregexp\fR is an expression to match the address (sender or recipient -as specfied by \fItype\fR) and \fIdest_mailbox\fR is a valid email address. -\fIregexp\fR can be omitted to match any address. A \fB%\fR in -\fIdest_mailbox\fR followed by u, d or e gets replaced as below +the recipient. \fItype\fR can be omitted to match all recipients (but not +senders). \fIregexp\fR is an expression to match the address (sender or +recipient as specfied by \fItype\fR) and \fIdest_mailbox\fR is a valid +email address. \fIregexp\fR can be omitted to match any address. Remember +that \fIregexp\fR is a real regular expression and not filename glob +pattern as used by functions like \fBfnmatch\fR(3). Typically +\fB.*@yourdomain\fR (and not \fB*@yourdomain\fR) is what you intend when +you want to use it to match all addresses from \fIyourdomain\fR. +\fIregexp\fR can be preceded by a \fB!\fR sign to negate the expression. A +\fB%\fR in \fIdest_mailbox\fR followed by \fBu\fR, \fBd\fR or \fBe\fR gets +replaced as below .EX - %u - user component in address without the '@' sign - %d - domain component in address - %e - email address + %u - user component in address without the '@' sign + %d - domain component in address + %e - email address .EE As stated above, the address used for matching \fIregexp\fR is the sender -in case type is \fBF\fR. For bounces, you can use <> to match a null +in case type is \fBF\fR. For bounces, you can use \fB<>\fR to match a null sender. e.g. .EX - F:<>:bounce_archive@example.com + F:<>:bounce_archive@example.com .EE When a rule matches a sender or any one of the recipients, the @@ -236,60 +239,58 @@ recipient list. When a rule matches multiple recipients, only one email address will be added to recipient list to avoid duplicates. The below will make a copy all mails for domain \fIyourdomain\fR to -\fIarchyourdomain\fR +\fIarchyourdomain\fR (for all senders - practically each and every mail). + +.EX + ::%u@arch%d +.EE + +The below will make a copy of all mails sent by anyone from your +\fIyourdomain\fR address. + +.EX + F:.*@yourdomain:outgoing@yourdomain +.EE + +The below will make a copy of all mails sent by anyone not from your +\fIyourdomain\fR address. Here we have used \fB!\fR to negate the +result of \fIregexp\fR match. .EX -::%u@arch%d + F:!.*@yourdomain:incoming@yourdomain .EE .TP -.B originipfield -If this control file is set or if the environment variable -.B ORIGINIPFIELD -is set, a "X-Originating-IP" header will be added to every relayed mail. -The environment variable -.B ORIGINIPFIELD -overrides the control file -.BR originipfield . +\fBoriginipfield\fR +If this control file is set or if the environment variable +\fBORIGINIPFIELD\fR is set, a "X-Originating-IP" header will be added to +every relayed mail. The environment variable \fBORIGINIPFIELD\fR overrides +the control file \fBoriginipfield\fR. .PP -.B qmail-queue -does not inspect the message and does not enforce any restrictions on its -contents. However, the recipients probably expect to see a proper header, -as described in -.BR qmail-header(5) . +\fBqmail-queue\fR does not inspect the message and does not enforce any +restrictions on its contents. However, the recipients probably expect to +see a proper header, as described in \fBqmail-header\fR(5) . -Programs included with qmail which invoke -.B qmail-queue -will invoke the contents of -.B $QMAILQUEUE -instead, if that environment variable is set. +If \fBQMAILQUEUE\fR environment variable is set, programs included with +qmail which invoke \fBqmail-queue\fR will invoke the the program set by +\fBQMAILQUEUE\fR instead. .SH "FILESYSTEM RESTRICTIONS" -.B qmail-queue -imposes two constraints on the queue structure: -each -.B mess -subdirectory must be in the same filesystem as the -.B pid -directory; and each -.B todo -subdirectory must be in the same filesystem as the -.B intd -directory. +\fBqmail-queue\fR imposes two constraints on the queue structure: +each \fBmess\fR subdirectory must be in the same filesystem as the +\fBpid\fR directory; and each \fBtodo\fR subdirectory must be in the same +filesystem as the \fBintd\fR directory. .SH "Qmail High Performance Scanner Interface" A large fraction of today's emails is infected by a virus or a worm. It is necessary to recognize those malicious emails as soon as possible -- already in the DATA phase of the SMTP conversation and to reject them. -Typically, this is facilitated my means of -.BR AMaViS , -.BR qmail-scanner , -or -.B qscanq -which facilitate as "wrapper" of the original qmail-queue program invoked -by means of QMAILQUEUE environment variable. +Typically, this is facilitated my means of \fBAMaViS\fR, +\fBqmail-scanner\fR, or \fBqscanq\fR which facilitate as "wrapper" of the +original qmail-queue program invoked by means of \fBQMAILQUEUE\fR +environment variable. However -- in case of virus attacks -- those umbrella programs become part of the problem itself due to their resource requirements. @@ -340,18 +341,15 @@ can be set either to the full path of a scanner or to a list of plugins. .nr step 1 1 .IP \n[step] 2 is set to full path of the virus scanner, i.e. QHPSI=@prefix@/bin/clamdscan. -If full path is not specified, -.B qmail-queue -will use execvp(2) to run the scanner. Else it uses execv(2). -Setting QHPSI environment variable turns on the QHPSI interface. -The Qmail High Performance Scanner interface QHPSI also allows -.B qmail-queue -to read command line arguments taken from the -.B QHPSI -environment to be used as a call-interface for an external virus scanner: +If full path is not specified, \fBqmail-queue\fR will use execvp(2) to run +the scanner. Else it uses execv(2). Setting QHPSI environment variable +turns on the QHPSI interface. The Qmail High Performance Scanner interface +QHPSI also allows \fBqmail-queue\fR to read command line arguments taken +from the \fBQHPSI\fR environment to be used as a call-interface for an +external virus scanner: .EX - QHPSI="clamdscan %s --quiet --no-summary" + QHPSI="clamdscan %s --quiet --no-summary" .EE Any \fB'%s'\fR in the \fBQHPSI\fR gets replaced with @@ -361,7 +359,7 @@ the message filename in the queue's '\fImess\fR' directory. is set to list of plugins starting with a keyword 'plugin:'. .EX - QHPSI="plugin: clamd.so fsecure.so symantec.so" + QHPSI="plugin: clamd.so fsecure.so symantec.so" .EE Sets \fBqmail-queue\fR to load three plugins clamd, fsecure and symantec from @@ -371,8 +369,8 @@ You can also use the plugin generic.so. generic.so plugin can use any scanner defined by the \fBSCANCMD\fR environment variable. .EX - QHPSI="plugin: generic.so" - SCANCMD="clamdscan %s --quiet --no-summary" + QHPSI="plugin: generic.so" + SCANCMD="clamdscan %s --quiet --no-summary" .EE Any \fB'%s'\fR in the \fBSCANCMD\fR gets replaced with @@ -381,37 +379,36 @@ the message filename in the queue's '\fImess\fR' directory. .LP .TP -.B QHPSIRC +\fBQHPSIRC\fR To specify the return code of the virus scanner in case of an infection; default is 1. .TP -.B QHPSIRN +\fBQHPSIRN\fR To specify the return code of the virus scanner in case of no infection; default is 0. .TP -.B REJECTVIRUS +\fBREJECTVIRUS\fR If set to 1, infected mails will be bounced to sender. If set to 2, infected mails will be blackholed. If set to 0, infected mails will be accepted. Blackholing does not work if VIRUSFORWARD or QUARANTINE is defined. Setting to a value > 2 will bounce infected mails to sender .TP -.B VIRUSFORWARD +\fBVIRUSFORWARD\fR Infected mails will be quarantined to the email defined by VIRUSFORWARD. -This will work only if -.B REJECTVIRUS -is not equal to 1. Setting VIRUSFORWARD sets the \fBX-Quarantine-ID\fR -containing the list of original recipient list is added. +This will work only if \fBREJECTVIRUS\fR is not equal to 1. Setting +VIRUSFORWARD sets the \fBX-Quarantine-ID\fR containing the list of original +recipient list is added. .TP -.B QHPSIMINSIZE +\fBQHPSIMINSIZE\fR The minimal size of the message to invoke the virus scanner; default is 0. A typical choice would be QHPSIMISIZE=10000 (~10k). .TP -.B QHPSIMAXSIZE +\fBQHPSIMAXSIZE\fR The maximal size of the message to invoke the virus scanner; default is unrestricted. A typical choice would be QHPPIMAXSIZE=1000000 (~1M). @@ -420,32 +417,24 @@ of which is either 'infected' or 'clean' (depending on whether the mail as identifed as infected or not). .SH "EXIT CODES" -.B qmail-queue -does not print diagnostics. -It exits -0 if -it has successfully queued the message. -It exits between 1 and 99 if -it has failed to queue the message. - -All -.B qmail-queue -error codes between 11 and 40 indicate permanent errors: +\fBqmail-queue\fR does not print diagnostics. It exits 0 if it has +successfully queued the message. It exits between 1 and 99 if it has failed +to queue the message. + +All \fBqmail-queue\fR error codes between 11 and 40 indicate permanent errors: .TP 5 .B 11 Address too long. .TP .B 31 Mail server permanently refuses to send the message to any recipients. -(Not used by -.BR qmail-queue , -but can be used by programs offering the same interface.) +(Not used by \fBqmail-queue\fR, but can be used by programs offering the +same interface.) .TP .B 32 Spam or Junk Mail threshold exceeded. This is returned when a spam filter -like -.B bogofilter -is used (SPAMFILTER is defined) and the mail is identified as spam. +like \fBbogofilter\fR is used (SPAMFILTER is defined) and the mail is +identified as spam. .TP .B 33 Message contains a virus. @@ -463,9 +452,7 @@ Dthis is a custom fatal error message Zthis is a custom temporary failure message .PP -All other -.B qmail-queue -error codes indicate temporary errors: +All other \fBqmail-queue\fR error codes indicate temporary errors: .TP 5 .B 51 Out of memory. @@ -508,23 +495,18 @@ Problem with queue/todo. Problem with uids/gids. .TP .B 71 -Mail server temporarily refuses to send the message to any recipients. -(Not used by -.BR qmail-queue .) +Mail server temporarily refuses to send the message to any recipients. (Not +used by \fBqmail-queue\fR.) .TP .B 72 -Connection to mail server timed out. -(Not used by -.BR qmail-queue .) +Connection to mail server timed out. (Not used by \fBqmail-queue\fR.) .TP .B 73 -Connection to mail server rejected. -(Not used by -.BR qmail-queue .) +Connection to mail server rejected. (Not used by \fBqmail-queue\fR.) .TP .B 74 Connection to mail server succeeded, but communication failed. (Not used by -.BR qmail-queue .) +\fBqmail-queue\fR.) .TP .B 79 Envelope format error. @@ -536,9 +518,10 @@ Internal bug; e.g., segmentation fault. Samples with clamd/clamdscan: -Here is a typical sample how to customize QHPSI together -with Clam AV (clamd/clamdscan) for a tcpserver tcp.smtpd file: +Here is a typical sample how to customize QHPSI together with Clam AV +(clamd/clamdscan) for a tcpserver tcp.smtpd file: +.EX :allow,QHPSI='@prefix@/bin/clamdscan %s --quiet --no-summary' Comments: @@ -567,8 +550,10 @@ Comments: exceeds 9.000.000 byte, ~ 8.5MB. You can also set these variables outside tcp.smtp. e.g. + # echo @prefix@/bin/clamdscan %s --quiet --no-summary \\ > @servicedir@/qmail.smtpd.25/variables/QHPSI +.EE .SH "SEE ALSO" addresses(5), diff --git a/indimail-mta-x/qmail-queue.c b/indimail-mta-x/qmail-queue.c index 3b2c2f2da..a7b5f2cda 100644 --- a/indimail-mta-x/qmail-queue.c +++ b/indimail-mta-x/qmail-queue.c @@ -1,5 +1,5 @@ /* - * $Id: qmail-queue.c,v 1.87 2023-10-07 01:25:50+05:30 Cprogrammer Exp mbhangui $ + * $Id: qmail-queue.c,v 1.88 2023-10-24 20:07:31+05:30 Cprogrammer Exp mbhangui $ */ #include #include @@ -34,12 +34,12 @@ #include #include #include +#include #include "control.h" #include "variables.h" #include "fmtqfn.h" #include "triggerpull.h" #include "auto_uids.h" -#include "matchregex.h" #include "auto_split.h" #include "auto_prefix.h" #include "auto_qmail.h" @@ -542,9 +542,15 @@ int set_archive(char *eaddr) { char *rule_ptr, *dest, *ptr, *errStr = 0, *addr, *addr_ptr; - int len, at, type, found; + int len, at, type, found, negate = 0; static stralloc tmpe = {0}; + /* + * eaddr is either + * F + * or + * T + */ addr = eaddr + 1; type = *eaddr; for (rule_ptr = ar_rules.s, len = 0;len < ar_rules.len;len++) { @@ -552,27 +558,39 @@ set_archive(char *eaddr) || ((*rule_ptr == 'F' || *rule_ptr == 'T') && *rule_ptr != type)) { len += (str_len(rule_ptr) + 1); rule_ptr = ar_rules.s + len; - continue; /*- type does not match */ + continue; /*- skip rule when type does not match */ } for (addr_ptr = rule_ptr;*addr_ptr && *addr_ptr != ':';addr_ptr++); if (*addr_ptr != ':') { /*- invalid line in control file */ len += (str_len(rule_ptr) + 1); rule_ptr = ar_rules.s + len; - continue; + continue; /*- skip rule for invalid lines */ } addr_ptr++; /*- address field in rule */ + if (*addr_ptr == '!') { + negate = 1; + addr_ptr++; + if (*addr_ptr == ':') /*- nothing after ! character */ + continue; /*- skip rule for invalid line */ + } for (dest = addr_ptr;*dest && *dest != ':';dest++); if (*dest != ':') { /*- invalid line in control file */ len += (str_len(rule_ptr) + 1); rule_ptr = ar_rules.s + len; - continue; + continue; /*- skip rule for invalid lines */ } *dest++ = 0; /*- destination archival address */ if (!*addr_ptr) /*- treat this as wildcard */ addr_ptr = 0; - else - if (matchregex(addr, addr_ptr, &errStr)) - addr_ptr = 0; + else { + if (negate) { + if (!matchregex(addr, addr_ptr, &errStr)) + addr_ptr = 0; + } else { + if (matchregex(addr, addr_ptr, &errStr)) + addr_ptr = 0; + } + } if (*dest && !addr_ptr) { /*- rule matched */ *(dest - 1) = ':'; if (!stralloc_copys(&tmpe, "T")) @@ -1170,7 +1188,7 @@ main() void getversion_qmail_queue_c() { - static char *x = "$Id: qmail-queue.c,v 1.87 2023-10-07 01:25:50+05:30 Cprogrammer Exp mbhangui $"; + static char *x = "$Id: qmail-queue.c,v 1.88 2023-10-24 20:07:31+05:30 Cprogrammer Exp mbhangui $"; x = sccsidmakeargsh; x++; @@ -1178,6 +1196,9 @@ getversion_qmail_queue_c() #endif /* * $Log: qmail-queue.c,v $ + * Revision 1.88 2023-10-24 20:07:31+05:30 Cprogrammer + * added feature to negate regexp match + * * Revision 1.87 2023-10-07 01:25:50+05:30 Cprogrammer * use env variable HIDE_HOST to hide IP, host in received headers * diff --git a/indimail-mta-x/qregex.c b/indimail-mta-x/qregex.c index 4ef6d061f..f8881ca58 100644 --- a/indimail-mta-x/qregex.c +++ b/indimail-mta-x/qregex.c @@ -1,11 +1,11 @@ /* - * $Id: qregex.c,v 1.33 2023-09-27 13:20:37+05:30 Cprogrammer Exp mbhangui $ + * $Id: qregex.c,v 1.34 2023-10-24 20:08:02+05:30 Cprogrammer Exp mbhangui $ * * qregex (v2) * Author : Evan Borgstrom (evan at unixpimps dot org) * Created : 2001/12/14 23:08:16 - * Modified: $Date: 2023-09-27 13:20:37+05:30 $ - * Revision: $Revision: 1.33 $ + * Modified: $Date: 2023-10-24 20:08:02+05:30 $ + * Revision: $Revision: 1.34 $ * * Do POSIX regex matching on addresses for anti-relay / spam control. * It logs to the maillog @@ -52,8 +52,8 @@ #include #include #include +#include #include "control.h" -#include "matchregex.h" #include "qregex.h" #include "auto_control.h" #include "variables.h" @@ -238,7 +238,7 @@ regex_match(stralloc *addr, stralloc *map, char **errStr) void getversion_qregex_c() { - static char *x = "$Id: qregex.c,v 1.33 2023-09-27 13:20:37+05:30 Cprogrammer Exp mbhangui $"; + static char *x = "$Id: qregex.c,v 1.34 2023-10-24 20:08:02+05:30 Cprogrammer Exp mbhangui $"; x = sccsidwildmath; x++; @@ -246,6 +246,9 @@ getversion_qregex_c() /* * $Log: qregex.c,v $ + * Revision 1.34 2023-10-24 20:08:02+05:30 Cprogrammer + * use matchregex.h from /usr/include/qmail + * * Revision 1.33 2023-09-27 13:20:37+05:30 Cprogrammer * updated comments * diff --git a/indimail-mta-x/smtpd.c b/indimail-mta-x/smtpd.c index f9d95b84e..fa6b32ef2 100644 --- a/indimail-mta-x/smtpd.c +++ b/indimail-mta-x/smtpd.c @@ -1,6 +1,6 @@ /* * RCS log at bottom - * $Id: smtpd.c,v 1.306 2023-10-16 20:54:00+05:30 Cprogrammer Exp mbhangui $ + * $Id: smtpd.c,v 1.307 2023-10-24 20:08:07+05:30 Cprogrammer Exp mbhangui $ */ #include #include @@ -32,6 +32,7 @@ #include #include #include +#include #include "auto_control.h" #include "auto_prefix.h" #include "control.h" @@ -47,7 +48,6 @@ #include "variables.h" #include "indimail_stub.h" #include "envrules.h" -#include "matchregex.h" #include "tablematch.h" #include "bodycheck.h" #include "qregex.h" @@ -155,7 +155,7 @@ static SSL *ssl = NULL; static struct strerr *se; #endif static int tr_success = 0; -static char *revision = "$Revision: 1.306 $"; +static char *revision = "$Revision: 1.307 $"; static char *protocol = "SMTP"; static stralloc proto = { 0 }; static stralloc Revision = { 0 }; @@ -7190,6 +7190,9 @@ addrrelay() /* * $Log: smtpd.c,v $ + * Revision 1.307 2023-10-24 20:08:07+05:30 Cprogrammer + * use matchregex.h from /usr/include/qmail + * * Revision 1.306 2023-10-16 20:54:00+05:30 Cprogrammer * pass flag=2 to err_nogateway for checksender * @@ -7565,7 +7568,7 @@ addrrelay() char * getversion_smtpd_c() { - static char *x = "$Id: smtpd.c,v 1.306 2023-10-16 20:54:00+05:30 Cprogrammer Exp mbhangui $"; + static char *x = "$Id: smtpd.c,v 1.307 2023-10-24 20:08:07+05:30 Cprogrammer Exp mbhangui $"; x++; return revision + 11; diff --git a/indimail-mta-x/svctool.in b/indimail-mta-x/svctool.in index 3fd1b1e97..51e2adb35 100644 --- a/indimail-mta-x/svctool.in +++ b/indimail-mta-x/svctool.in @@ -1,5 +1,5 @@ # -# $Id: svctool.in,v 2.709 2023-10-16 18:42:40+05:30 Cprogrammer Exp mbhangui $ +# $Id: svctool.in,v 2.710 2023-10-24 20:05:47+05:30 Cprogrammer Exp mbhangui $ # # @@ -27,7 +27,7 @@ host=@HOST@ shared_objects=0 use_dlmopen=0 skip_sendmail_check=0 -RCSID="# \$Id: svctool.in,v 2.709 2023-10-16 18:42:40+05:30 Cprogrammer Exp mbhangui $" +RCSID="# \$Id: svctool.in,v 2.710 2023-10-24 20:05:47+05:30 Cprogrammer Exp mbhangui $" # # End of User Configuration @@ -2365,10 +2365,10 @@ check_libmysqlclient_lib if [ ! -f $sysconfdir/backup.conf ] ; then [ -n "$verbose" ] && echo "Creating "$DESTDIR"$sysconfdir/backup.conf file" ( - for i in $servicedir $sysconfdir $QmailHOME/domains $QmailHOME/autoturn \ - $QmailHOME/alias/.qmail-\* /etc/inittab /etc/init.d/svscan \ - /etc/passwd /etc/group /etc/hosts /etc/sysconfig/network \ - /etc/nsswitch.conf /etc/resolv.conf /etc/security /etc/alternativces \ + for i in $servicedir /etc/clamd.d $sysconfdir $QmailHOME/domains \ + $QmailHOME/autoturn $QmailHOME/alias/.qmail-\* /etc/inittab \ + /etc/init.d/svscan /etc/passwd /etc/group /etc/hosts /etc/sysconfig/network \ + /etc/nsswitch.conf /etc/resolv.conf /etc/security /etc/alternatives \ $QmailHOME/.bashrc $QmailHOME/.bash_profile $QmailHOME/.indimail $file do echo "$i" @@ -2514,10 +2514,11 @@ fi create_smtp() { -if [ $# -ne 11 ] ; then +if [ $# -ne 9 ] ; then echo "USAGE: create_smtp qbase queue_count first_queue_no supervise_dir smtp_port use_ssl=0|1 force_tls=0|1 infifo=fifo_path utf8=0|1" 1>&2 return 1 fi + QUEUE_BASE=$1 QUEUE_COUNT=$2 QUEUE_START=$3 diff --git a/indimail-mta-x/uacl.c b/indimail-mta-x/uacl.c index f0c72011e..d18391607 100644 --- a/indimail-mta-x/uacl.c +++ b/indimail-mta-x/uacl.c @@ -1,5 +1,8 @@ /* * $Log: uacl.c,v $ + * Revision 1.9 2023-10-24 20:10:30+05:30 Cprogrammer + * use matchregex.h from /usr/include/qmail + * * Revision 1.8 2023-01-15 23:32:07+05:30 Cprogrammer * out() changed to have varargs * @@ -33,9 +36,9 @@ #include #include #include +#include #include "qregex.h" #include "control.h" -#include "matchregex.h" #include "mail_acl.h" #include "wildmat.h" #include "varargs.h" @@ -144,7 +147,7 @@ main(int argc, char **argv) void getversion_uacl_c() { - static char *x = "$Id: uacl.c,v 1.8 2023-01-15 23:32:07+05:30 Cprogrammer Exp mbhangui $"; + static char *x = "$Id: uacl.c,v 1.9 2023-10-24 20:10:30+05:30 Cprogrammer Exp mbhangui $"; x = sccsidwildmath; x++;