boringssl/include/openssl
David Benjamin 22ce9b2d08 SSL_set_fd should create socket BIOs, not fd BIOs.
In OpenSSL, they create socket BIOs. The distinction isn't important on UNIX.
On Windows, file descriptors are provided by the C runtime, while sockets must
use separate recv and send APIs. Document how these APIs are intended to work.

Also add a TODO to resolve the SOCKET vs int thing. This code assumes that
Windows HANDLEs only use the bottom 32 bits of precision. (Which is currently
true and probably will continue to be true for the foreseeable future[*], but
it'd be nice to do this right.)

Thanks to Gisle Vanem and Daniel Stenberg for reporting the bug.

[*] Both so Windows can continue to run 32-bit programs and because of all the
random UNIX software, like OpenSSL and ourselves, out there which happily
assumes sockets are ints.

Change-Id: I67408c218572228cb1a7d269892513cda4261c82
Reviewed-on: https://boringssl-review.googlesource.com/7333
Reviewed-by: David Benjamin <davidben@google.com>
2016-03-07 18:19:12 +00:00
..
aead.h Point EVP_aead_chacha20_poly1305 at the standardized version. 2015-12-16 21:22:11 +00:00
aes.h Fix documentation typo. 2015-07-01 21:33:29 +00:00
arm_arch.h Remove CRYPTO_set_NEON_functional. 2016-02-23 23:19:46 +00:00
asn1_mac.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
asn1.h ASN1_get_object should not accept large universal tags. 2016-02-29 21:17:19 +00:00
asn1t.h Ditch remaining filename comments from public headers and ssl/ 2015-10-20 18:40:05 +00:00
base64.h Deprecate basically the entire base64 implementation. 2015-09-28 21:53:39 +00:00
base.h Add SPAKE2 over Ed25519. 2016-03-01 19:34:10 +00:00
bio.h SSL_set_fd should create socket BIOs, not fd BIOs. 2016-03-07 18:19:12 +00:00
blowfish.h
bn.h Rename the BIGNUM ASN.1 functions. 2016-01-27 22:37:44 +00:00
buf.h Have doc.go parse struct comments. 2016-01-26 23:23:23 +00:00
buffer.h
bytestring.h Parse BER for PKCS#12 more accurately. 2016-02-16 19:32:50 +00:00
cast.h
chacha.h Change |CRYPTO_chacha_20| to use 96-bit nonces, 32-bit counters. 2015-10-26 23:58:46 +00:00
cipher.h Fix up several comments and detect problems in the future. 2015-11-05 20:12:45 +00:00
cmac.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
conf.h Also add a no-op stub for OPENSSL_config. 2016-01-26 15:48:51 +00:00
cpu.h Remove CRYPTO_set_NEON_functional. 2016-02-23 23:19:46 +00:00
crypto.h Add |FIPS_mode|, which returns zero. 2016-03-02 00:15:37 +00:00
curve25519.h Add SPAKE2 over Ed25519. 2016-03-01 19:34:10 +00:00
des.h Fix shared library build on OS X. 2015-10-26 23:39:47 +00:00
dh.h Validate DH public keys for RFC 5114 groups. 2016-02-02 16:44:38 +00:00
digest.h Documentation typo. 2015-09-28 22:18:40 +00:00
dsa.h Reimplement DSA parsing logic with crypto/asn1. 2016-02-17 00:26:01 +00:00
dtls1.h
ec_key.h Rewrite ECPrivateKey serialization. 2016-02-16 23:51:09 +00:00
ec.h Add test that A+A = 2×A on elliptic curves. 2016-03-01 18:08:51 +00:00
ecdh.h Clean up |ECDH_compute_key|. 2015-10-27 17:00:25 +00:00
ecdsa.h Update comments to better document in-place semantics. 2016-01-19 17:01:37 +00:00
engine.h Unwind DH_METHOD and DSA_METHOD. 2015-11-03 22:54:36 +00:00
err.h Have doc.go parse struct comments. 2016-01-26 23:23:23 +00:00
evp.h Reset crypto/evp error codes. 2016-02-26 23:34:04 +00:00
ex_data.h Skip free callbacks on empty CRYPTO_EX_DATAs. 2015-12-15 21:32:14 +00:00
hkdf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
hmac.h Remove HMAC_CTX_set_flags. 2015-06-02 01:07:07 +00:00
lhash_macros.h
lhash.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
md4.h Store the partial block as uint8_t, not uint32_t. 2015-12-16 19:59:29 +00:00
md5.h Store the partial block as uint8_t, not uint32_t. 2015-12-16 19:59:29 +00:00
mem.h Fix some documentation comments. 2016-01-21 22:12:08 +00:00
obj_mac.h Rename NID_x25519 to NID_X25519. 2016-03-07 15:48:51 +00:00
obj.h Fix up several comments and detect problems in the future. 2015-11-05 20:12:45 +00:00
objects.h
opensslconf.h Rename opensslfeatures.h to opensslconf.h. 2016-02-26 01:32:50 +00:00
opensslv.h
ossl_typ.h
pem.h Decouple the EVP and PEM code. 2016-02-26 22:50:21 +00:00
pkcs7.h
pkcs8.h Changes to support node.js's use of PKCS#12. 2016-02-02 19:21:59 +00:00
pkcs12.h
poly1305.h Enable upstream's Poly1305 code. 2016-02-26 16:05:14 +00:00
pqueue.h
rand.h Add a deterministic PRNG for fuzzing. 2016-03-03 01:36:19 +00:00
rc4.h
rsa.h Move all signature algorithm code to crypto/x509. 2016-02-26 22:39:02 +00:00
safestack.h
sha.h Store the partial block as uint8_t, not uint32_t. 2015-12-16 19:59:29 +00:00
srtp.h Fold srtp.h into ssl.h. 2015-09-14 23:59:37 +00:00
ssl3.h Remove SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER. 2015-12-15 19:14:00 +00:00
ssl.h SSL_set_fd should create socket BIOs, not fd BIOs. 2016-03-07 18:19:12 +00:00
stack_macros.h Remove stack macros for nonexistent types. 2015-12-22 00:12:38 +00:00
stack.h Remove stack macros for nonexistent types. 2015-12-22 00:12:38 +00:00
thread.h
time_support.h Style: fix some header guards 2015-10-26 18:47:51 +00:00
tls1.h Update references to the extended master secret draft. 2016-02-02 16:37:55 +00:00
type_check.h
x509_vfy.h Bring back |verify_store|. 2016-03-02 15:57:27 +00:00
x509.h Move all signature algorithm code to crypto/x509. 2016-02-26 22:39:02 +00:00
x509v3.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00