Commit Graph

213 Commits

Author SHA1 Message Date
Pierre Joye
532f577fe9 - add OPENSSL_VERSION_TEXT and OPENSSL_VERSION_NUMBER constants
- skip tests if openssl version < 0.9.7j (known to work)
2006-09-03 15:31:01 +00:00
Antony Dovgal
821674720a fix test 2006-08-31 13:50:11 +00:00
Antony Dovgal
fb21b5d059 MFH: fix problem with mixed arguments accepted as zval* causing leaks/segfaults when converting to other types 2006-08-31 13:48:17 +00:00
Antony Dovgal
1dd6ee3f6d fix segfault/leak, add test 2006-08-30 21:51:08 +00:00
Antony Dovgal
1f138e7e01 MFH: fix segfault in openssl_seal(), add test 2006-08-30 20:50:04 +00:00
Antony Dovgal
efbb2a4838 fix #38486 (openssl extension does not build correctly) 2006-08-18 13:02:38 +00:00
Pierre Joye
8dc61360c6 - add openssl_csr_get_subject() and openssl_csr_get_public_key() 2006-08-15 20:27:22 +00:00
Pierre Joye
9a79a2f37c - add OPENSSL_KEYTYPE_EC constant
- openssl_pkey_get_details(), returns the key details
2006-08-15 00:38:05 +00:00
Ilia Alshanetsky
610b633096 Fixed compiler warning. 2006-07-31 03:41:20 +00:00
Pierre Joye
3786f956e6 - #36732, add req_extensions support to openssl_csr_new and _sign
(ben at psc dot edu)
- fix leaks in openssl_csr_new and sign
2006-07-31 00:33:42 +00:00
Pierre Joye
769174c2dc - #28382, add support for x509 extensions 2006-07-30 17:03:13 +00:00
Pierre Joye
5def392ce1 - 38261: openssl_x509_parse leaks with invalid certs 2006-07-30 16:26:20 +00:00
Pierre Joye
509761f96d - silent compiler warnings (signess) 2006-07-30 09:18:07 +00:00
Pierre Joye
3a75600dbb - MFH: make the test more obvious and add an explanation 2006-07-29 23:03:56 +00:00
Pierre Joye
3fe91ed83f - vi happiness++ 2006-07-29 22:52:49 +00:00
Antony Dovgal
9d3233651d improve test 2006-07-29 22:41:20 +00:00
Pierre Joye
47db124cda - #38255, fails on array as well 2006-07-29 22:39:34 +00:00
Pierre Joye
06bd78d720 - forgot the tests 2006-07-29 22:27:55 +00:00
Pierre Joye
46b3f37810 - fix leak when the key is not a valid key (like false or an array) 2006-07-29 22:10:50 +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
Ilia Alshanetsky
f34a85bc58 Improve "skip" checks 2005-12-27 17:16:41 +00:00
foobar
3e669bc950 MFH: nuke php3 legacy 2005-12-06 02:28:41 +00:00
foobar
d69ab24f69 MFH: - Fixed bug #35381 (ssl library is not initialized properly) 2005-11-28 11:37:43 +00:00
Dmitry Stogov
8a39d704c4 Fixed memory allocation bug 2005-09-07 15:36:31 +00:00
foobar
9477097564 MFH: Nuked EOLs from error messages 2005-08-18 13:34:41 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Wez Furlong
efc6ccaa01 Add optional parameter to openssl_pkcs7_verify() which specifies the name
of a file that will be filled with the verified data, but with the signature
information stripped.

Patch by Marton Kenyeres, mkenyeres (at) konvergencia dot hu
2005-06-30 14:25:41 +00:00
foobar
b8ac8eeca6 - Never use Z_TYPE* macros on non-zvals. 2005-04-19 22:04:28 +00:00
Ilia Alshanetsky
8c38ac19bf Fixed possible usage of str without being initialized. 2005-03-15 00:27:52 +00:00
foobar
005b2d77bf - Fixed bug #18613 (Multiple OUs in x509 certificate not handled properly) 2005-03-14 21:00:03 +00:00
Wez Furlong
126e524635 Fix build... 2005-01-01 14:32:59 +00:00
foobar
5ac375a40d - Fixed bug #31101 (missing kerberos header file path with --with-openssl) 2004-12-30 14:50:06 +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
Wez Furlong
c8cc96e6fe Fix possible crash; patch by Kamesh Jayachandran 2004-10-27 11:07:26 +00:00
Wez Furlong
0a4127a610 Fix for Bug #29418 (double free when openssl_csr_new fails).
Also hook up MSHUTDOWN function which appears to have never been enabled.

