. 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.
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.
to support -V flag, so by passing them data on stdin we prevent them from
sitting idle waiting for stdin data. I've also added some common version
retrieval flags, that may be supported by various lex scanners.
available, an advisory warning (similar to bison one) will be given to the
user. This is needed for systems such as Sun OS, where the existing lex
parser cannot be used to regenerate Zend/PHP lexical parsers.
which is 'executed' last of the SAPI config.m4's.
- Added --disable-cgi option. (was possible only with above change)
- Made the sed check to not test for the possibly working sed on Solaris
since that would make the test quite useless. (compile would still fail)
# That sed check is not enabled yet..need to know whether we fail
# during configure or just put out a warning about possible non-working
# sed. As even plain ./configure doesn't work in most cases, I think
# it would be better to just fail during configure and let the users
# fix their paths/install GNU sed.