summaryrefslogtreecommitdiff
path: root/mail-filter/libmilter
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-06-29 11:38:31 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-06-29 11:38:31 +0100
commit90c88731bd036e5698b281fbc0a5f3aa4c9983ac (patch)
tree83fc5facb6b12be510a37bc3d241cc63e965b13a /mail-filter/libmilter
parentfeb0daf81d888e9160f9f94502de09b66f2a63fd (diff)
gentoo resync : 29.06.2020
Diffstat (limited to 'mail-filter/libmilter')
-rw-r--r--mail-filter/libmilter/Manifest6
-rw-r--r--mail-filter/libmilter/files/libmilter-musl-disable-cdefs.patch11
-rw-r--r--mail-filter/libmilter/files/libmilter-musl-stack-size.patch42
-rw-r--r--mail-filter/libmilter/libmilter-1.0.2_p1.ebuild7
-rw-r--r--mail-filter/libmilter/metadata.xml9
5 files changed, 68 insertions, 7 deletions
diff --git a/mail-filter/libmilter/Manifest b/mail-filter/libmilter/Manifest
index 6ea8a6cd9a11..c4ab7f2a8d2c 100644
--- a/mail-filter/libmilter/Manifest
+++ b/mail-filter/libmilter/Manifest
@@ -1,10 +1,12 @@
AUX gentoo.config.m4 168 BLAKE2B bbd9a011f6ca442aebb3f4e0177dfae6c1f8b246a493205be7b9b1b9837fd5bf0eac59cc46eebe639f9938d9d3eea99ff48962938a69198560ce76c8458a5906 SHA512 68b4c02527845ec54c694cbf6f4f7c589aa1317269d25cee6e65ea69243d29215790294180588c3436e72dd6f86163234111d3a762e926da3bfb7acf69f1c4b3
AUX libmilter-build-system.patch 6855 BLAKE2B 987a71369b672d74835cb37a4ad5ceb58aa8b0fd451ffbcfbcba8ff89dafae58d0c9d412fec8c2a0f0621cce4b8bfce3ee618aa399feb6d7523bd22e3a210fe3 SHA512 d36adc49d5fec792139a921b5292ad0a6d71c11a31093cb1249f4e19b8255bb5a287beb3537b2ec0316d97505233cdd708bac27c0d4e1f54464918d4730be43b
AUX libmilter-glibc-2.30.patch 686 BLAKE2B 51a3053970fea27ca54fad929148e47ca3091150c3330bbd1b3841a44bed1735e0b9941bd4042e7ccc1eb00b87a65639a4b156db664dfece0b5b146873305ce1 SHA512 5fe9d972e459f95268e56a1a7ddae9ec06c19a7bd070a2a32fc45b4cb99aaae335481f01bab5cd4e2a841e25928962749373cbffcaefb08692fda0b896a56cf1
+AUX libmilter-musl-disable-cdefs.patch 352 BLAKE2B 192218bd59e4b5b4b7b7dd8f0a7a3ea19a3df1de3d32ad11c3b7159e55d92d7a2a500c7449dcd2c63b2d84934a18205f45b2962e7a80621697e81bcfbd7e1bdf SHA512 1305d7b0d0742d26fcb742b8751672ec03033abc2b01bb95a31c533dd197903138c3d39468fe104fb4779017d036f5c1656e06454e891e08155b34bbe1718292
+AUX libmilter-musl-stack-size.patch 1522 BLAKE2B c2348f569cf69d52418beef8b2fc5fea31d5e100ab849220aca1ebbae44a955c482c375a02ddf43524894574355cebdc292b9566bfa420dead96df2d229a44a8 SHA512 d3e12943fe7e9babdf700a2d8c0229bc16fa2ea16097615600341dee13f137b157ffa4b03f76c92ba9c5552ca3bf01cb598f6a6201720408df3a37247001a219
AUX libmilter-sharedlib.patch 2843 BLAKE2B d64be1f4f4561a4056bca9784f00b4c965adbf30e99e1b9318162e6a3dad043eb508e925234a586443a8e8fd992f8aee67557f6c3d1e54f644d9c6c8fa7c267a SHA512 31c36b57739946c1b9c7c85307fe5c53c45d7f8cbf427a0f2248db8b74871a6f5a30ef1af524915821aeca54310d28272bcd0a587cb918192214fa5c30e4a8da
AUX sendmail-8.14.6-build-system.patch 12909 BLAKE2B 7643aad99583e533246834a069611588dc667ff2c664eb9c6c088d8f340f69306a9e2f56da6f967c34ebdfafcd697498f29f2a05dccce51083b59d9829f4bc8d SHA512 0e03b7cfd7f3002a36fed2fca60240314bac175a502ca9bda8397e7ad07e26faf8d3437bbdcdb9cda4dbc6b4917ca0ed1b5c9126ad246044dc7da8ce3ad70b54
DIST sendmail.8.14.5.tar.gz 2092508 BLAKE2B 3d90fa9778ebb42f2f334b35e46d0f24e8fcfd46fe69d6032f246c90fc998fbeb21e70c70bc454c688a76ea00c90ee9b5f0e5e0fc9b89b9f16fa9c814a825f9c SHA512 178addd247f1c7c8ca90d70b9240db4cad4e55f0710d5df0fe979e5473a182d2035150c352836576a28bb2b9660b0d5ebfcd95269a156ac0d2c3dba3edb60452
DIST sendmail.8.15.2.tar.gz 2207417 BLAKE2B 3d9dfb5bc2b535e30ef2fc61333e12a9b1fc45a5d730d2bed1ef956adb574721833f87aeba0475705b76e0c7d6cf00f9a10025bffb0de6c6b4dae606eb2ec399 SHA512 04feb37316c13b66b1518596507a7da7c16cb0bf1abf10367f7fd888a428fadb093a9efa55342fa55b936c3f0cbdc63b9e2505cd99201a69a0c05b8ad65f49f9
EBUILD libmilter-1.0.2.ebuild 1902 BLAKE2B ca8b7252baddcc96ce6660356a29a8f1006a7d9ae737f7dff3306d3a80cda8ce553d4e7d53a5b2ad646e5cb12b987e0c6052b6eca9fcf65c60eb87d8f67bc8be SHA512 a02c5bd778ac79e6bdb66c6dd76687517a28f105622988330860257790d79b65edb514749a44df548480cbf27701f29db4117732e1cededfec8dff23350d4bde
-EBUILD libmilter-1.0.2_p1.ebuild 2028 BLAKE2B e995eefcaac442b1128fe4429353846f32dfc495d63798367de85b2c27b1f3a401c294e2ca9de38b114200bb28a4ea01e4d57999c193415b80045b1c5630b3b5 SHA512 200847443f1d65314a58c490341563deadaedb7bfb1186b76d7e6cbfc2050a7fe0e8d1d8591abb86585cb867e919fa7eaf5983d71c43ef57b182fdad3486683b
-MISC metadata.xml 300 BLAKE2B 410778ccb51b94b32d34d1c9b70f2deff712ad96143c4bd4bbf027f6910e7dfa700dfd8ee07c774043a3d4b7ad6507e5457af71a44fda6b3a81b46cd976b9185 SHA512 07af4a01f72fbe8c5ccdbfa72ea3a869e07a9907f8e878d6df03d1fc3061304280fc9e813958061f00f101571343ada901ec2fd1917760c60c631804498089e5
+EBUILD libmilter-1.0.2_p1.ebuild 2214 BLAKE2B 8452d0976b146f92d7a8684986c5ef8e9dceecbc504806b3b53e2778d982d8a51bf4e440fbbe04dbd3392386fd5b1afdc62106e4e5d0faf3e863215a9b9622e8 SHA512 128027206c5978e49ccec7469ef14b1a67f977478b8182dec00a478671dafb0599a7a3a8338f2d8c2077ec806209faa6cc51070c6bfe70164d5fc344a4fc0013
+MISC metadata.xml 241 BLAKE2B 7e817e3e8547331152f2d3378fe5681d02cccc2ec04dfbe21833282edc6c826a93b9493110f5f0afd05edbbbb84a1a185db7e17d154399aabd1e70ab044c3ecd SHA512 bec8ce3a2140871a48e34ad88eeefd1bf05b2d6508e2a5ca4c406aa0ca2729b0b827ae02dd4fd707630894e1c8fc367cdb9840b791ad8ee596d067d40c36aa42
diff --git a/mail-filter/libmilter/files/libmilter-musl-disable-cdefs.patch b/mail-filter/libmilter/files/libmilter-musl-disable-cdefs.patch
new file mode 100644
index 000000000000..6dc4ac63105e
--- /dev/null
+++ b/mail-filter/libmilter/files/libmilter-musl-disable-cdefs.patch
@@ -0,0 +1,11 @@
+--- a/include/sm/os/sm_os_linux.h 2020-06-09 11:57:46.789786561 +0200
++++ b/include/sm/os/sm_os_linux.h 2020-06-09 11:57:49.174781812 +0200
+@@ -33,7 +33,7 @@
+ # endif /* LINUX_VERSION_CODE */
+ #endif /* SM_CONF_SHM */
+
+-#define SM_CONF_SYS_CDEFS_H 1
++#define SM_CONF_SYS_CDEFS_H 0
+ #ifndef SM_CONF_SEM
+ # define SM_CONF_SEM 2
+ #endif /* SM_CONF_SEM */
diff --git a/mail-filter/libmilter/files/libmilter-musl-stack-size.patch b/mail-filter/libmilter/files/libmilter-musl-stack-size.patch
new file mode 100644
index 000000000000..9993adfece34
--- /dev/null
+++ b/mail-filter/libmilter/files/libmilter-musl-stack-size.patch
@@ -0,0 +1,42 @@
+Set default pthread stack size to 256 KB
+
+This patch tries to fix various crashes for applications depending on libmilter
+by setting the stack size for pthreads to 256 KB. The default stack size for
+musl libc is set to 80 KB whereas glibc has it set to 8 MB. This causes problems
+when a large amount of memory is allocated on the stack.
+
+For example, opendkim allocates blocks of 64 KB multiple times, which causes
+libmilter (and therefore opendkim) to crash. For now, a stack size of 256 KB
+looks sufficient and makes opendkim stop crashing.
+
+Fixes https://bugs.alpinelinux.org/issues/6360
+
+--- a/libmilter/libmilter.h
++++ b/libmilter/libmilter.h
+@@ -127,10 +127,10 @@
+ # define MI_SOCK_READ(s, b, l) read(s, b, l)
+ # define MI_SOCK_READ_FAIL(x) ((x) < 0)
+ # define MI_SOCK_WRITE(s, b, l) write(s, b, l)
+-
+-# define thread_create(ptid,wr,arg) pthread_create(ptid, NULL, wr, arg)
+ # define sthread_get_id() pthread_self()
+
++extern int thread_create(pthread_t *ptid, void *(*wr) (void *), void *arg);
++
+ typedef pthread_mutex_t smutex_t;
+ # define smutex_init(mp) (pthread_mutex_init(mp, NULL) == 0)
+ # define smutex_destroy(mp) (pthread_mutex_destroy(mp) == 0)
+--- a/libmilter/main.c
++++ b/libmilter/main.c
+@@ -16,6 +16,12 @@
+ #include <fcntl.h>
+ #include <sys/stat.h>
+
++int thread_create(pthread_t *ptid, void *(*wr) (void *), void *arg) {
++ pthread_attr_t attr;
++ pthread_attr_init(&attr);
++ pthread_attr_setstacksize(&attr,256*1024);
++ return pthread_create(ptid, &attr, wr, arg);
++}
+
+ static smfiDesc_ptr smfi = NULL;
diff --git a/mail-filter/libmilter/libmilter-1.0.2_p1.ebuild b/mail-filter/libmilter/libmilter-1.0.2_p1.ebuild
index f2d436b1e73d..b9a1147970d6 100644
--- a/mail-filter/libmilter/libmilter-1.0.2_p1.ebuild
+++ b/mail-filter/libmilter/libmilter-1.0.2_p1.ebuild
@@ -42,6 +42,13 @@ src_prepare() {
use ipv6 && ENVDEF="${ENVDEF} -DNETINET6"
use poll && ENVDEF="${ENVDEF} -DSM_CONF_POLL=1"
+ if use elibc_musl; then
+ use ipv6 && ENVDEF="${ENVDEF} -DNEEDSGETIPNODE"
+
+ eapply "${FILESDIR}/${PN}-musl-stack-size.patch"
+ eapply "${FILESDIR}/${PN}-musl-disable-cdefs.patch"
+ fi
+
sed -e "s|@@CFLAGS@@|${CFLAGS}|" \
-e "s:@@LDFLAGS@@:${LDFLAGS}:" \
-e "s:@@CC@@:${CC}:" \
diff --git a/mail-filter/libmilter/metadata.xml b/mail-filter/libmilter/metadata.xml
index 473746684395..1f7cf13f9299 100644
--- a/mail-filter/libmilter/metadata.xml
+++ b/mail-filter/libmilter/metadata.xml
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<longdescription>The Sendmail filter API (Milter)</longdescription>
-<use>
- <flag name="poll">Use poll instead of select</flag>
-</use>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="poll">Use poll instead of select</flag>
+ </use>
</pkgmetadata>