summaryrefslogtreecommitdiff
path: root/main/streams
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Merge branch 'PHP-5.4' into PHP-5.5"Ferenc Kovacs2014-10-151-4/+4
| | | | | This reverts commit 30a73658c63a91c413305a4c4d49882fda4dab3e, reversing changes made to 7fac56e0729385bbd2bb040f06a20a697d9de5fd.
* Merge branch 'PHP-5.5' into PHP-5.6Anatol Belski2014-09-291-1/+1
|\ | | | | | | | | * PHP-5.5: increase the polling period to not to break existing behaviours
| * increase the polling period to not to break existing behavioursAnatol Belski2014-09-291-1/+1
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Anatol Belski2014-09-291-0/+28
|\ \ | |/ | | | | | | * PHP-5.5: Fixed bug #51800 proc_open on Windows hangs forever
| * Fixed bug #51800 proc_open on Windows hangs foreverAnatol Belski2014-09-291-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This loop can block for some minutes, theoretically. Practially however, this is a 99% non issue for a normal use case. This is required because read() is synchronous. The PHP streams API wants to fill its internal buffers, therefore it might try to read some more data than user has demanded. Also, for a case where we want to read X bytes, but neither enough data nor EOF arrives, read() will block until it could fill the buffer. If a counterpart station runs slowly or delivers not all the data at once, read() would still be waiting. If we quit too early, we possibly could loose some data from the pipe. Thus it has to emulate the read() behaviour, but obviously not completely, just to some grade. Reading big data amount is for sure an issue on any platforms, it depends on the pipe buffer size, which is controlled by the system. On Windows, the buffer size seems to be way too small, which causes buffer congestion and a dead lock. It is essential to read the pipe descriptors simultaneously and possibly in the same order as the opposite writes them. Thus, this will work with smaller buffer data sizes passed through pipes. As MSDN states, anonymous pipes don't support asynchronous operations. Neither anonymous pipes do support select() as they are not SOCKETs but file descriptors. Consequently - bigger data sizes will need a better solution based on threads. However it is much more expencive. Maybe a better solution could be exporting a part of the internal doing as a userspace function which could perform some kind of lookahead operation on the pipe descriptor. This is just the first stone, depending on the user feedback we might go for further improvements in this area.
* | Merge branch 'PHP-5.5' into PHP-5.6Chris Wright2014-08-271-4/+4
|\ \ | |/ | | | | | | * PHP-5.5: Fix stream_select() issue with OpenSSL buffer
| * Merge branch 'PHP-5.4' into PHP-5.5Chris Wright2014-08-271-4/+4
| |\ | | | | | | | | | | | | | | | | | | | | | * PHP-5.4: Fix stream_select() issue with OpenSSL buffer Conflicts: ext/openssl/xp_ssl.c
| | * Fix stream_select() issue with OpenSSL bufferChris Wright2014-08-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure data from OpenSSL internal buffer has been transfered to PHP stream buffer before a select() emulation operation is performed Addresses bug #65137 https://bugs.php.net/bug.php?id=65137 Conflicts: ext/openssl/xp_ssl.c
* | | Revert "Add SO_REUSEPORT + SO_BROADCAST support via socket stream context ↵Ferenc Kovacs2014-08-061-35/+1
| | | | | | | | | | | | | | | | | | option" This reverts commit a51bf0cadf7862d10b2cc19cae2c991d24d670b1.
* | | Add SO_REUSEPORT + SO_BROADCAST support via socket stream context optionDaniel Lowrey2014-08-051-1/+35
| | |
* | | restore API compatibilityMichael Wallner2014-07-033-2/+14
| | |
* | | finishMichael Wallner2014-07-033-9/+3
| | |
* | | refactor php_stream_temp_create{,_ex} and use it for the php://input streamMichael Wallner2014-07-031-4/+11
| | |
* | | refactor _php_stream_fopen_{temporary_,tmp}file()Michael Wallner2014-07-031-20/+14
| | |
* | | Merge branch 'PHP-5.5' into PHP-5.6Stanislav Malyshev2014-04-201-22/+26
|\ \ \ | |/ / | | | | | | | | | * PHP-5.5: Fix bug #65701: Do not use cache for file file copy
| * | Merge branch 'PHP-5.4' into PHP-5.5Stanislav Malyshev2014-04-201-22/+26
| |\ \ | | |/ | | | | | | | | | * PHP-5.4: Fix bug #65701: Do not use cache for file file copy
| | * Fix bug #65701: Do not use cache for file file copyBoro Sitnikovski2014-04-201-22/+26
| | |
* | | Merge branch 'PHP-5.5' into PHP-5.6Michael Wallner2014-04-031-2/+7
|\ \ \ | |/ / | | | | | | | | | | | | * PHP-5.5: NEWS Fix Bug #66736 fpassthru broken
| * | Merge branch 'PHP-5.4' into PHP-5.5Michael Wallner2014-04-031-2/+7
| |\ \ | | |/ | | | | | | | | | * PHP-5.4: Fix Bug #66736 fpassthru broken
| | * Fix Bug #66736 fpassthru brokenMichael Wallner2014-04-031-2/+7
| | |
* | | Merge branch 'PHP-5.5' into PHP-5.6Michael Wallner2014-04-021-0/+4
|\ \ \ | |/ / | | | | | | | | | | | | * PHP-5.5: NEWS Fixed bug #61019 (Out of memory on command stream_get_contents)
| * | Merge branch 'PHP-5.4' into PHP-5.5Michael Wallner2014-04-021-0/+4
| |\ \ | | |/ | | | | | | | | | * PHP-5.4: Fixed bug #61019 (Out of memory on command stream_get_contents)
| | * Fixed bug #61019 (Out of memory on command stream_get_contents)Michael Wallner2014-04-021-0/+4
| | |
* | | Merge branch 'PHP-5.5' into PHP-5.6Michael Wallner2014-04-021-1/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-5.5: Fix bug #64330
| * | Merge branch 'PHP-5.4' into PHP-5.5Michael Wallner2014-04-021-1/+2
| |\ \ | | |/ | | | | | | | | | * PHP-5.4: Fix bug #64330
| | * Fix bug #64330Michael Wallner2014-04-021-1/+2
| | | | | | | | | | | | stream_socket_server() creates wrong Abstract Namespace UNIX sockets
| | * Bump yearXinchen Hui2014-01-0318-18/+18
| | |
| * | Bump yearXinchen Hui2014-01-0318-18/+18
| | |
* | | Fixes to various stream cast on win64Anatol Belski2014-03-191-6/+6
| | | | | | | | | | | | | | | | | | This fixes further issues on win64 with casts from the streams. Sockets/descriptors handling was unitized. This has an impact only on win64, php_socket_t otherwise can be feed back to int datatype.
* | | Use crypto method flags; add tlsv1.0 wrapper; add wrapper testsDaniel Lowrey2014-02-201-14/+21
| | |
* | | Bump yearXinchen Hui2014-01-0318-18/+18
| | |
* | | Merge branch 'PHP-5.5' into PHP-5.6Anatol Belski2013-12-121-1/+1
|\ \ \ | |/ / | | | | | | | | | * PHP-5.5: Fixed bug #65486 mysqli_poll() is broken on Win x64
| * | Fixed bug #65486 mysqli_poll() is broken on Win x64Anatol Belski2013-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While this issue is visible in mysqli_poll() functions, the cause lays deeper in the stream to socket casting API. On Win x64 the SOCKET datatype is a 64 or 32 bit unsigned, while on Linux/Unix-like it's 32 bit signed integer. The game of casting 32 bit var to/from 64 bit pointer back and forth is the best way to break it. Further more, while socket and file descriptors are always integers on Linux, those are different things using different APIs on Windows. Even though using integer instead of SOCKET might work on Windows, this issue might need to be revamped more carefully later. By this time this patch is tested well with phpt and apps and shows no regressions, neither in mysqli_poll() nor in any other parts.
* | | Merge branch 'PHP-5.5' into PHP-5.6Michael Wallner2013-12-061-5/+7
|\ \ \ | |/ / | | | | | | | | | | | | * PHP-5.5: Fixed bug #61645 (fopen and O_NONBLOCK) fix possibly uninitialized value
| * | Merge branch 'PHP-5.4' into PHP-5.5Michael Wallner2013-12-061-5/+7
| |\ \ | | |/ | | | | | | | | | | | | * PHP-5.4: Fixed bug #61645 (fopen and O_NONBLOCK) fix possibly uninitialized value
| | * Fixed bug #61645 (fopen and O_NONBLOCK)Michael Wallner2013-12-061-5/+7
| | | | | | | | | | | | | | | | | | if a mode like "rn" was passed to fopen(), then php_stream_parse_fopen_modes() would assign O_WRONLY to flags, because O_NONBLOCK tainted flags for the r/w/+ check
* | | Merge branch 'bug50333' of github.com:weltling/php-src into bug50333Anatol Belski2013-10-291-1/+1
|\ \ \
| * | | applied and fixed the original patchAnatol Belski2013-10-171-1/+1
| | | | | | | | | | | | | | | | initial work on the patch import done
* | | | Added support for TLSv1.1 and TLSv1.2Daniel Lowrey2013-10-081-1/+5
|/ / /
* | | Constify streams API and a few other calls down the rabbit hole.Andrey Hristov2013-07-309-83/+92
|/ / | | | | | | | | (`char *` to `const char *` for parameters and few return values) In a few places int len moved to size_t len.
* | Merge branch 'PHP-5.4' into PHP-5.5Matteo Beccati2013-07-191-1/+1
|\ \ | |/ | | | | | | * PHP-5.4: Properly fixed bug #63186 on NetBSD == 6.0
| * Properly fixed bug #63186 on NetBSD == 6.0Matteo Beccati2013-07-191-1/+1
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Anatol Belski2013-07-101-1/+3
|\ \ | |/ | | | | | | * PHP-5.4: fix possible resource leak and make sure there's something to qsort()
| * fix possible resource leak and make sure there's something to qsort()Anatol Belski2013-07-101-1/+3
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Matteo Beccati2013-06-141-3/+11
|\ \ | |/ | | | | | | * PHP-5.4: Fixed bug #63186 (compile failure on netbsd)
| * Merge branch 'PHP-5.3' into PHP-5.4Matteo Beccati2013-06-141-3/+11
| |\ | | | | | | | | | | | | * PHP-5.3: Fixed bug #63186 (compile failure on netbsd)
| | * Fixed bug #63186 (compile failure on netbsd)Matteo Beccati2013-06-141-3/+11
| | |
| | * Happy New Year~Xinchen Hui2013-01-0118-18/+18
| | |
| * | Merge branch 'pull-request/341'Stanislav Malyshev2013-06-101-1/+1
| | | | | | | | | | | | | | | * pull-request/341: (23 commits) typofixes
* | | Merge branch 'pull-request/341'Stanislav Malyshev2013-06-101-1/+1
| | | | | | | | | | | | | | | * pull-request/341: (23 commits) typofixes