Skip to content

Instantly share code, notes, and snippets.

Created October 13, 2014 21:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/4204eb5eba961dd67e1b to your computer and use it in GitHub Desktop.
Save anonymous/4204eb5eba961dd67e1b to your computer and use it in GitHub Desktop.
libressl / git log --since=2014-08-08
commit 9e2bb2cb2fba5c926f23ac999614acaed1673364
Author: tedu <>
Date: Thu Oct 9 22:04:33 2014 +0000
add an API version number. ok jsing
commit 09613c0118e11f05caaf7d7e890e70eee9a3741c
Author: tedu <>
Date: Wed Oct 8 19:17:55 2014 +0000
history
commit 10a28e20a2614bb2a110b8f517b6b67ac2b76f3e
Author: tedu <>
Date: Wed Oct 8 19:12:42 2014 +0000
use preferred license form. can't trust that doug guy with anything...
commit 8f1f2ffbcff50cdb2049fdc57cd8d9e1b2bcfe37
Author: tedu <>
Date: Wed Oct 8 19:01:40 2014 +0000
mlinks, and prune some functions from man page i'm not ready for yet.
commit 4c06756783319d29b8af0492bf34a1c1ed877176
Author: tedu <>
Date: Wed Oct 8 16:17:01 2014 +0000
more better
commit ab5976b1aef31054aca5b93e66244e70c5eda226
Author: tedu <>
Date: Wed Oct 8 16:13:00 2014 +0000
reluctantly rename man page after a function
commit a985be1c52a9fa34a62cb5dd673f885ef66a0262
Author: schwarze <>
Date: Wed Oct 8 14:55:20 2014 +0000
whack a few stray .Pp macros
commit b5837c09908ed3a59ad5cb9161b01141a0c61f84
Author: tedu <>
Date: Wed Oct 8 14:47:15 2014 +0000
add a few more functions.
(I also forgot to credit doug for much of the initial markup in the
previous commit.)
commit d0f1287a0d18bba36a473c189bad555b0b0bc9d9
Author: tedu <>
Date: Wed Oct 8 14:40:01 2014 +0000
rough sketch of ressl documentation
commit b809c18c7d969099f8087b221772ff1dbd418556
Author: deraadt <>
Date: Wed Oct 8 05:33:31 2014 +0000
using reallocarray() gives us multiplicative integer overflow checking
in case something wants to create massive amounts of environment, like
a bit more than 1/4 of a 32-bit address space. unrealistic -- but why
audit one code path, and not treat others the same? then you have to
re-engage everytime you see the code. read the news, that isn't what
developers do. At least if the code paths look the same, there is hope,
because they are easier to verify for correctness. developers need
to give other developers a chance to want to care.
commit 1807d56b914dfce871d28b1e57bf493acdb19adc
Author: deraadt <>
Date: Wed Oct 8 05:27:17 2014 +0000
obvious malloc -> reallocarray, for mult int oflow
commit ce9139d4d2cafcf59be72bbf0fc54b4069dc6730
Author: deraadt <>
Date: Wed Oct 8 04:00:55 2014 +0000
fix an indentation that makes me upset
commit 649c4352c990c038ba0ec5028aea8028bfc2cc6e
Author: miod <>
Date: Tue Oct 7 04:59:25 2014 +0000
Use strdup() instead of malloc() + memcpy().
ok doug@ jsing@
commit db36a9f20e383ff9b0e22dafda1c30a30f015697
Author: miod <>
Date: Tue Oct 7 04:58:50 2014 +0000
EC_KEY_set_group() does an EC_GROUP_dup() of its argument, so we don't
need to do it in ec_copy_parameters() prior to invoking EC_KEY_set_group().
ok doug@ jsing@
commit d09f6d07553ff00f1e445764cc5f74ff6a63ef68
Author: jca <>
Date: Mon Oct 6 11:55:48 2014 +0000
When verifying whether an IP address is in the commonName of a
certificate, do not perform wildcard matching.
Suggested by Richard Moore (rich@kde)
ok tedu@
commit 6fd25d07b1e98cfe991afb88b56619c7b4ac9212
Author: jca <>
Date: Mon Oct 6 11:53:18 2014 +0000
If we have to match against a wildcard in a cert, verify that it contains
at least a domain label before the tld, as in *.example.org.
Suggested by Richard Moore (rich@kde)
ok tedu@
commit 8fa5093d86c8f85c541c06220c47ba3ab1809500
Author: miod <>
Date: Sun Oct 5 18:33:57 2014 +0000
The fixes to X509_PURPOSE_add() in r1.18 actually could cause a global
X509_PURPOSE object (obtained with X509_PURPOSE_get0() instead of being
allocated in the function) to be freed if modifying that object would fail
due to a low memory condition, while this object would still be referenced
elsewhere.
Fix this by only cleaning the object if we did not allocate it here.
While there, fail early if either `name' or `sname' are NULL, rather than
allocating an object and realizing we have nothing to strdup() into it.
ok guenther@
commit 5b4e5392155ef3574f85a745c68c3c9f1855b502
Author: miod <>
Date: Sun Oct 5 18:30:13 2014 +0000
Be sure to check the stack push operation for success in v2i_POLICY_MAPPINGS();
if it fails, free the object we were about to push.
Factor error handling to avoid having four copies of about the same code.
ok guenther@
commit b4e34343203693e7f1540c01efb4d8c2fda2768f
Author: miod <>
Date: Sun Oct 5 18:28:56 2014 +0000
In v2i_AUTHORITY_INFO_ACCESS(), separate object allocation from object push
on a stack; if the latter fails, we need to free the object before returning
failure.
ok guenther@
commit 6b914f92d176bb23d7dc0b2ba9b35cdadbebad7a
Author: miod <>
Date: Sun Oct 5 18:27:58 2014 +0000
Memory leak upon error in set_dist_point_name().
ok guenther@
commit afd8f4de67cd69bc078f2bb0435d8dff5150711c
Author: miod <>
Date: Sun Oct 5 18:27:33 2014 +0000
Be sure to check object allocation for success before using them.
Tweaks and ok guenther@
commit 7e6a10542fe3a94e03c3f58a29c51a41f8d943db
Author: miod <>
Date: Sun Oct 5 18:26:43 2014 +0000
Missing deallocation upon error.
ok deraadt@ guenther@
commit b3cde1e56a25877efa9c2d5d27094ca73ee24d46
Author: miod <>
Date: Sun Oct 5 18:26:22 2014 +0000
Fix memory leak in the error path of v2i_AUTHORITY_KEYID().
ok deraadt@ guenther@
commit 28baede2fdb16ce96e62a42c7a0cfcc27f52d735
Author: deraadt <>
Date: Sun Oct 5 15:21:48 2014 +0000
compile with c89 (code / decl ordering); from Joakim.Tjernlund@transmode.se
ok miod
commit 6e0a9b9006a2f2a232924e092958b088e6467972
Author: jsing <>
Date: Sun Oct 5 14:56:32 2014 +0000
Use more specific curves/formats naming for local variables in
ssl_add_clienthello_tlsext() and ssl_add_serverhello_tlsext(), rather than
the current generic naming.
ok miod@
commit 0a8dbca4e83fc6fe6d477864af61c5ccf9d3c9bb
Author: jsing <>
Date: Sun Oct 5 14:53:06 2014 +0000
Use tls1_get_curvelist() in ssl_add_clienthello_tlsext(), rather than
hand rolling the same code.
ok miod@
commit 0edda46bddf1f9a9a4207b73c696235bdd51fae4
Author: jsing <>
Date: Sun Oct 5 14:47:30 2014 +0000
Make tls1_get_formatlist() behave the same as tls1_get_curvelist() and
return the client format list if the client_formats flag is specified.
Use tls1_get_formatlist()/tls1_get_curvelist() in tls1_check_ec_key(),
simplifying the code.
ok miod@
commit 393399b59f4480af2041e0228a4a35762c29855f
Author: tedu <>
Date: Fri Oct 3 18:58:36 2014 +0000
verify changes are major change
commit 92a44f77732a8c562230a0055327a63eb764dc70
Author: jsing <>
Date: Fri Oct 3 14:32:08 2014 +0000
Bump minor for ECHD auto and other recent changes.
commit 84de3208bca3f0314843bd8ac94bb47567e7b79e
Author: jsing <>
Date: Fri Oct 3 14:31:30 2014 +0000
Bump minor version for ECDH auto.
While there are no additional symbols, there is an additional command that
clients will potentially depend on.
commit 192dd4974220434a58755a45878ee7ca4c012ebb
Author: tedu <>
Date: Fri Oct 3 14:14:40 2014 +0000
allow disabling hostname and cert verification separately.
if you're careful, cert only verification can be useful.
always enable both though, to avoid accidentally leaving one off.
ok jsing
commit b5024c43eae9e45a9d4cae721fa9de7534dc9880
Author: jsing <>
Date: Fri Oct 3 14:09:09 2014 +0000
Allow "auto" to be specified as an ECDH curve name and make this the
default. This enables automatic handling of ephemeral EC keys.
Discussed with reyk@ and tedu@
commit 25443f5a27d1005c3e27abd7632a295cee691048
Author: jsing <>
Date: Fri Oct 3 13:58:18 2014 +0000
Add support for automatic ephemeral EC keys.
This allows an SSL server to enable ECDHE ciphers with a single setting,
which results in an EC key being generated using the first preference
shared curve.
Based on OpenSSL with inspiration from boringssl.
ok miod@
commit 0fd113767f9e7db2026de037af829aa2f01a6a81
Author: doug <>
Date: Fri Oct 3 06:02:38 2014 +0000
Use string literals in printf style calls so gcc's -Wformat works.
ok tedu@, miod@
commit 31232af227229393db3acdc743f3564bb7c89e99
Author: sthen <>
Date: Wed Oct 1 13:19:51 2014 +0000
openssl.cnf tweaks following recent changes to usr.bin/openssl:
- don't define default_bits, allowing the compiled-in default (now 2048
bits) to take priority.
- add commented-out default_md line in case somebody needs an easy way
to change this.
- remove some sample sections which aren't really useful in the default
file (/etc/examples is the place for a more descriptive config, this
file should be barebones).
Help/OK jsing@. OKs on earlier diff (openssl.cnf only) from phessler@ aja@.
commit bfc944aa40abbc2efb023b40480a5232fb7b2244
Author: sthen <>
Date: Wed Oct 1 13:15:40 2014 +0000
Switch "openssl req" to using SHA256 for hashes and AES256 to encrypt on-disk
keys by default (instead of SHA1/3DES) and update documentation to match.
Another way to do this is s/NID_sha1/NID_sha256/ in src/crypto/rsa/rsa_ameth.c
("case ASN1_PKEY_CTRL_DEFAULT_MD_NID") but going with the more targetted method
above that only affects "openssl req" for now.
Help/OK jsing@. OKs on earlier diffs changing openssl.cnf from phessler@ aja@
commit 6cc8c632713d0259491f018baf589fe1e655897e
Author: jsing <>
Date: Tue Sep 30 15:40:09 2014 +0000
Clean up EC cipher handling in ssl3_choose_cipher().
The existing code reaches around into various internals of EC, which it
should not know anything about. Replace this with a set of functions that
that can correctly extract the necessary details and handle the
comparisions.
Based on a commit to OpenSSL, with some inspiration from boringssl.
ok miod@
commit 61fc1040a4d0876b3cb560f9a28c2316433b7b6f
Author: miod <>
Date: Mon Sep 29 16:20:40 2014 +0000
Previous fix (1.12) would cause a NULL pointer dereference in the error path
if a NULL stack was passed as argument. Fix this by returning NULL early in
that case.
commit b08d2dabdf955754ebf34975464acae93ab959e1
Author: jsing <>
Date: Mon Sep 29 15:31:38 2014 +0000
Move cipher configuration handling to the shared SSL configuration function
so that applies to both the ressl client and server.
commit 4660ea8c92433f11d566d63a83955ffb2e52526c
Author: jsing <>
Date: Mon Sep 29 15:11:29 2014 +0000
Add an option that allows the enabled SSL protocols to be explicitly
configured.
Discussed with several.
ok bcook@
commit a1b716849000b85bffecbdd21b6ddf6c2b07ded7
Author: jsing <>
Date: Mon Sep 29 09:30:31 2014 +0000
When freeing the config, explicitly call ressl_config_clear_keys() rather
than rerolling our own key clearing code.
ok tedu@
commit 8b7d5c8c415fed4c718c00ef0286cf6a3cba9a82
Author: miod <>
Date: Mon Sep 29 04:20:14 2014 +0000
check_cert(): be sure to reset ctx->current_crl to NULL before freeing it.
X509_STORE_CTX_init(): do not free the X509_STORE_CTX * parameter upon
failure, for we did not allocate it and it might not come from the heap,
such as in check_crl_path() in this very same file where X509_STORE_CTX_init()
gets invoked with a stack address.
ok bcook@
commit 9c5a530def40bb45ca89c86bb507e92b3fb8acfa
Author: miod <>
Date: Mon Sep 29 04:17:24 2014 +0000
X509_NAME_get_text_by_OBJ(): make sure we do not pass a negative size to
memcpy().
ok bcook@
commit 9ba9b0ef3caf5cf0949a0c1bffa1a85dd47637e6
Author: miod <>
Date: Mon Sep 29 04:16:49 2014 +0000
X509_VERIFY_PARAM_set1_name(): if invoked with NULL as the second
parameter, correctly set param->name to NULL after having freed it.
ok bcook@
commit e3216be84b353e9b60ca536a3db0d1e47f34c962
Author: jsing <>
Date: Sun Sep 28 15:08:01 2014 +0000
Wrap long lines and add missing argument name.
commit 8ffe4c3186d0f913c89b579b3deed46af32b322b
Author: reyk <>
Date: Sun Sep 28 14:47:06 2014 +0000
Bump minor after adding SSL_CTX_use_certificate_chain().
ok jsing@ miod@
commit 7967c2e881bbba5a895e0c4d22ba919a5eec1f3c
Author: jsing <>
Date: Sun Sep 28 14:46:09 2014 +0000
Provide a ressl config function that explicitly clears keys.
Now that ressl config takes copies of the keys passed to it, the keys need
to be explicitly cleared. While this can be done by calling the appropriate
functions with a NULL pointer, it is simpler and more obvious to call one
function that does this for you.
ok tedu@
commit b5fec411f521acf1f17249f5c06fd608138a37a9
Author: reyk <>
Date: Sun Sep 28 14:45:48 2014 +0000
Add a new API function SSL_CTX_use_certificate_chain() that allows to
read the PEM-encoded certificate chain from memory instead of a file.
This idea is derived from an older implementation in relayd that was
needed to use the function with a privep'ed process in a chroot. Now
it is time to get it into LibreSSL to make the API more privsep-
friendly and to make it available for other programs and the ressl
library.
ok jsing@ miod@
commit 0d095084e5d3dd584a44988206ee8aa6e032932e
Author: miod <>
Date: Sun Sep 28 10:53:57 2014 +0000
X509v3_add_ext(): do not free stuff we did not allocate in the error path.
ok bcook@
commit 5b7d6d21f12b6e33c06132587b3a6135ff568167
Author: miod <>
Date: Sun Sep 28 10:52:59 2014 +0000
X509_TRUST_add(): check X509_TRUST_get0() return value before dereferencing it,
for it may be NULL. Do not leak memory upon error.
ok bcook@
commit 159ac01332664352e68c666c441381da8eca6c13
Author: miod <>
Date: Sun Sep 28 10:50:33 2014 +0000
Someone (TM) thought it was smart to save memory by using malloc(1) and
manual field fiddling to create an ASN1_INTEGER object, instead of using
M_ASN1_INTEGER_new() which will allocate sizeof(long) bytes.
That person had probably never looked into malloc(3) and never heard of
allocation size rounding.
Thus, replace the obfuscated code with M_ASN1_INTEGER_new() followed by
ASN1_INTEGER_set(), to achieve a similar result, without the need for
/* version == 0 */ comments.
ok bcook@
commit c58c4897a2ee16cfefa74cf8da6953d19edb74e9
Author: tedu <>
Date: Sun Sep 28 06:24:00 2014 +0000
revamp the config interface to own memory. easier to use correctly without
caller worrying about leaks or lifetimes.
after feedback from jsing
commit 0352a453f4a60f4436097939ed8174e73e5d17df
Author: miod <>
Date: Sat Sep 27 20:42:38 2014 +0000
Revert r1.5 and reenable assembler version of ghash now that it has been
fixed.
commit a2c000325c8b750ed884b610eeda6b660027b994
Author: miod <>
Date: Sat Sep 27 20:17:52 2014 +0000
Doh, rev 1.4 had left out one routine with both 32-bit and 64-bit code, where
the 64-bit code has to be disabled under OpenBSD/hppa.
commit 6a0cc38a086822d92708d2c468bbfbcdf73691e7
Author: miod <>
Date: Sat Sep 27 12:29:31 2014 +0000
Disable assembler code for ghash on hppa, causes wrong computations in some
cases and breaks TLS 1.2; crank libcrypto.so minor version out of safety and
to be able to tell broken versions apart easily.
commit e645115f315648932ff8cfba5d4dde22e7525abc
Author: jsing <>
Date: Sat Sep 27 11:03:43 2014 +0000
There is not much point checking ecdhp is not NULL... twice.
ok miod@
commit f9e02cf231d4ba40385d3a2c9b7126e5a4fa943a
Author: jsing <>
Date: Sat Sep 27 11:01:06 2014 +0000
Check that the specified curve is one of the client preferences.
Based on OpenSSL.
ok miod@
commit 1b7c8a999e92fc1a116bda30bd368d3ef2523a22
Author: doug <>
Date: Sat Sep 27 06:28:45 2014 +0000
Fix mmap() calls that check for a result other than MAP_FAILED.
ok tedu@
commit 5925d40ecbd4327cd42f4119074e8eb1971e398c
Author: miod <>
Date: Fri Sep 26 19:32:15 2014 +0000
X509_STORE_new(): do not leak memory upon error.
X509_STORE_get1_certs(), X509_STORE_get1_crls(): check the result of
allocations.
ok tedu@
commit 97c91e37d0e887f6456c1ba7efdf114fe42e582b
Author: miod <>
Date: Fri Sep 26 19:31:09 2014 +0000
X509_issuer_and_serial_hash(): do not leak memory if an error occurs during
the first EVP block.
ok tedu@
commit b0dcf5ab8d5b6a5267f57262765213434910467c
Author: miod <>
Date: Fri Sep 26 19:30:38 2014 +0000
X509at_add1_attr(): do not free stuff we did not allocate in the error path.
ok tedu@
commit 550efdf7e76ab273b607d26a1a7c38d9f045e976
Author: jsing <>
Date: Fri Sep 26 14:58:42 2014 +0000
Now that we have a static version of the default EC formats, also use it
for the server hello.
From OpenSSL.
ok miod@
commit 3c9dc7acc61996239bacc5c65e4735ed00dbf0f1
Author: miod <>
Date: Tue Sep 23 20:01:11 2014 +0000
Fix regression introduced in revision 1.15 by using strndup() instead of
strdup() to allocated directory list components.
ok jsing@
commit ec33944c8e5464cccb989d14a724ff719568360f
Author: jsing <>
Date: Mon Sep 22 14:26:22 2014 +0000
Refactor and simplify the ECC extension handling. The existing code
effectively built two "static" data structures - instead of doing this,
just use static data structures to start with.
From OpenSSL (part of a larger commit).
ok miod@
commit a93095c300b93e8eba4acc08ee56e0e44cd1ea10
Author: jsing <>
Date: Mon Sep 22 13:18:50 2014 +0000
Also check the result from final_finish_mac() against finish_mac_length in
ssl3_send_finished(). While this previously checked against a zero return
value (which could occur on failure), we may as well test against the
expected length, since we already know what that is.
commit c466f109ee50b4fb4d0a2b34d1e88ab61e85dbc3
Author: jsing <>
Date: Mon Sep 22 12:36:06 2014 +0000
It is possible (although unlikely in practice) for peer_finish_md_len to
end up with a value of zero, primarily since ssl3_take_mac() fails to check
the return value from the final_finish_mac() call. This would then mean that
an SSL finished message with a zero-byte payload would successfully match
against the calculated finish MAC.
Avoid this by checking the length of peer_finish_md_len and the SSL
finished message payload, against the known length already stored in
the SSL3_ENC_METHOD finish_mac_length field (making use of a previously
unused field).
ok miod@ (a little while back)
commit 90612016cbe3813190a27cad6536639b9082d2fe
Author: jsing <>
Date: Sun Sep 21 17:44:37 2014 +0000
Document SSL_OP_TLSEXT_PADDING.
From OpenSSL.
commit ced588686f3973d626db1855edff3ea7d70deac1
Author: jsing <>
Date: Sun Sep 21 17:11:04 2014 +0000
Move the TLS padding extension under an SSL_OP_TLSEXT_PADDING option, which
is off by default (instead of being enabled unconditionally).
The TLS padding extension was added as a workaround for a bug in F5 SSL
terminators, however appears to trigger bugs in IronPort SMTP appliances.
Now the SSL client gets to choose which of these devices it wants to
trigger bugs in...
Ported from OpenSSL.
Discussed with many.
ok miod@
commit ffa2bc864f2c960826a3cfc45cb9119ef299a757
Author: miod <>
Date: Sun Sep 21 12:17:42 2014 +0000
a_enum.c used to be a copy of a_int.c with s/INTEGER/ENUMERATED/g , but
some changes an a_int.c did not get applied to a_enum.c; despite style
changes, make sure BN_to_ASN1_ENUMERATED() correctly handles a zero value
the same way BN_to_ASN1_INTEGER() does.
ok bcook@ beck@ jsing@
commit 150a5f34aeacfa21407485b955f124a1818a0a96
Author: miod <>
Date: Sun Sep 21 12:14:34 2014 +0000
Fix a memory leak in the error path in ASN1_mbstring_ncopy().
Replace an if() posse with a switch() statement in traverse_string().
Remove unnecessary casts in cpy_*(),
with tweaks from guenther@; ok bcook@ jsing@ guenther@
commit 8a936c80fa52c0c081daf615eba63ea991e5cc8e
Author: doug <>
Date: Sun Sep 21 05:06:23 2014 +0000
Add support for word anchors \< and \> to regex regression tests.
These are copied from the existing [[:<:]] and [[:>:]] tests.
commit a74d3779b0a0bbf115a73ec091fc9e2b80c36399
Author: jsing <>
Date: Fri Sep 19 16:02:35 2014 +0000
Add CHACHA20 as a cipher symmetric encryption alias.
From Ming <gzchenym at 126.com>
commit 2ef03ae0b6d13ac785b477deadd291b89a2aa02a
Author: tedu <>
Date: Fri Sep 19 14:32:24 2014 +0000
remove obfuscating parens. man operator is your friend.
commit 7cce6bd61957d60507d7bf06ba4838ff7d15c275
Author: schwarze <>
Date: Fri Sep 19 12:32:08 2014 +0000
Fix on 32bit platforms where 0xdeadbeef > LONG_MAX.
To avoid making tests machine dependent, only test values inside 32bit
LONG_{MIN,MAX} and outside 64bit LONG_{MIN,MAX}, but none in between.
While here, cover 32bit edge cases, negative values, and overflows.
ok jsing@
commit 0f8b0df6547b268d58ce6c83d96a3e0797f3b0a5
Author: lteo <>
Date: Wed Sep 17 02:20:45 2014 +0000
Remove unused #define.
ok jsing@
commit c0458ed11577919818f156291406c8c17b5c5467
Author: miod <>
Date: Tue Sep 16 18:15:21 2014 +0000
A few more MLINKs.
commit 438011234a70df0183e3fc71c14ebf490ee3a9e8
Author: jmc <>
Date: Tue Sep 16 16:05:44 2014 +0000
a little less sendmail specific;
commit d7b28a4102a896068b389cb0299f42f33142a752
Author: schwarze <>
Date: Sun Sep 14 14:32:44 2014 +0000
Do not claim that empty numbers set EINVAL, our implementation doesn't.
Mention that invalid bases do set EINVAL (as required by POSIX);
this part of the change uses part of an earlier patch by millert@.
Minor mdoc(7) cleanup and sync between the two pages while here.
Feedback and ok jmc@ and millert@.
commit 53c658eb777ca4431502fba1c0e4a4363024e741
Author: schwarze <>
Date: Sat Sep 13 20:10:12 2014 +0000
Make sure that the following functions return 0 and EINVAL as
required by the C standard when called with an invalid base:
strtoll(), strtoimax(), strtoul(), strtoull(), and strtoumax().
Same behaviour for strtoq() and strtouq() even though not standardized.
No functional change in strtol(), it was the only one already correct.
While here, simplify the conditional expression for checking the base
and sync whitespace and comments among the six files.
ok millert@
commit 3a598a03c59375e9c15174e084dd346de405cccc
Author: jsing <>
Date: Wed Sep 10 16:51:42 2014 +0000
Disable -Wshadow again, since it breaks builds on vax with gcc3.
commit 71a4f98f564e5b88afb87e4892c4b926f65167ce
Author: schwarze <>
Date: Mon Sep 8 01:27:54 2014 +0000
obvious cases of missing .An;
found with the new mandoc(1) MANDOCERR_AN_MISSING warning;
no text changes
commit dca9dad4e648f6fe3909a874fde71913b3a711bc
Author: jsing <>
Date: Sun Sep 7 12:16:23 2014 +0000
Remove SSL_kDHr, SSL_kDHd and SSL_aDH. No supported ciphersuites use them,
nor do we plan on supporting them.
ok guenther@
commit 0d437d545beb04ebfc68bf5862ee0dc6bdc9cfc8
Author: doug <>
Date: Mon Sep 1 20:54:37 2014 +0000
Enable -Wshadow in openssl(1) and fix a few shadow warnings.
ok jsing@
commit 1a6f488dcbc5e44571909109d93327b583daed20
Author: jsing <>
Date: Mon Sep 1 14:26:01 2014 +0000
Convert ecparam to new option/usage handling.
commit c3f22d192abbd19a5dcea165e07e1f57680cfd22
Author: jsing <>
Date: Mon Sep 1 14:21:06 2014 +0000
Improve option usage output.
If the option/argument string exceeds the given width, add a hanging indent
prior to displaying the description. Also, if the description includes
newlines, wrap and indent for each newline so that the indentation is
correctly maintained.
commit 73a99c2b1c633d3c2bdb9e6e3c184b6f3c0e5626
Author: jsing <>
Date: Sat Aug 30 15:59:43 2014 +0000
Convert openssl(1) version to new option/usage handling.
commit b453a202c7c52a9d0b17523ceeb8e12e9f0d6d0a
Author: jsing <>
Date: Sat Aug 30 15:14:03 2014 +0000
Move the callback function pointer outside the opt union so that the option
values are useable by the function. Also provide an option type that calls
a function without consuming/passing an argument.
commit a74b70501198f2405fb822e12ff504be79530c1e
Author: jsing <>
Date: Thu Aug 28 14:25:48 2014 +0000
OpenSSL_add_all_algorithms() is called from openssl_startup() - it does not
need to also be called from some of the applications.
commit d2d613516525546f2953a9ece5abfc131c0122f0
Author: jsing <>
Date: Thu Aug 28 14:23:52 2014 +0000
openssl_setup() calls SSL_load_error_strings(), which happens to call
ERR_load_crypto_strings() - as such, we do not need to call the same
function from most of the applications.
commit a238186b877f609cfd85101ed207159398246ed3
Author: jsing <>
Date: Thu Aug 28 14:15:28 2014 +0000
Add option handling with a callback function for argument processing.
commit aa279a9f51172934d3f0d66465cd5200b359b551
Author: jsing <>
Date: Thu Aug 28 14:01:32 2014 +0000
Convert openssl(1) crl to new option/usage handling.
commit 522edbd90268428da6615b0a3ce47fb4944cc7e2
Author: jsing <>
Date: Thu Aug 28 13:55:19 2014 +0000
Given the usage option name/argument name width a few more characters.
commit 7c3442050d497ce6cc8d71b5e3d62ef1f886d72b
Author: jsing <>
Date: Thu Aug 28 13:51:38 2014 +0000
Ensure that a format option argument is a known specifier.
commit 10ed464a4124844955d9278219376e32976d3bc4
Author: jsing <>
Date: Thu Aug 28 13:39:07 2014 +0000
Add option handling for ordered flags.
commit dde148e3ccccc9357ff453e10181933fc68ddcb3
Author: jsing <>
Date: Thu Aug 28 13:37:41 2014 +0000
Add option handling for input/output formats.
commit 964eac1db1b2c131651892534cffb0aa1358771e
Author: bcook <>
Date: Thu Aug 28 01:00:57 2014 +0000
preserve errno value on success.
If getrandom returns a temporary failure, make sure errno is not polluted when
it succeeds. Thanks to deraadt@ for pointing it out.
commit 7fd0dc661933f4e63ae80bb3c081adb4ed10d9f9
Author: jsing <>
Date: Wed Aug 27 15:55:23 2014 +0000
Convert openssl(1) prime to the new options/usage handling.
commit 31dc851f9eadaecde1a1d8d6f3d87e6bacbc690c
Author: jsing <>
Date: Wed Aug 27 15:54:02 2014 +0000
Reset the config struct before calling options_parse(), otherwise config
options from the previous run stick in interactive mode.
commit caf279a19226a3ba6defd905e837337ad61e6e8c
Author: jsing <>
Date: Wed Aug 27 15:51:41 2014 +0000
Add an option type that handles argument to integer conversion.
commit 15f71b45fe92e4aee363099815e4dbbe8f91b4a4
Author: jsing <>
Date: Wed Aug 27 14:59:44 2014 +0000
Implement table-driven option parsing that allows an application to
specify what its valid options are and where it wants them to be stored.
This also allows for usage to be generated, almost for free, ensuring
that the options and usage are automatically kept in sync.
This will allow for a single option parsing implementation, rather than the
current one-hand-rolled-option-parsing-and-random-usage-implementation per
application.
As a starting point, port the openssl(1) rand application to the new option
parsing and usage (along with associated code clean up).
With input from doug@.
ok bcook@ doug@
commit 5ba01786f1c904130f2fbb15e296690b3fb0cdff
Author: reyk <>
Date: Wed Aug 27 10:46:53 2014 +0000
Add the API function ressl_config_set_ecdhcurve(config, name) to set a
non-standard ECDH curve by name or to disable it by passing NULL.
OK jsing@
commit e60eb507e97c9e8ddbb77ebb12809108227937d4
Author: robert <>
Date: Tue Aug 26 20:03:31 2014 +0000
remove nginx references
commit 0d4b7f812c230054c5eb5b3135aaef87495d0ec9
Author: jsing <>
Date: Tue Aug 26 17:50:07 2014 +0000
Update regress to follow openssl(1) move.
commit 062dbf53269add91aa6db6d0c0abc420a52d55b8
Author: jsing <>
Date: Tue Aug 26 17:47:25 2014 +0000
Move openssl(1) from /usr/sbin/openssl to /usr/bin/openssl, since it is not
a system/superuser binary. At the same time, move the source code from its
current lib/libssl/src/apps location to a more appropriate home under
usr.bin/openssl.
ok deraadt@ miod@
commit abf767715a7b06a2ef40a8f2d7014c05f4fefbe1
Author: bcook <>
Date: Sun Aug 24 16:11:39 2014 +0000
constify strerror return value
There is no intention to modify the string returned by strerror and
doing so is forbidden by the standard.
from Jonas 'Sortie' Termansen
ok tedu@ deraadt@
commit c7d72f8bc5626a04621469a7db6a79e16b638cf8
Author: bcook <>
Date: Sun Aug 24 16:08:30 2014 +0000
Include <sys/time.h> to get struct timeval
The crypto/bio/bss_dgram.c file assumes that another file indirectly
includes <stdlib.h> that includes <sys/time.h>.
from Jonas 'Sortie' Termansen
ok deraadt@ tedu@
commit 4a5854563f5fbb9af3f2881118d3a1a1217a59d0
Author: bcook <>
Date: Sun Aug 24 16:07:29 2014 +0000
Include <sys/select.h> to get select
These files currently depends on the wrapper <stdlib.h> file indirectly
including a header that provides select().
from Jonas 'Sortie' Termansen
ok deraadt@ tedu@
commit 1a09c7bcdea48c84525d28383044465441713e73
Author: jsing <>
Date: Sun Aug 24 14:55:23 2014 +0000
Let SSL_CIPHER_description() allocate the buffer for the description,
rather than passing in a fixed size buffer.
This is yet another example of a horribly designed API - if the given
buffer is NULL then SSL_CIPHER_description() allocates one for us (great!),
which we then need to free (no problem). However, if this allocation fails
it returns a pointer to a static string "OPENSSL_malloc Error" - obviously
bad things happen if we call free() with this pointer.
Unfortunately, there is no way of knowing that the function failed, other
than comparing the returned string against the string literal - so do that
before calling free()...
Joint work with beck@ during g2k14.
commit dd81687c79956078ba1edbbb183d4591527f5178
Author: jsing <>
Date: Sun Aug 24 14:36:46 2014 +0000
Replace the remaining uses of ssl3_put_cipher_by_char() with s2n and a
ssl3_cipher_get_value() helper function, which returns the cipher suite
value for the given cipher.
ok miod@
commit cbc840fb9a6499c6d657370b1bfd5c265840d241
Author: jsing <>
Date: Sat Aug 23 15:37:38 2014 +0000
Remove non-standard GOST cipher suites (which are not compiled in
currently).
From Dmitry Eremin-Solenikov.
commit 9e859fd31cb85b3e1eeb7468b1faa49001197875
Author: jsing <>
Date: Sat Aug 23 14:52:41 2014 +0000
Replace the remaining ssl3_get_cipher_by_char() calls with n2s() and
ssl3_get_cipher_by_id().
ok bcook@
commit dfe952cd2343409a2ef320114b9cbe79118b15af
Author: miod <>
Date: Tue Aug 19 16:13:24 2014 +0000
Three independent typos for `independent' or `independently'.
commit 053f529af606e89d98d2bf1443cb9af9b08d52e7
Author: bcook <>
Date: Mon Aug 18 19:15:34 2014 +0000
replace more ROTATE macros with plain-old C code.
Let the compiler optimize these. Even older versions of gcc generate
equal or better quality code than the inline asm.
ok miod@
commit fd8168edaeb815de429dcca1a4ff8ef20e9f23a9
Author: bcook <>
Date: Mon Aug 18 19:11:48 2014 +0000
remove return value from HOST_c2l/l2c macros
These macros and asm inlines simulate a function returning a value, but
nothing ever uses this return value. Remove the pseudo-returns and
(void) casts discarding the unused values.
This, maybe unsurprisingly, speeds things up a bit. It also removes the
GCC 4.9 warnings about unused values.
ok miod@ deraadt@
commit 00705a606d5f0b0fcb0f0597e81e08b8843befe8
Author: tedu <>
Date: Mon Aug 18 14:34:58 2014 +0000
a small tweak to improve malloc in multithreaded programs. we don't need
to hold the malloc lock across mmap syscalls in all cases. dropping it
allows another thread to access the existing chunk cache if necessary.
could be improved to be a bit more aggressive, but i've been testing this
simple diff for some time now with good results.
commit cc53b5e2d8b8faf355568084d566b6ee73963c84
Author: bcook <>
Date: Sat Aug 16 18:47:40 2014 +0000
replace sprintf/strdup with asprintf in engine test
commit 39073bdc45fad701a2716f4807a66789d856a63b
Author: bcook <>
Date: Sat Aug 16 18:42:41 2014 +0000
only build the getrandom path if SYS_getrandom is defined.
like the sysctl path
commit e825ba63e623179b627e45a2ca8771adea22978b
Author: bcook <>
Date: Sat Aug 16 17:30:12 2014 +0000
use C rather than C++ array initialization syntax
this causes errors with stricter C compilers
commit 21b03e3cef62be7850e2ec5a6bd39ae58085b33b
Author: bcook <>
Date: Sat Aug 16 17:21:56 2014 +0000
getrandom(2) support for getentropy_linux
This enables support for the new getrandom(2) syscall in Linux 3.17.
If the call exists and fails, return a failure in getentropy(2) emulation as
well. This adds a EINTR check in case the urandom pool is not initialized.
Tested on Fedora Rawhide with 3.17rc0 and Ubuntu 14.04
ok deraadt@
commit 42eb6de87bae56d6f7f1bada1bdf4d1b75300086
Author: tedu <>
Date: Fri Aug 15 16:55:32 2014 +0000
use void * instead of char *. ok jsing
commit c477dfb2101dcb04d3f4b0ef9cc271ae1a10fa82
Author: guenther <>
Date: Fri Aug 15 04:14:36 2014 +0000
XPG requires insque() and remque() to work with linear lists and not just
circular lists. Amazingly, they managed to extend the requirements to no
longer match the behavior of the VAX instructions they were modeled after,
so the trivial VAX ASM versions have to go. Nice job breaking it, X/Open!
Based on a diff from enh (at) google.com
ok miod@
commit 8231adc99df476338c87b8c14b744d42c5ce44be
Author: tobias <>
Date: Thu Aug 14 17:55:28 2014 +0000
fixed overrid(d)en typo
millert@ and jmc@ agree that "overriden" is wrong
commit 9301aeeffb049e4f15e1b641bdbe10800fac4217
Author: deraadt <>
Date: Wed Aug 13 06:04:10 2014 +0000
munmap correct object in (extremely unlikely, and effectively terminal)
case of failing to map the 2nd object.
found by Paul Maurers
commit 24e07b3fddf118c02419fa5fef8bf261324263fb
Author: schwarze <>
Date: Tue Aug 12 20:36:41 2014 +0000
Merge a patch that i successfully pushed to OpenSSL,
original OpenSSL commit message follows:
Fixed as shown; to be released post-1.0.2
commit bebbb11d132cc149f7713d6693703f8bfae10072
Author: Ingo Schwarze <schwarze@usta.de>
Date: Sat Jan 18 11:46:25 2014 +0100
RT3239: Extra comma in NAME lines of two manpages
In two OpenSSL manual pages, in the NAME section, the last word of the
name list is followed by a stray trailing comma. While this may seem
minor, it is worth fixing because it may confuse some makewhatis(8)
implementations.
While here, also add the missing word "size" to the one line
description in SSL_CTX_set_max_cert_list(3).
Reviewed by: Dr Stephen Henson <shenson@drh-consultancy.co.uk>
commit e3f7eb6918a0002c2ed29eda1915fe7f949e8fe7
Author: bcook <>
Date: Tue Aug 12 15:02:52 2014 +0000
Replace intrinsic ROTATE macros with an inline.
Without the cast/mask, the compiler is allowed to optimize this directly
to the correct CPU intrinsic for rotate.
commit 571b5906714763516a6e2fe68de4587f375c93e6
Author: bcook <>
Date: Mon Aug 11 13:29:43 2014 +0000
Guard RSA / RC4-5 ASM when NO_ASM is not defined
Most assembly blocks remain inactive if OPENSSL_NO_ASM is not defined,
only enabling inline assembly, but the RSA / RC4-5 blocks (used only in
amd64 systems) turn on implicitly. Guard these two as well.
This simplifies enabling just inline ASM in portable, no effective
change in OpenBSD.
commit 7114838290e558350dac29bc2698a7ce966c941e
Author: jsing <>
Date: Mon Aug 11 10:46:19 2014 +0000
Check the return value of sk_SSL_CIPHER_new_null(), since it allocates
memory and can return NULL.
ok miod@
commit 86186ae0ea468509f1329af97a57e914399e2a76
Author: miod <>
Date: Mon Aug 11 04:46:42 2014 +0000
Unchecked memory allocation and potential leak upon error in
ssl3_get_cert_verify().
ok guenther@ jsing@
commit 599ec58e05babe31da6dd6d571ec1641aa129631
Author: miod <>
Date: Mon Aug 11 04:45:19 2014 +0000
Remove now-unused SSL2_STATE as well as ssl2-specific state machine values.
ok guenther@ jsing@
commit edfed51fbb8624a86ac391f85b42ef2b8f652502
Author: jsing <>
Date: Mon Aug 11 01:10:42 2014 +0000
Currently, ssl3_put_char_by_bytes(NULL, NULL) is just a long handed way
of writing "2". Add a define for the SSL3_CIPHER_VALUE_SIZE (rather than
using a less-readable hardcoded constant everywhere) and replace the
ssl3_put_char_by_bytes(NULL, NULL) calls with it.
ok bcook@ miod@
commit 979c39983011d08658d10b972a472926b51e614c
Author: jsing <>
Date: Mon Aug 11 01:06:22 2014 +0000
Provide a ssl3_get_cipher_by_id() function that allows ciphers to be looked
up by their ID. For one, this avoids an ugly mess in ssl_sess.c, where the
cipher value is manually written into a buffer, just so the cipher can be
located using ssl3_get_cipher_by_char().
ok bcook@ miod@
commit 8a670a0665958a4c5b49d0338775ad3e3bb74053
Author: jsing <>
Date: Sun Aug 10 15:06:15 2014 +0000
Tweak cipher list comments and add missing cipher value comments.
commit 8b118dbd58dccfe8c75ac277097e35ef816970a4
Author: jsing <>
Date: Sun Aug 10 14:57:04 2014 +0000
Remove disabled (weakened export and non-ephemeral DH) cipher suites from
the cipher list. This reduces code size, saves data segment space and
prevents them from being turned back on at runtime by flipping a bit in
memory.
ok guenther@
commit e3874afafb6a5ffd102f36179eff6b17d997456c
Author: jsing <>
Date: Sun Aug 10 14:42:56 2014 +0000
Since we no longer need to support SSLv2-style cipher lists, start
unravelling the maze of function pointers and callbacks by directly
calling ssl3_{get,put}_cipher_by_char() and removing the
ssl_{get,put}_cipher_by_char macros.
Prompted by similar changes in boringssl.
ok guenther.
commit 26b36d04fecca689246759692ebe6090be7062c5
Author: guenther <>
Date: Sun Aug 10 07:31:58 2014 +0000
AF_IMPLINK and AF_BLUETOOTH are gone, but add printing of SOCK_SEQPACKET
commit cca51897b44d4ed765caa830ad138ac09c03fc22
Author: guenther <>
Date: Sun Aug 10 02:15:18 2014 +0000
Only need <stdint.h> and not all of <inttypes.h> here
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment