Commit graph

405 commits

Author SHA1 Message Date
Anatol Belski
84a4041ba4 fix TS build 2014-08-07 19:49:59 +02:00
Daniel Lowrey
217c8edd00 Merge branch 'PHP-5.6'
* PHP-5.6:
  Bug #41631: Observe socket read timeouts in SSL streams
2014-08-07 12:17:29 -04:00
Daniel Lowrey
98e67add15 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Bug #41631: Observe socket read timeouts in SSL streams

Conflicts:
	ext/openssl/xp_ssl.c
2014-08-07 12:07:55 -04:00
Daniel Lowrey
5ac2e5f850 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Bug #41631: Observe socket read timeouts in SSL streams
2014-08-07 11:51:42 -04:00
Daniel Lowrey
6569db8808 Bug #41631: Observe socket read timeouts in SSL streams 2014-08-07 11:47:42 -04:00
Dmitry Stogov
417ed16d11 Make stream->context indirect trough zend_resource (stream->ctx->ptr).
Fixed ext/standard/tests/streams/bug61115.phpt
2014-08-07 15:55:37 +04:00
Dmitry Stogov
7301994c28 Merge branch 'master' into phpng
* master: (46 commits)
  PHP_INT_MIN and _MAX tests
  NEWS and UPGRADING
  Added PHP_INT_MIN
  Fix wrong lenght size
  Bug #51096 - Remove unnecessary ? for first/last day of
  Moved streams related functions to xp_ssl.c
  Remove duplicate NEWS
  Update NEWS
  Update NEWS
  Update NEWS
  BFN
  BFN
  Fixed bug #67715 (php-milter does not build and crashes randomly).
  We need to turn off any strict mode here for this warning to show up
  Disable restrictions regarding arrays in constants at run-time. For the discussion around it, see the thread on the mailing list: http://www.mail-archive.com/internals@lists.php.net/msg68245.html
  Revert "Fix bug #67064 in a BC safe way"
  Updated NEWS for #67693
  Updated NEWS for #67693
  Fixed bug #67693 - incorrect push to the empty array
  add missing entry to NEWS
  ...

Conflicts:
	Zend/tests/errmsg_040.phpt
	Zend/tests/ns_059.phpt
	Zend/zend_language_parser.y
	Zend/zend_vm_def.h
	ext/openssl/openssl.c
	ext/reflection/php_reflection.c
	ext/session/session.c
	ext/spl/spl_directory.c
	ext/spl/spl_iterators.c
	ext/sqlite3/sqlite3.c
	ext/standard/array.c
2014-08-04 13:56:27 +04:00
Tjerk Meesters
a41a16c5cd Merge branch 'PHP-5.6'
* PHP-5.6:
  Moved streams related functions to xp_ssl.c
2014-07-31 12:18:19 +08:00
Tjerk Meesters
8f345a7148 Moved streams related functions to xp_ssl.c 2014-07-31 12:17:17 +08:00
Tjerk Meesters
0120a9ca4b Merge branch 'PHP-5.6'
* PHP-5.6:
  Wildcards should only be used in the first name component; fixed comment style
2014-07-29 19:15:20 +08:00
Tjerk Meesters
a7dad26c4b Wildcards should only be used in the first name component; fixed comment style 2014-07-29 19:15:01 +08:00
Tjerk Meesters
4b41009064 Merge branch 'PHP-5.6' 2014-07-24 14:40:30 +08:00
Tjerk Meesters
38e714ece5 Fixed #67666 - Subject altName doesn't match wildcards 2014-07-24 14:36:31 +08:00
Xinchen Hui
110bf9c720 Merge remote-tracking branch 'origin/master' into phpng
Conflicts:
	Zend/zend_compile.h
	ext/openssl/xp_ssl.c
