From 25a55efedbea9031ccca8a8f91a657781198a1c5 Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Tue, 14 Feb 2006 15:06:45 +0000 Subject: [PATCH] Debianization and various other fixes. * Fix error.h to use errno.h rather than its own declaration. * Filter Disposition-Notification-To headers from incoming messages. --- .gitignore | 252 +++++++++++++++++++++++++++++++++++++++++++++++++++ TARGETS | 60 ++++++++++++ checktag.c | 2 +- conf-bin | 2 +- conf-cc | 2 +- conf-ld | 2 +- conf-man | 2 +- conf-sqlcc | 2 +- conf-sqlld | 2 +- debian/.gitignore | 5 + debian/changelog | 5 + debian/control | 48 ++++++++++ debian/copyright | 3 + debian/rules | 60 ++++++++++++ error.h | 2 +- ezmlm-archive.1 | 2 +- ezmlm-check.sh | 2 +- ezmlm-cron.c | 5 +- ezmlm-make.c | 2 +- ezmlm-mktab | 2 +- ezmlm-test.sh | 8 +- ezmlmrc.ch_GB | 1 + ezmlmrc.cs | 1 + ezmlmrc.da | 1 + ezmlmrc.de | 1 + ezmlmrc.en_US | 1 + ezmlmrc.es | 1 + ezmlmrc.fr | 1 + ezmlmrc.id | 1 + ezmlmrc.it | 1 + ezmlmrc.jp | 1 + ezmlmrc.pl | 1 + ezmlmrc.pt | 1 + ezmlmrc.pt_BR | 1 + ezmlmrc.ru | 1 + ezmlmrc.sv | 1 + idx.h | 4 +- issub.c | 2 +- logmsg.c | 2 +- opensql.c | 2 +- putsubs.c | 2 +- qmail.c | 13 ++- searchlog.c | 2 +- sub_pgsql/conf-sqlcc | 2 +- subscribe.c | 2 +- tagmsg.c | 2 +- 46 files changed, 487 insertions(+), 31 deletions(-) create mode 100644 .gitignore create mode 100644 debian/.gitignore create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/rules diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..562db30 --- /dev/null +++ b/.gitignore @@ -0,0 +1,252 @@ +alloc.0 +alloc.a +alloc.o +alloc_re.o +author.o +auto-ccld.sh +auto-str +auto-str.o +auto_bin.c +auto_bin.o +auto_cron.c +auto_cron.o +auto_qmail.c +auto_qmail.o +byte_chr.o +byte_copy.o +byte_cr.o +byte_diff.o +byte_rchr.o +byte_zero.o +case.0 +case.a +case_diffb.o +case_diffs.o +case_lowerb.o +case_startb.o +case_starts.o +checktag.o +compile +concatHDR.o +constmap.o +cookie.o +copy.o +date2yyyymm.o +date822fmt.o +dateline.o +datetime.0 +datetime.o +decodeB.o +decodeHDR.o +decodeQ.o +direntry.0 +direntry.h +encodeB.o +encodeQ.o +env.0 +env.a +env.o +envread.o +error.0 +error.a +error.o +error_str.0 +error_str.o +error_temp.0 +ezmlm-accept +ezmlm-accept.0 +ezmlm-archive +ezmlm-archive.0 +ezmlm-archive.o +ezmlm-cgi +ezmlm-cgi.0 +ezmlm-cgi.o +ezmlm-check +ezmlm-check.0 +ezmlm-clean +ezmlm-clean.0 +ezmlm-clean.o +ezmlm-cron +ezmlm-cron.0 +ezmlm-cron.o +ezmlm-gate +ezmlm-gate.0 +ezmlm-gate.o +ezmlm-get +ezmlm-get.0 +ezmlm-get.o +ezmlm-glconf +ezmlm-glconf.0 +ezmlm-idx +ezmlm-idx.0 +ezmlm-idx.o +ezmlm-issubn +ezmlm-issubn.0 +ezmlm-issubn.o +ezmlm-limit +ezmlm-limit.0 +ezmlm-limit.o +ezmlm-list +ezmlm-list.0 +ezmlm-list.o +ezmlm-make +ezmlm-make.0 +ezmlm-make.o +ezmlm-manage +ezmlm-manage.0 +ezmlm-manage.o +ezmlm-mktab.0 +ezmlm-moderate +ezmlm-moderate.0 +ezmlm-moderate.o +ezmlm-reject +ezmlm-reject.0 +ezmlm-reject.o +ezmlm-request +ezmlm-request.0 +ezmlm-request.o +ezmlm-return +ezmlm-return.0 +ezmlm-return.o +ezmlm-send +ezmlm-send.0 +ezmlm-send.o +ezmlm-split +ezmlm-split.0 +ezmlm-split.o +ezmlm-store +ezmlm-store.0 +ezmlm-store.o +ezmlm-sub +ezmlm-sub.0 +ezmlm-sub.o +ezmlm-test +ezmlm-test.0 +ezmlm-tstdig +ezmlm-tstdig.0 +ezmlm-tstdig.o +ezmlm-unsub +ezmlm-unsub.0 +ezmlm-unsub.o +ezmlm-warn +ezmlm-warn.0 +ezmlm-warn.o +ezmlm-weed +ezmlm-weed.0 +ezmlm-weed.o +ezmlm.0 +ezmlmglrc.0 +ezmlmrc +ezmlmrc.0 +ezmlmsubrc.0 +fd.a +fd_copy.0 +fd_copy.o +fd_move.0 +fd_move.o +find-systype +fmt_str.o +fmt_uint.o +fmt_uint0.o +fmt_ulong.o +fork.h +fs.a +getconf.o +getln.0 +getln.a +getln.o +getln2.0 +getln2.o +getopt.0 +getopt.a +hasflock.h +hassgact.h +idxthread.o +install +install.o +issub.o +load +lock.a +lock_ex.o +log.o +logmsg.o +make-compile +make-load +make-makelib +makehash.o +makelib +mime.a +now.0 +now.o +open.a +open_append.o +open_read.o +open_trunc.o +opensql.o +putsubs.o +qmail.o +quote.o +scan_8long.o +scan_ulong.o +searchlog.o +seek.a +seek_set.o +sgetopt.0 +sgetopt.o +sig.a +sig_catch.o +sig_pipe.o +slurp.o +slurpclose.o +str.a +str_chr.o +str_cpy.o +str_diff.o +str_diffn.o +str_len.o +str_rchr.o +str_start.o +stralloc.0 +stralloc.a +stralloc_arts.o +stralloc_cat.o +stralloc_catb.o +stralloc_cats.o +stralloc_copy.o +stralloc_eady.o +stralloc_opyb.o +stralloc_opys.o +stralloc_pend.o +strerr.a +strerr.o +strerr_die.o +strerr_sys.o +subdb.a +subfd.0 +subfderr.o +subgetopt.0 +subgetopt.o +subscribe.o +substdi.o +substdio.0 +substdio.a +substdio.o +substdio_copy.0 +substdio_copy.o +substdio_in.0 +substdio_out.0 +substdo.o +surf.0 +surf.a +surf.o +surfpcs.0 +surfpcs.o +systype +tagmsg.o +uint32.h +unfoldHDR.o +wait.0 +wait.a +wait_pid.o +yyyymm.a +build diff --git a/TARGETS b/TARGETS index 6ae1653..8c10dcf 100644 --- a/TARGETS +++ b/TARGETS @@ -1,3 +1,4 @@ +alloc.0 alloc.a alloc.o alloc_re.o @@ -17,6 +18,7 @@ byte_cr.o byte_diff.o byte_rchr.o byte_zero.o +case.0 case.a case_diffb.o case_diffs.o @@ -32,74 +34,115 @@ copy.o date2yyyymm.o date822fmt.o dateline.o +datetime.0 datetime.o decodeB.o decodeHDR.o decodeQ.o +direntry.0 direntry.h encodeB.o encodeQ.o +env.0 env.a env.o envread.o +error.0 error.a error.o +error_str.0 error_str.o +error_temp.0 ezmlm-accept +ezmlm-accept.0 ezmlm-archive +ezmlm-archive.0 ezmlm-archive.o ezmlm-cgi +ezmlm-cgi.0 ezmlm-cgi.o ezmlm-check +ezmlm-check.0 ezmlm-clean +ezmlm-clean.0 ezmlm-clean.o ezmlm-cron +ezmlm-cron.0 ezmlm-cron.o ezmlm-gate +ezmlm-gate.0 ezmlm-gate.o ezmlm-get +ezmlm-get.0 ezmlm-get.o ezmlm-glconf +ezmlm-glconf.0 ezmlm-idx +ezmlm-idx.0 ezmlm-idx.o ezmlm-issubn +ezmlm-issubn.0 ezmlm-issubn.o ezmlm-limit +ezmlm-limit.0 ezmlm-limit.o ezmlm-list +ezmlm-list.0 ezmlm-list.o ezmlm-make +ezmlm-make.0 ezmlm-make.o ezmlm-manage +ezmlm-manage.0 ezmlm-manage.o +ezmlm-mktab.0 ezmlm-moderate +ezmlm-moderate.0 ezmlm-moderate.o ezmlm-reject +ezmlm-reject.0 ezmlm-reject.o ezmlm-request +ezmlm-request.0 ezmlm-request.o ezmlm-return +ezmlm-return.0 ezmlm-return.o ezmlm-send +ezmlm-send.0 ezmlm-send.o ezmlm-split +ezmlm-split.0 ezmlm-split.o ezmlm-store +ezmlm-store.0 ezmlm-store.o ezmlm-sub +ezmlm-sub.0 ezmlm-sub.o ezmlm-test +ezmlm-test.0 ezmlm-tstdig +ezmlm-tstdig.0 ezmlm-tstdig.o ezmlm-unsub +ezmlm-unsub.0 ezmlm-unsub.o ezmlm-warn +ezmlm-warn.0 ezmlm-warn.o ezmlm-weed +ezmlm-weed.0 ezmlm-weed.o +ezmlm.0 +ezmlmglrc.0 ezmlmrc +ezmlmrc.0 +ezmlmsubrc.0 fd.a +fd_copy.0 fd_copy.o +fd_move.0 fd_move.o find-systype fmt_str.o @@ -109,13 +152,18 @@ fmt_ulong.o fork.h fs.a getconf.o +getln.0 getln.a getln.o +getln2.0 getln2.o +getopt.0 getopt.a hasflock.h hassgact.h idxthread.o +install +install.o issub.o load lock.a @@ -128,6 +176,7 @@ make-makelib makehash.o makelib mime.a +now.0 now.o open.a open_append.o @@ -142,6 +191,7 @@ scan_ulong.o searchlog.o seek.a seek_set.o +sgetopt.0 sgetopt.o sig.a sig_catch.o @@ -156,6 +206,7 @@ str_diffn.o str_len.o str_rchr.o str_start.o +stralloc.0 stralloc.a stralloc_arts.o stralloc_cat.o @@ -171,21 +222,30 @@ strerr.o strerr_die.o strerr_sys.o subdb.a +subfd.0 subfderr.o +subgetopt.0 subgetopt.o subscribe.o substdi.o +substdio.0 substdio.a substdio.o +substdio_copy.0 substdio_copy.o +substdio_in.0 +substdio_out.0 substdo.o +surf.0 surf.a surf.o +surfpcs.0 surfpcs.o systype tagmsg.o uint32.h unfoldHDR.o +wait.0 wait.a wait_pid.o yyyymm.a diff --git a/checktag.c b/checktag.c index fe4e410..d923323 120000 --- a/checktag.c +++ b/checktag.c @@ -1 +1 @@ -sub_std/checktag.c \ No newline at end of file +sub_pgsql/checktag.c \ No newline at end of file diff --git a/conf-bin b/conf-bin index 813dc94..350f016 100644 --- a/conf-bin +++ b/conf-bin @@ -1,3 +1,3 @@ -/usr/local/bin/ezmlm +/usr/bin Programs will be installed in this directory. diff --git a/conf-cc b/conf-cc index e58fb9b..1a2ccb5 100644 --- a/conf-cc +++ b/conf-cc @@ -1,3 +1,3 @@ -cc -O2 +gcc -O2 -g This will be used to compile .c files. diff --git a/conf-ld b/conf-ld index a9e796a..1d0518a 100644 --- a/conf-ld +++ b/conf-ld @@ -1,3 +1,3 @@ -cc -s +gcc This will be used to link .o files into an executable. diff --git a/conf-man b/conf-man index b4e70a4..bc32c8d 100644 --- a/conf-man +++ b/conf-man @@ -1,4 +1,4 @@ -/usr/local/man +/usr/share/man Man pages will be installed in subdirectories of this directory. An unformatted man page foo.1 will go into .../man1/foo.1; a formatted man diff --git a/conf-sqlcc b/conf-sqlcc index 6d13424..1a22eac 120000 --- a/conf-sqlcc +++ b/conf-sqlcc @@ -1 +1 @@ -sub_std/conf-sqlcc \ No newline at end of file +sub_pgsql/conf-sqlcc \ No newline at end of file diff --git a/conf-sqlld b/conf-sqlld index 7432a47..88f4b33 120000 --- a/conf-sqlld +++ b/conf-sqlld @@ -1 +1 @@ -sub_std/conf-sqlld \ No newline at end of file +sub_pgsql/conf-sqlld \ No newline at end of file diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 0000000..8a7376e --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,5 @@ +build +ezmlm-cgi +ezmlm-idx +files +*.substvars diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..ff7e964 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +ezmlm-idx (0.40-1) experimental; urgency=low + + * Debianization! + + -- Mark Wooding Sat, 22 Nov 2003 15:25:16 +0000 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..e89bd41 --- /dev/null +++ b/debian/control @@ -0,0 +1,48 @@ +Source: ezmlm-idx +Section: mail +Priority: extra +Standards-Version: 3.1.1 +Maintainer: Mark Wooding + +Package: ezmlm-idx +Architecture: any +Depends: qmail (>= 1.03), ${shlibs:Depends} +Provides: ezmlm +Description: An easy-to-use, high-speed mailing list manager for qmail. + ezmlm lets users set up their own mailing lists within qmail's address + hierarchy. A user, Joe, types + . + ezmlm-make ~/SOS ~/.qmail-sos joe-sos isp.net + . + and instantly has a functioning mailing list, joe-sos@isp.net, with all + relevant information stored in a new ~/SOS directory. + . + ezmlm sets up joe-sos-subscribe and joe-sos-unsubscribe for automatic + processing of subscription and unsubscription requests. Any message to + joe-sos-subscribe will work; Joe doesn't have to explain any tricky + command formats. ezmlm will send back instructions if a subscriber sends + a message to joe-sos-request or joe-sos-help. + . + ezmlm automatically archives new messages. Messages are labelled with + sequence numbers; a subscriber can fetch message 123 by sending mail to + joe-sos-get.123. The archive format supports fast message retrieval even + when there are thousands of messages. + . + ezmlm takes advantage of qmail's VERPs to reliably determine the + recipient address and message number for every incoming bounce message. + It waits ten days and then sends the subscriber a list of message + numbers that bounced. If that warning bounces, ezmlm sends a probe; if + the probe bounces, ezmlm automatically removes the subscriber from the + mailing list. + +Package: ezmlm-cgi +Architecture: any +Depends: qmail (>= 1.03), httpd, + ezmlm-idx (>= ${Source-Version}), ${shlibs:Depends} +Description: An easy-to-use, high-speed mailing list manager for qmail. + This is a CGI program which lets users browse ezmlm mailing list + archives. + . + The documentation recommends installing this program setuid-root; this + package does NOT do this. Instead, make your list archives readable + by the web server user. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..2cdeb62 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,3 @@ +ezmlm is copyright (C) 1997 Dan Bernstein. The licence is unclear. +ezmlm-idx is copyright (c) 1997, 1998, 1999 Fred Lindberg and Fred B. Ringel, +and released under the GNU General Public License. diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..6394f6b --- /dev/null +++ b/debian/rules @@ -0,0 +1,60 @@ +#! /usr/bin/make -f + +export DH_COMPAT = 4 + +mdw-setup: + upstream=`git-describe idx | sed 's:^idx/::'`; \ + dir=ezmlm-idx_$$upstream.orig; \ + git-tar-tree idx $$dir | gzip -9c >../$$dir.tar.gz + +clean: + make clean std + dh_clean + rm -f build + +build: + make pgsql + make it install man + touch build + +install: build + dh_clean + mkdir -p debian/ezmlm-idx/usr/bin debian/ezmlm-idx/usr/share/man + ./install debian/ezmlm-idx/usr/bin extern int error_intr; extern int error_nomem; diff --git a/ezmlm-archive.1 b/ezmlm-archive.1 index ca764f8..ea72623 100644 --- a/ezmlm-archive.1 +++ b/ezmlm-archive.1 @@ -32,7 +32,7 @@ The output files created are: The thread index. It contains one line per subject, starting with the number of the first message with that subject within the set investigated, ``:'', a 20 character -subject hash, blank, ``\[n\]'' where ``n'' is the number of messages in the +subject hash, blank, ``[n]'' where ``n'' is the number of messages in the thread, blank, and the subject. The file ``yyyymm'' contains entries for all threads that have messages in the month ``yyyymm'' diff --git a/ezmlm-check.sh b/ezmlm-check.sh index b844d1b..abece4b 100644 --- a/ezmlm-check.sh +++ b/ezmlm-check.sh @@ -14,7 +14,7 @@ else fi fi -QINJECT="${QMPATH}/bin/qmail-inject" +QINJECT="/usr/sbin/qmail-inject" EZLIST="${EZPATH}/ezmlm-list" MYNAME='ezmlm-check' MYDTLINE="Delivered-To: ${MYNAME}" diff --git a/ezmlm-cron.c b/ezmlm-cron.c index e35f7ea..e3857bf 100644 --- a/ezmlm-cron.c +++ b/ezmlm-cron.c @@ -34,7 +34,7 @@ unsigned long deltah = 24L; /* default interval 24h */ unsigned long hh = 4L; /* default time 04:12 */ unsigned long mm = 12L; char *dow = "*"; /* day of week */ -char *qmail_inject = "/bin/qmail-inject "; +char *qmail_inject = "/usr/sbin/qmail-inject "; char strnum[FMT_ULONG]; unsigned long uid,euid; @@ -343,7 +343,6 @@ char **argv; if (!stralloc_cats(&addr,dow)) die_nomem(); if (!stralloc_cats(&addr," ")) die_nomem(); part0start = addr.len; /* /var/qmail/bin/qmail-inject */ - if (!stralloc_cats(&addr,auto_qmail)) die_nomem(); if (!stralloc_cats(&addr,qmail_inject)) die_nomem(); part0len = addr.len - part0start; if (!stralloc_cats(&addr,local)) die_nomem(); @@ -403,8 +402,6 @@ char **argv; if (line.s[pos] == '#') continue; /* cron comment */ pos = str_chr(line.s,'/'); - if (!str_start(line.s+pos,auto_qmail)) continue; - pos += str_len(auto_qmail); if (!str_start(line.s+pos,qmail_inject)) continue; pos += str_len(qmail_inject); poslocal = pos; diff --git a/ezmlm-make.c b/ezmlm-make.c index 11fc6f4..6676a61 100644 --- a/ezmlm-make.c +++ b/ezmlm-make.c @@ -423,7 +423,7 @@ char **argv; if (errno != error_noent) strerr_die4sys(111,FATAL,ERR_OPEN,template.s,": "); else { /* ezbin/ezmlmrc */ - if (!stralloc_copys(&template,auto_bin)) die_nomem(); + if (!stralloc_copys(&template,"/usr/share/ezmlm")) die_nomem(); if (!stralloc_cats(&template,TXT_EZMLMRC)) die_nomem(); if (!stralloc_0(&template)) die_nomem(); if ((fdin = open_read(template.s)) == -1) diff --git a/ezmlm-mktab b/ezmlm-mktab index feb8cc6..bdc4607 120000 --- a/ezmlm-mktab +++ b/ezmlm-mktab @@ -1 +1 @@ -sub_std/ezmlm-mktab \ No newline at end of file +sub_pgsql/ezmlm-mktab \ No newline at end of file diff --git a/ezmlm-test.sh b/ezmlm-test.sh index a1d03b8..0653795 100644 --- a/ezmlm-test.sh +++ b/ezmlm-test.sh @@ -218,11 +218,11 @@ if [ ! -x "${EZBIN}/ezmlm-make" ]; then exit 99 fi -if [ ! -x "${QMPATH}/bin/qmail-local" ]; then +if [ ! -x "/usr/sbin/qmail-local" ]; then ${ECHO} "can't find qmail-local. Please correct the path in the script" exit 99 fi -if [ ! -x "${QMPATH}/bin/qmail-inject" ]; then +if [ ! -x "/usr/sbin/qmail-inject" ]; then ${ECHO} "can't find qmail-inject. Please correct the path in the script" exit 99 fi @@ -284,7 +284,7 @@ send_test() { ${ECHO} "X-num: #TSTMSG$1#" ${ECHO} "To: ${SND}@$HOST" - } | ${QMPATH}/bin/qmail-inject + } | /usr/sbin/qmail-inject return 0 } @@ -517,7 +517,7 @@ fi if [ "$SECT" != "9" ]; then ${ECHO} "Subject: zzz-test" > "${DIR}/__tmp" -${QMPATH}/bin/qmail-local "$EZTEST" "$HOME" "$SND-zzz" "$DASH" \ +/usr/sbin/qmail-local "$EZTEST" "$HOME" "$SND-zzz" "$DASH" \ "$LIST-$SINK-zzz" "$HOST" \ "<>" '' < "${DIR}/__tmp" >"${ERR}" 2>&1 || \ { ${ECHO} "-failed to deliver message with qmail-local"; exit 100; } diff --git a/ezmlmrc.ch_GB b/ezmlmrc.ch_GB index 61afeb3..a2d1c71 100644 --- a/ezmlmrc.ch_GB +++ b/ezmlmrc.ch_GB @@ -254,6 +254,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc # Only one allowed diff --git a/ezmlmrc.cs b/ezmlmrc.cs index 7620bec..d2b3f98 100644 --- a/ezmlmrc.cs +++ b/ezmlmrc.cs @@ -256,6 +256,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc # Only one allowed diff --git a/ezmlmrc.da b/ezmlmrc.da index 8733272..84645da 100644 --- a/ezmlmrc.da +++ b/ezmlmrc.da @@ -258,6 +258,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc # Only one allowed diff --git a/ezmlmrc.de b/ezmlmrc.de index cd8f44f..ff51b37 100644 --- a/ezmlmrc.de +++ b/ezmlmrc.de @@ -316,6 +316,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc list-subscribe diff --git a/ezmlmrc.en_US b/ezmlmrc.en_US index bf51c12..24294ce 100644 --- a/ezmlmrc.en_US +++ b/ezmlmrc.en_US @@ -284,6 +284,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc list-subscribe diff --git a/ezmlmrc.es b/ezmlmrc.es index 5b5cf00..ab24e1a 100644 --- a/ezmlmrc.es +++ b/ezmlmrc.es @@ -284,6 +284,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc list-subscribe diff --git a/ezmlmrc.fr b/ezmlmrc.fr index dd04a17..46e7a65 100644 --- a/ezmlmrc.fr +++ b/ezmlmrc.fr @@ -298,6 +298,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc list-subscribe diff --git a/ezmlmrc.id b/ezmlmrc.id index 506918f..3e7c4d5 100644 --- a/ezmlmrc.id +++ b/ezmlmrc.id @@ -286,6 +286,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc list-subscribe diff --git a/ezmlmrc.it b/ezmlmrc.it index 3db0eec..9fd1922 100644 --- a/ezmlmrc.it +++ b/ezmlmrc.it @@ -286,6 +286,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc list-subscribe diff --git a/ezmlmrc.jp b/ezmlmrc.jp index a275392..c85f5ba 100644 --- a/ezmlmrc.jp +++ b/ezmlmrc.jp @@ -284,6 +284,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc list-subscribe diff --git a/ezmlmrc.pl b/ezmlmrc.pl index 58df48a..392fd95 100644 --- a/ezmlmrc.pl +++ b/ezmlmrc.pl @@ -262,6 +262,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc # Only one allowed diff --git a/ezmlmrc.pt b/ezmlmrc.pt index a8532a5..5e3fced 100644 --- a/ezmlmrc.pt +++ b/ezmlmrc.pt @@ -257,6 +257,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc # Only one allowed diff --git a/ezmlmrc.pt_BR b/ezmlmrc.pt_BR index 81aadbf..1978841 100644 --- a/ezmlmrc.pt_BR +++ b/ezmlmrc.pt_BR @@ -257,6 +257,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc # Only one allowed diff --git a/ezmlmrc.ru b/ezmlmrc.ru index 49e6d34..72ff01d 100644 --- a/ezmlmrc.ru +++ b/ezmlmrc.ru @@ -257,6 +257,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc # Only one allowed diff --git a/ezmlmrc.sv b/ezmlmrc.sv index 4f6c6b5..9128e6f 100644 --- a/ezmlmrc.sv +++ b/ezmlmrc.sv @@ -284,6 +284,7 @@ return-path return-receipt-to content-length precedence +disposition-notification-to x-confirm-reading-to x-pmrqc list-subscribe diff --git a/idx.h b/idx.h index 59f7867..b57b0f7 100644 --- a/idx.h +++ b/idx.h @@ -285,8 +285,8 @@ /* per line in DIR/qmqpservers will be tried until a working one is found. */ /* the option is mainly to allow large list clusters on a single host to use */ /* different QMQPC hosts as exploders.*/ -#define PROG_QMAIL_QUEUE "bin/qmail-queue" -#define PROG_QMAIL_QMQPC "bin/qmail-qmqpc" +#define PROG_QMAIL_QUEUE "/usr/sbin/qmail-queue" +#define PROG_QMAIL_QMQPC "/usr/sbin/qmail-qmqpc" /*---------- Things below this line are not configurable -----------*/ /* file in DIR that has the qmqpc servers (if any) */ diff --git a/issub.c b/issub.c index 8d7ce9e..1d4ec7f 120000 --- a/issub.c +++ b/issub.c @@ -1 +1 @@ -sub_std/issub.c \ No newline at end of file +sub_pgsql/issub.c \ No newline at end of file diff --git a/logmsg.c b/logmsg.c index e540bca..c7b7258 120000 --- a/logmsg.c +++ b/logmsg.c @@ -1 +1 @@ -sub_std/logmsg.c \ No newline at end of file +sub_pgsql/logmsg.c \ No newline at end of file diff --git a/opensql.c b/opensql.c index 5a27e82..7ee4990 120000 --- a/opensql.c +++ b/opensql.c @@ -1 +1 @@ -sub_std/opensql.c \ No newline at end of file +sub_pgsql/opensql.c \ No newline at end of file diff --git a/putsubs.c b/putsubs.c index 79ffb49..07faef1 120000 --- a/putsubs.c +++ b/putsubs.c @@ -1 +1 @@ -sub_std/putsubs.c \ No newline at end of file +sub_pgsql/putsubs.c \ No newline at end of file diff --git a/qmail.c b/qmail.c index 1ee257b..5c204c0 100644 --- a/qmail.c +++ b/qmail.c @@ -1,3 +1,4 @@ +#include #include "substdio.h" #include "readwrite.h" #include "wait.h" @@ -10,7 +11,15 @@ #include "stralloc.h" #include "idx.h" -static char *binqqargs[2] = { PROG_QMAIL_QUEUE, 0 } ; +static char *binqqargs[2] = { 0, 0 } ; + +static void setup_qqargs() +{ + if(!binqqargs[0]) + binqqargs[0] = getenv("QMAILQUEUE"); + if(!binqqargs[0]) + binqqargs[0] = "/usr/sbin/qmail-queue"; +} int qmail_open(qq,sa) struct qmail *qq; @@ -21,6 +30,8 @@ stralloc *sa; unsigned i,j; char **cpp; + setup_qqargs(); + qq->msgbytes = 0L; if (pipe(pim) == -1) return -1; if (pipe(pie) == -1) { close(pim[0]); close(pim[1]); return -1; } diff --git a/searchlog.c b/searchlog.c index c6f1952..acc39b2 120000 --- a/searchlog.c +++ b/searchlog.c @@ -1 +1 @@ -sub_std/searchlog.c \ No newline at end of file +sub_pgsql/searchlog.c \ No newline at end of file diff --git a/sub_pgsql/conf-sqlcc b/sub_pgsql/conf-sqlcc index 886cf2f..d329262 100644 --- a/sub_pgsql/conf-sqlcc +++ b/sub_pgsql/conf-sqlcc @@ -1,4 +1,4 @@ --I/usr/include/pgsql +-I/usr/include/postgresql # the top line will be used when compiling. Edit to reflect your PostgreSQL # installation. The above is correct for RedHat rpms. diff --git a/subscribe.c b/subscribe.c index 1c16bae..34945d7 120000 --- a/subscribe.c +++ b/subscribe.c @@ -1 +1 @@ -sub_std/subscribe.c \ No newline at end of file +sub_pgsql/subscribe.c \ No newline at end of file diff --git a/tagmsg.c b/tagmsg.c index 4f795c9..eb94d96 120000 --- a/tagmsg.c +++ b/tagmsg.c @@ -1 +1 @@ -sub_std/tagmsg.c \ No newline at end of file +sub_pgsql/tagmsg.c \ No newline at end of file -- 2.11.0