summaryrefslogtreecommitdiff
path: root/security
AgeCommit message (Collapse)AuthorFilesLines
2016-07-08Update netpgpverify and libnetpgpverify to 20160707 to fix someagc2-18/+18
unusual build errors shown by old gcc versions (works fine for gcc-5.2.1 on ubuntu and gcc-5.3.0 on NetBSD 7.99.32) + use ULL suffix on unsigned 64bit constants, not UL + don't typedef the public structs twice - second time just define it without the typedef Fixes PR pkg/51327
2016-07-08Update netpgpverify and libnetpgpverify to 20160706agc2-3/+3
+ 20160705 introduced a bug whereby a key subid would match and verify fine, but, if formatted, would not display the correct subkey information. Fix to show the correct information in this case.
2016-07-08Update netpgpverify and libnetpgpverify to 20160705agc2-114/+236
External API changes ==================== + add a pgpv_cursor_close() function to free resources associated with a cursor Better memory management ======================== + restructure the way dynamic arrays are used, to avoid memory corruption issues and memory leaks - keep all dynamic arrays in the global data structure, and use indices in the other data structures to index them. Means lack of data localisation, but avoids stale pointers, and leaks. + make signer field of signature a uint8_t array, rather than a pointer + use our own version of strdup(3) - don't depend on it being available in standard library + keep track of whether litdata filenames and userid were allocated or not, and free memory in pgpv_close() if it was allocated + free up allocated resources which were allocated in pgpv_close()
2016-07-07Pull in GNU sed, required for correct LLVM detection. Fixes SunOS.jperkin1-1/+2
2016-07-05Update netpgpverify and libnetpgpverify to 20160704agc3-14/+7
+ get rid of redundant PGPV_ARRAY definition in libverify.c, brought in when the definitions moved from verify.h + fix obuf_add_mem() to use a const void *, as any struct can be dumped using it + remove redundant NO_SUBKEYS definition - unused + add an (unused as yet) ARRAY_FREE() macro
2016-07-05Update netpgpverify and libnetpgpverify to 20160626agc4-258/+326
+ make the pgpv_t and pgpv_cursor_t structures opaque + add new accessor functions for fields in the pgpv_cursor_t struct + add new creation functions for the pgpv_t and pgpv_cursor_t structs
2016-07-04Remove obsolete patches.wiz2-75/+0
2016-07-03Updated libressl to 2.3.6 (latest stable version, 2.4.x is development).wiz3-32/+49
2.3.6 - Security fix * Correct a problem that prevents the DSA signing algorithm from running in constant time even if the flag BN_FLG_CONSTTIME is set. This issue was reported by Cesar Pereida (Aalto University), Billy Brumley (Tampere University of Technology), and Yuval Yarom (The University of Adelaide and NICTA). The fix was developed by Cesar Pereida. See OpenBSD 5.9 errata 11, June 6, 2016 2.3.5 - Reliability fix * Fixed an error in libcrypto when parsing some ASN.1 elements > 16k. 2.3.4 - Security Update * Fix multiple vulnerabilities in libcrypto relating to ASN.1 and encoding. From OpenSSL. * Minor build fixes 2.3.3 - OpenBSD 5.9 release branch tagged * Reworked build scripts to better sync with OpenNTPD-portable * Fixed broken manpage links * Fixed an nginx compatibility issue by adding an 'install_sw' make alias * Fixed HP-UX builds * Changed the default configuration directory to c:\LibreSSL\ssl on Windows binary builds * cert.pem has been reorganized and synced with Mozilla's certificate store 2.3.2 - Compatibility and Reliability fixes * Changed format of LIBRESSL_VERSION_NUMBER to match that of OPENSSL_VERSION_NUMBER, see: https://wiki.openssl.org/index.php/Manual:OPENSSL_VERSION_NUMBER(3) * Added EVP_aead_chacha20_poly1305_ietf() which matches the AEAD construction introduced in RFC 7539, which is different than that already used in TLS with EVP_aead_chacha20_poly1305() * Avoid a potential undefined C99+ behavior due to shift overflow in AES_decrypt, reported by Pascal Cuoq <cuoq at trust-in-soft.com> * More man pages converted from pod to mdoc format * Added COMODO RSA Certification Authority and QuoVadis root certificates to cert.pem * Removed Remove "C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority" (serial 3c:91:31:cb:1f:f6:d0:1b:0e:9a:b8:d0:44:bf:12:be) root certificate from cert.pem * Added support for building nc(1) on Solaris * Fixed GCC 5.x+ preprocessor checks, reported by Ruslan Babayev * Improved console handling with openssl(1) on Windows * Ensure the network stack is enabled on Windows when running tls_init() * Fixed incorrect TLS certificate loading by nc(1) * Added support for Solaris 11.3's getentropy(2) system call * Enabled support for using NetBSD 7.0's arc4random(3) implementation * Deprecated the SSL_OP_SINGLE_DH_USE flag by disabling its effect * Fixes from OpenSSL 1.0.1q - CVE-2015-3194 - NULL pointer dereference in client side certificate validation. - CVE-2015-3195 - Memory leak in PKCS7 - not reachable from TLS/SSL * The following OpenSSL CVEs did not apply to LibreSSL - CVE-2015-3193 - Carry propagating bug in the x86_64 Montgomery squaring procedure. - CVE-2015-3196 - Double free race condition of the identify hint data. See https://marc.info/?l=openbsd-announce&m=144925068504102 2.3.1 - ASN.1 and time handling cleanups * ASN.1 cleanups and RFC5280 compliance fixes. * Time representations switched from 'unsigned long' to 'time_t'. LibreSSL now checks if the host OS supports 64-bit time_t. * Fixed a leak in SSL_new in the error path. * Support always extracting the peer cipher and version with libtls. * Added ability to check certificate validity times with libtls, tls_peer_cert_notbefore and tls_peer_cert_notafter. * Changed tls_connect_servername to use the first address that resolves with getaddrinfo(). * Remove broken conditional EVP_CHECK_DES_KEY code (non-functional since initial commit in 2004). * Fixed a memory leak and out-of-bounds access in OBJ_obj2txt, reported by Qualys Security. * Fixed an up-to 7 byte overflow in RC4 when len is not a multiple of sizeof(RC4_CHUNK), reported by Pascal Cuoq <cuoq at trust-in-soft.com>. * Reject too small bits value in BN_generate_prime_ex(), so that it does not risk becoming negative in probable_prime_dh_safe(), reported by Franck Denis. * Enable nc(1) builds on more platforms. 2.3.0 - SSLv3 removed, libtls API changes, portability improvements * SSLv3 is now permanently removed from the tree. * The libtls API is changed from the 2.2.x series. The read/write functions work correctly with external event libraries. See the tls_init man page for examples of using libtls correctly in asynchronous mode. Client-side verification is now supported, with the client supplying the certificate to the server. Also, when using tls_connect_fds, tls_connect_socket or tls_accept_fds, libtls no longer implicitly closes the passed in sockets. The caller is responsible for closing them in this case. * When loading a DSA key from an raw (without DH parameters) ASN.1 serialization, perform some consistency checks on its `p' and `q' values, and return an error if the checks failed. Thanks for Georgi Guninski (guninski at guninski dot com) for mentioning the possibility of a weak (non prime) q value and providing a test case. See https://cpunks.org/pipermail/cypherpunks/2015-September/009007.html for a longer discussion. * Fixed a bug in ECDH_compute_key that can lead to silent truncation of the result key without error. A coding error could cause software to use much shorter keys than intended. * Removed support for DTLS_BAD_VER. Pre-DTLSv1 implementations are no longer supported. * The engine command and parameters are removed from the openssl(1). Previous releases removed dynamic and builtin engine support already. * SHA-0 is removed, which was withdrawn shortly after publication 20 years ago. * Added Certplus CA root certificate to the default cert.pem file. * New interface OPENSSL_cpu_caps is provided that does not allow software to inadvertently modify cpu capability flags. OPENSSL_ia32cap and OPENSSL_ia32cap_loc are removed. * The out_len argument of AEAD changed from ssize_t to size_t. * Deduplicated DTLS code, sharing bugfixes and improvements with TLS. * Converted 'nc' to use libtls for client and server operations; it is included in the libressl-portable distribution as an example of how to use the library.
2016-07-02Set TEST_TARGET.wiz1-1/+3
Requested by Jonathan Schleifer in PR 51303.
2016-07-02Add default-on option for libusb1 support.wiz2-4/+14
Based on patch by Jonathan Schleifer in PR 51303, with some changes by myself.
2016-07-02Fix PLIST for i386.joerg1-2/+2
2016-07-02Fix assembler problems on ARM.wiz4-2/+36
Patches by Michael Plass <mfpnb@plass-family.net> on tech-pkg/port-arm. Bump PKGREVISION.
2016-06-30Update netpgpverify and libnetpgpverify to 20160625agc6-6/+50
+ Perform digest on correctly dash-escaped text, per RFC 4880. Problem pointed out by Dimitri John Ledkov, fixed in a different way (in case the last line is itself dash-escaped). + add test case
2016-06-30Update netpgpverify and libnetpgpverify to 20160624agc9-1017/+10
+ Get rid of the tiger digest - only specified in RFC 2440, not specified in RFC 4880.
2016-06-30Update netpgpverify and libnetpgpverify to 20160623agc3-61/+61
+ remove use of asprintf and vasprintf from libverify. Inspired by work from Dimitri John Ledkov. Should allow building on Linux without superfluous definitions. + also free the BIGNUM struct in PGPV_BN_clear() - from Dimitri John Ledkov
2016-06-30Switch to direct py-dns dependency.wiz1-3/+2
py-dns now supports all python versions, so versioned_dependencies is not needed any longer.
2016-06-30Updated p5-IO-Socket-SSL to 2.029.wiz2-8/+7
2.029 2016/07/26 - fix del_session method in case a single item was in the cache - use SSL_session_key as the real key for the cache and not some derivate of it, so that it works to remove the entry using the same key 2.028 2016/07/26 - add del_session method to session cache
2016-06-29Move pkgconfig files to default location, so they can be found by default.wiz2-8/+10
Bump PKGREVISION. ok jperkin
2016-06-28Add missing PKGCONFIG_OVERRIDE line for libtls.pc. Bump PKGREVISION.wiz1-2/+4
2016-06-26Add buildlink3.mk that passes through directories and adds them to thewiz1-0/+17
preprocessor and linker flags.
2016-06-25Updated package to use ocaml.mk framework. No upstream changes.jaapb2-5/+3
2016-06-23Update netpgpverify and libnetpgpverify to 20160622 during freeze to fixagc2-37/+36
PR/51262 + take a bit of a step backwards, and don't use stdbool.h, just to appease Solaris 10 compiler
2016-06-23Update ecap_clamav_adapter to use C++11 in line with libecap (and squid3).prlw17-2/+148
2016-06-22Updated libtasn1 to 4.8. Security update.wiz3-8/+9
* Noteworthy changes in release 4.8 (released 2016-04-11) [stable] - Fixes to avoid reliance on C undefined behavior. - Fixes to avoid an infinite recursion when decoding without the ASN1_DECODE_FLAG_STRICT_DER flag. Reported by Pascal Cuoq. - Combined all the BER octet string decoding functions to a single one based on asn1_decode_simple_ber(). * Noteworthy changes in release 4.7 (released 2015-09-14) [stable] - Fixed regression introduced in the decoding of multi-byte tags fix. * Noteworthy changes in release 4.6 (released 2015-09-05) [stable] - Allow decoding OCTET STRINGs with multi-byte tags. - API and ABI changes since last version: asn1_get_object_id_der: New function
2016-06-21Doesn't like python3markd1-1/+3
2016-06-21Make sure that LDFLAGS are not ignored. Fixes build on at least SunOS.fhajny2-4/+5
2016-06-21Updated security/p5-Bytes-Random-Secure to 0.29mef2-8/+7
----------------------------------------------- 0.29 2015-07-12 - Added a shuffle method available via the OO user interface. - Added a SEE ALSO POD section that mentions Bytes::Random::Secure::Tiny
2016-06-20Updated security/p5-Authen-CAS-Client to 0.07mef2-8/+7
--------------------------------------------- changes from 0.06 to 0.07 ========================= * changed license to MIT for consistency with other module distributions * removed MYMETA.yml and MYMETA.json from module distribution per CPAN standards * updated documentation to reflect new formatting standards changes from 0.05 to 0.06 ========================= * fixed a bug when using defined on an array * minor documentation fixup referencing incorrect package for response objects
2016-06-20Revbump to make sure package gets recompiled with newer mk/ocaml.mkjaapb1-1/+2
2016-06-20Revbump to make sure package gets recompiled with new mk/ocaml.mkjaapb1-2/+2
2016-06-19Updated libgpg-error to 1.23.wiz2-7/+7
Noteworthy changes in version 1.23 (2016-06-15) [C19/A19/R0) ----------------------------------------------- * Fixes an assertion failure due to es_flush on read/write streams. * Fixes a bug with a too short memory limit is es_fopenmen. * Cross-build support for powerpc-unknown-linux-gnuspe and tilegx-unknown-linux-gnu architectures. * Interface changes relative to the 1.22 release: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GPG_ERR_SUBKEYS_EXP_OR_REV NEW.
2016-06-19Don't try to use sphinx if found.markd1-1/+2
2016-06-18polkit: Fix build on FreeBSD.youri7-45/+45
2016-06-18Add ecap_clamav_adapter 2.0.0prlw15-1/+31
This eCAP adapter checks HTTP request and response bodies using the ClamAV antivirus library and denies access to messages with detected viruses.
2016-06-18Update libksba to 1.3.4, fixing several vulnerabilities.bsiegert2-8/+8
Noteworthy changes in version 1.3.4 (2016-05-03) [C19/A11/R4] ------------------------------------------------ * Fixed two OOB read access bugs which could be used to force a DoS. * Fixed a crash due to faulty curve OID lookup code. * Synced the list of supported curves with those of Libgcrypt. * New configure option --enable-build-timestamp; a build timestamp is not anymore used by default.
2016-06-17Fix build on Linux (disable unsupported in pkgsrc systemd)kamil1-1/+2
2016-06-17Sync buildlink3.mk with Makefileprlw11-1/+3
/usr/pkg/lib/libclamav.so: -lxml2.2 => /usr/pkg/lib/libxml2.so.2 -lz.1 => /usr/lib/libz.so.1 -lc.12 => /usr/lib/libc.so.12 -llzma.2 => /usr/lib/liblzma.so.2 -lpthread.1 => /usr/lib/libpthread.so.1 -lm.0 => /usr/lib/libm.so.0 -lbz2.1 => /usr/lib/libbz2.so.1 -lltdl.7 => /usr/pkg/lib/libltdl.so.7 -lstdc++.7 => /usr/lib/libstdc++.so.7 -lssl.11 => /usr/lib/libssl.so.11 -lcrypto.11 => /usr/lib/libcrypto.so.11 -lcrypt.1 => /lib/libcrypt.so.1 -lpcre.1 => /usr/pkg/lib/libpcre.so.1
2016-06-17Updated gnupg21 to 2.1.13.wiz2-7/+7
Noteworthy changes in version 2.1.13 (2016-06-16) ------------------------------------------------- * gpg: New command --quick-addkey. Extend the --quick-gen-key command. * gpg: New --keyid-format "none" which is now also the default. * gpg: New option --with-subkey-fingerprint. * gpg: Include Signer's UID subpacket in signatures if the secret key has been specified using a mail address and the new option --disable-signer-uid is not used. * gpg: Allow unattended deletion of a secret key. * gpg: Allow export of non-passphrase protected secret keys. * gpg: New status lines KEY_CONSIDERED and NOTATION_FLAGS. * gpg: Change status line TOFU_STATS_LONG to use '~' as a non-breaking-space character. * gpg: Speedup key listings in Tofu mode. * gpg: Make sure that the current and total values of a PROGRESS status line are small enough. * gpgsm: Allow the use of AES192 and SERPENT ciphers. * dirmngr: Adjust WKD lookup to current specs. * dirmngr: Fallback to LDAP v3 if v2 is is not supported. * gpgconf: New commands --create-socketdir and --remove-socketdir, new option --homedir. * If a /run/user/$UID directory exists, that directory is now used for IPC sockets instead of the GNUPGHOME directory. This fixes problems with NFS and too long socket names and thus avoids the need for redirection files. * The Speedo build systems now uses the new versions.gnupg.org server to retrieve the default package versions. * Fix detection of libusb on FreeBSD. * Speedup fd closing after a fork.
2016-06-17Updated libgcrypt to 1.7.1.wiz2-7/+7
Noteworthy changes in version 1.7.1 (2016-06-15) [C21/A1/R1] ------------------------------------------------ * Bug fixes: - Fix ecc_verify for cofactor support. - Fix portability bug when using gcc with Solaris 9 SPARC. - Build fix for OpenBSD/amd64 - Add OIDs to the Serpent ciphers. * Internal changes: - Use getrandom system call on Linux if available. - Blinding is now also used for RSA signature creation. - Changed names of debug envvars
2016-06-16Update security/mbedtls to 2.2.1.fhajny6-140/+141
This breaks removes the legacy PolarSSL compatibility layer. For software that needs it, please use security/mbedtls1 instead. Change license to apache-2.0. Upstream changelog since 1.3.11 follows. = mbed TLS 2.2.1 released 2016-01-05 Security - Fix potential double free when mbedtls_asn1_store_named_data() fails to allocate memory. Only used for certificate generation, not triggerable remotely in SSL/TLS. - Disable MD5 handshake signatures in TLS 1.2 by default Bugfix - Fix over-restrictive length limit in GCM. - Fix bug in certificate validation that caused valid chains to be rejected when the first intermediate certificate has pathLenConstraint=0. - Removed potential leak in mbedtls_rsa_rsassa_pkcs1_v15_sign() - Fix suboptimal handling of unexpected records that caused interop issues with some peers over unreliable links. Avoid dropping an entire DTLS datagram if a single record in a datagram is unexpected, instead only drop the record and look at subsequent records (if any are present) in the same datagram. = mbed TLS 2.2.0 released 2015-11-04 Security - Fix potential double free if mbedtls_ssl_conf_psk() is called more than once and some allocation fails. Cannot be forced remotely. - Fix potential heap corruption on Windows when mbedtls_x509_crt_parse_path() is passed a path longer than 2GB. Cannot be triggered remotely. - Fix potential buffer overflow in some asn1_write_xxx() functions. Cannot be triggered remotely unless you create X.509 certificates based on untrusted input or write keys of untrusted origin. - The X509 max_pathlen constraint was not enforced on intermediate certificates. Features - Experimental support for EC J-PAKE as defined in Thread 1.0.0. Disabled by default as the specification might still change. - Added a key extraction callback to accees the master secret and key block. (Potential uses include EAP-TLS and Thread.) Bugfix - Self-signed certificates were not excluded from pathlen counting, resulting in some valid X.509 being incorrectly rejected. - Fix build error with configurations where ECDHE-PSK is the only key exchange. - Fix build error with configurations where RSA, RSA-PSK, ECDH-RSA or ECHD-ECDSA if the only key exchange. Multiple reports. - Fixed a bug causing some handshakes to fail due to some non-fatal alerts not being properly ignored. - mbedtls_x509_crt_verify(_with_profile)() now also checks the key type and size/curve against the profile. Before that, there was no way to set a minimum key size for end-entity certificates with RSA keys. - Fix failures in MPI on Sparc(64) due to use of bad assembly code. - Fix typo in name of the extKeyUsage OID. - Fix bug in ASN.1 encoding of booleans that caused generated CA certificates to be rejected by some applications, including OS X Keychain. Changes - Improved performance of mbedtls_ecp_muladd() when one of the scalars is or -1. = mbed TLS 2.1.2 released 2015-10-06 Security - Added fix for CVE-2015-5291 to prevent heap corruption due to buffer overflow of the hostname or session ticket. - Fix potential double-free if mbedtls_ssl_set_hs_psk() is called more than once in the same handhake and mbedtls_ssl_conf_psk() was used. - Fix stack buffer overflow in pkcs12 decryption (used by mbedtls_pk_parse_key(file)() when the password is > 129 bytes. - Fix potential buffer overflow in mbedtls_mpi_read_string(). - Fix potential random memory allocation in mbedtls_pem_read_buffer() on crafted PEM input data. - Fix possible heap buffer overflow in base64_encoded() when the input buffer is 512MB or larger on 32-bit platforms. - Fix potential double-free if mbedtls_conf_psk() is called repeatedly on the same mbedtls_ssl_config object and memory allocation fails. - Fix potential heap buffer overflow in servers that perform client authentication against a crafted CA cert. Cannot be triggered remotely unless you allow third parties to pick trust CAs for client auth. Bugfix - Fix compile error in net.c with musl libc. - Fix macroization of 'inline' keyword when building as C++. Changes - Added checking of hostname length in mbedtls_ssl_set_hostname() to ensure domain names are compliant with RFC 1035. - Fixed paths for check_config.h in example config files. = mbed TLS 2.1.1 released 2015-09-17 Security - Add countermeasure against Lenstra's RSA-CRT attack for PKCS#1 v1.5 signatures. - Fix possible client-side NULL pointer dereference (read) when the client tries to continue the handshake after it failed (a misuse of the API). Bugfix - Fix warning when using a 64bit platform. - Fix off-by-one error in parsing Supported Point Format extension that caused some handshakes to fail. Changes - Made X509 profile pointer const in mbedtls_ssl_conf_cert_profile() to allow use of mbedtls_x509_crt_profile_next. - When a client initiates a reconnect from the same port as a live connection, if cookie verification is available (MBEDTLS_SSL_DTLS_HELLO_VERIFY defined in config.h, and usable cookie callbacks set with mbedtls_ssl_conf_dtls_cookies()), this will be detected and mbedtls_ssl_read() will return MBEDTLS_ERR_SSL_CLIENT_RECONNECT - it is then possible to start a new handshake with the same context. (See RFC 6347 section 4.2.8.) = mbed TLS 2.1.0 released 2015-09-04 Features - Added support for yotta as a build system. - Primary open source license changed to Apache 2.0 license. Bugfix - Fix segfault in the benchmark program when benchmarking DHM. - Fix build error with CMake and pre-4.5 versions of GCC - Fix bug when parsing a ServerHello without extensions - Fix bug in CMake lists that caused libmbedcrypto.a not to be installed - Fix bug in Makefile that caused libmbedcrypto and libmbedx509 not to be installed - Fix compile error with armcc 5 with --gnu option. - Fix bug in Makefile that caused programs not to be installed correctly - Fix bug in Makefile that prevented from installing without building the tests - Fix missing -static-libgcc when building shared libraries for Windows with make. - Fix link error when building shared libraries for Windows with make. - Fix error when loading libmbedtls.so. - Fix bug in mbedtls_ssl_conf_default() that caused the default preset to be always used - Fix bug in mbedtls_rsa_public() and mbedtls_rsa_private() that could result trying to unlock an unlocked mutex on invalid input - Fix -Wshadow warnings - Fix memory corruption on client with overlong PSK identity, around SSL_MAX_CONTENT_LEN or higher - not triggerrable remotely - Fix unused function warning when using MBEDTLS_MDx_ALT or MBEDTLS_SHAxxx_ALT - Fix memory corruption in pkey programs Changes - The PEM parser now accepts a trailing space at end of lines - It is now possible to #include a user-provided configuration file at the end of the default config.h by defining MBEDTLS_USER_CONFIG_FILE on the compiler's command line. - When verifying a certificate chain, if an intermediate certificate is trusted, no later cert is checked. - Prepend a "thread identifier" to debug messages - Add mbedtls_ssl_get_max_frag_len() to query the current maximum fragment length. = mbed TLS 2.0.0 released 2015-07-13 Features - Support for DTLS 1.0 and 1.2 (RFC 6347). - Ability to override core functions from MDx, SHAx, AES and DES modules with custom implementation (eg hardware accelerated), complementing the ability to override the whole module. - New server-side implementation of session tickets that rotate keys to preserve forward secrecy, and allows sharing across multiple contexts. - Added a concept of X.509 cerificate verification profile that controls which algorithms and key sizes (curves for ECDSA) are acceptable. - Expanded configurability of security parameters in the SSL module with mbedtls_ssl_conf_dhm_min_bitlen() and mbedtls_ssl_conf_sig_hashes(). - Introduced a concept of presets for SSL security-relevant configuration parameters. API Changes - The library has been split into libmbedcrypto, libmbedx509, libmbedtls. You now need to link to all of them if you use TLS for example. - All public identifiers moved to the mbedtls_* or MBEDTLS_* namespace. Some names have been further changed to make them more consistent. Migration helpers scripts/rename.pl and include/mbedlts/compat-1.3.h are provided. Full list of renamings in scripts/data_files/rename-1.3-2.0.txt - Renamings of fields inside structures, not covered by the previous list: mbedtls_cipher_info_t.key_length -> key_bitlen mbedtls_cipher_context_t.key_length -> key_bitlen mbedtls_ecp_curve_info.size -> bit_size - Headers are now found in the 'mbedtls' directory (previously 'polarssl'). - The following _init() functions that could return errors have been split into an _init() that returns void and another function that should generally be the first function called on this context after init: mbedtls_ssl_init() -> mbedtls_ssl_setup() mbedtls_ccm_init() -> mbedtls_ccm_setkey() mbedtls_gcm_init() -> mbedtls_gcm_setkey() mbedtls_hmac_drbg_init() -> mbedtls_hmac_drbg_seed(_buf)() mbedtls_ctr_drbg_init() -> mbedtls_ctr_drbg_seed() Note that for mbedtls_ssl_setup(), you need to be done setting up the ssl_config structure before calling it. - Most ssl_set_xxx() functions (all except ssl_set_bio(), ssl_set_hostname(), ssl_set_session() and ssl_set_client_transport_id(), plus ssl_legacy_renegotiation()) have been renamed to mbedtls_ssl_conf_xxx() (see rename.pl and compat-1.3.h above) and their first argument's type changed from ssl_context to ssl_config. - ssl_set_bio() changed signature (contexts merged, order switched, one additional callback for read-with-timeout). - The following functions have been introduced and must be used in callback implementations (SNI, PSK) instead of their *conf counterparts: mbedtls_ssl_set_hs_own_cert() mbedtls_ssl_set_hs_ca_chain() mbedtls_ssl_set_hs_psk() - mbedtls_ssl_conf_ca_chain() lost its last argument (peer_cn), now set using mbedtls_ssl_set_hostname(). - mbedtls_ssl_conf_session_cache() changed prototype (only one context pointer, parameters reordered). - On server, mbedtls_ssl_conf_session_tickets_cb() must now be used in place of mbedtls_ssl_conf_session_tickets() to enable session tickets. - The SSL debug callback gained two new arguments (file name, line number). - Debug modes were removed. - mbedtls_ssl_conf_truncated_hmac() now returns void. - mbedtls_memory_buffer_alloc_init() now returns void. - X.509 verification flags are now an uint32_t. Affect the signature of: mbedtls_ssl_get_verify_result() mbedtls_x509_ctr_verify_info() mbedtls_x509_crt_verify() (flags, f_vrfy -> needs to be updated) mbedtls_ssl_conf_verify() (f_vrfy -> needs to be updated) - The following functions changed prototype to avoid an in-out length parameter: mbedtls_base64_encode() mbedtls_base64_decode() mbedtls_mpi_write_string() mbedtls_dhm_calc_secret() - In the NET module, all "int" and "int *" arguments for file descriptors changed type to "mbedtls_net_context *". - net_accept() gained new arguments for the size of the client_ip buffer. - In the threading layer, mbedtls_mutex_init() and mbedtls_mutex_free() now return void. - ecdsa_write_signature() gained an addtional md_alg argument and ecdsa_write_signature_det() was deprecated. - pk_sign() no longer accepts md_alg == POLARSSL_MD_NONE with ECDSA. - Last argument of x509_crt_check_key_usage() and mbedtls_x509write_crt_set_key_usage() changed from int to unsigned. - test_ca_list (from certs.h) is renamed to test_cas_pem and is only available if POLARSSL_PEM_PARSE_C is defined (it never worked without). - Test certificates in certs.c are no longer guaranteed to be nul-terminated strings; use the new *_len variables instead of strlen(). - Functions mbedtls_x509_xxx_parse(), mbedtls_pk_parse_key(), mbedtls_pk_parse_public_key() and mbedtls_dhm_parse_dhm() now expect the length parameter to include the terminating null byte for PEM input. - Signature of mpi_mul_mpi() changed to make the last argument unsigned - calloc() is now used instead of malloc() everywhere. API of platform layer and the memory_buffer_alloc module changed accordingly. - Change SSL_DISABLE_RENEGOTIATION config.h flag to SSL_RENEGOTIATION (support for renegotiation now needs explicit enabling in config.h). - Split MBEDTLS_HAVE_TIME into MBEDTLS_HAVE_TIME and MBEDTLS_HAVE_TIME_DATE in config.h - net_connect() and net_bind() have a new 'proto' argument to choose between TCP and UDP, using the macros NET_PROTO_TCP or NET_PROTO_UDP. Their 'port' argument type is changed to a string. - Some constness fixes Removals - Removed mbedtls_ecp_group_read_string(). Only named groups are supported. - Removed mbedtls_ecp_sub() and mbedtls_ecp_add(), use mbedtls_ecp_muladd(). - Removed individual mdX_hmac, shaX_hmac, mdX_file and shaX_file functions (use generic functions from md.h) - Removed mbedtls_timing_msleep(). Use mbedtls_net_usleep() or a custom waiting function. - Removed test DHM parameters from the test certs module. - Removed the PBKDF2 module (use PKCS5). - Removed POLARSSL_ERROR_STRERROR_BC (use mbedtls_strerror()). - Removed compat-1.2.h (helper for migrating from 1.2 to 1.3). - Removed openssl.h (very partial OpenSSL compatibility layer). - Configuration options POLARSSL_HAVE_LONGLONG was removed (now always on). - Configuration options POLARSSL_HAVE_INT8 and POLARSSL_HAVE_INT16 have been removed (compiler is required to support 32-bit operations). - Configuration option POLARSSL_HAVE_IPV6 was removed (always enabled). - Removed test program o_p_test, the script compat.sh does more. - Removed test program ssl_test, superseded by ssl-opt.sh. - Removed helper script active-config.pl New deprecations - md_init_ctx() is deprecated in favour of md_setup(), that adds a third argument (allowing memory savings if HMAC is not used) Semi-API changes (technically public, morally private) - Renamed a few headers to include _internal in the name. Those headers are not supposed to be included by users. - Changed md_info_t into an opaque structure (use md_get_xxx() accessors). - Changed pk_info_t into an opaque structure. - Changed cipher_base_t into an opaque structure. - Removed sig_oid2 and rename sig_oid1 to sig_oid in x509_crt and x509_crl. - x509_crt.key_usage changed from unsigned char to unsigned int. - Removed r and s from ecdsa_context - Removed mode from des_context and des3_context Default behavior changes - The default minimum TLS version is now TLS 1.0. - RC4 is now blacklisted by default in the SSL/TLS layer, and excluded from the default ciphersuite list returned by ssl_list_ciphersuites() - Support for receiving SSLv2 ClientHello is now disabled by default at compile time. - The default authmode for SSL/TLS clients is now REQUIRED. - Support for RSA_ALT contexts in the PK layer is now optional. Since is is enabled in the default configuration, this is only noticeable if using a custom config.h - Default DHM parameters server-side upgraded from 1024 to 2048 bits. - A minimum RSA key size of 2048 bits is now enforced during ceritificate chain verification. - Negotiation of truncated HMAC is now disabled by default on server too. - The following functions are now case-sensitive: mbedtls_cipher_info_from_string() mbedtls_ecp_curve_info_from_name() mbedtls_md_info_from_string() mbedtls_ssl_ciphersuite_from_string() mbedtls_version_check_feature() Requirement changes - The minimum MSVC version required is now 2010 (better C99 support). - The NET layer now unconditionnaly relies on getaddrinfo() and select(). - Compiler is required to support C99 types such as long long and uint32_t. API changes from the 1.4 preview branch - ssl_set_bio_timeout() was removed, split into mbedtls_ssl_set_bio() with new prototype, and mbedtls_ssl_set_read_timeout(). - The following functions now return void: mbedtls_ssl_conf_transport() mbedtls_ssl_conf_max_version() mbedtls_ssl_conf_min_version() - DTLS no longer hard-depends on TIMING_C, but uses a callback interface instead, see mbedtls_ssl_set_timer_cb(), with the Timing module providing an example implementation, see mbedtls_timing_delay_context and mbedtls_timing_set/get_delay(). - With UDP sockets, it is no longer necessary to call net_bind() again after a successful net_accept(). Changes - mbedtls_ctr_drbg_random() and mbedtls_hmac_drbg_random() are now thread-safe if MBEDTLS_THREADING_C is enabled. - Reduced ROM fooprint of SHA-256 and added an option to reduce it even more (at the expense of performance) MBEDTLS_SHA256_SMALLER.
2016-06-16Enable security/mbedtls1fhajny1-1/+2
2016-06-16Import mbedtls-1.3.16 as security/mbedtls1.fhajny9-0/+323
This is based on security/mbedtls and only meant for compatibility with software that doesn't support mbedtls>=2 yet (mainly requires the PolarSSL compatibility layer).
2016-06-15Update netpgpverify and libnetpgpverify to 20160617agc2-4/+5
+ don't assume memory will be NUL-terminated when printing
2016-06-15Fix forgotten change, ride previous revisionfhajny1-1/+2
2016-06-15Update security/py-certbot (and security/py-acme) to 0.8.1.fhajny2-7/+7
No changelog provided, Github issues touched: - Update the autos in response to 0.8.1 release - Fix default detection - Provide nonroot guidance when logging gets EACCES. - Add additional warning with actual exception message during renewal - Interactive webroot values not stored in renewal config file - Preserve common name during renewal - Mageia Bootstrap - Initialize Augeas in a different method to be able to react to ImportError - Renew changes common name - Update letsencrypt-auto in response to Arch package rename - On Mac OSX: "ValueError: Invalid header value" - Strip "\n" from end of OS version string for OS X. - Revert "Use --force-reinstall to fix bad virtualenv package" - Exit if cannot bootstrap in certbot-auto - Add --disable-hook-validation - --post-hook validation too strict - letsencrypt-auto gives "sudo" is not available - mageia bootstrap [needs revision] - Install/compile fails of letsencrypt-auto on Smartos/Illumos
2016-06-15Update netpgpverify and libnetpgpverify to 20160616agc5-4/+24
+ bring over joerg's printflike change from the netpgpverify version in src/crypto + add a test for cleartext signatures with version information to complement the one with no version information
2016-06-15Update netpgpverify and libnetpgpverify to 20160615:agc2-14/+10
Simplify the method of finding the end of the versioning information in the signature - back up to the "\n" character at the end of the signature start: "-----BEGIN PGP SIGNATURE-----\n" and then find the "\n\n" character sequence to denote the start of the signature itself. The previous version worked, but this is more efficient.
2016-06-14Update netpgpverify (and libnetpgpverify) to 20160614agc5-9/+32
+ handle signatures created by gpg with "--no-emit-version", don't assume there will always be a version string. + add a test for above Fixes security PR/51240. Thanks to xnox@ubuntu.com for reporting the error
2016-06-14Add security/py-aeskamil1-1/+2
2016-06-14Import pyaes-1.6.0 as security/py-aeskamil4-0/+48
A pure-Python implmentation of the AES block cipher algorithm and the common modes of operation (CBC, CFB, CTR, ECB and OFB). Features: - Supports all AES key sizes - Supports all AES common modes - Pure-Python (no external dependancies) - BlockFeeder API allows streams to easily be encrypted and decrypted - Python 2.x and 3.x support (make sure you pass in bytes(), not strings for Python 3)