summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ustream-mbedtls: Use getrandom() instead of /dev/urandomHEADmasterHauke Mehrtens2023-02-251-19/+6
| | | | | | | | | | | | Instead of keeping a file descriptor open just use the getrandom syscall to get random data. This is supported by musl libc, glibc and Linux for some time now. This also improves the error handling in case this function returns not as many bytes as expected. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Reviewed-by: Torsten Duwe <duwe@lst.de>
* ustream-openssl: Disable renegotiation in TLSv1.2 and earlierMartin Schiller2022-12-081-0/+6
| | | | | | | This fixes CVE-2011-1473 and CVE-2011-5094 by disabling renegotiation in TLSv1.2 and earlier for server context. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
* ci: fix building with i.MX6 SDKstaging/ynezz/nextPetr Štetiar2022-04-071-2/+2
| | | | | | | imx6 target was refactored into imx/cortexa9 subtarget in upstream commit d2fb495a9d2a ("imx: split into arch-specific subtargets"). Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ustream-openssl: wolfSSL: provide detailed information in debug buildsPetr Štetiar2022-02-222-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show detailed information about the session/peer in debug builds: $ wget https://letsencrypt.org Alternate cert chain used issuer : /C=US/O=Let's Encrypt/CN=R3 subject: /CN=lencr.org altname = lencr.org altname = letsencrypt.com altname = letsencrypt.org altname = www.lencr.org altname = www.letsencrypt.com altname = www.letsencrypt.org serial number:03:4e:29:5a:d6:74:ae:fd:51:cd:0d:61:11:f9:e3:e3:bd:88 Certificate: ...snip... our cert info: No Cert Peer verify result = 39 SSL version is TLSv1.3 SSL cipher suite is TLS_AES_256_GCM_SHA384 SSL curve name is SECP256R1 Alternate cert chain used As it makes debugging issues like #9283 easier. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* cmake: add a possibility to set library versionPetr Štetiar2022-02-171-0/+4
| | | | | | | | | Add a new `ABIVERSION` define which allows to control the SOVERSION used for the built shared library. This is needed for downstream packaging to properly track breaking ABI changes when updating to newer versions of the library. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ustream-openssl: wolfSSL: Add compatibility for wolfssl >= 5.0Sergey V. Lobanov2022-01-161-0/+2
| | | | | | | NTRU support has been removed in wolfssl 5.0 so it is required to mask NTRU specific code if wolfssl >= 5.0 Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
* Add initial GitLab CI supportPetr Štetiar2020-12-111-0/+30
| | | | | | | | | | | | | | | | | | | | Uses currently proof-of-concept openwrt-ci[1] in order to: * improve the quality of the codebase in various areas * decrease code review time and help merging contributions faster * get automagic feedback loop on various platforms and tools - out of tree build with OpenWrt SDK on following targets: * ath79-generic * imx6-generic * malta-be * mvebu-cortexa53 - out of tree native build on x86/64 with GCC (versions 8, 9, 10) and Clang 10 - out of tree native x86/64 static code analysis with cppcheck and scan-build from Clang 10 1. https://gitlab.com/ynezz/openwrt-ci/ Signed-off-by: Petr Štetiar <ynezz@true.cz>
* wolfssl: remove now deprecated compatibility codePetr Štetiar2020-12-104-29/+1
| | | | | | | | | | | | | | | | Mainly that NO_X509_CHECK_HOST is causing certificate validation issues in some setups: root@OpenWrt:/# wget https://www.google.com Downloading 'https://www.google.com' Connecting to 172.217.23.196:443 Connection error: Server hostname does not match SSL certificate but instead of spending time on fixing it, I've simply decided to remove it as we're now on wolfSSL 4.5.0 and those symbols should be avaialable so no symbol detection and handling should be needed anymore. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ustream-mbedtls: fix certificate verificationPetr Štetiar2020-12-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | Fixes certificate verification if no CA certificates are available, it's visible when you run: $ uclient-fetch https://www.openwrt.org (so no explicit certificate is given) and have *not* installed `ca-certificates` or `ca-bundle` package, mbed TLS obviously can't do verification since no root certificates are available. But then it simply ignores the issue and continues SSL handshake without warning. Further, if you run it like: $ uclient-fetch --ca-certificate=/dev/null https://www.openwrt.org ustream-mbedtls also does not do verification at all (gives no warning either). References: https://lists.infradead.org/pipermail/openwrt-devel/2018-August/019183.html Suggested-by: Paul Wassi <p.wassi@gmx.at> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ustream-mbedtls: implement set_require_validationPetr Štetiar2020-12-101-0/+12
| | | | | | | | In commit "ustream-openssl: wolfSSL: fix certificate validation" we've added new set_require_validation() function so implement it for mbed TLS as well. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ustream-openssl: wolfSSL: fix certificate validationPetr Štetiar2020-12-104-8/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently wolfSSL doesn't validate any certificates, quoting from README: wolfSSL takes a different approach to certificate verification than OpenSSL does. The default policy for the client is to verify the server, this means that if you don't load CAs to verify the server you'll get a connect error, no signer error to confirm failure (-188). If you want to mimic OpenSSL behavior of having SSL_connect succeed even if verifying the server fails and reducing security you can do this by calling: wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0); before calling wolfSSL_new();. Though it's not recommended. wolfSSL simply behaves differently then OpenSSL so once you set SSL_VERIFY_NONE wolfSSL doesn't care about the certificates anymore so every call to SSL_get_verify_result() is going to succeed (returns X509_V_OK) even for invalid certificates and current OpenSSL based post connection verification logic thus doesn't work. So in order to get the validation working we need to use SSL_VERIFY_PEER for wolfSSL by default and allow disabling it explicitly by new `context_set_require_validation()` call. In order to keep the same error handling/messages via `notify_verify_error()` callback we as well need to handle certificate errors manually. Fixes: FS#3465 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* cmake: enable extra compiler checksPetr Štetiar2020-12-101-1/+7
| | | | | | | Let's enforce additional automatic checks enforced by the compiler in order to catch possible errors during compilation. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ustream-mbedtls: fix comparison of integers of different signsPetr Štetiar2020-12-101-1/+1
| | | | | | | | | | Fixes following compiler extra warning: ustream-mbedtls.c:40:11: error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Werror,-Wsign-compare] if (slen > len) ~~~~ ^ ~~~ Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ustream-openssl: fix BIO_method memory leakPetr Štetiar2020-12-103-23/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes following issues as reported by clang-12 LeakSanitizer: $ uclient-fetch-san -q -O /dev/null 'https://expired.badssl.com/' Direct leak of 96 byte(s) in 1 object(s) allocated from: #0 0x49716d in malloc (uclient-fetch-san+0x49716d) #1 0x7f551cbabe58 in CRYPTO_zalloc (/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1+0x17ae58) Indirect leak of 8 byte(s) in 1 object(s) allocated from: #0 0x49716d in malloc (uclient-fetch-san+0x49716d) #1 0x7f551cbb51c5 in CRYPTO_strdup (/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1+0x1841c5) SUMMARY: AddressSanitizer: 104 byte(s) leaked in 2 allocation(s). and Valgrind: $ valgrind --quiet --leak-check=full uclient-fetch -q -O /dev/null 'https://expired.badssl.com/' ==1966== 104 (96 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 9 ==1966== at 0x4C31B0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==1966== by 0x5FC4E58: CRYPTO_zalloc (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1) ==1966== by 0x5EF712F: BIO_meth_new (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1) ==1966== by 0x5C48039: ustream_bio_new (ustream-io-openssl.c:125) ==1966== by 0x5C48039: ustream_set_io (ustream-io-openssl.c:141) ==1966== by 0x5C47CB0: _ustream_ssl_init (ustream-ssl.c:210) ==1966== by 0x4E4117A: uclient_setup_https (uclient-http.c:914) ==1966== by 0x4E4117A: uclient_http_connect (uclient-http.c:936) ==1966== by 0x401FD9: init_request (uclient-fetch.c:333) ==1966== by 0x401E08: main (uclient-fetch.c:745) Suggested-by: Pan Chen <serial115200@outlook.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ustream-openssl: fix wolfSSL includesPetr Štetiar2020-12-102-2/+7
| | | | | | | | | | | Fixes following compilation errors: ustream-io-wolfssl.c:74:2: error: implicit declaration of function 'wolfSSL_SetIORecv' is invalid in C99 [-Werror,-Wimplicit-function-declaration] ustream-io-wolfssl.c:75:2: error: implicit declaration of function 'wolfSSL_SetIOSend' is invalid in C99 [-Werror,-Wimplicit-function-declaration] ustream-io-wolfssl.c:79:2: error: implicit declaration of function 'wolfSSL_SetIOReadCtx' is invalid in C99 [-Werror,-Wimplicit-function-declaration] ustream-io-wolfssl.c:80:2: error: implicit declaration of function 'wolfSSL_SetIOWriteCtx' is invalid in C99 [-Werror,-Wimplicit-function-declaration] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* cmake: fix linking when mbed TLS not in default pathsPetr Štetiar2020-12-101-1/+4
| | | | | | | | | | | Fixes following issue when mbed TLS libs are installed in different paths: /usr/bin/ld: cannot find -lmbedtls /usr/bin/ld: cannot find -lmbedcrypto /usr/bin/ld: cannot find -lmbedx509 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* cmake: fix linking when wolfSSL not in default pathsPetr Štetiar2020-12-101-2/+3
| | | | | | | | | Fixes following issue when wolfSSL libs are installed in different paths: /usr/bin/ld: cannot find -lwolfssl Signed-off-by: Petr Štetiar <ynezz@true.cz>
* cmake: fix building out of the treePetr Štetiar2020-12-091-1/+2
| | | | | | | When building out of the tree, linker is unable to find the ubox library so fix it by using find_library CMake command. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* Revert "ustream-ssl: openssl: fix bio memory leak"Daniel Golle2020-12-082-8/+0
| | | | | | | This reverts commit 1651a795864e7a8741cb56e7ddd2208070f2cf47. It doesn't actually compile. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ustream-ssl: openssl: fix bio memory leakPan Chen2020-11-232-0/+8
| | | | | | free memory of bio method when ustream be freed Signed-off-by: Pan Chen <serial115200@outlook.com>
* ustream-openssl: clear error stack before SSL_read/SSL_writeJo-Philipp Wich2020-03-131-2/+12
| | | | | | | | | | | | | | | | | | | | | | The OpenSSL library uses a global error queue per thread which needs to be cleared prior to calling I/O functions in order to get reliable error results. Failure to do so will lead to stray errors reported by SSL_get_error() when an unrelated connection within the same thread encountered a TLS error since the last SSL_read() or SSL_write() on the current connection. This issue was frequently triggered by Google Chrome which usually initiates simultaneous TLS connections (presumably for protocol support probing) and subsequently closes most of them with a "certificate unknown" TLS error, causing the next SSL_get_error() to report an SSL library error instead of the expected SSL_WANT_READ or SSL_WANT_WRITE error states. Solve this issue by invoking ERR_clear_error() prior to invoking SSL_read() or SSL_write() to ensure that the subsequent SSL_get_error() returns current valid results. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* add support for specifying usable ciphersJo-Philipp Wich2020-02-156-1/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a new ustream_ssl_ops.context_set_ciphers() function which allows to specify the usable ciphers for TLS context which is useful to restrict the accepted cipher subset especially for ustream-ssl server applications. For the OpenSSL backend, the given cipher string is passed as-is to the SSL_CTX_set_cipher_list(). For mbedTLS, the given string is split on colons and each item of the list is resolved through mbedtls_ssl_get_ciphersuite_id() to construct a numeric list of allowed ciphers. Note that OpenSSL and mbedTLS use different names for their ciphers but both implementations simply ignore unknown names, so it is possible to specify cipherstrings which are applicable to either library, e.g. `-ALL:ECDHE- ECDSA-AES128-GCM-SHA256:TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256` would enable ChaCha20/Poly1305 in both OpenSSL and mbedTLS. Another crucial difference between the libraries is that the cipherstring in mbedTLS is effectively a whitelist of allowed ciphers while, without additional syntax elements, OpenSSL's cipherstring merely appends ciphers to the default selection. Ref: https://www.openssl.org/docs/man1.1.1/man3/SSL_CTX_set_cipher_list.html Ref: https://tls.mbed.org/api/ssl_8h.html#a9914cdf5533e813e1ea7ca52981aa006 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ustream-ssl: mbedtls: fix ssl client verificationDaniel Danzberger2020-01-051-7/+0
| | | | | | | | | | | | | | | The ustream_ssl_update_own_cert() function should, like the name suggests, only update the local ssl peer's own certificate and not the any of the CA's. By overwriting the CA's certifcates when setting the own certificate, the code broke SSL client verification. This bug was only triggerd when: ustream_ssl_context_set_crt_file() was called after ustream_ssl_context_add_ca_crt_file() Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
* ustream-ssl: mbedtls: fix net_sockets.h include warningDaniel Danzberger2020-01-051-1/+1
| | | | | | mbedtls/net.h is deprecated in favor of mbedtls/net_sockets.h Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
* ustream-ssl: skip writing pending data if .eof is true after connectJo-Philipp Wich2019-11-051-0/+20
| | | | | | | | | | | | | | | Check the .eof member of the underlying ustream after the call to __ustream_ssl_connect() since existing users of the library appear to set the eof flag as a way to signal connection termination upon failing certificate verification. This is a stop-gap measure to address TALOS-2019-0893 but a proper API redesign is required to give applications proper control over whether certificate failures are to be ignored or not and the default implementation without custom callbacks should always terminate on verification failures. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* wolfssl: adjust to new API in v4.2.0Eneas U de Queiroz2019-11-011-2/+6
| | | | | | | | | | | | WolfSSL has recently added many openssl 1.1+ calls, including TLS_server_method & TLS_client_method, which were being redefined, causing compilation failure: ustream-openssl.c:113:0: error: "TLS_server_method" redefined [-Werror] ustream-openssl.c:114:0: error: "TLS_client_method" redefined [-Werror] Only define the symbols if not previously defined. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* Update example certificate & key, fix typoEneas U de Queiroz2019-11-013-17/+44
| | | | | | | | | The current crypto libraries will fail to load small RSA keys, so a new certificate was generated with a 2048-bit RSA key. Also fixed a typo in ustream-example-client.c Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* wolfssl: enable CN validationEneas U de Queiroz2019-09-202-4/+14
| | | | | | | | | | | | | | WolfSSL added a wolfSSL_X509_check_host function to perform CN validation in v3.10.4, depending on the build-time configure options: --enable-nginx enables it for all supported versions; --enable-opensslextra, since v3.14.2. If the function is unavailable, then SSL_get_verify_result will be called, and 'valid_cert' will be true if that call suceeds and we have a peer certificate, just as it happens with openssl. Only 'valid_cn' will not be set. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* ustream-io-cyassl.c: fix client-mode connectionsEneas U de Queiroz2019-09-203-2/+20
| | | | | | | | | | | | | | | | | | | Starting in v3.13.2, wolfSSL stores the BIO send and recv callbacks in the SSL struct. When the SSL session is created, it inherits the calls from the SSL_CTX, but they do not get updated when the SSL_CTX callbacks are changed. Currently, ustream-ssl sets the callbacks after the SSL session is created, causing failures. Client apps, such as uclient-fetch fail immediately to connect to https URLs with a 'Connection failed' error message. uhttpd seems unaffected. New calls to set them directly to the SSL struct were added in 4.1.0, so we can use them, with a check in CMakeLists.txt to detect their presence. Otherwise, another call to ustream_set_io is done before creating the SSL session to properly set the callbacks. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* Remove CyaSSL, WolfSSL < 3.10.4 supportEneas U de Queiroz2019-09-205-53/+15
| | | | | | | | | | This updates the CyaSSL names to wolfSSL, and removes obsolete code to support old versions of the library < v3.10.4. Some #include statements were moved around, so that wolfssl/options.h is loaded before any other wolfssl/openssl header. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* Revise supported ciphersuitesEneas U de Queiroz2019-08-172-22/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | CBC ciphersuites have been under scrutiny because of the many padding oracle vulnerabilities that keep popping up; it seems that we won't be able to patch up the inherent wakness of MAC-then-encrypt forever. They have been blacklisted by HTTP/2, and recently dropped from Mozilla's Security/Serverside TLS intermediate compatibility list: https://wiki.mozilla.org/Security/Server_Side_TLS This commit removes ECDSA-CBC ciphersuites. Basically, you can choose a level of ciphersuite security, using the private-key type as a switch: For RSA keys, CBC and RSA-key exchange ciphers will be enabled--mostly matching Mozilla's Old backward compatibility list. If you use an EC private key, then only ephemeral-key, authenticated ciphers will be used, along the lines of what Mozilla's Intermediate compatibility list prescribes. The order does not match Mozilla's list 100% because in most embedded systems, the server is going to be the least-capable machine. So, chacha20-poly1305 is moved ahead of AES, and the cipher preference is always given to the server. Also, DHE ciphers are not used for server. The client list had the order changed to prioritize authenticated ciphers, so DHE-chacha and DHE-GCM were moved ahead of ECDHE-CBC. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* wolfssl, openssl: use TLS 1.3, set ciphersuitesEneas U de Queiroz2019-08-171-3/+23
| | | | | | | | | | | For wolfssl, instead of hard-coding TLS 1.2, use generic method and disable older protocols, adding the necessary ciphersuites. Openssl already had TLS 1.3 compatiblity, but its ciphersuite ordering needs a separate call, so this sets the ciphersuite preference when using TLS 1.3. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* ustream-ssl: mbedtls: use chacha-poly ciphersuitesEneas U de Queiroz2019-06-241-0/+5
| | | | | | | | | | | These ciphersuites were added in mbedtls v2.12.0, so we may add them to the ustream-ssl ciphersuite list. They were already part of the list for openssl and wolfssl. Chacha20-Poly1305 is a 256-bit cipher with AEAD, much faster than AES on CPUs without special AES instructions (the case for most embedded chips). Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* openssl, wolfssl: match mbedTLS ciphersuite listEneas U de Queiroz via openwrt-devel2018-07-301-6/+54
| | | | | | | | | | | | | The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. Use the same ciphersuite list as mbedTLS. wolfssl was not honoring setting the minimum protocol with SSL_CTX_set_options, so we must use TLSv1_2_server_method. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* ustream-ssl: Revised security on mbedtlsEneas U de Queiroz via openwrt-devel2018-07-271-26/+23
| | | | | | | | | | | | | | | The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. I've revised the security options, and made them more uniform across the ssl libraries. - use only TLS 1.2 in server mode - changed the ciphersuite ordering Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* ustream-ssl: add openssl-1.1.0 compatibilityEneas U de Queiroz via openwrt-devel2018-07-273-35/+74
| | | | | | | | | | | | | | The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. Patch to compile ustream-ssl with openssl-1.1.0, maintaining compatibility with openssl 1.0.2. Fixed flag handling in ustream-io-openssl.c. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* don't use SSL_CTX_set_ecdh_auto with wolfSSLDaniel Golle2018-05-241-1/+1
| | | | | | SSL_CTX_set_ecdh_auto() isn't support by wolfSSL (yet). Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mbedtls: Fix setting allowed cipher suitesHauke Mehrtens2018-05-221-15/+12
| | | | | | | | | | The cipher suites should be set after the default settings are done, otherwise the settings will be overwritten with the defaults later on again. Also make the list of supported cipher suites match what Chrome tries to use. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mbedtls: Add support for a session cacheHauke Mehrtens2018-05-222-0/+21
| | | | | | | | | This allows the client to reuse the settings from a previous session and no full key exchange is needed. The partially key exchange takes less than 0.1 seconds compared to over a second needed for a full key exchange. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ustream-ssl: Remove RC4 from ciphersuite in server mode.Rosen Penev2018-04-301-0/+2
| | | | | | SSLlabs complains that RC4 is enabled as it is insecure, thereby capping the grade to B. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* ustream-ssl: Enable ECDHE with OpenSSL.Rosen Penev2018-04-301-0/+3
| | | | | | When used with LuCI, SSLlabs complains that Forward Secrecy is not enabled and thus caps the score to a B. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* remove polarssl supportFelix Fietkau2017-01-094-399/+0
| | | | | | polarssl (aka mbedTLS 1.3) has been EOL since end of 2016 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* cmake: Find libubox/ustream.h header fileFlorian Fainelli2016-07-011-0/+3
| | | | | | | | Add a CMake FIND_PATH and INCLUDE_DIRECTORIES searching for libubox/ustream-ssl.h. Some external toolchains which do not include standard locations would fail to find the header otherwise. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* ustream-ssl: cyassl compatibility with build time optionsKarl Palsson2016-06-072-0/+4
| | | | | | | | | | Adds a HAVE_CYASSL definition to be consistent with polar/mbedtls. Uses that definition to include the wolfssl build time options. This enables the correct pullin of the "remainder" of the wolfssl openssl compatibility options, if they were enabled in the build of wolfssl in the first place. Signed-off-by: Karl Palsson <karlp@etactica.com>
* openssl: keep compatibility with older TLS/SSL protocolsFelix Fietkau2016-02-211-6/+3
| | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org>
* openssl: force TLS v1.2 instead of v1Felix Fietkau2016-02-211-2/+2
| | | | | | Fixes some connection issues Signed-off-by: Felix Fietkau <nbd@openwrt.org>
* openssl: use 1.0.2 openssl API for host name validationFelix Fietkau2016-01-261-101/+3
| | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org>
* polarssl: fix handling SSL close notificationFelix Fietkau2016-01-231-0/+3
| | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org>
* mbedtls: fix handling SSL close notificationFelix Fietkau2016-01-231-0/+3
| | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org>
* mbedtls: sync with polarssl ciphersuite changesFelix Fietkau2016-01-191-36/+33
| | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org>