Commit graph

358 commits

Author SHA1 Message Date
Rasmus Lerdorf
f1806e67e6 Support for openssl without SSLv2 supprot compiled in. Distros are starting to
remove support now and this wasn't compiling anymore on my Debian dev box.
2011-04-24 20:47:22 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Gustavo André dos Santos Lopes
063393f29b - Fixed bug #53592 (stream_socket_enable_crypto() busy-waits in client mode).
- Fixed stream_socket_enable_crypto() not honoring the socket timeout in
  server mode.
2010-12-23 01:44:54 +00:00
Antony Dovgal
3722811395 make sure the stream context is present before looking for any options
and fix segfault
2010-12-04 21:54:20 +00:00
Adam Harvey
18ec6dae2c Implemented FR #53447 (Cannot disable SessionTicket extension for servers that
do not support it).

I haven't written a test due to the need for such a test to have a HTTPS server
available which mishandles SessionTicket requests; it's likely that server
administrators will gradually fix this either intentionally or through OpenSSL
upgrades. That said, if there's a great clamoring for a test, I'll work one up.
2010-12-03 09:34:35 +00:00
Felipe Pena
2d8a4ea299 - Fixed bug #52947 (segfault when ssl stream option capture_peer_cert_chain used) 2010-09-29 01:25:35 +00:00
Pierre Joye
aa0ed267a2 - use TSRMLS_*C instead of TSRMLS_FETCH in zend_list_insert 2010-09-16 09:13:19 +00:00
Pierre Joye
abde405f1d - #45808, stream_socket_enable_crypto() blocks and eats CPU 2010-06-20 16:33:16 +00:00
Felipe Pena
6a1ad16066 - Fixed compiler warnings 2010-04-23 13:32:03 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Arnaud Le Blanc
7c0803a8ca merge from trunk: openssl sni support (rev 289831) 2009-11-30 13:31:53 +00:00
Sriram Natarajan
ac2d3990f2 - Fixed bug #49447 (php engine need to correctly check for socket API
return status on windows). (Sriram Natarajan)
2009-09-04 07:59:48 +00:00
Mikko Koppanen
e4c11010f1 Fixes a memory leak in ssl streams. The context was not properly freed 2009-08-22 02:31:23 +00:00
Sriram Natarajan
34d8ee27cc - 48182 ssl handshake fails during asynchronous socket connection 2009-07-28 19:28:08 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Scott MacVicar
15a212b259 MFH Fix bug #46748, segfault when SSL has more than one error message. 2008-12-08 11:54:22 +00:00
Pierre Joye
569a48922e - MFH: #46127, php_openssl_tcp_sockop_accept forgets to set context on accepted stream 2008-11-16 23:14:12 +00:00
Ilia Alshanetsky
4c6db91b87 Fixed bug #45382 (timeout bug in stream_socket_enable_crypto). 2008-09-11 23:56:43 +00:00
Antony Dovgal
cf7e15c3a0 MFH: manage references of stream context properly 2008-07-11 10:25:15 +00:00
Hannes Magnusson
72080950ab Fixed bug#44716 (Progress notifications incorrect) 2008-04-14 12:16:07 +00:00
Joe Orton
c3474b9116 MFH: Fixed bug #32979 (OpenSSL stream->fd casts broken in 64-bit build)
(stotty at tvnet dot hu)
MFH: Fix another case of a broken stream->fd cast in 64-bit builds.
2008-04-04 13:02:48 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Nuno Lopes
887d439404 use FREE_ZVAL() instead of free() to free a zval 2007-09-29 11:24:05 +00:00
Nuno Lopes
e029a0ee59 fix a few compiler warnings (mostly use of unitialized values) 2007-09-29 11:18:42 +00:00
Ilia Alshanetsky
921294e0d7 Fixed bug #41770 (SSL: fatal protocol error due to buffer issues). 2007-07-02 16:42:10 +00:00
Ilia Alshanetsky
d2ec6b60da Fixed bug #41236 (Regression in timeout handling of non-blocking SSL
connections during reads and writes).
2007-05-27 17:05:51 +00:00
Antony Dovgal
e07b83afb2 MFH: fix leak on error 2007-04-04 10:44:55 +00:00
Antony Dovgal
f9d54cbb75 MFH: fix #40750 (openssl stream wrapper ignores default_stream_timeout) 2007-03-14 19:22:14 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Rob Richards
cf4c83dd2b Fix win32 build 2006-12-06 13:18:36 +00:00
Ilia Alshanetsky
53a1403b53 Fixed bug #39571 (timeout ssl:// connections). 2006-12-05 01:39:07 +00:00
Ilia Alshanetsky
0d9f9b67b7 Fixed bug #39039 (SSL: fatal protocol error when fetching HTTPS from
servers running Google web server).
2006-10-05 00:38:02 +00:00
Pierre Joye
59ddb74938 - fix leaks in openssl context options 2006-05-26 00:32:07 +00:00
Wez Furlong
8f87235107 Add two new context options for ssl:
"capture_peer_cert" and "capture_peer_cert_chain"

