Switched to HTTP from FTP for one of the mirrors.
Rebased Patches.
Removed ENGINES patch as it is only relevant for OpenSSL 1.0.2.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
While ENGINE is not actually used, the header being included
unconditionally as well as the cleanup function being called breaks
compilation.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
There's no usage of any ENGINE APIs and trying to include the header
breaks compilation with ENGINE support disabled.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
If ld is used directly to link libmilter.so, linking is not done
correctly with glibc, and produces a library that can't be used.
Linking with the bad library produces a strange error:
ld: conftest: hidden symbol `stat' in [...]libc_nonshared.a(stat.oS)
is referenced by DSO
Using ld with musl works fine, but using gcc is a more portable way of
linking the shared library anyway.
Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
First patch is from Debian and enables OpenSSL 1.1 support.
Second patch is a fix for OpenSSL 1.1 ECC curves.
Third patch allows compilation without deprecated APIs.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
sys/socket already includes the needed socket stuff. Including the second
header causes the build to fail.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
We move dovecot libexec binaries and modules (including the package
pigeonhole) to their standard locations. This is okay for libexec
because it was added to core prior to 17.04 release. Moving the
binaries normally in libexec eliminates the reason the modules were in an
unusual directory, which is that there were conflicts with
libexec binaries that were in lib, which the modules normally use.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
When trying to use managesieve my MUA complained sieve wasn't supported.
On investigation dovecot logs the following could be seen:
Aug 16 00:28:44 managesieve-login: Fatal: master:
service(managesieve-login): child 1430 returned error 127
Aug 16 00:31:32 managesieve-login: Error: Error loading shared
library libdovecot-login.so.0: No such file or directory
(needed by /usr/lib/dovecot/managesieve-login)
Aug 16 00:31:32 managesieve-login: Error: Error loading
shared library libdovecot.so.0: No such file or directory
(needed by /usr/lib/dovecot/managesieve-login)
Aug 16 00:31:32 managesieve-login: Error: Error relocating
/usr/lib/dovecot/managesieve-login: net_ip2addr: symbol not found
The issue (verified with readelf on non-working build and build with my fix)
is that there is no RPATH information in the pigeonhole binaries (like
managesieve-login).
The dovecot-config that is 'installed' in the staging dir
assumes that plugins will be built on the same host as the installed files.
The 'installed' dovecot-config (partial) looks like:
LIBDOVECOT='-L/usr/lib/dovecot -ldovecot'
LIBDOVECOT_LOGIN='-ldovecot-login -L/home/user/Build/openwrt/openwrt-ath79/staging_dir/target-mips_24kc_musl/usr/lib -lssl -lcrypto'
LIBDOVECOT_SQL=-ldovecot-sql
LIBDOVECOT_COMPRESS=-ldovecot-compression
LIBDOVECOT_LDA=-ldovecot-lda
LIBDOVECOT_STORAGE='-ldovecot-storage '
LIBDOVECOT_DSYNC=-ldovecot-dsync
LIBDOVECOT_LIBFTS=-ldovecot-fts
The solution I used was to modify dovecot-config to add the rpath to
DOVECOT_BINARY_LDFLAGS, and to replace references to host directories
with staging_dir directories.
This results in RPATH being added as it needs to be, and results in a working
version of dovecot+pigeonhole.
NB: I've also touched package version of pigeonhole as this change in dovecot
results in (needed) binary changes for pigeonhole.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>