new package: libc-client
This commit is contained in:
parent
49a1854c93
commit
166b39fa98
58
packages/libc-client/1006_openssl1.1_autoverify.patch
Normal file
58
packages/libc-client/1006_openssl1.1_autoverify.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
Description: Support OpenSSL 1.1
|
||||||
|
When building with OpenSSL 1.1 and newer, use the new built-in
|
||||||
|
hostname verification instead of code that doesn't compile due to
|
||||||
|
structs having been made opaque.
|
||||||
|
Bug-Debian: https://bugs.debian.org/828589
|
||||||
|
|
||||||
|
--- a/src/osdep/unix/ssl_unix.c
|
||||||
|
+++ b/src/osdep/unix/ssl_unix.c
|
||||||
|
@@ -227,8 +227,16 @@ static char *ssl_start_work (SSLSTREAM *
|
||||||
|
/* disable certificate validation? */
|
||||||
|
if (flags & NET_NOVALIDATECERT)
|
||||||
|
SSL_CTX_set_verify (stream->context,SSL_VERIFY_NONE,NIL);
|
||||||
|
- else SSL_CTX_set_verify (stream->context,SSL_VERIFY_PEER,ssl_open_verify);
|
||||||
|
+ else {
|
||||||
|
+#if OPENSSL_VERSION_NUMBER >= 0x10100000
|
||||||
|
+ X509_VERIFY_PARAM *param = SSL_CTX_get0_param(stream->context);
|
||||||
|
+ X509_VERIFY_PARAM_set_hostflags(param, X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS);
|
||||||
|
+ X509_VERIFY_PARAM_set1_host(param, host, 0);
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+ SSL_CTX_set_verify (stream->context,SSL_VERIFY_PEER,ssl_open_verify);
|
||||||
|
/* set default paths to CAs... */
|
||||||
|
+ }
|
||||||
|
SSL_CTX_set_default_verify_paths (stream->context);
|
||||||
|
/* ...unless a non-standard path desired */
|
||||||
|
if (s = (char *) mail_parameters (NIL,GET_SSLCAPATH,NIL))
|
||||||
|
@@ -266,6 +274,7 @@ static char *ssl_start_work (SSLSTREAM *
|
||||||
|
if (SSL_write (stream->con,"",0) < 0)
|
||||||
|
return ssl_last_error ? ssl_last_error : "SSL negotiation failed";
|
||||||
|
/* need to validate host names? */
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000
|
||||||
|
if (!(flags & NET_NOVALIDATECERT) &&
|
||||||
|
(err = ssl_validate_cert (cert = SSL_get_peer_certificate (stream->con),
|
||||||
|
host))) {
|
||||||
|
@@ -275,6 +284,7 @@ static char *ssl_start_work (SSLSTREAM *
|
||||||
|
sprintf (tmp,"*%.128s: %.255s",err,cert ? cert->name : "???");
|
||||||
|
return ssl_last_error = cpystr (tmp);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
return NIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -313,6 +323,7 @@ static int ssl_open_verify (int ok,X509_
|
||||||
|
* Returns: NIL if validated, else string of error message
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#if OPENSSL_VERSION_NUMBER < 0x10100000
|
||||||
|
static char *ssl_validate_cert (X509 *cert,char *host)
|
||||||
|
{
|
||||||
|
int i,n;
|
||||||
|
@@ -342,6 +353,7 @@ static char *ssl_validate_cert (X509 *ce
|
||||||
|
else ret = "Unable to locate common name in certificate";
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* Case-independent wildcard pattern match
|
||||||
|
* Accepts: base string
|
18
packages/libc-client/Makefile.patch
Normal file
18
packages/libc-client/Makefile.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -705,15 +705,6 @@
|
||||||
|
$(SH) -c '$(RM) rebuild || true'
|
||||||
|
|
||||||
|
bundled:
|
||||||
|
- @echo Building bundled tools...
|
||||||
|
- $(CD) mtest;$(MAKE)
|
||||||
|
- $(CD) ipopd;$(MAKE)
|
||||||
|
- $(CD) imapd;$(MAKE)
|
||||||
|
- $(CD) mailutil;$(MAKE)
|
||||||
|
- @$(SH) -c '(test -f /usr/include/sysexits.h ) || make sysexitwarn'
|
||||||
|
- $(CD) mlock;$(MAKE) || true
|
||||||
|
- $(CD) dmail;$(MAKE) || true
|
||||||
|
- $(CD) tmail;$(MAKE) || true
|
||||||
|
|
||||||
|
|
||||||
|
sysexitwarn:
|
31
packages/libc-client/build.sh
Normal file
31
packages/libc-client/build.sh
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
TERMUX_PKG_HOMEPAGE=https://www.washington.edu/imap/ # Gone.
|
||||||
|
TERMUX_PKG_DESCRIPTION="UW IMAP c-client library"
|
||||||
|
TERMUX_PKG_LICENSE="Apache-2.0"
|
||||||
|
TERMUX_PKG_MAINTAINER="@termux"
|
||||||
|
TERMUX_PKG_VERSION=2007f
|
||||||
|
TERMUX_PKG_SRCURL=https://www.mirrorservice.org/sites/ftp.cac.washington.edu/imap/imap-${TERMUX_PKG_VERSION}.tar.gz
|
||||||
|
TERMUX_PKG_SHA256=53e15a2b5c1bc80161d42e9f69792a3fa18332b7b771910131004eb520004a28
|
||||||
|
TERMUX_PKG_DEPENDS="libcrypt, openssl"
|
||||||
|
TERMUX_PKG_BUILD_IN_SRC=true
|
||||||
|
|
||||||
|
termux_step_pre_configure() {
|
||||||
|
CFLAGS+=" -fPIC $CPPFLAGS -DFNDELAY=O_NONBLOCK -DL_SET=SEEK_SET"
|
||||||
|
LDFLAGS+=" -lcrypt -lssl -lcrypto"
|
||||||
|
}
|
||||||
|
|
||||||
|
termux_step_configure() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
termux_step_make() {
|
||||||
|
make -e slx
|
||||||
|
|
||||||
|
mv c-client/{,lib}c-client.a
|
||||||
|
$CC -Wl,--whole-archive c-client/libc-client.a -Wl,--no-whole-archive -shared -o c-client/libc-client.so -Wl,-soname=libc-client.so $LDFLAGS
|
||||||
|
}
|
||||||
|
|
||||||
|
termux_step_make_install() {
|
||||||
|
install -Dm600 -t $TERMUX_PREFIX/lib c-client/libc-client.{a,so}
|
||||||
|
install -Dm600 -t $TERMUX_PREFIX/include/c-client c-client/linkage.[ch] src/c-client/*.h src/osdep/unix/*.h
|
||||||
|
cp -a c-client/osdep.h $TERMUX_PREFIX/include/c-client/
|
||||||
|
}
|
20
packages/libc-client/src-c-client-c-client.h.patch
Normal file
20
packages/libc-client/src-c-client-c-client.h.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- a/src/c-client/c-client.h
|
||||||
|
+++ b/src/c-client/c-client.h
|
||||||
|
@@ -39,6 +39,9 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "mail.h" /* primary interfaces */
|
||||||
|
+#ifdef __cplusplus
|
||||||
|
+#undef private
|
||||||
|
+#endif
|
||||||
|
#include "osdep.h" /* OS-dependent routines */
|
||||||
|
#include "rfc822.h" /* RFC822 and MIME routines */
|
||||||
|
#include "smtp.h" /* SMTP sending routines */
|
||||||
|
@@ -48,7 +51,6 @@
|
||||||
|
#include "misc.h" /* miscellaneous utility routines */
|
||||||
|
|
||||||
|
#ifdef __cplusplus /* undo the C++ mischief */
|
||||||
|
-#undef private
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
58
packages/libc-client/src-osdep-unix-Makefile.patch
Normal file
58
packages/libc-client/src-osdep-unix-Makefile.patch
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
--- a/src/osdep/unix/Makefile
|
||||||
|
+++ b/src/osdep/unix/Makefile
|
||||||
|
@@ -48,14 +48,14 @@
|
||||||
|
# Try to have some consistency in GCC builds. We want optimization, but we
|
||||||
|
# also want to be able to debug.
|
||||||
|
|
||||||
|
-GCCCFLAGS= -g $(GCCOPTLEVEL) -pipe -fno-omit-frame-pointer
|
||||||
|
+GCCCFLAGS= $(CFLAGS)
|
||||||
|
GCC4CFLAGS= $(GCCCFLAGS) -Wno-pointer-sign
|
||||||
|
|
||||||
|
|
||||||
|
# Extended flags needed for SSL. You may need to modify.
|
||||||
|
|
||||||
|
-SSLDIR=/usr/local/ssl
|
||||||
|
-SSLCERTS=$(SSLDIR)/certs
|
||||||
|
+SSLDIR=@TERMUX_PREFIX@
|
||||||
|
+SSLCERTS=@TERMUX_PREFIX@/etc/tls/certs
|
||||||
|
SSLKEYS=$(SSLCERTS)
|
||||||
|
SSLINCLUDE=$(SSLDIR)/include
|
||||||
|
SSLLIB=$(SSLDIR)/lib
|
||||||
|
@@ -96,18 +96,18 @@
|
||||||
|
LOGINPW=std
|
||||||
|
SIGTYPE=bsd
|
||||||
|
CRXTYPE=std
|
||||||
|
-ACTIVEFILE=/usr/lib/news/active
|
||||||
|
-SPOOLDIR=/usr/spool
|
||||||
|
+ACTIVEFILE=@TERMUX_PREFIX@/var/lib/news/active
|
||||||
|
+SPOOLDIR=@TERMUX_PREFIX@/var/spool
|
||||||
|
MAILSPOOL=$(SPOOLDIR)/mail
|
||||||
|
NEWSSPOOL=$(SPOOLDIR)/news
|
||||||
|
RSHPATH=/usr/ucb/rsh
|
||||||
|
-MD5PWD=/etc/cram-md5.pwd
|
||||||
|
+MD5PWD=@TERMUX_PREFIX@/etc/cram-md5.pwd
|
||||||
|
# Tries one of the test alternatives below if not specified.
|
||||||
|
LOCKPGM=
|
||||||
|
# Test alternatives if LOCKPGM not specified
|
||||||
|
-LOCKPGM1=/usr/libexec/mlock
|
||||||
|
-LOCKPGM2=/usr/sbin/mlock
|
||||||
|
-LOCKPGM3=/etc/mlock
|
||||||
|
+LOCKPGM1=@TERMUX_PREFIX@/libexec/mlock
|
||||||
|
+LOCKPGM2=@TERMUX_PREFIX@/bin/mlock
|
||||||
|
+LOCKPGM3=@TERMUX_PREFIX@/etc/mlock
|
||||||
|
|
||||||
|
|
||||||
|
# Default formats for creating new mailboxes and for empty mailboxes in the
|
||||||
|
@@ -676,9 +676,9 @@
|
||||||
|
@echo If you want libc4 versions you must use sl4 instead!
|
||||||
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
||||||
|
SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \
|
||||||
|
- SPOOLDIR=/var/spool \
|
||||||
|
- ACTIVEFILE=/var/lib/news/active \
|
||||||
|
- RSHPATH=/usr/bin/rsh \
|
||||||
|
+ SPOOLDIR=@TERMUX_PREFIX@/var/spool \
|
||||||
|
+ ACTIVEFILE=@TERMUX_PREFIX@/var/lib/news/active \
|
||||||
|
+ RSHPATH=@TERMUX_PREFIX@/bin/rsh \
|
||||||
|
BASECFLAGS="$(GCCCFLAGS)" \
|
||||||
|
BASELDFLAGS="-lcrypt"
|
||||||
|
|
18
packages/libc-client/src-osdep-unix-ckp_psx.c.patch
Normal file
18
packages/libc-client/src-osdep-unix-ckp_psx.c.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- a/src/osdep/unix/ckp_psx.c
|
||||||
|
+++ b/src/osdep/unix/ckp_psx.c
|
||||||
|
@@ -36,6 +36,9 @@
|
||||||
|
|
||||||
|
struct passwd *checkpw (struct passwd *pw,char *pass,int argc,char *argv[])
|
||||||
|
{
|
||||||
|
+#ifdef __ANDROID__
|
||||||
|
+ return NIL;
|
||||||
|
+#else
|
||||||
|
char tmp[MAILTMPLEN];
|
||||||
|
struct spwd *sp = NIL;
|
||||||
|
time_t left;
|
||||||
|
@@ -98,4 +101,5 @@
|
||||||
|
else pw = NIL; /* password failed */
|
||||||
|
}
|
||||||
|
return pw;
|
||||||
|
+#endif /* __ANDROID__ */
|
||||||
|
}
|
11
packages/libc-client/src-osdep-unix-env_unix.c.patch
Normal file
11
packages/libc-client/src-osdep-unix-env_unix.c.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- a/src/osdep/unix/env_unix.c
|
||||||
|
+++ b/src/osdep/unix/env_unix.c
|
||||||
|
@@ -124,7 +124,7 @@
|
||||||
|
* systems.
|
||||||
|
*/
|
||||||
|
|
||||||
|
-static const char *tmpdir = "/tmp";
|
||||||
|
+static const char *tmpdir = "@TERMUX_PREFIX@/tmp";
|
||||||
|
|
||||||
|
/* Do not change shlock_mode. Doing so can cause mailbox corruption and
|
||||||
|
* denial of service. It also defeats the entire purpose of the shared
|
10
packages/libc-client/src-osdep-unix-os_slx.c.patch
Normal file
10
packages/libc-client/src-osdep-unix-os_slx.c.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- a/src/osdep/unix/os_slx.c
|
||||||
|
+++ b/src/osdep/unix/os_slx.c
|
||||||
|
@@ -40,7 +40,6 @@
|
||||||
|
#include <errno.h>
|
||||||
|
extern int errno; /* just in case */
|
||||||
|
#include <pwd.h>
|
||||||
|
-#include <shadow.h>
|
||||||
|
#include "misc.h"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user