2014-07-18 16:25:43 +08:00
Daniel Lowrey
a0cc25bbfb Merge branch 'PHP-5.6' 2014-07-16 00:15:05 -04:00
Lior Kaplan
cbcbf73fe8 Add ifdef on ecdh for single_ecdh_use
Allows build with OpenSSL < 0.9.8
2014-07-16 00:10:29 +03:00
Dmitry Stogov
424aebbf36 Added support for ext/openssl 2014-05-07 01:09:42 +04:00
Daniel Lowrey
f1aa39c1af Merge branch 'PHP-5.6'
* PHP-5.6:
  Bug #66840: Fix broken build when extension built separately
2014-04-13 15:19:23 -06:00
Daniel Lowrey
0e023e9784 Bug #66840: Fix broken build when extension built separately 2014-04-13 15:17:50 -06:00
Anatol Belski
dd7ecf2c5b fix ZTS 2014-03-10 12:24:32 +01:00
Daniel Lowrey
1f5459572e Merge branch 'PHP-5.6'
* PHP-5.6:
  Add encrypted server SNI support
  Raise timeout to 2s, reworded ssl timeout warning
  Refactor + reorganize openssl files
2014-03-05 10:23:54 -07:00
Daniel Lowrey
fad14e3180 Add encrypted server SNI support
- New "SNI_server_certs" context option maps host names to
  appropriate certs should client handshakes advertise the
  SNI extension:

    $ctx = stream_context_create(["ssl" => [
        "local_cert" => "/path/to/cert.pem",
        "SNI_server_certs" => [
            "domain1.com" => "/path/to/domain1.pem",
            "*.domain2.com" => "/path/to/domain2.pem",
            "domain3.com" => "/path/to/domain3.pem"
        ]
    ]]);

- Prefixing a "*." will utilize the matching cert if a client
  requests the primary host name or any subdomain thereof. So
  in the above example our "domain2.pem" will be used for both
  requests to "domain2.com" -and- "subdomain.domain2.com"
- The "SNI_server_certs" ctx option has no effect for client
  streams.
- SNI support is enabled by default as of 5.6 for both servers
  and clients. Servers must specify the "SNI_server_certs" array
  to actually use the SNI extension, though.
- If the `"SNI_enabled" => false` ctx option is also passed then
  "SNI_server_certs" has no effect.
- While supporting SNI by itself is enough to successfully
  negotiate the TLS handshake with many clients, servers MUST
  still specify a "local_cert" ctx option or run the risk of
  connection failures from clients that do not support the SNI
  extension.
2014-03-05 10:03:33 -07:00
datibbaw
020e161966 Raise timeout to 2s, reworded ssl timeout warning 2014-03-05 10:03:23 -07:00
Daniel Lowrey
27849c998a Refactor + reorganize openssl files
- All streams-related code now lives in xp_ssl.c. Previously
  stream code was split across both openssl.c and xp_ssl.c
- Folded superfluous php_openssl_structs.h into xp_ssl.c
- Server-specific options now set on SSL_CTX instead of SSL
- Deprecate SNI_server_name ctx option
- Miscellaneous refactoring
2014-03-05 10:03:11 -07:00
Daniel Lowrey
41bde3f0a7 Merge branch 'PHP-5.6'
* PHP-5.6:
  Capture peer cert even if verify fails
  Windows cert verify improvements + leak fixes
2014-03-02 10:39:03 -07:00
Daniel Lowrey
c126c16479 Capture peer cert even if verify fails
Previously the "capture_peer_cert" SSL context option only
captured the peer's certificate if the verification routine
succeeded.

By also capturing the on verify failure applications have the
ability to parse the cert and ask users whether they wish to
proceed given the information presented by the peer.
2014-03-02 10:35:52 -07:00
Daniel Lowrey
b3b709f1fc Merge branch 'PHP-5.6'
* PHP-5.6:
  Prevent implicit function declaration when TLSEXT unavailable
2014-02-25 19:12:49 -07:00
Daniel Lowrey
2bc0dbab44 Prevent implicit function declaration when TLSEXT unavailable 2014-02-25 19:12:33 -07:00
Anatol Belski
38d02db86d Merge branch 'PHP-5.6'
* PHP-5.6:
  fix linkage
  More openssl UPGRADING updates
  Fix build against older OpenSSL libs
  Update NEWS/UPGRADING with openssl additions
