|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| lang/ | H | 15-May-2014 | - | 10,806 | 7,814 |
| tests/ | H | 15-May-2014 | - | 3,333 | 2,744 |
| BIN | H A D | 15-May-2014 | 784 | 35 | 34 |
| BLURB | H A D | 15-May-2014 | 2.4 KiB | 51 | 40 |
| BUGS | H A D | 15-May-2014 | 1.5 KiB | 32 | 25 |
| CHANGES | H A D | 15-May-2014 | 66.1 KiB | 1,350 | 1,164 |
| ChangeLog | H A D | 15-May-2014 | 230.7 KiB | 6,993 | 4,799 |
| DOWNGRADE | H A D | 15-May-2014 | 1.4 KiB | 34 | 24 |
| ETC | H A D | 15-May-2014 | 28.8 KiB | 603 | 602 |
| FAQ | H A D | 15-May-2014 | 275.2 KiB | 6,066 | 4,089 |
| FILES | H A D | 15-May-2014 | 18.8 KiB | 1,049 | 1,048 |
| HISTORY | H A D | 15-May-2014 | 2.6 KiB | 62 | 60 |
| INSTALL | H A D | 15-May-2014 | 9.9 KiB | 240 | 177 |
| LIB | H A D | 15-May-2014 | 110 | 6 | 5 |
| LICENSE | H A D | 15-May-2014 | 17.6 KiB | 340 | 281 |
| MAN | H A D | 15-May-2014 | 2.1 KiB | 77 | 76 |
| Makefile | H A D | 03-May-2022 | 58.4 KiB | 1,675 | 1,264 |
| README | H A D | 15-May-2014 | 10.7 KiB | 204 | 187 |
| README.mysql | H A D | 15-May-2014 | 7.6 KiB | 148 | 122 |
| README.pgsql | H A D | 15-May-2014 | 8.2 KiB | 161 | 132 |
| README.std | H A D | 15-May-2014 | 848 | 18 | 13 |
| SOURCES | H A D | 15-May-2014 | 6.1 KiB | 475 | 474 |
| TARGETS | H A D | 15-May-2014 | 5.2 KiB | 410 | 409 |
| THANKS | H A D | 15-May-2014 | 283 | 15 | 14 |
| TODO | H A D | 15-May-2014 | 978 | 29 | 25 |
| UPGRADE | H A D | 15-May-2014 | 8.7 KiB | 237 | 159 |
| VERSION | H A D | 15-May-2014 | 40 | 3 | 2 |
| alloc.3 | H A D | 15-May-2014 | 958 | 63 | 56 |
| alloc.c | H A D | 15-May-2014 | 865 | 32 | 25 |
| alloc.h | H A D | 15-May-2014 | 227 | 11 | 6 |
| alloc_re.c | H A D | 15-May-2014 | 250 | 17 | 12 |
| altpath.c | H A D | 15-May-2014 | 1.3 KiB | 58 | 52 |
| altpath.h | H A D | 15-May-2014 | 276 | 12 | 8 |
| author.c | H A D | 15-May-2014 | 4.7 KiB | 172 | 144 |
| auto-str.c | H A D | 15-May-2014 | 1.3 KiB | 69 | 63 |
| auto_bin.h | H A D | 15-May-2014 | 82 | 7 | 4 |
| auto_cron.h | H A D | 15-May-2014 | 80 | 7 | 4 |
| auto_etc.h | H A D | 15-May-2014 | 78 | 7 | 4 |
| auto_lib.h | H A D | 15-May-2014 | 82 | 7 | 4 |
| auto_qmail.h | H A D | 15-May-2014 | 83 | 7 | 4 |
| auto_version.h | H A D | 15-May-2014 | 89 | 7 | 4 |
| byte.h | H A D | 15-May-2014 | 514 | 16 | 10 |
| byte_chr.c | H A D | 15-May-2014 | 407 | 20 | 15 |
| byte_copy.c | H A D | 15-May-2014 | 310 | 14 | 10 |
| byte_cr.c | H A D | 15-May-2014 | 335 | 16 | 12 |
| byte_diff.c | H A D | 15-May-2014 | 474 | 16 | 12 |
| byte_rchr.c | H A D | 15-May-2014 | 451 | 23 | 18 |
| byte_zero.c | H A D | 15-May-2014 | 309 | 15 | 10 |
| case.3 | H A D | 15-May-2014 | 1.7 KiB | 101 | 88 |
| case.h | H A D | 15-May-2014 | 489 | 17 | 10 |
| case_diffb.c | H A D | 15-May-2014 | 482 | 22 | 16 |
| case_diffs.c | H A D | 15-May-2014 | 457 | 21 | 15 |
| case_lowerb.c | H A D | 15-May-2014 | 279 | 16 | 11 |
| case_startb.c | H A D | 15-May-2014 | 362 | 19 | 16 |
| case_starts.c | H A D | 15-May-2014 | 310 | 17 | 14 |
| cgi.h | H A D | 15-May-2014 | 148 | 9 | 5 |
| choose.sh | H A D | 15-May-2014 | 343 | 21 | 12 |
| concatHDR.c | H A D | 15-May-2014 | 1.6 KiB | 52 | 42 |
| conf-bin | H A D | 03-May-2022 | 15 | 2 | 1 |
| conf-cc | H A D | 03-May-2022 | 35 | 2 | 1 |
| conf-cclo | H A D | 15-May-2014 | 100 | 5 | 3 |
| conf-cron | H A D | 03-May-2022 | 10 | 2 | 1 |
| conf-etc | H A D | 03-May-2022 | 21 | 2 | 1 |
| conf-lang | H A D | 15-May-2014 | 296 | 9 | 6 |
| conf-ld | H A D | 03-May-2022 | 16 | 2 | 1 |
| conf-ldso | H A D | 15-May-2014 | 101 | 5 | 3 |
| conf-lib | H A D | 03-May-2022 | 21 | 2 | 1 |
| conf-man | H A D | 03-May-2022 | 15 | 2 | 1 |
| conf-qmail | H A D | 03-May-2022 | 11 | 2 | 1 |
| config.c | H A D | 15-May-2014 | 4.5 KiB | 188 | 167 |
| config.h | H A D | 15-May-2014 | 405 | 21 | 16 |
| constmap.c | H A D | 15-May-2014 | 2.6 KiB | 126 | 110 |
| constmap.h | H A D | 15-May-2014 | 646 | 26 | 21 |
| cookie.c | H A D | 15-May-2014 | 1.1 KiB | 51 | 32 |
| cookie.h | H A D | 15-May-2014 | 213 | 14 | 10 |
| copy.c | H A D | 15-May-2014 | 8 KiB | 289 | 232 |
| copy.h | H A D | 15-May-2014 | 698 | 23 | 18 |
| date2yyyymm.c | H A D | 15-May-2014 | 1.8 KiB | 68 | 56 |
| date822fmt.c | H A D | 15-May-2014 | 934 | 30 | 27 |
| date822fmt.h | H A D | 15-May-2014 | 155 | 9 | 6 |
| dateline.c | H A D | 15-May-2014 | 991 | 38 | 33 |
| datetime.3 | H A D | 15-May-2014 | 1.6 KiB | 74 | 66 |
| datetime.c | H A D | 15-May-2014 | 1.1 KiB | 54 | 43 |
| datetime.h | H A D | 15-May-2014 | 262 | 20 | 15 |
| decodeB.c | H A D | 15-May-2014 | 1.7 KiB | 65 | 56 |
| decodeHDR.c | H A D | 15-May-2014 | 2.4 KiB | 80 | 67 |
| decodeQ.c | H A D | 15-May-2014 | 1.8 KiB | 59 | 44 |
| die.h | H A D | 15-May-2014 | 454 | 17 | 12 |
| die_badaddr.c | H A D | 15-May-2014 | 135 | 9 | 7 |
| die_badformat.c | H A D | 15-May-2014 | 137 | 9 | 7 |
| die_dow.c | H A D | 15-May-2014 | 123 | 9 | 7 |
| die_nomem.c | H A D | 15-May-2014 | 128 | 9 | 7 |
| die_sender.c | H A D | 15-May-2014 | 131 | 9 | 7 |
| die_usage.c | H A D | 15-May-2014 | 112 | 9 | 7 |
| direntry.3 | H A D | 15-May-2014 | 625 | 37 | 31 |
| direntry.h1 | H A D | 15-May-2014 | 190 | 13 | 8 |
| direntry.h2 | H A D | 15-May-2014 | 189 | 13 | 8 |
| dmarc.c | H A D | 15-May-2014 | 1.6 KiB | 71 | 57 |
| dmarc.h | H A D | 15-May-2014 | 242 | 11 | 7 |
| dns.h | H A D | 15-May-2014 | 2.9 KiB | 85 | 71 |
| dns_dfd.c | H A D | 15-May-2014 | 1.4 KiB | 72 | 62 |
| dns_domain.c | H A D | 15-May-2014 | 1.3 KiB | 77 | 62 |
| dns_dtda.c | H A D | 15-May-2014 | 803 | 38 | 32 |
| dns_ip.c | H A D | 15-May-2014 | 1.8 KiB | 78 | 64 |
| dns_ipq.c | H A D | 15-May-2014 | 1.8 KiB | 74 | 61 |
| dns_mx.c | H A D | 15-May-2014 | 1.4 KiB | 52 | 42 |
| dns_name.c | H A D | 15-May-2014 | 1.3 KiB | 51 | 40 |
| dns_nd.c | H A D | 15-May-2014 | 731 | 27 | 22 |
| dns_packet.c | H A D | 15-May-2014 | 1.7 KiB | 80 | 63 |
| dns_random.c | H A D | 15-May-2014 | 1.4 KiB | 66 | 51 |
| dns_rcip.c | H A D | 15-May-2014 | 1.7 KiB | 89 | 76 |
| dns_rcrw.c | H A D | 15-May-2014 | 3.3 KiB | 134 | 115 |
| dns_resolve.c | H A D | 15-May-2014 | 749 | 32 | 25 |
| dns_sortip.c | H A D | 15-May-2014 | 450 | 23 | 15 |
| dns_transmit.c | H A D | 15-May-2014 | 8.2 KiB | 369 | 280 |
| dns_txt.c | H A D | 15-May-2014 | 1.5 KiB | 62 | 52 |
| encodeB.c | H A D | 15-May-2014 | 2.2 KiB | 88 | 74 |
| encodeQ.c | H A D | 15-May-2014 | 1.1 KiB | 46 | 39 |
| env.3 | H A D | 15-May-2014 | 600 | 32 | 26 |
| env.c | H A D | 15-May-2014 | 2.3 KiB | 115 | 96 |
| env.h | H A D | 15-May-2014 | 350 | 17 | 12 |
| envread.c | H A D | 15-May-2014 | 401 | 24 | 20 |
| error.3 | H A D | 15-May-2014 | 770 | 46 | 43 |
| error.c | H A D | 15-May-2014 | 1.2 KiB | 133 | 110 |
| error.h | H A D | 15-May-2014 | 619 | 31 | 24 |
| error_str.3 | H A D | 15-May-2014 | 295 | 20 | 17 |
| error_str.c | H A D | 15-May-2014 | 5.4 KiB | 268 | 263 |
| error_temp.3 | H A D | 15-May-2014 | 553 | 28 | 23 |
| exit.h | H A D | 15-May-2014 | 157 | 10 | 4 |
| ezcgi.css | H A D | 15-May-2014 | 708 | 25 | 15 |
| ezcgirc | H A D | 15-May-2014 | 921 | 16 | 11 |
| ezmlm-accept.1 | H A D | 15-May-2014 | 477 | 31 | 29 |
| ezmlm-accept.sh | H A D | 15-May-2014 | 788 | 31 | 18 |
| ezmlm-archive.1 | H A D | 15-May-2014 | 5.7 KiB | 179 | 172 |
| ezmlm-archive.c | H A D | 15-May-2014 | 14.1 KiB | 447 | 411 |
| ezmlm-cgi.1 | H A D | 15-May-2014 | 9.8 KiB | 334 | 316 |
| ezmlm-cgi.c | H A D | 15-May-2014 | 65.8 KiB | 2,288 | 2,033 |
| ezmlm-check.1 | H A D | 15-May-2014 | 1,005 | 53 | 50 |
| ezmlm-check.sh | H A D | 15-May-2014 | 17.8 KiB | 600 | 580 |
| ezmlm-checksub.1 | H A D | 15-May-2014 | 1.5 KiB | 89 | 82 |
| ezmlm-checksub.c | H A D | 15-May-2014 | 1.3 KiB | 66 | 56 |
| ezmlm-clean.1 | H A D | 15-May-2014 | 3.3 KiB | 139 | 131 |
| ezmlm-clean.c | H A D | 15-May-2014 | 7.7 KiB | 252 | 179 |
| ezmlm-confirm.1 | H A D | 15-May-2014 | 2.8 KiB | 118 | 107 |
| ezmlm-confirm.c | H A D | 15-May-2014 | 6 KiB | 214 | 173 |
| ezmlm-cron.1 | H A D | 15-May-2014 | 5.5 KiB | 246 | 236 |
| ezmlm-cron.c | H A D | 15-May-2014 | 14.2 KiB | 486 | 444 |
| ezmlm-dispatch.1 | H A D | 15-May-2014 | 2.6 KiB | 114 | 112 |
| ezmlm-dispatch.c | H A D | 15-May-2014 | 5.6 KiB | 235 | 208 |
| ezmlm-gate.1 | H A D | 15-May-2014 | 3.5 KiB | 127 | 120 |
| ezmlm-gate.c | H A D | 15-May-2014 | 3.7 KiB | 163 | 139 |
| ezmlm-get.1 | H A D | 15-May-2014 | 11 KiB | 488 | 461 |
| ezmlm-get.c | H A D | 15-May-2014 | 39.9 KiB | 1,282 | 1,117 |
| ezmlm-glconf.1 | H A D | 15-May-2014 | 1.2 KiB | 55 | 52 |
| ezmlm-glconf.sh | H A D | 15-May-2014 | 2.9 KiB | 108 | 67 |
| ezmlm-idx.1 | H A D | 15-May-2014 | 2.3 KiB | 98 | 92 |
| ezmlm-idx.c | H A D | 15-May-2014 | 8.7 KiB | 284 | 235 |
| ezmlm-idx.spec | H A D | 15-May-2014 | 6.3 KiB | 215 | 168 |
| ezmlm-idx.spec.template | H A D | 15-May-2014 | 6.3 KiB | 215 | 171 |
| ezmlm-import.1 | H A D | 15-May-2014 | 1 KiB | 51 | 46 |
| ezmlm-import.c | H A D | 15-May-2014 | 3.2 KiB | 143 | 123 |
| ezmlm-issubn.1 | H A D | 15-May-2014 | 1.9 KiB | 90 | 82 |
| ezmlm-issubn.c | H A D | 15-May-2014 | 1.3 KiB | 63 | 52 |
| ezmlm-limit.1 | H A D | 15-May-2014 | 2.9 KiB | 129 | 121 |
| ezmlm-limit.c | H A D | 15-May-2014 | 3.1 KiB | 107 | 91 |
| ezmlm-list.1 | H A D | 15-May-2014 | 1.4 KiB | 77 | 75 |
| ezmlm-list.c | H A D | 15-May-2014 | 1.5 KiB | 69 | 59 |
| ezmlm-make.1 | H A D | 15-May-2014 | 21.8 KiB | 969 | 929 |
| ezmlm-make.c | H A D | 15-May-2014 | 22.9 KiB | 755 | 659 |
| ezmlm-manage.1 | H A D | 15-May-2014 | 14.9 KiB | 623 | 585 |
| ezmlm-manage.c | H A D | 15-May-2014 | 39.5 KiB | 1,371 | 1,203 |
| ezmlm-moderate.1 | H A D | 15-May-2014 | 4.7 KiB | 177 | 162 |
| ezmlm-moderate.c | H A D | 15-May-2014 | 13.2 KiB | 439 | 371 |
| ezmlm-receipt.1 | H A D | 15-May-2014 | 3.2 KiB | 130 | 125 |
| ezmlm-reject.1 | H A D | 15-May-2014 | 4.7 KiB | 199 | 189 |
| ezmlm-reject.c | H A D | 15-May-2014 | 13 KiB | 418 | 379 |
| ezmlm-request.1 | H A D | 15-May-2014 | 6 KiB | 233 | 216 |
| ezmlm-request.c | H A D | 15-May-2014 | 22.2 KiB | 694 | 593 |
| ezmlm-return.1 | H A D | 15-May-2014 | 2.4 KiB | 115 | 111 |
| ezmlm-return.c | H A D | 15-May-2014 | 14.2 KiB | 477 | 420 |
| ezmlm-rmtab.1 | H A D | 15-May-2014 | 1.1 KiB | 57 | 56 |
| ezmlm-rmtab.c | H A D | 15-May-2014 | 927 | 43 | 36 |
| ezmlm-send.1 | H A D | 15-May-2014 | 8.9 KiB | 365 | 335 |
| ezmlm-send.c | H A D | 15-May-2014 | 25.3 KiB | 757 | 664 |
| ezmlm-split.1 | H A D | 15-May-2014 | 5.4 KiB | 181 | 165 |
| ezmlm-split.c | H A D | 15-May-2014 | 8.3 KiB | 273 | 244 |
| ezmlm-store.1 | H A D | 15-May-2014 | 7.8 KiB | 292 | 275 |
| ezmlm-store.c | H A D | 15-May-2014 | 11.6 KiB | 382 | 323 |
| ezmlm-sub.1 | H A D | 15-May-2014 | 2.5 KiB | 124 | 119 |
| ezmlm-sub.c | H A D | 15-May-2014 | 343 | 13 | 9 |
| ezmlm-subunsub.c | H A D | 15-May-2014 | 2.5 KiB | 109 | 96 |
| ezmlm-test.1 | H A D | 15-May-2014 | 2.9 KiB | 117 | 112 |
| ezmlm-to40x-mysql | H A D | 15-May-2014 | 468 | 16 | 13 |
| ezmlm-tstdig.1 | H A D | 15-May-2014 | 2.5 KiB | 126 | 119 |
| ezmlm-tstdig.c | H A D | 15-May-2014 | 3.8 KiB | 129 | 117 |
| ezmlm-unsub.1 | H A D | 15-May-2014 | 2.3 KiB | 119 | 114 |
| ezmlm-unsub.c | H A D | 15-May-2014 | 342 | 13 | 9 |
| ezmlm-warn.1 | H A D | 15-May-2014 | 2.7 KiB | 140 | 131 |
| ezmlm-warn.c | H A D | 15-May-2014 | 12.7 KiB | 425 | 371 |
| ezmlm-weed.1 | H A D | 15-May-2014 | 2.2 KiB | 121 | 100 |
| ezmlm-weed.c | H A D | 15-May-2014 | 6.5 KiB | 221 | 200 |
| ezmlm.5 | H A D | 15-May-2014 | 30.5 KiB | 1,195 | 1,118 |
| ezmlmglrc | H A D | 15-May-2014 | 2.5 KiB | 96 | 76 |
| ezmlmglrc.5 | H A D | 15-May-2014 | 1.3 KiB | 69 | 63 |
| ezmlmrc.5 | H A D | 15-May-2014 | 12.8 KiB | 601 | 593 |
| ezmlmrc.template | H A D | 15-May-2014 | 11.4 KiB | 402 | 401 |
| ezmlmsubrc | H A D | 15-May-2014 | 3.8 KiB | 157 | 138 |
| ezmlmsubrc.5 | H A D | 15-May-2014 | 2.5 KiB | 80 | 76 |
| fd.h | H A D | 15-May-2014 | 138 | 10 | 5 |
| fd_copy.3 | H A D | 15-May-2014 | 571 | 45 | 41 |
| fd_copy.c | H A D | 15-May-2014 | 280 | 15 | 11 |
| fd_move.3 | H A D | 15-May-2014 | 501 | 42 | 38 |
| fd_move.c | H A D | 15-May-2014 | 211 | 13 | 9 |
| fill-template.sh | H A D | 15-May-2014 | 92 | 3 | 2 |
| find-systype.sh | H A D | 15-May-2014 | 3.3 KiB | 147 | 112 |
| fmt.h | H A D | 15-May-2014 | 1.1 KiB | 28 | 20 |
| fmt_str.c | H A D | 15-May-2014 | 206 | 12 | 10 |
| fmt_uint.c | H A D | 15-May-2014 | 138 | 9 | 5 |
| fmt_uint0.c | H A D | 15-May-2014 | 264 | 13 | 9 |
| fmt_ulong.c | H A D | 15-May-2014 | 325 | 17 | 13 |
| fork.h | H A D | 15-May-2014 | 83 | 8 | 5 |
| gen_alloc.h | H A D | 15-May-2014 | 218 | 10 | 5 |
| gen_allocdefs.h | H A D | 15-May-2014 | 1.2 KiB | 39 | 32 |
| getconf.c | H A D | 15-May-2014 | 1.5 KiB | 67 | 61 |
| getconf.h | H A D | 15-May-2014 | 433 | 13 | 10 |
| getconf_ulong.c | H A D | 15-May-2014 | 755 | 29 | 25 |
| getconfopt.c | H A D | 15-May-2014 | 2.2 KiB | 111 | 97 |
| getconfopt.h | H A D | 15-May-2014 | 1.8 KiB | 61 | 53 |
| getconfopt_copy.c | H A D | 15-May-2014 | 272 | 17 | 14 |
| getconfopt_cstr.c | H A D | 15-May-2014 | 528 | 26 | 19 |
| getconfopt_cstr_flag.c | H A D | 15-May-2014 | 336 | 22 | 18 |
| getconfopt_flag.c | H A D | 15-May-2014 | 512 | 34 | 28 |
| getconfopt_str.c | H A D | 15-May-2014 | 350 | 22 | 18 |
| getconfopt_ulong.c | H A D | 15-May-2014 | 359 | 23 | 19 |
| getconfopt_ulong_flag.c | H A D | 15-May-2014 | 341 | 22 | 18 |
| getconfopt_version.c | H A D | 15-May-2014 | 263 | 17 | 14 |
| gethdrln.c | H A D | 15-May-2014 | 508 | 23 | 19 |
| getln.3 | H A D | 15-May-2014 | 693 | 52 | 47 |
| getln.c | H A D | 15-May-2014 | 400 | 20 | 16 |
| getln.h | H A D | 15-May-2014 | 361 | 14 | 10 |
| getln2.3 | H A D | 15-May-2014 | 951 | 65 | 59 |
| getln2.c | H A D | 15-May-2014 | 589 | 25 | 22 |
| getopt.3 | H A D | 15-May-2014 | 4 KiB | 236 | 222 |
| hasattribute.h1 | H A D | 15-May-2014 | 79 | 5 | 4 |
| hasattribute.h2 | H A D | 15-May-2014 | 48 | 3 | 2 |
| haswaitp.h1 | H A D | 15-May-2014 | 68 | 4 | 2 |
| haswaitp.h2 | H A D | 15-May-2014 | 89 | 5 | 3 |
| hdr.h | H A D | 15-May-2014 | 854 | 29 | 24 |
| hdr_add.c | H A D | 15-May-2014 | 531 | 31 | 25 |
| hdr_boundary.c | H A D | 15-May-2014 | 250 | 14 | 11 |
| hdr_ctboundary.c | H A D | 15-May-2014 | 234 | 16 | 13 |
| hdr_datemsgid.c | H A D | 15-May-2014 | 1.1 KiB | 40 | 36 |
| hdr_from.c | H A D | 15-May-2014 | 495 | 25 | 22 |
| hdr_listsubject.c | H A D | 15-May-2014 | 565 | 24 | 21 |
| hdr_mime.c | H A D | 15-May-2014 | 956 | 46 | 38 |
| hdr_subject.c | H A D | 15-May-2014 | 186 | 12 | 9 |
| hdr_transferenc.c | H A D | 15-May-2014 | 331 | 18 | 15 |
| idx.h | H A D | 03-May-2022 | 10 KiB | 291 | 131 |
| idxthread.c | H A D | 15-May-2014 | 21.3 KiB | 656 | 568 |
| idxthread.h | H A D | 15-May-2014 | 838 | 33 | 28 |
| installer.c | H A D | 15-May-2014 | 3.4 KiB | 157 | 131 |
| iopause.c | H A D | 15-May-2014 | 1.7 KiB | 79 | 56 |
| iopause.h1 | H A D | 15-May-2014 | 284 | 20 | 13 |
| iopause.h2 | H A D | 15-May-2014 | 317 | 19 | 12 |
| ip4.h | H A D | 15-May-2014 | 158 | 10 | 6 |
| ip4_scan.c | H A D | 15-May-2014 | 612 | 22 | 17 |
| lock.h | H A D | 15-May-2014 | 148 | 10 | 5 |
| lock_ex.c | H A D | 15-May-2014 | 275 | 14 | 10 |
| lockfile.c | H A D | 15-May-2014 | 347 | 18 | 16 |
| log.c | H A D | 15-May-2014 | 1.4 KiB | 54 | 45 |
| log.h | H A D | 15-May-2014 | 140 | 8 | 5 |
| make-compile.sh | H A D | 15-May-2014 | 132 | 4 | 3 |
| make-libcompile.sh | H A D | 15-May-2014 | 139 | 4 | 3 |
| make-load.sh | H A D | 15-May-2014 | 77 | 3 | 2 |
| make-makelib.sh | H A D | 15-May-2014 | 210 | 17 | 15 |
| make-makeso.sh | H A D | 15-May-2014 | 41 | 2 | 1 |
| make-messages-c.sh | H A D | 15-May-2014 | 61 | 5 | 4 |
| make-messages.sh | H A D | 15-May-2014 | 38 | 4 | 3 |
| makehash.c | H A D | 15-May-2014 | 1.7 KiB | 62 | 47 |
| makehash.h | H A D | 15-May-2014 | 204 | 11 | 6 |
| makelang.sh | H A D | 15-May-2014 | 198 | 12 | 9 |
| makepath.c | H A D | 15-May-2014 | 472 | 21 | 19 |
| messages.c | H A D | 15-May-2014 | 2.8 KiB | 138 | 115 |
| messages.h | H A D | 15-May-2014 | 442 | 14 | 10 |
| mime.h | H A D | 15-May-2014 | 2 KiB | 80 | 56 |
| ndelay.h | H A D | 15-May-2014 | 98 | 8 | 5 |
| ndelay_on.c | H A D | 15-May-2014 | 245 | 15 | 10 |
| now.3 | H A D | 15-May-2014 | 257 | 15 | 13 |
| now.c | H A D | 15-May-2014 | 112 | 9 | 7 |
| now.h | H A D | 15-May-2014 | 91 | 9 | 5 |
| open.h | H A D | 15-May-2014 | 268 | 13 | 8 |
| open_append.c | H A D | 15-May-2014 | 205 | 9 | 5 |
| open_read.c | H A D | 15-May-2014 | 177 | 9 | 5 |
| open_trunc.c | H A D | 15-May-2014 | 203 | 9 | 5 |
| openreadclose.c | H A D | 15-May-2014 | 370 | 19 | 15 |
| openreadclose.h | H A D | 15-May-2014 | 144 | 9 | 5 |
| qmail.c | H A D | 15-May-2014 | 4.6 KiB | 173 | 155 |
| qmail.h | H A D | 15-May-2014 | 662 | 28 | 23 |
| qmail_copy.c | H A D | 15-May-2014 | 717 | 45 | 42 |
| quote.c | H A D | 15-May-2014 | 1.7 KiB | 75 | 60 |
| quote.h | H A D | 15-May-2014 | 197 | 9 | 6 |
| readclose.c | H A D | 15-May-2014 | 575 | 24 | 19 |
| readclose.h | H A D | 15-May-2014 | 181 | 10 | 6 |
| readwrite.h | H A D | 15-May-2014 | 119 | 9 | 6 |
| scan.h | H A D | 15-May-2014 | 1.4 KiB | 31 | 22 |
| scan_8long.c | H A D | 15-May-2014 | 299 | 13 | 11 |
| scan_ulong.c | H A D | 15-May-2014 | 339 | 17 | 13 |
| seek.h | H A D | 15-May-2014 | 302 | 18 | 9 |
| seek_set.c | H A D | 15-May-2014 | 229 | 11 | 6 |
| select.h1 | H A D | 15-May-2014 | 135 | 11 | 7 |
| select.h2 | H A D | 15-May-2014 | 159 | 12 | 8 |
| sender.c | H A D | 15-May-2014 | 3.6 KiB | 138 | 108 |
| sender.h | H A D | 15-May-2014 | 80 | 7 | 4 |
| sgetopt.3 | H A D | 15-May-2014 | 463 | 29 | 27 |
| sgetopt.c | H A D | 15-May-2014 | 1.3 KiB | 53 | 36 |
| sgetopt.h | H A D | 15-May-2014 | 492 | 24 | 17 |
| sig.h | H A D | 15-May-2014 | 149 | 10 | 6 |
| sig_catch.c | H A D | 15-May-2014 | 344 | 17 | 15 |
| sig_pipe.c | H A D | 15-May-2014 | 155 | 6 | 4 |
| slurp.c | H A D | 15-May-2014 | 329 | 18 | 16 |
| slurp.h | H A D | 15-May-2014 | 124 | 8 | 5 |
| slurpclose.c | H A D | 15-May-2014 | 407 | 18 | 16 |
| slurpclose.h | H A D | 15-May-2014 | 107 | 7 | 4 |
| socket.h | H A D | 15-May-2014 | 649 | 23 | 17 |
| socket_bind.c | H A D | 15-May-2014 | 792 | 36 | 28 |
| socket_conn.c | H A D | 15-May-2014 | 722 | 36 | 28 |
| socket_tcp.c | H A D | 15-May-2014 | 356 | 20 | 15 |
| socket_udp.c | H A D | 15-May-2014 | 355 | 20 | 15 |
| str.h | H A D | 15-May-2014 | 475 | 17 | 11 |
| str_chr.c | H A D | 15-May-2014 | 374 | 20 | 15 |
| str_cpy.c | H A D | 15-May-2014 | 303 | 15 | 12 |
| str_diff.c | H A D | 15-May-2014 | 463 | 18 | 13 |
| str_diffn.c | H A D | 15-May-2014 | 524 | 16 | 13 |
| str_len.c | H A D | 15-May-2014 | 275 | 17 | 12 |
| str_rchr.c | H A D | 15-May-2014 | 467 | 24 | 18 |
| str_start.c | H A D | 15-May-2014 | 366 | 16 | 11 |
| stralloc.3 | H A D | 15-May-2014 | 2.6 KiB | 161 | 143 |
| stralloc.h | H A D | 15-May-2014 | 1.1 KiB | 32 | 22 |
| stralloc_arts.c | H A D | 15-May-2014 | 204 | 11 | 9 |
| stralloc_cat.c | H A D | 15-May-2014 | 198 | 10 | 6 |
| stralloc_catb.c | H A D | 15-May-2014 | 361 | 15 | 11 |
| stralloc_cats.c | H A D | 15-May-2014 | 194 | 11 | 7 |
| stralloc_copy.c | H A D | 15-May-2014 | 249 | 11 | 6 |
| stralloc_eady.c | H A D | 15-May-2014 | 248 | 9 | 5 |
| stralloc_num.c | H A D | 15-May-2014 | 649 | 33 | 24 |
| stralloc_opyb.c | H A D | 15-May-2014 | 296 | 14 | 10 |
| stralloc_opys.c | H A D | 15-May-2014 | 196 | 11 | 7 |
| stralloc_pend.c | H A D | 15-May-2014 | 198 | 8 | 4 |
| strerr.c | H A D | 15-May-2014 | 1.1 KiB | 57 | 49 |
| strerr.h | H A D | 15-May-2014 | 3.7 KiB | 96 | 84 |
| sub-mysql.c | H A D | 03-May-2022 | 7.8 KiB | 268 | 214 |
| sub-pgsql.c | H A D | 15-May-2014 | 8.1 KiB | 293 | 227 |
| sub-sqlite3.c | H A D | 15-May-2014 | 7.1 KiB | 258 | 197 |
| sub-std.c | H A D | 15-May-2014 | 15 KiB | 579 | 470 |
| sub_sql.c | H A D | 15-May-2014 | 17.1 KiB | 500 | 381 |
| sub_sql.h | H A D | 15-May-2014 | 2.9 KiB | 87 | 79 |
| sub_std.h | H A D | 15-May-2014 | 937 | 43 | 31 |
| subdb.c | H A D | 15-May-2014 | 7.5 KiB | 304 | 266 |
| subdb.h | H A D | 15-May-2014 | 3 KiB | 119 | 95 |
| subfd.3 | H A D | 15-May-2014 | 1.1 KiB | 62 | 53 |
| subfd.h | H A D | 15-May-2014 | 162 | 11 | 7 |
| subfderr.c | H A D | 15-May-2014 | 189 | 8 | 6 |
| subfdin.c | H A D | 15-May-2014 | 185 | 8 | 6 |
| subfdout.c | H A D | 15-May-2014 | 190 | 8 | 6 |
| subgetopt.3 | H A D | 15-May-2014 | 5.7 KiB | 358 | 331 |
| subgetopt.c | H A D | 15-May-2014 | 1.4 KiB | 68 | 60 |
| subgetopt.h | H A D | 15-May-2014 | 613 | 27 | 20 |
| subhash.c | H A D | 15-May-2014 | 277 | 17 | 14 |
| subhash.h | H A D | 15-May-2014 | 180 | 9 | 6 |
| substdi.c | H A D | 15-May-2014 | 1.3 KiB | 75 | 62 |
| substdio.3 | H A D | 15-May-2014 | 2.2 KiB | 116 | 106 |
| substdio.c | H A D | 15-May-2014 | 168 | 11 | 9 |
| substdio.h | H A D | 15-May-2014 | 1.4 KiB | 51 | 37 |
| substdio_copy.3 | H A D | 15-May-2014 | 580 | 42 | 37 |
| substdio_copy.c | H A D | 15-May-2014 | 298 | 17 | 14 |
| substdio_in.3 | H A D | 15-May-2014 | 2.4 KiB | 141 | 126 |
| substdio_out.3 | H A D | 15-May-2014 | 1.8 KiB | 100 | 89 |
| substdo.c | H A D | 15-May-2014 | 1.7 KiB | 89 | 73 |
| surf.3 | H A D | 15-May-2014 | 468 | 24 | 21 |
| surf.c | H A D | 15-May-2014 | 730 | 26 | 20 |
| surf.h | H A D | 15-May-2014 | 134 | 8 | 5 |
| surfpcs.3 | H A D | 15-May-2014 | 1.1 KiB | 70 | 61 |
| surfpcs.c | H A D | 15-May-2014 | 1.7 KiB | 76 | 66 |
| surfpcs.h | H A D | 15-May-2014 | 449 | 22 | 16 |
| tai.h | H A D | 15-May-2014 | 604 | 27 | 17 |
| tai_pack.c | H A D | 15-May-2014 | 331 | 19 | 14 |
| taia.h | H A D | 15-May-2014 | 972 | 35 | 24 |
| taia_add.c | H A D | 15-May-2014 | 427 | 21 | 15 |
| taia_approx.c | H A D | 15-May-2014 | 149 | 9 | 5 |
| taia_frac.c | H A D | 15-May-2014 | 160 | 9 | 5 |
| taia_less.c | H A D | 15-May-2014 | 329 | 15 | 9 |
| taia_now.c | H A D | 15-May-2014 | 289 | 15 | 11 |
| taia_pack.c | H A D | 15-May-2014 | 378 | 23 | 17 |
| taia_sub.c | H A D | 15-May-2014 | 478 | 24 | 17 |
| taia_uint.c | H A D | 15-May-2014 | 192 | 13 | 7 |
| test-getconfopt.c | H A D | 15-May-2014 | 2.2 KiB | 98 | 85 |
| tryattribute.c | H A D | 15-May-2014 | 38 | 2 | 1 |
| trycpp.c | H A D | 15-May-2014 | 144 | 10 | 7 |
| trydrent.c | H A D | 15-May-2014 | 136 | 11 | 7 |
| tryflock.c | H A D | 15-May-2014 | 161 | 11 | 7 |
| trylib.c | H A D | 15-May-2014 | 15 | 5 | 4 |
| trypoll.c | H A D | 15-May-2014 | 376 | 21 | 13 |
| trysgact.c | H A D | 15-May-2014 | 211 | 13 | 9 |
| trysysel.c | H A D | 15-May-2014 | 110 | 9 | 7 |
| tryulong32.c | H A D | 15-May-2014 | 433 | 15 | 11 |
| tryulong64.c | H A D | 15-May-2014 | 379 | 14 | 11 |
| trywaitp.c | H A D | 15-May-2014 | 120 | 10 | 6 |
| uint16.h | H A D | 15-May-2014 | 263 | 12 | 8 |
| uint16_pack.c | H A D | 15-May-2014 | 218 | 16 | 11 |
| uint16_unpack.c | H A D | 15-May-2014 | 400 | 26 | 17 |
| uint32.h1 | H A D | 15-May-2014 | 355 | 15 | 10 |
| uint32.h2 | H A D | 15-May-2014 | 356 | 15 | 10 |
| uint32_unpack.c | H A D | 15-May-2014 | 600 | 34 | 25 |
| uint64.h1 | H A D | 15-May-2014 | 102 | 9 | 5 |
| uint64.h2 | H A D | 15-May-2014 | 97 | 9 | 5 |
| unfoldHDR.c | H A D | 15-May-2014 | 8.9 KiB | 297 | 247 |
| wait.3 | H A D | 15-May-2014 | 1.6 KiB | 94 | 84 |
| wait.h | H A D | 15-May-2014 | 278 | 14 | 8 |
| wait_pid.c | H A D | 15-May-2014 | 730 | 42 | 28 |
| warn-auto.sh | H A D | 15-May-2014 | 64 | 3 | 0 |
| wrap.h | H A D | 15-May-2014 | 585 | 21 | 17 |
| wrap_chdir.c | H A D | 15-May-2014 | 210 | 12 | 10 |
| wrap_execbin.c | H A D | 15-May-2014 | 580 | 32 | 25 |
| wrap_execsh.c | H A D | 15-May-2014 | 181 | 12 | 10 |
| wrap_execv.c | H A D | 15-May-2014 | 570 | 29 | 24 |
| wrap_exitcode.c | H A D | 15-May-2014 | 385 | 20 | 18 |
| wrap_fork.c | H A D | 15-May-2014 | 243 | 15 | 13 |
| wrap_rename.c | H A D | 15-May-2014 | 258 | 12 | 10 |
| wrap_stat.c | H A D | 15-May-2014 | 346 | 20 | 16 |
| wrap_waitpid.c | H A D | 15-May-2014 | 290 | 16 | 14 |
| yyyymm.h | H A D | 15-May-2014 | 162 | 11 | 6 |
README
1(c) 1997, 1998, 1999, 2004, 2005, 2006, 2008, 2009
2 Fred Lindberg, lindberg@id.wustl.edu (code+docs+faq)
3 Fred B. Ringel, fredr@rivertown.net (faq)
4 Bruce Guenter, bruce@untroubled.org (code+docs)
5
6This software is distributed under the GNU General Public Licence as
7published by the Free Software Foundation. See the file LICENSE for
8the conditions under which this software is made available.
9
10Like any other piece of software (and information generally), ezmlm-idx
11comes with NO WARRANTY.
12
13This software originated from ezmlm-0.53, written by Dan J. Bernstein,
14which has now been placed into the public domain.
15
16ezmlm provided basic message distribution, subscriber address handling,
17message archiving (single quoted message retrieval only), and bounce
18handling. ezmlm-idx adds multi-message threaded archive retrieval, digests,
19remote administration, message and subscription moderation, subscriber-only
20restrictions, message trailer, subject prefix, subscriber name storage,
21customizable setup, multi-language and MIME support and more. In addition,
22improved bounce handling, case-insensitive subscriber address storage,
23and support for distributed lists (main + sublist transparent to the
24subscriber). Ezmlm-idx now includes optional support for MySQL or
25PostgreSQL subscriber databases.
26
27See INSTALL for installation instructions.
28See UPGRADE to upgrade from a previous version of ezmlm-idx.
29See CHANGES to see what's new in this version.
30See FAQ for more info on ezmlm(-idx) functions and setup.
31See FILES for a list of files in this package.
32
33NOTE: Some ezmlmrc translations are not up to date. Please check the
34status of the translations at http://www.ezmlm.org/lang/ and if your
35language is out of date, consider submitting corrections. Your
36contribution will be acknowledged below in the next ezmlm-idx release.
37
38The RPM will put ezmlm-cgi in the bin directory. To use it, you must manually
39move it to a cgi-bin directory, set ownership and SUID (if needed), and
40set up /ezmlm/ezcgirc.
41
42See http://cr.yp.to/ezmlm.html for the latest information about ezmlm.
43
44See http://www.ezmlm.org/ for the latest version of ezmlm-idx, as well
45as on-line versions of the FAQ and docs.
46
47Mail ``ezmlm-subscribe@lists.untroubled.org'' to join the ezmlm mailing
48list (low traffic). This list is run by Bruce Guenter using ezmlm-idx.
49The archive is viewable at http://lists.untroubled.org/?list=ezmlm
50
51Send general comments, questions, bug reports, and patches to:
52 ezmlm@lists.untroubled.org
53
54ACKNOWLEDGEMENTS
55
56Translations have been provided by:
57
58TRANSLATIONS (from newest to oldest)
59nl: Arthur Muller <Arthur@FutureQuest.net>
60it: Tullio Andreatta <t.andreatta@troppoavanti.it>
61nl: Maurice Snellen <maurice@hypercube.demon.nl>
62de: Lars Kruse <lists@sumpfralle.de>
63id: PakOgah <pakogah@pala.bo-tak.info>
64es: Ruben Cardenal <ruben@ruben.cn>
65sv: Mads E. Eilertsen <mads.e.eilertsen@hist.no>
66fr: Jean-Marc Lasgouttes
67
68Older translation credits:
69de: Frank Tegtmeyer
70ja: Masashi Fujita (objectx@polyphony.scei.co.jp)
71da: Torben Fjerdingstad (unitfj@tfj.uni-c.dk)
72fr: Frank Denis (j@industrie.capgemini.fr)
73sv: Sebastian Andersson (sa@hogia.net)
74pl: Sergiusz Pawlowicz (ser@arch.pwr.wroc.pl)
75pt_BR: Wanderlei Antonio Cavassin (cavassin@connectiva.com.br)
76cs: Jan Kasprzak (kas@informatics.muni.cz)
77ru: Roman V Isaev (rm@techno.ru)
78id: Aria Prima Novianto (aria@isnet.org)
79it: Roberto De Carlo (rodeca@flashnet.it)
80es: Vicent Mas, Francesc Alted, Sonia Lorente, and Cyndy DePoy
81cn_GB: HaiFeng Guo (haifeng@ms.lawton.com.cn)
82hu: Julian Severn-nek (http://js.hu/)
83nl: Willem <willem@king-pin.nl>
84
85ACKNOWLEDGEMENTS (from Fred Lindberg)
86- Fred B. Ringel, first and foremost, for a great collaboration, ideas, testing,
87 docs clarification. This makes it so much more fun.
88- Dan J. Bernstein for qmail, ezmlm, and great libraries.
89- Tullio Andreatta, for the confirm (-y option) patches.
90- Toshinori Maeno (TM; tmaeno@hpcl.titech.ac.jp) for finding an ezmlm-idx-0.20
91 bug, and MIME suggestions, suggestions about hopcount and received headers,
92 return-path header in archive, sublist loop detection, ezmlm-limit suggestion,
93 many other suggestions and explanations, help to get ezmlm-cgi Japanese
94 support to work, as well as pre-release testing.
95- Frank Tegtmeyer for inciting digests and format info/suggestions, and for
96 ezmlmrc.de.
97- Magnus St�l�ker (MAS; stalaker@umc.se) for the PostgresSQL interface.
98- Mark Delany for the original ezmlm-issub and for suggesting reordering
99 unlink() and doit() in ezmlm-warn.
100- Raul Miller and Chris Garrigues for format info/suggestions.
101- Thomas Erskine (TEE; tom@crc.doc.ca) for fix to clean sunos-4.1.3 compiles
102 and pre-release compilation on many platforms, fixes for bash-isms in
103 ezmlm-check, and testing.
104- Shuhei Kobayashi (SK; shuhei-k@jaist.ac.jp) for MIME corrections/suggestions,
105 X-sequence suggestions, ezmlm-check/make corrections, and pre-release testing.
106- Yusuf Goolamabbas (YG; yusufg@krdl.org.sg) and the Mutt developers for
107 pointing out outdated MIME, ezmlmrc improvements, outformat bug, suggestion
108 about ezmlm-moderate -r switch, and pre-release testing.
109- Brian Gentry (BG; gentry@usaccess-inc.com) for reporting the
110 ezmlm-moderate-0.12 exit code bug.
111- Anand R. Buddhev (ARB; arb@iconnect.co.ke) for fix to clean BSDI 2.1 compiles
112 and pre-release testing.
113- Masashi Fujita (MF; objectx@polyphony.scei.co.jp) for fix to clean SGI
114 compiles, lint advice, MIME suggestions, pre-release testing, a patch for
115 the ezmlm-make-0.21 -c bug, ezmlmrc.ja, and finding postmsg bug in 0.301.
116- Matthew D. Stock (MDS; stock@perdix.acsu.buffalo.edu) for pre-release testing.
117- Ximenes Zalteca for finding an ezmlm-send-0.21 bug.
118- Jukka Suomela (JS; jukka@narnia.tky.hut.fi) for inciting the ezmlm-send -cC
119 switch.
120- John White (johnjohn@triceratops.com) for questions leading to ezmlm-tstdig,
121 and for testing the example script.
122- Torben Fjerdingstad (TF; unitfj@tfj.uni-c.dk) for testing case-insensitive
123 issub.c and subscribe.c, for TARGETS, for suggesting a no-copy-to-SENDER
124 option, for ezmlmrc.da, for reporting missing MIME end for base64/QP
125 moderated [un]sub confirms, and for pre-release testing.
126- Shinya O'Hira (SOH; Shinya_Oohira@justsystem.co.jp) for reporting the
127 ezmlm-make-0.22 lock file name bug and for testing the fix. Also for many
128 helpful suggestions and hard work testing rfc2047 subject support.
129- Sadhu(sadhu@aloha.net) & Tracy Reed (TR; treed@ultraviolet.org) for reporting
130 the ezmlm-send-0.22 undefined SENDER bug, and testing the fix.
131- Scott Balantyne (SDB; sdb@ssr.com) for inciting the modifications for digest
132 out of dir/editor.
133- Frank Denis (j@industrie.capgemini.fr) for ezmlmrc.fr.
134- Marc Evans (marc@destek.net) for reporting the ezmlm-make-0.221 64-bit bug
135 and pre-release testing, and inciting, improving, and testing ezmlm-test.
136- Vince Vielhaber (VV; vev@michvhf.com) for reporting ezmlm-check problems with
137 non-bash and testing fixes.
138- Andrew Pam (AP; xanni@xanadu.net) for suggesting the ezmlm-idx -d switch and
139 reporting the ezmlm-gate failure on NULL $SENDER bug.
140- Glen Stewart (GS; glen_stewart@associate.com) for reminding me about command
141 case insensitivity and ezmlmrc typo fixes.
142- Kenji Ikeda (KI; noroi@nt.is.dnp.co.jp) for a patch to ezmlm-idx-0.23 to get
143 message numbers in subjects. I've added code to ezmlm-idx-0.30 implementing
144 this is a similar manner. Sen Nagata (sen_ml@eccosys.com) for suggesting this
145 earlier. Bugfix for missing MIME boundary in -index reply.
146- Sebastian Andersson (SA; sa@hogia.net) for ezmlmrc.sv, MIME suggestions,
147 ezmlm-weed patch, ezmlmrc version check suggestion and pre-release testing.
148- Giorgos Stathakopoulos (GS; stathako@cti.gr) for pre-release testing.
149- David Summers (DS; david@summersoft.fay.ar.us) for pre-release testing,
150 reporting a ezmlm-check bug and SPEC files for rpm:s.
151- Steinar Haug (STH; sthaug@nethelp.no) for pointing out missing ';' in
152 ezmlmrc (caused problems with /bin/sh on FreeBSD), and the trigger message
153 received lines in the digest header.
154- Peter Hunter (PH) for suggesting dir/headeradd and list address in digest
155 headers and for reporting a "cosmetic" bug in subscription logging.
156- Jim Simmons (JS) for finding the n/d switch misnaming in ezmlmrc for text file
157 editing.
158- Sergiusz Pawlowicz (SP; ser@arch.pwr.wroc.pl) for ezmlmrc.pl, and many entries
159 for mimeremove.
160- Wanderlei Antonio Cavassin (WAC; cavassin@connectiva.com.br) for
161 ezmlmrc.pt_BR.
162- Jim Simmons ( ) for finding a missing-newline-mime bug in
163 ezmlm-moderate/store/clean.
164- Monte Mitzelfelt (MM; monte@gonefishing.org) for suggesting alternative
165 From: for ezmlm-manage help messages to break responder loops.
166- Louis Larry (LL; luois@kediri.webindonesia.com) for reporting a 0.311 prefix
167 handling bug.
168- Sigi Remsmurr (SR; service@isk.de), Bill Nugent (whn@topelo.lopi.com), James
169 Smallacombe (JS; up@3am) for ezmlmrc corrections/suggestions.
170- Matthew Saunders (MS; matts@easynet.net) for ezmlm-glconf.sh corrections and
171 reporting crashability of ezmlm-get by abnormal use (fixed).
172- Petr Novotny (PN; Petr.Novotny@antek.cz) for ezdomo.tar.gz corrections.
173- Evan Champion (EC; evanc@synapse.net) for ezmlm-request bug report.
174- Jeff Hill (JH; jhill@hronline.com) for ezmlm-reject bug report.
175- Bruno Wolff (BW; bruno@cerberus.umn.edu) for Ultrix fixes.
176- Butch Evans (BE; butch@###.com) for reporting trailer problems with
177 multipart/alternative messages and testing fix.
178- Kragen Sitaker (KS; kragen@pobox.com) for reporting ezmlm-manage -get bug.
179- Lars B. Rasmusson (LBR; lbr@mjolner.dk) for prerelease testing with sun cc.
180- Mike McLeish (MMcL; Mike.Mcleish@chatsoft.com) for reporting problems
181 using the 'x' format and testing the fix.
182- Jan Kasprzak (JK; kas@informatics.muni.cz) for ezmlmrc.cs and headerremove
183 suggestions.
184- Matt McGlynn for reporting 0.32 ezmlmrc -return omission.
185- Roman V Isaev (RVI; rm@techno.ru) for ezmlmrc.ru as well as suggestions
186 on -allow automation.
187- Aria Prima Novianto (APN; aria@isnet.org) for ezmlmrc.id.
188- Roberto De Carlo (RDC; rodeca@flashnet.it) for ezmlmrc.it.
189- Vicent Mas, Francesc Alted, Sonia Lorente, and Cyndy DePoy for ezmlmrc.es.
190- HaiFeng Guo (HFG; haifeng@ms.lawton.com.cn) for ezmlmrc.cn_GB.
191- Julian Severn-nek (http://js.hu/) for ezmlmrc.hu.
192- Willem <willem@king-pin.nl> for ezmlmrc.nl.
193- Benjamin Pflugman (BPF; philemon@spin.de) for reporting multipart/signed
194 problems and testing fix.
195- Rik Myers (RM; rik@sumthin.nu), Daniel Mattos (DM; daniel@tiii.com) and others
196 for helping make ezmlm-test less platform-sensitive.
197- Michael Hirohama (MH; michael@sooth.com) for reporting Outlook problems and
198 testing a work-around.
199- Mate Wierdl (MW; mw@wierdlpc.msci.memphis.edu) for SPEC file kit and
200 suggestions on ezmlm-test, "it", etc, and pre-release testing.
201- Numerous users for suggestions/corrections for the documentation.
202- I'm sure I've forgotten others who have contributed ideas, questions,
203 comments. Thanks!
204
README.mysql
1INFORMATION ON BUILDING/USING EZMLM WITH MYSQL SUPPORT
2
3Copyright 1999 Frederik Lindberg, lindberg@id.wustl.edu
4Copyright 2007 Bruce Guenter, bruce@untroubled.org
5 You may use under GPL.
6
7For information on MySQL, see http://www.tcx.se.
8
9Most of this information is available in FAQ.
10
11If you are interested in contributing/testing a subscriber db interface
12for another SQL server, please see README.std and the routines here, and
13contact bruce@untroubled.org (it may already be in process). See end of
14this file for other ways to contribute.
15
16conf-mysql must be edited to reflect your system. On many systems, you
17also need to include ``-lsocket'', as well as change the paths to the
18/usr/local equivalents. For the i386.rpm-based systems, you need at
19least MySQL-devel to build the files. Look at your mysql docs for more info.
20
21TABLES USED FOR (My)SQL SUPPORT
22
23The basic philosophy is that the database can be on any host (if you use
24SENDER restrictions, connectivity to the main host is more important than
25to the sublists), and you choose the database and "table root" names. The
26default database is ``ezmlm'' and the default table root is ``list''. Each
27list has a separate table root. Any number of lists can share a database.
28
29The main list address table is named with the table root only, others have
30that name with various suffixes. In the following ``list'' is used as the
31table root.
32
33ADDRESS TABLES
34list subscriber addresses
35list_slog subscriber address log
36list_allow subscriber aliases for posts on SENDER checked lists.
37list_allow_slog subscriber log for list_allow
38list_deny blacklisted addresses for posts on SENDER checked lists.
39list_deny_slog log for list_deny.
40list_mod moderator addresses
41list_mod_slog log for list_mod
42list_digest subscriber log for digest list.
43list_digest_slog log for list_digest
44
45MESSAGE LOGGING TABLES
46list_cookie message cookie table for main list
47list_mlog message logging table for main list
48list_digest_cookie message cookie table for digest list
49list_digest_mlog message logging table for digest list
50
51SUBLIST SPLIT TABLES
52list_name sublist split table for main list
53list_digest_name sublist split table for digest list.
54
55The address tables contain (address,domain,hash,h,num). For normal
56lists only the address field is used. For main->sublist clusters, the other
57fields are used for load splitting. The domain is the first up to 3 characters
58of the last part of the domain name. The hash is a address hash [0-52] differnt
59from the one used by ezmlm for splitting within DIR/subscribers. When using
60the address field as a primary key, the size of the index was unreasonable.
61Therefore, ``num'' is used as a dummy primary key, and ``h'' (a 32 bit hash
62of the address) is used as an index. This markedly speeds up (un)sub with
63large (>30,000 rows) subscriber tables.
64
65The *_slog tables contain the same info as DIR/Log, i.e. address, timestamp,
66entry-type, entry-direction, and fromline. The entry-type is the first letter
67of the type of entry (probe, manual, `` '' for normal), entry-direction is
68``+'' for addition, ``-'' for removal. Fromline is the From: header contents
69taken from the subscribe confirm message or from ezmlm-sub (if used with -n).
70It is blank for all address removals, and may be blank also for additions. It
71is used by the list-log.xx command. It is trivial to JOIN this table with the
72address table to get e.g. subsciber names, subscription dates, etc. These
73tables also have the 32-bit hash ``h'' as an index. Joins should be done on
74``h'' as well as ``address'' for better performance.
75
76The *_cookie tables contain message number, timestamp, and cookie. For each
77message a pseudo-random cookie is generated that is ``impossible'' to guess
78beforehand. For lists with sublists, this is used as basic authentication,
79i.e. the sublist will refuse to process a message that doesn't contain the
80correct cookie or that the sublist has already successfully processed.
81
82The *_mlog tables contain log entries from main and sublists. These are
83timestamp, listno, done. Listno is the lowest listnumber for an active list
84entry with the name of this sublist as looked up in the *_name table. Done
85is -1 for bounce, 0 for arrived, 1 for finished processing, and 2 for receipt
86received. The routines are set up so that only the first attempt for each
87combination (listno,code) is logged.
88
89The *_name tables contain listno,name,domain,hash_lo,hash_hi,msgnum_lo,
90msgnum_hi,notuse. Listno is auto_increment and unique. Name is the name of the
91sublist. domain is the last up to 3 characters of the top domain name for
92addresses served by this list (default = ''). It is is '', the list servers
93all_domains_that_are_not_served_by_another list (in addition to domain '').
94Of the addresses that match the domain criterion, the list serves the subset
95with hash between hash_lo and hash_hi (defaults 0, 52). Any entry is ingnored if
96notuse != 0 OR the current message number is not between msgnum_lo and
97msgnum_hi.
98
99For normal lists that are not distributed (i.e. they are a single list),
100entries in the *_name tables are not needed and logging is not very
101relevant.
102
103For most lists, the only addresses that are stored in the SQL database are
104the subscribers of list and digest, and the ``allow'' aliases. It is NOT
105normally advisable to store moderator addresses there, since they are
106needed only at the main list and secrecy is more important. ``Deny'' addresses
107are few and again only needed at the main list. ``Allow'' are put in the
108SQL database when using the default ezmlmrc file only to make all relevant
109addresses manipulatable via the SQL server. The other tables are created, in
110case they are wanted (the cost for having them as empty table is zero). The
111basedir/sql file is the decision point. If it exists, an SQL table is used;
112if not a local ezmlm db is used.
113
114CONTRIBUTIONS REQESTED
115
116I would be very grateful if there are users out there willing to do any of
117the following and contribute it to this package. Please check with me first
118(bruce@untroubled.org), as the project may already be in progress/done.
119
1201. Interfaces for other SQL servers. Oracle, SyBase, ...
121
1222. A GUI admin utility to add/remove/manipulate the sublist split, essentially
123 by modifying list_[digest_]name in a safe way. Ideally WWW if it can be
124 done securely. If you use some standard interface (JDBC/DBD) it would be
125 useful also with other SQL severs. This could even be an Access program
126 using ODBC, although writing it for a platform running qmail/ezmlm makes
127 most sense.
128
1293. a WWW GUI that allows users to subscribe/unsubscribe in a safe way. A random
130 password would be created the first time and stored in a new address->pw
131 table and mailed to the subscriber address. With that password, the user
132 would be able to [un]subscribe to lists, edit the name (for compatibility
133 implemented by adding a subscribe line to list_[digest]slog). Add/remove
134 aliases. Ideally, it should also allow searching by subscriber name. This
135 would search *_slog.fromline. If less that 'x' alternatives are found, the
136 user would be presented with names (not addresses), allowing the user to
137 cause the subscription name and password to be sent to the respective
138 subscription address. With that info, the subscriber can then unsubscribe,
139 even if s/he has forgotten the subscription address. It is complicated
140 slightly by the fact that ``fromline'' is the crude line and needs to be
141 rfc822 parsed. Again, use of a standard interface is encouraged to make it
142 compatible also with other SQL servers.
143
144The aim of all this is to make it easy to use ezmlm to run very large lists,
145easy to set up sites that handle subscriber interaction, archive access, etc,
146and hopefully easier to integrate many ezmlm as done by some WWW sites today.
147
148
README.pgsql
1INFORMATION ON BUILDING/USING EZMLM WITH POSTGRESQL SUPPORT
2
3Original source:
4(c) 1999, Frederik Lindberg, lindberg@id.wustl.edu
5 You may use under GPL.
6
7and for PostgreSQL modifications:
8(c) 1999, Magnus St�l�ker, stalaker@umc.se
9
10Rewritten as a plugin by:
11(c) 2007 Bruce Guenter, bruce@untroubled.org
12
13For information on PostgreSQL, see http://www.postgresql.org/
14
15This version of the PostgresSQL supports the basic subscriber address
16database and subscription logging. The log that is searched by the -log.
17command is the local listdir/Log file, NOT the SQL database. Message
18logging is not supported, and central admin of list clusters is not
19supported. Still, the current support covers the functionality used in
2099% of lists.
21
22Most of this information is available in FAQ.
23
24If you are interested in contributing/testing a subscriber db interface
25for another SQL server, please see README.std and the routines here,
26and contact bruce@untroubled.org (it may already be in process). See end
27of this file for other ways to contribute.
28
29conf-mysql must be edited to reflect your system. On many systems, you
30also need to include ``-lsocket'', as well as change the paths to the
31/usr/local equivalents. For the i386.rpm-based systems, you need at
32least MySQL-devel to build the files. Look at your mysql docs for more info.
33
34TABLES USED FOR (My)SQL SUPPORT
35
36The basic philosophy is that the database can be on any host (if you use
37SENDER restrictions, connectivity to the main host is more important than
38to the sublists), and you choose the database and "table root" names. The
39default database is ``ezmlm'' and the default table root is ``list''. Each
40list has a separate table root. Any number of lists can share a database.
41
42The main list address table is named with the table root only, others have
43that name with various suffixes. In the following ``list'' is used as the
44table root.
45
46ADDRESS TABLES
47list subscriber addresses
48list_slog subscriber address log
49list_allow subscriber aliases for posts on SENDER checked lists.
50list_allow_slog subscriber log for list_allow
51list_deny blacklisted addresses for posts on SENDER checked lists.
52list_deny_slog log for list_deny.
53list_mod moderator addresses
54list_mod_slog log for list_mod
55list_digest subscriber log for digest list.
56list_digest_slog log for list_digest
57
58MESSAGE LOGGING TABLES (not supported by this version of the interface)
59list_cookie message cookie table for main list
60list_mlog message logging table for main list
61list_digest_cookie message cookie table for digest list
62list_digest_mlog message logging table for digest list
63
64SUBLIST SPLIT TABLES (not supported by this version of the interface)
65list_name sublist split table for main list
66list_digest_name sublist split table for digest list.
67
68The address tables contain (address,domain,hash,h,num). For normal
69lists only the address field is used. For main->sublist clusters, the other
70fields are used for load splitting. The domain is the first up to 3 characters
71of the last part of the domain name. The hash is a address hash [0-52] differnt
72from the one used by ezmlm for splitting within DIR/subscribers. When using
73the address field as a primary key, the size of the index was unreasonable.
74Therefore, ``num'' is used as a dummy primary key, and ``h'' (a 32 bit hash
75of the address) is used as an index. This markedly speeds up (un)sub with
76large (>30,000 rows) subscriber tables.
77
78The *_slog tables contain the same info as DIR/Log, i.e. address, timestamp,
79entry-type, entry-direction, and fromline. The entry-type is the first letter
80of the type of entry (probe, manual, `` '' for normal), entry-direction is
81``+'' for addition, ``-'' for removal. Fromline is the From: header contents
82taken from the subscribe confirm message or from ezmlm-sub (if used with -n).
83It is blank for all address removals, and may be blank also for additions. It
84is used by the list-log.xx command. It is trivial to JOIN this table with the
85address table to get e.g. subsciber names, subscription dates, etc. These
86tables also have the 32-bit hash ``h'' as an index. Joins should be done on
87``h'' as well as ``address'' for better performance.
88
89The *_cookie tables contain message number, timestamp, and cookie. For each
90message a pseudo-random cookie is generated that is ``impossible'' to guess
91beforehand. For lists with sublists, this is used as basic authentication,
92i.e. the sublist will refuse to process a message that doesn't contain the
93correct cookie or that the sublist has already successfully processed.
94
95The *_mlog tables contain log entries from main and sublists. These are
96timestamp, listno, done. Listno is the lowest listnumber for an active list
97entry with the name of this sublist as looked up in the *_name table. Done
98is -1 for bounce, 0 for arrived, 1 for finished processing, and 2 for receipt
99received. The routines are set up so that only the first attempt for each
100combination (listno,code) is logged.
101
102The *_name tables contain listno,name,domain,hash_lo,hash_hi,msgnum_lo,
103msgnum_hi,notuse. Listno is auto_increment and unique. Name is the name of the
104sublist. domain is the last up to 3 characters of the top domain name for
105addresses served by this list (default = ''). It is is '', the list servers
106all_domains_that_are_not_served_by_another list (in addition to domain '').
107Of the addresses that match the domain criterion, the list serves the subset
108with hash between hash_lo and hash_hi (defaults 0, 52). Any entry is ingnored if
109notuse != 0 OR the current message number is not between msgnum_lo and
110msgnum_hi.
111
112For normal lists that are not distributed (i.e. they are a single list),
113entries in the *_name tables are not needed and logging is not very
114relevant.
115
116For most lists, the only addresses that are stored in the SQL database are
117the subscribers of list and digest, and the ``allow'' aliases. It is NOT
118normally advisable to store moderator addresses there, since they are
119needed only at the main list and secrecy is more important. ``Deny'' addresses
120are few and again only needed at the main list. ``Allow'' are put in the
121SQL database when using the default ezmlmrc file only to make all relevant
122addresses manipulatable via the SQL server. The other tables are created, in
123case they are wanted (the cost for having them as empty table is zero). The
124basedir/sql file is the decision point. If it exists, an SQL table is used;
125if not a local ezmlm db is used.
126
127CONTRIBUTIONS REQESTED
128
129I would be very grateful if there are users out there willing to do any of
130the following and contribute it to this package. Please check with me first
131(bruce@untroubled.org), as the project may already be in progress/done.
132
1331. Interfaces for other SQL servers. Oracle, SyBase, ...
134
1352. A GUI admin utility to add/remove/manipulate the sublist split, essentially
136 by modifying list_[digest_]name in a safe way. Ideally WWW if it can be
137 done securely. If you use some standard interface (JDBC/DBD) it would be
138 useful also with other SQL severs. This could even be an Access program
139 using ODBC, although writing it for a platform running qmail/ezmlm makes
140 most sense.
141
1423. a WWW GUI that allows users to subscribe/unsubscribe in a safe way. A random
143 password would be created the first time and stored in a new address->pw
144 table and mailed to the subscriber address. With that password, the user
145 would be able to [un]subscribe to lists, edit the name (for compatibility
146 implemented by adding a subscribe line to list_[digest]slog). Add/remove
147 aliases. Ideally, it should also allow searching by subscriber name. This
148 would search *_slog.fromline. If less that 'x' alternatives are found, the
149 user would be presented with names (not addresses), allowing the user to
150 cause the subscription name and password to be sent to the respective
151 subscription address. With that info, the subscriber can then unsubscribe,
152 even if s/he has forgotten the subscription address. It is complicated
153 slightly by the fact that ``fromline'' is the crude line and needs to be
154 rfc822 parsed. Again, use of a standard interface is encouraged to make it
155 compatible also with other SQL servers.
156
157The aim of all this is to make it easy to use ezmlm to run very large lists,
158easy to set up sites that handle subscriber interaction, archive access, etc,
159and hopefully easier to integrate many ezmlm as done by some WWW sites today.
160
161
README.std
1STANDARD EZMLM DATABASE INTERFACE
2
3The sub-std.c file comprises the ezmlm subscriber database interface. issub and
4subscribe are backwards compatible with ezmlm-0.53 in terms of function,
5but use a case-insensitive hash for address storage, and take a few
6extra args to be plug-in compatible with alternative interfaces. Logging to
7the subscriber log (DIR/Log) is done from subscribe rather than externally,
8and the subscriber from line is logged as well.
9
10searchlog allows access to DIR/Log.
11
12putsubs does all output of subscriber addresses, both to qmail for subscibers,
13moderator sendouts, etc, and to list subscribers in reply to the -list command.
14
15Alternative subscriber db interface routines should perform equivalent services,
16and fall back to these services if the alternative interface is not configured,
17e.g. if DIR/subdb doe not exist.
18