Patch by Kamesh Jayachandran
2004-10-26 09:24:07 +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
Magnus M��tt�
17c77a54bf Add missing stream unregister for sslv2 and 3. 2004-09-13 18:30:30 +00:00
Wez Furlong
0bc0ccce2b Fix Bug #29296: add explicit sslv2 and sslv3 transports 2004-09-10 11:43:47 +00:00
Anantha Kesari H Y
d725f3af91 NetWare specific openssl build file 2004-07-16 08:59:24 +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
Marcus Boerger
29cfd6d24f - Remove unused blocks 2004-05-19 08:56:50 +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
Ilia Alshanetsky
0d0fffe98b Fixed compiler warnings. 2004-03-29 19:57:51 +00:00
foobar
f4983c0d3f - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 2004-01-17 13:00:38 +00:00
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Ilia Alshanetsky
cba426ca13 Fixed uninitialized usage of mdtype when unknown signature algorithm is
found.
2003-12-21 18:17:20 +00:00
Wez Furlong
43b0ae0a04 openssl support for the new build 2003-12-05 23:13:30 +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
42ae98d7a2 Fix unintialized variable.
Patch by Joe Orton.
2003-10-13 11:43:14 +00:00
Wez Furlong
e087da60dc And this EOF flag... 2003-10-08 11:23:47 +00:00
Wez Furlong
f7d32e30b0 Fix 2003-09-24 10:35:20 +00:00
foobar
08effa1b04 Fixed typo. 2003-09-23 19:29:34 +00:00
Wez Furlong
fce7b92891 MFB 25614 "fix" 2003-09-23 16:05:52 +00:00
Wez Furlong
ad93053ec4 Merge remaining code from 4.3 to fix #22238 in HEAD. 2003-09-21 18:02:08 +00:00
Ilia Alshanetsky
9c82b1fa75 Fixed compiler warnings. 2003-08-31 20:45:51 +00:00
Zeev Suraski
8767205afa Fix Win32 linkage problems 2003-08-31 12:41:53 +00:00
Zeev Suraski
538d58dd5f Use new infrastructure.
There are bound to be some messups, please report build/runtime bugs!
2003-08-03 17:44:39 +00:00
Stefan Roehrich
750635d131 Allow setting of the serial number. 2003-07-13 09:54:42 +00:00
Stefan Roehrich
80ee75f11e Fixed certificate version (counting begins with 0, so 2 means version 3). 2003-07-13 09:38:32 +00:00
foobar
3a7ca909be - HAVE_OPENSSL_EXT is not defined always. 2003-06-27 16:41:41 +00:00
foobar
e3cd8fac9b - Unified PHP_SETUP_OPENSSL with other PHP_SETUP_* macros. 2003-06-24 14:05:26 +00:00
Edin Kadribasic
6e2743023b Win32 build fixes for openssl 2003-06-15 23:34:46 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Ilia Alshanetsky
b19f3302eb MFB 2003-06-08 23:52:29 +00:00
Ilia Alshanetsky
c511cd2242 emalloc -> safe_emalloc 2003-04-28 22:42:22 +00:00
Sara Golemon
a8711474c0 Debug watches probably don't belong in CVS. 2003-04-05 17:31:34 +00:00
Wez Furlong
16dae2eba0 Fix const warning 2003-03-31 17:58:29 +00:00
Derick Rethans
07dd6f49ff - Typo and some whitespace 2003-03-30 22:29:22 +00:00
Derick Rethans
27496361d5 - Added optional parameter to openssl_sign() to specify the hashing
algorithm to use. (Patch by Scott <scott@planetscott.ca>)
@- Added optional parameter to openssl_sign() to specify the hashing
@  algorithm to use. (scott@planetscott.ca, Derick)
2003-03-30 22:25:23 +00:00
Wez Furlong
267db80b21 avoid unsigned issues. 2003-03-18 15:15:10 +00:00
Wez Furlong
b66957c56a fix proto 2003-03-15 13:29:35 +00:00
David Hill
5c90216d2c 64-bit correction to variables passed to zend_parse_parameters
@64-bit correction to variables passed to zend_parse_parameters (Dave)
2003-03-06 23:07:28 +00:00
Wez Furlong
1b53a2d12e New user-space functions:
. stream_socket_client() - similar to fsockopen(), but more powerful.
  . stream_socket_server() - Creates a server socket.
  . stream_socket_accept() - Accept a client connection.
  . stream_socket_get_name() - Get local or remote name of socket.

