From 74c23161bf9577352546dee044feee9317446b4e Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Tue, 16 Jan 2018 01:32:07 -0500 Subject: [PATCH] Add old axtls --- src/axtls/.config | 119 +++++++++++++++++++++++++++++++++++++ src/axtls/PKGBUILD | 41 +++++++++++++ src/axtls/axtls-sni.patch | 69 ++++++++++++++++++++++ src/axtls/config.h | 120 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 349 insertions(+) create mode 100644 src/axtls/.config create mode 100644 src/axtls/PKGBUILD create mode 100644 src/axtls/axtls-sni.patch create mode 100644 src/axtls/config.h diff --git a/src/axtls/.config b/src/axtls/.config new file mode 100644 index 0000000..3581310 --- /dev/null +++ b/src/axtls/.config @@ -0,0 +1,119 @@ +# +# Automatically generated make config: don't edit +# +HAVE_DOT_CONFIG=y +CONFIG_PLATFORM_LINUX=y +# CONFIG_PLATFORM_CYGWIN is not set +# CONFIG_PLATFORM_WIN32 is not set + +# +# General Configuration +# +PREFIX="/usr" +# CONFIG_DEBUG is not set +CONFIG_STRIP_UNWANTED_SECTIONS=y +# CONFIG_VISUAL_STUDIO_7_0 is not set +# CONFIG_VISUAL_STUDIO_8_0 is not set +# CONFIG_VISUAL_STUDIO_10_0 is not set +CONFIG_VISUAL_STUDIO_7_0_BASE="" +CONFIG_VISUAL_STUDIO_8_0_BASE="" +CONFIG_VISUAL_STUDIO_10_0_BASE="" +CONFIG_EXTRA_CFLAGS_OPTIONS="" +CONFIG_EXTRA_LDFLAGS_OPTIONS="" + +# +# SSL Library +# +# CONFIG_SSL_SERVER_ONLY is not set +# CONFIG_SSL_CERT_VERIFICATION is not set +CONFIG_SSL_ENABLE_CLIENT=y +# CONFIG_SSL_FULL_MODE is not set +# CONFIG_SSL_SKELETON_MODE is not set +# CONFIG_SSL_PROT_LOW is not set +CONFIG_SSL_PROT_MEDIUM=y +# CONFIG_SSL_PROT_HIGH is not set +CONFIG_SSL_USE_DEFAULT_KEY=y +CONFIG_SSL_PRIVATE_KEY_LOCATION="" +CONFIG_SSL_PRIVATE_KEY_PASSWORD="" +CONFIG_SSL_X509_CERT_LOCATION="" +# CONFIG_SSL_GENERATE_X509_CERT is not set +CONFIG_SSL_X509_COMMON_NAME="" +CONFIG_SSL_X509_ORGANIZATION_NAME="" +CONFIG_SSL_X509_ORGANIZATION_UNIT_NAME="" +CONFIG_SSL_ENABLE_V23_HANDSHAKE=y +# CONFIG_SSL_HAS_PEM is not set +# CONFIG_SSL_USE_PKCS12 is not set +CONFIG_SSL_EXPIRY_TIME=24 +CONFIG_X509_MAX_CA_CERTS=150 +CONFIG_SSL_MAX_CERTS=3 +# CONFIG_SSL_CTX_MUTEXING is not set +CONFIG_USE_DEV_URANDOM=y +# CONFIG_WIN32_USE_CRYPTO_LIB is not set +CONFIG_OPENSSL_COMPATIBLE=y +CONFIG_SSL_SNI=y +# CONFIG_PERFORMANCE_TESTING is not set +# CONFIG_SSL_TEST is not set +# CONFIG_AXTLSWRAP is not set +# CONFIG_AXHTTPD is not set +# CONFIG_HTTP_STATIC_BUILD is not set +CONFIG_HTTP_PORT=0 +CONFIG_HTTP_HTTPS_PORT=0 +CONFIG_HTTP_SESSION_CACHE_SIZE=0 +CONFIG_HTTP_WEBROOT="" +CONFIG_HTTP_TIMEOUT=0 +# CONFIG_HTTP_HAS_CGI is not set +CONFIG_HTTP_CGI_EXTENSIONS="" +# CONFIG_HTTP_ENABLE_LUA is not set +CONFIG_HTTP_LUA_PREFIX="" +# CONFIG_HTTP_BUILD_LUA is not set +CONFIG_HTTP_CGI_LAUNCHER="" +# CONFIG_HTTP_DIRECTORIES is not set +# CONFIG_HTTP_HAS_AUTHORIZATION is not set +# CONFIG_HTTP_HAS_IPV6 is not set +# CONFIG_HTTP_ENABLE_DIFFERENT_USER is not set +CONFIG_HTTP_USER="" +# CONFIG_HTTP_VERBOSE is not set +# CONFIG_HTTP_IS_DAEMON is not set + +# +# Language Bindings +# +# CONFIG_BINDINGS is not set +# CONFIG_CSHARP_BINDINGS is not set +# CONFIG_VBNET_BINDINGS is not set +CONFIG_DOT_NET_FRAMEWORK_BASE="" +# CONFIG_JAVA_BINDINGS is not set +CONFIG_JAVA_HOME="" +# CONFIG_PERL_BINDINGS is not set +CONFIG_PERL_CORE="" +CONFIG_PERL_LIB="" +# CONFIG_LUA_BINDINGS is not set +CONFIG_LUA_CORE="" + +# +# Samples +# +CONFIG_SAMPLES=y +CONFIG_C_SAMPLES=y +# CONFIG_CSHARP_SAMPLES is not set +# CONFIG_VBNET_SAMPLES is not set +# CONFIG_JAVA_SAMPLES is not set +# CONFIG_PERL_SAMPLES is not set +# CONFIG_LUA_SAMPLES is not set + +# +# BigInt Options +# +# CONFIG_BIGINT_CLASSICAL is not set +# CONFIG_BIGINT_MONTGOMERY is not set +CONFIG_BIGINT_BARRETT=y +CONFIG_BIGINT_CRT=y +# CONFIG_BIGINT_KARATSUBA is not set +MUL_KARATSUBA_THRESH=0 +SQU_KARATSUBA_THRESH=0 +CONFIG_BIGINT_SLIDING_WINDOW=y +CONFIG_BIGINT_SQUARE=y +# CONFIG_BIGINT_CHECK_ON is not set +CONFIG_INTEGER_32BIT=y +# CONFIG_INTEGER_16BIT is not set +# CONFIG_INTEGER_8BIT is not set diff --git a/src/axtls/PKGBUILD b/src/axtls/PKGBUILD new file mode 100644 index 0000000..6ef0780 --- /dev/null +++ b/src/axtls/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Versus Void +pkgname=axtls +pkgver=1.5.4 +pkgrel=1 +pkgdesc="Highly configurable client/server TLSv1.2 library" +arch=(x86_64 i686) +url="http://axtls.sourceforge.net/" +license=('BSD') +groups=() +makedepends=() +source=("http://downloads.sourceforge.net/sourceforge/${pkgname}/axTLS-${pkgver}.tar.gz" + "axtls-sni.patch" + "config.h" + ".config" + ) +#noextract=() +sha256sums=("24d50cc4f5908d06cfacb2a3916d91ed75c5b1441809e47bc45e1053d6ba5d91" + "28906cc3e4684f61791371d6de635618652bbc56e1b445ffcd397ffcc513ca8f" + "8e32ee043b3e704e58e938eb1b28a495f3d0d2fbb241dfa2b0654e2c2f40ddb2" + "17fcc8fe52357724a59c4bb2973274697bde3573160ac007306e788e3859e88f" + ) + +prepare() { + cd "axtls-code" + patch -p1 -i "$srcdir/axtls-sni.patch" + cp "$srcdir/config.h" config/ + cp "$srcdir/.config" config/ + sed -i '/rm $(PREFIX)\/include\/axTLS\/os_port.h/d' Makefile +} + +build() { + cd "axtls-code" + make +} + +package() { + cd "axtls-code" + mkdir -p "$pkgdir/usr" + sed "s#PREFIX=.*#PREFIX=\"$pkgdir/usr\"#g" -i config/.config + make install +} diff --git a/src/axtls/axtls-sni.patch b/src/axtls/axtls-sni.patch new file mode 100644 index 0000000..b080397 --- /dev/null +++ b/src/axtls/axtls-sni.patch @@ -0,0 +1,69 @@ +diff -rU 4 a/ssl/Config.in b/ssl/Config.in +--- a/ssl/Config.in 2014-10-27 13:30:33.000000000 +0300 ++++ b/ssl/Config.in 2015-06-09 18:32:26.000000000 +0300 +@@ -314,8 +314,15 @@ + + Note: not all the API is implemented, so parts may still break. And + it's definitely not 100% compatible. + ++config CONFIG_SSL_SNI ++ bool "Enable SNI" ++ default y ++ help ++ An extension to the TLS. ++ See 3.1 Server Name Indication at RFC 3546. ++ + config CONFIG_PERFORMANCE_TESTING + bool "Build the bigint performance test tool" + default n + depends on CONFIG_SSL_CERT_VERIFICATION +diff -rU 4 a/ssl/tls1_clnt.c b/ssl/tls1_clnt.c +--- a/ssl/tls1_clnt.c 2014-11-07 03:24:28.000000000 +0300 ++++ b/ssl/tls1_clnt.c 2015-06-09 18:32:26.000000000 +0300 +@@ -218,8 +218,30 @@ + } + + buf[offset++] = 1; /* no compression */ + buf[offset++] = 0; ++ ++#ifdef CONFIG_SSL_SNI ++ if (ssl->host_name != NULL) { ++ unsigned int host_len = strlen(ssl->host_name); ++ ++ buf[offset++] = 0; ++ buf[offset++] = host_len+9; /* extensions length */ ++ ++ buf[offset++] = 0; ++ buf[offset++] = 0; /* server_name(0) (65535) */ ++ buf[offset++] = 0; ++ buf[offset++] = host_len+5; /* server_name length */ ++ buf[offset++] = 0; ++ buf[offset++] = host_len+3; /* server_list length */ ++ buf[offset++] = 0; /* host_name(0) (255) */ ++ buf[offset++] = 0; ++ buf[offset++] = host_len; /* host_name length */ ++ strncpy((char*) &buf[offset], ssl->host_name, host_len); ++ offset += host_len; ++ } ++#endif ++ + buf[3] = offset - 4; /* handshake size */ + + return send_packet(ssl, PT_HANDSHAKE_PROTOCOL, NULL, offset); + } +diff -rU 4 a/ssl/tls1.h b/ssl/tls1.h +--- a/ssl/tls1.h 2015-04-30 08:41:49.000000000 +0300 ++++ b/ssl/tls1.h 2015-06-09 18:32:26.000000000 +0300 +@@ -195,8 +195,12 @@ + uint8_t server_mac[SHA1_SIZE]; /* for HMAC verification */ + uint8_t read_sequence[8]; /* 64 bit sequence number */ + uint8_t write_sequence[8]; /* 64 bit sequence number */ + uint8_t hmac_header[SSL_RECORD_SIZE]; /* rx hmac */ ++ ++#ifdef CONFIG_SSL_SNI ++ const char* host_name; ++#endif + }; + + typedef struct _SSL SSL; + diff --git a/src/axtls/config.h b/src/axtls/config.h new file mode 100644 index 0000000..f8e3f02 --- /dev/null +++ b/src/axtls/config.h @@ -0,0 +1,120 @@ +/* + * Automatically generated header file: don't edit + */ + +#define HAVE_DOT_CONFIG 1 +#define CONFIG_PLATFORM_LINUX 1 +#undef CONFIG_PLATFORM_CYGWIN +#undef CONFIG_PLATFORM_WIN32 + +/* + * General Configuration + */ +#define PREFIX "/usr" +#undef CONFIG_DEBUG +#define CONFIG_STRIP_UNWANTED_SECTIONS 1 +#undef CONFIG_VISUAL_STUDIO_7_0 +#undef CONFIG_VISUAL_STUDIO_8_0 +#undef CONFIG_VISUAL_STUDIO_10_0 +#define CONFIG_VISUAL_STUDIO_7_0_BASE "" +#define CONFIG_VISUAL_STUDIO_8_0_BASE "" +#define CONFIG_VISUAL_STUDIO_10_0_BASE "" +#define CONFIG_EXTRA_CFLAGS_OPTIONS "" +#define CONFIG_EXTRA_LDFLAGS_OPTIONS "" + +/* + * SSL Library + */ +#undef CONFIG_SSL_SERVER_ONLY +#undef CONFIG_SSL_CERT_VERIFICATION +#define CONFIG_SSL_ENABLE_CLIENT 1 +#undef CONFIG_SSL_FULL_MODE +#undef CONFIG_SSL_SKELETON_MODE +#undef CONFIG_SSL_PROT_LOW +#define CONFIG_SSL_PROT_MEDIUM 1 +#undef CONFIG_SSL_PROT_HIGH +#define CONFIG_SSL_USE_DEFAULT_KEY 1 +#define CONFIG_SSL_PRIVATE_KEY_LOCATION "" +#define CONFIG_SSL_PRIVATE_KEY_PASSWORD "" +#define CONFIG_SSL_X509_CERT_LOCATION "" +#undef CONFIG_SSL_GENERATE_X509_CERT +#define CONFIG_SSL_X509_COMMON_NAME "" +#define CONFIG_SSL_X509_ORGANIZATION_NAME "" +#define CONFIG_SSL_X509_ORGANIZATION_UNIT_NAME "" +#define CONFIG_SSL_ENABLE_V23_HANDSHAKE 1 +#undef CONFIG_SSL_HAS_PEM +#undef CONFIG_SSL_USE_PKCS12 +#define CONFIG_SSL_EXPIRY_TIME 24 +#define CONFIG_X509_MAX_CA_CERTS 150 +#define CONFIG_SSL_MAX_CERTS 3 +#undef CONFIG_SSL_CTX_MUTEXING +#define CONFIG_USE_DEV_URANDOM 1 +#undef CONFIG_WIN32_USE_CRYPTO_LIB +#define CONFIG_OPENSSL_COMPATIBLE 1 +#define CONFIG_SSL_SNI 1 +#undef CONFIG_PERFORMANCE_TESTING +#undef CONFIG_SSL_TEST +#undef CONFIG_AXTLSWRAP +#undef CONFIG_AXHTTPD +#undef CONFIG_HTTP_STATIC_BUILD +#define CONFIG_HTTP_PORT +#define CONFIG_HTTP_HTTPS_PORT +#define CONFIG_HTTP_SESSION_CACHE_SIZE +#define CONFIG_HTTP_WEBROOT "" +#define CONFIG_HTTP_TIMEOUT +#undef CONFIG_HTTP_HAS_CGI +#define CONFIG_HTTP_CGI_EXTENSIONS "" +#undef CONFIG_HTTP_ENABLE_LUA +#define CONFIG_HTTP_LUA_PREFIX "" +#undef CONFIG_HTTP_BUILD_LUA +#define CONFIG_HTTP_CGI_LAUNCHER "" +#undef CONFIG_HTTP_DIRECTORIES +#undef CONFIG_HTTP_HAS_AUTHORIZATION +#undef CONFIG_HTTP_HAS_IPV6 +#undef CONFIG_HTTP_ENABLE_DIFFERENT_USER +#define CONFIG_HTTP_USER "" +#undef CONFIG_HTTP_VERBOSE +#undef CONFIG_HTTP_IS_DAEMON + +/* + * Language Bindings + */ +#undef CONFIG_BINDINGS +#undef CONFIG_CSHARP_BINDINGS +#undef CONFIG_VBNET_BINDINGS +#define CONFIG_DOT_NET_FRAMEWORK_BASE "" +#undef CONFIG_JAVA_BINDINGS +#define CONFIG_JAVA_HOME "" +#undef CONFIG_PERL_BINDINGS +#define CONFIG_PERL_CORE "" +#define CONFIG_PERL_LIB "" +#undef CONFIG_LUA_BINDINGS +#define CONFIG_LUA_CORE "" + +/* + * Samples + */ +#define CONFIG_SAMPLES 1 +#define CONFIG_C_SAMPLES 1 +#undef CONFIG_CSHARP_SAMPLES +#undef CONFIG_VBNET_SAMPLES +#undef CONFIG_JAVA_SAMPLES +#undef CONFIG_PERL_SAMPLES +#undef CONFIG_LUA_SAMPLES + +/* + * BigInt Options + */ +#undef CONFIG_BIGINT_CLASSICAL +#undef CONFIG_BIGINT_MONTGOMERY +#define CONFIG_BIGINT_BARRETT 1 +#define CONFIG_BIGINT_CRT 1 +#undef CONFIG_BIGINT_KARATSUBA +#define MUL_KARATSUBA_THRESH +#define SQU_KARATSUBA_THRESH +#define CONFIG_BIGINT_SLIDING_WINDOW 1 +#define CONFIG_BIGINT_SQUARE 1 +#undef CONFIG_BIGINT_CHECK_ON +#define CONFIG_INTEGER_32BIT 1 +#undef CONFIG_INTEGER_16BIT +#undef CONFIG_INTEGER_8BIT