head 1.2; access; symbols pkgsrc-2023Q4:1.2.0.64 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.62 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.60 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.58 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.56 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.54 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.52 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.50 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.48 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.46 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.44 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.42 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.40 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.38 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.34 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.14 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.36 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.32 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.30 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.28 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.26 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.24 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.22 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.20 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.18 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.16 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.12 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.10 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.8 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.6 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.4 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.2 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.1.0.92 pkgsrc-2015Q4-base:1.1 pkgsrc-2015Q3:1.1.0.90 pkgsrc-2015Q3-base:1.1 pkgsrc-2015Q2:1.1.0.88 pkgsrc-2015Q2-base:1.1 pkgsrc-2015Q1:1.1.0.86 pkgsrc-2015Q1-base:1.1 pkgsrc-2014Q4:1.1.0.84 pkgsrc-2014Q4-base:1.1 pkgsrc-2014Q3:1.1.0.82 pkgsrc-2014Q3-base:1.1 pkgsrc-2014Q2:1.1.0.80 pkgsrc-2014Q2-base:1.1 pkgsrc-2014Q1:1.1.0.78 pkgsrc-2014Q1-base:1.1 pkgsrc-2013Q4:1.1.0.76 pkgsrc-2013Q4-base:1.1 pkgsrc-2013Q3:1.1.0.74 pkgsrc-2013Q3-base:1.1 pkgsrc-2013Q2:1.1.0.72 pkgsrc-2013Q2-base:1.1 pkgsrc-2013Q1:1.1.0.70 pkgsrc-2013Q1-base:1.1 pkgsrc-2012Q4:1.1.0.68 pkgsrc-2012Q4-base:1.1 pkgsrc-2012Q3:1.1.0.66 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.64 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.62 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.60 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.58 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.56 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.54 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.52 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.50 pkgsrc-2010Q3-base:1.1 pkgsrc-2010Q2:1.1.0.48 pkgsrc-2010Q2-base:1.1 pkgsrc-2010Q1:1.1.0.46 pkgsrc-2010Q1-base:1.1 pkgsrc-2009Q4:1.1.0.44 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.42 pkgsrc-2009Q3-base:1.1 pkgsrc-2009Q2:1.1.0.40 pkgsrc-2009Q2-base:1.1 pkgsrc-2009Q1:1.1.0.38 pkgsrc-2009Q1-base:1.1 pkgsrc-2008Q4:1.1.0.36 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.34 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.32 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.30 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.28 pkgsrc-2008Q1:1.1.0.26 pkgsrc-2008Q1-base:1.1 pkgsrc-2007Q4:1.1.0.24 pkgsrc-2007Q4-base:1.1 pkgsrc-2007Q3:1.1.0.22 pkgsrc-2007Q3-base:1.1 pkgsrc-2007Q2:1.1.0.20 pkgsrc-2007Q2-base:1.1 pkgsrc-2007Q1:1.1.0.18 pkgsrc-2007Q1-base:1.1 pkgsrc-2006Q4:1.1.0.16 pkgsrc-2006Q4-base:1.1 pkgsrc-2006Q3:1.1.0.14 pkgsrc-2006Q3-base:1.1 pkgsrc-2006Q2:1.1.0.12 pkgsrc-2006Q2-base:1.1 pkgsrc-2006Q1:1.1.0.10 pkgsrc-2006Q1-base:1.1 pkgsrc-2005Q4:1.1.0.8 pkgsrc-2005Q4-base:1.1 pkgsrc-2005Q3:1.1.0.6 pkgsrc-2005Q3-base:1.1 pkgsrc-2005Q2:1.1.0.4 pkgsrc-2005Q2-base:1.1 pkgsrc-2005Q1:1.1.0.2 pkgsrc-2005Q1-base:1.1; locks; strict; comment @# @; 1.2 date 2015.12.29.04.04.28; author dholland; state Exp; branches; next 1.1; commitid MGywJcTuFA0OoNOy; 1.1 date 2004.12.21.04.22.03; author schmonz; state Exp; branches; next ; desc @@ 1.2 log @Fix missing/broken rcsids. @ text @$NetBSD$ Attached below are diffs. They convert the hashing to do: '@@'..'Z' It's not that great as a hashing algorithm since you end up with a non-prime number that's reasonably close to a power of 2 for your number of buckets, but hey. It's possible one other place (in constmap) needs to be changed. DJB's code scares me in its lack of constants and lack of subroutines to factor away similar bits of code. Test it and see if it works. cheers, -- Iain. --- ezmlm-list.c.orig 1997-06-29 23:11:54.000000000 -0400 +++ ezmlm-list.c @@@@ -36,7 +36,7 @@@@ char **argv; if (chdir(dir) == -1) strerr_die4sys(111,FATAL,"unable to switch to ",dir,": "); - for (fn[12] = 64;fn[12] < 64 + 53;++fn[12]) { + for (fn[12] = 64;fn[12] < 64 + 27;++fn[12]) { fd = open_read(fn); if (fd == -1) { if (errno != error_noent) --- ezmlm-send.c.orig 1997-06-29 23:11:54.000000000 -0400 +++ ezmlm-send.c @@@@ -288,7 +288,7 @@@@ char **argv; qmail_from(&qq,line.s); - for (i = 0;i < 53;++i) { + for (i = 0;i < 27;++i) { ch = 64 + i; if (!stralloc_copys(&fnsub,"subscribers/")) die_nomem(); if (!stralloc_catb(&fnsub,&ch,1)) strerr_die2x(111,FATAL,"out of memory"); --- ezmlm.5.orig 1997-06-29 23:11:54.000000000 -0400 +++ ezmlm.5 @@@@ -30,10 +30,10 @@@@ allows automatic subscription if .I dir\fB/public exists. -The list is hashed into 53 files, named +The list is hashed into 27 files, named .B @@ through -.B t +.B Z in ASCII. A nonexistent file is treated as an empty file. --- issub.c.orig 1997-06-29 23:11:54.000000000 -0400 +++ issub.c @@@@ -35,7 +35,7 @@@@ char *userhost; h = 5381; for (j = 0;j < addr.len;++j) h = (h + (h << 5)) ^ (uint32) (unsigned char) addr.s[j]; - ch = 64 + (h % 53); + ch = 64 + (h % 27); if (!stralloc_0(&addr)) return -2; --- subscribe.c.orig 1997-06-29 23:11:54.000000000 -0400 +++ subscribe.c @@@@ -45,7 +45,7 @@@@ int flagadd; h = 5381; for (j = 0;j < addr.len;++j) h = (h + (h << 5)) ^ (uint32) (unsigned char) addr.s[j]; - ch = 64 + (h % 53); + ch = 64 + (h % 27); if (!stralloc_0(&addr)) return -2; @ 1.1 log @With the "althash" option, enable Iain Truskett's 2002-10-16 patch to hash the on-disk subscriber database using an algorithm compatible with case-insensitive filesystems. Enabled by default on Darwin. Bump PKGREVISION. @ text @d1 2 @