2014-02-21 23:14:48 +01:00
Anatol Belski
5b6ef90bc0 fix linkage
"extern inline" looks like tricky case for portability, but extern
is required with VS. So reduce the case to a starndard one to avoid
unporbatibily.
2014-02-21 23:09:16 +01:00
Daniel Lowrey
a27db7d2da Fix build against older OpenSSL libs 2014-02-21 13:01:04 -07:00
Daniel Lowrey
c3d76441d5 Fix build against older OpenSSL libs 2014-02-21 12:16:23 -07:00
Daniel Lowrey
1268bd6045 Merge branch 'PHP-5.6'
* PHP-5.6:
  Mitigate client-initiated SSL renegotiation DoS
2014-02-21 09:15:53 -07:00
Daniel Lowrey
5389d0963c Merge branch 'reneg-limit' of https://github.com/rdlowrey/php-src into PHP-5.6
* 'reneg-limit' of https://github.com/rdlowrey/php-src:
  Mitigate client-initiated SSL renegotiation DoS
2014-02-21 09:13:55 -07:00
Daniel Lowrey
b6edbd5897 Mitigate client-initiated SSL renegotiation DoS 2014-02-21 06:31:56 -07:00
Anatol Belski
04a10be9db Merge branch 'PHP-5.6'
* PHP-5.6:
  C89 compat
2014-02-21 11:24:18 +01:00
Anatol Belski
f51555ca58 C89 compat 2014-02-21 11:23:42 +01:00
Daniel Lowrey
86d9235de5 Merge branch 'PHP-5.6'
* PHP-5.6:
  Improve OpenSSL compile flag compatibility, minor updates
  Use crypto method flags; add tlsv1.0 wrapper; add wrapper tests
  Improve server forward secrecy, refactor client SNI
  Add 'honor_cipher_order' server context option
  Add 'capture_session_meta' context option
  Disable TLS compression by default in both clients and servers
  Release ssl buffers
  Add openssl_get_cert_locations() function
  Explicitly set cert verify depth if not specified
  Strengthen default cipher list
2014-02-20 17:46:54 -07:00
Daniel Lowrey
9f94e0b51c Improve OpenSSL compile flag compatibility, minor updates 2014-02-20 17:23:34 -07:00
Daniel Lowrey
3a9829af20 Use crypto method flags; add tlsv1.0 wrapper; add wrapper tests 2014-02-20 17:10:06 -07:00
Daniel Lowrey
d0c9207cff Improve server forward secrecy, refactor client SNI 2014-02-20 17:10:06 -07:00
Daniel Lowrey
742fc5fb35 Add 'honor_cipher_order' server context option 2014-02-20 17:10:06 -07:00
Daniel Lowrey
081c8e9d92 Add 'capture_session_meta' context option 2014-02-20 17:10:06 -07:00
Daniel Lowrey
b98b093d73 Disable TLS compression by default in both clients and servers 2014-02-20 17:10:06 -07:00
Daniel Lowrey
b9ba011c0f Release ssl buffers 2014-02-20 17:10:06 -07:00
Daniel Lowrey
4921c1f0ce Fix segfault accessing context when no context assigned
Conflicts:
	ext/openssl/xp_ssl.c
2014-02-14 10:33:43 -07:00
Daniel Lowrey
8582353700 Fix segfault accessing context when no context assigned 2014-02-14 10:24:08 -07:00
Daniel Lowrey
6c1cdd0814 Merge branch 'PHP-5.6'
* PHP-5.6:
  Fixed SNI failure from missing Z_STRVAL_PP
2014-02-04 19:13:50 -07:00
Daniel Lowrey
99fa59054d Fixed SNI failure from missing Z_STRVAL_PP 2014-02-04 19:11:56 -07:00
Daniel Lowrey
0893a13e32 Remove #if PHP_VERSION_ID version checks 2014-02-01 08:13:53 -07:00