If true, the peer certificate and peer certificate chain respectively will be
captured and made available in the ssl context variables "peer_certificate" and
"peer_certificate_chain" respectively.  The certificates are exposed as x509
certificate resources and can be inspected using the existing openssl extension
functions.

This allows applications to perform extended validation.
2006-04-30 23:43:46 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
Dmitry Stogov
8a39d704c4 Fixed memory allocation bug 2005-09-07 15:36:31 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Wez Furlong
843807c647 When a socket is non-blocking, don't block ssl enabled sockets.
Allow for non-blocking negotiation when calling stream_socket_enable_crypto().
That function will return the foolowing values:

false - negotiation failed
0     - try again when more data is available (only for non-blocking sockets)
true  - ssl was enabled
2004-12-25 02:02:56 +00:00
Joe Orton
ee39ec7d0a Remove unused variable. 2004-11-03 13:12:41 +00:00
Anantha Kesari H Y
7387db4366 Included select.h for NetWare 2004-09-29 10:28:17 +00:00
Wez Furlong
99e290f882 Fix for Bug #24189: possibly unsafe select(2) usage.
We avoid the problem by using poll(2).

On systems without poll(2) (older bsd-ish systems, and win32), we emulate
poll(2) using select(2) and check for valid descriptors before attempting
to access them via the descriptor sets.

If an out-of-range descriptor is detected, an E_WARNING is raised suggesting
that PHP should be recompiled with a larger FD_SETSIZE (and also with a
suggested value).

Most uses of select(2) in the source are to poll a single descriptor, so
a couple of handy wrapper functions have been added to make this easier.

A configure option --enable-fd-setsize has been added to both the unix and
win32 builds; on unix we default to 16384 and on windows we default to 256.
Windows FD_SETSIZE imposes a limit on the maximum number of descriptors that
can be select()ed at once, whereas the unix FD_SETSIZE limit is based on the
highest numbered descriptor; 256 should be plenty for PHP scripts under windows
(the default OS setting is 64).

The win32 specific parts are untested; will do that now.
2004-09-17 12:44:56 +00:00
Wez Furlong
0bc0ccce2b Fix Bug #29296: add explicit sslv2 and sslv3 transports 2004-09-10 11:43:47 +00:00
Wez Furlong
ad99c124c4 Finally a fix for #23220: IIS does not cleanly close SSL connections.
Also enable the safe and recommended bug work around options in the SSL
context.
2004-05-23 10:36:08 +00:00
Wez Furlong
e9920ede1f Fix bug #28096 - stream_socket_accept() on an SSL server socket doesn't
enable SSL on the accepted socket.

- Add cipher list context option
- Add helpful hint about why SSL server socket fails with mysterious
  error (eg: you need an SSL certificate for most ciphers).
2004-04-21 23:02:06 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Ilia Alshanetsky
22142c392c Fixed compiler warning due to unused variables. 2003-12-03 15:50:27 +00:00
Wez Furlong
6d86bb9e40 (sort of) MFB, feof fix for sockets. 2003-11-28 23:20:23 +00:00
Wez Furlong
eaf0942c8b Port liveness and SSL CA validation from 4.3 branch.
Make stream_select() work on ssl-enabled sockets again.
2003-11-27 17:40:16 +00:00
Wez Furlong
e087da60dc And this EOF flag... 2003-10-08 11:23:47 +00:00
Wez Furlong
ad93053ec4 Merge remaining code from 4.3 to fix #22238 in HEAD. 2003-09-21 18:02:08 +00:00