Tidy up some leaks and debug printfs.
Move more streams functions into streamsfuncs.c and streamsfuncs.h.
2003-02-28 19:53:21 +00:00
Ilia Alshanetsky
14bf872003 Fixed compiler warnings. 2003-02-28 17:26:28 +00:00
foobar
08b5f6b2b9 - No need to include the ssl headers elsewhere but in ext/openssl
# ext/ftp doesn't use streams yet so it needs to include them.
2003-02-28 07:25:15 +00:00
Ilia Alshanetsky
57eabeea29 fixed compiler warnings. 2003-02-27 23:50:55 +00:00
Wez Furlong
76ebaa6ee7 - Move https:// and ftps:// wrapper registration into the openssl module.
- Expose the http:// and ftp:// wrappers as PHPAPI
- Remove unused variables
2003-02-27 18:16:35 +00:00
Wez Furlong
fd61f69077 Another big commit (tm).
Main Changes:
- Implement a socket transport layer for use by all code that needs to open
  some kind of "special" socket for network or IPC.
- Extensions can register (and override) transports.
- Implement ftruncate() on streams via the ioctl-alike option interface.
- Implement mmap() on streams via the ioctl-alike option interface.
- Implement generic crypto API via the ioctl-alike option interface.
  (currently only supports OpenSSL, but could support other SSL toolkits,
  and other crypto transport protocols).

Impact:
- tcp sockets can be overloaded by the openssl capable sockets at runtime,
  removing the link-time requirement for ssl:// and https:// sockets and
  streams.
- checking stream types using PHP_STREAM_IS_SOCKET is deprecated, since
  there are now a range of possible socket-type streams.

Working towards:
- socket servers using the new transport layer
- mmap support under win32
- Cleaner code.

# I will be updating the win32 build to add the new files shortly
# after this commit.
2003-02-27 17:43:38 +00:00
Wez Furlong
79c046d8a8 Add additional optional parameter to openssl_pkcs7_encrypt to specify the
cipher.  The cipher can be one of the constants listed below.

Based on a patch from:
stefan at cuba dot ionum dot ch

 	OPENSSL_CIPHER_RC2_40,   (the default)
 	OPENSSL_CIPHER_RC2_128,
 	OPENSSL_CIPHER_RC2_64,
 	OPENSSL_CIPHER_DES,
 	OPENSSL_CIPHER_3DES,

proto bool openssl_pkcs7_encrypt(string infile, string outfile,
   mixed recipcerts, array headers [, long flags [, long cipher]])
2003-02-10 09:49:31 +00:00
Ilia Alshanetsky
31a3135014 Fixed bug #21986 (openssl test failure). 2003-01-31 22:15:56 +00:00
Ilia Alshanetsky
e2868b5788 Removed pointless memory allocation checks. 2003-01-18 19:41:56 +00:00
Ilia Alshanetsky
5f36ce398e CS fixes. 2003-01-04 23:31:55 +00:00
Ilia Alshanetsky
f65e8488d7 Fixed a small memory leak when a NULL variable is passed to
openssl_csr_sign() as the first argument.
2003-01-02 21:18:59 +00:00
Sebastian Bergmann
b506f5c8f8 Bump year. 2002-12-31 16:08:15 +00:00
Marcus Boerger
95c701d328 MFB: ZTS fix by Ilia 2002-12-13 09:17:04 +00:00
Wez Furlong
81c02040f0 Attempt to add more entropy for key generation. 2002-12-12 15:50:11 +00:00
Marcus Boerger
c2078cdabf php_error -> php_error_docref conversion fix (noticed by derick) 2002-12-12 14:12:42 +00:00
Wez Furlong
1ef74a4f79 Patch for #20936 (openssl: public key handling was broken).
Thanks to <jeroen@derks.it> for the patch.
2002-12-12 13:42:23 +00:00
Marcus Boerger
835c4dedbb typeconversion is needed here for cygwin 2002-12-12 12:18:44 +00:00
Ilia Alshanetsky
08e020a870 ZTS fix. 2002-12-11 07:29:51 +00:00
Ilia Alshanetsky
533d3273bd Fix ZTS build 2002-12-11 02:30:00 +00:00
Wez Furlong
ac8469bd55 No longer experimental 2002-12-10 22:21:34 +00:00
Wez Furlong
9746be4779 use php_error_docref and tidy up some WS/coding standards. 2002-12-10 22:18:58 +00:00