Lines Matching refs:stream

40 int php_openssl_apply_verification_policy(SSL *ssl, X509 *peer, php_stream *stream TSRMLS_DC);
41 SSL *php_SSL_new_from_context(SSL_CTX *ctx, php_stream *stream TSRMLS_DC);
67 static int is_http_stream_talking_to_iis(php_stream *stream TSRMLS_DC) in is_http_stream_talking_to_iis()
69 …if (stream->wrapperdata && stream->wrapper && strcasecmp(stream->wrapper->wops->label, "HTTP") == … in is_http_stream_talking_to_iis()
76 zend_hash_internal_pointer_reset(Z_ARRVAL_P(stream->wrapperdata)); in is_http_stream_talking_to_iis()
77 while (SUCCESS == zend_hash_get_current_data(Z_ARRVAL_P(stream->wrapperdata), (void**)&tmp)) { in is_http_stream_talking_to_iis()
85 zend_hash_move_forward(Z_ARRVAL_P(stream->wrapperdata)); in is_http_stream_talking_to_iis()
91 static int handle_ssl_error(php_stream *stream, int nr_bytes, zend_bool is_init TSRMLS_DC) in handle_ssl_error() argument
93 php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract; in handle_ssl_error()
115 if (!is_http_stream_talking_to_iis(stream TSRMLS_CC) && ERR_get_error() != 0) { in handle_ssl_error()
120 stream->eof = 1; in handle_ssl_error()
175 static size_t php_openssl_sockop_write(php_stream *stream, const char *buf, size_t count TSRMLS_DC) in php_openssl_sockop_write() argument
177 php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract; in php_openssl_sockop_write()
187 retry = handle_ssl_error(stream, didwrite, 0 TSRMLS_CC); in php_openssl_sockop_write()
194 php_stream_notify_progress_increment(stream->context, didwrite, 0); in php_openssl_sockop_write()
197 didwrite = php_stream_socket_ops.write(stream, buf, count TSRMLS_CC); in php_openssl_sockop_write()
207 static size_t php_openssl_sockop_read(php_stream *stream, char *buf, size_t count TSRMLS_DC) in php_openssl_sockop_read() argument
209 php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract; in php_openssl_sockop_read()
219 retry = handle_ssl_error(stream, nr_bytes, 0 TSRMLS_CC); in php_openssl_sockop_read()
220 stream->eof = (retry == 0 && errno != EAGAIN && !SSL_pending(sslsock->ssl_handle)); in php_openssl_sockop_read()
229 php_stream_notify_progress_increment(stream->context, nr_bytes, 0); in php_openssl_sockop_read()
234 nr_bytes = php_stream_socket_ops.read(stream, buf, count TSRMLS_CC); in php_openssl_sockop_read()
245 static int php_openssl_sockop_close(php_stream *stream, int close_handle TSRMLS_DC) in php_openssl_sockop_close() argument
247 php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract; in php_openssl_sockop_close()
289 pefree(sslsock->sni, php_stream_is_persistent(stream)); in php_openssl_sockop_close()
291 pefree(sslsock, php_stream_is_persistent(stream)); in php_openssl_sockop_close()
296 static int php_openssl_sockop_flush(php_stream *stream TSRMLS_DC) in php_openssl_sockop_flush()
298 return php_stream_socket_ops.flush(stream TSRMLS_CC); in php_openssl_sockop_flush()
301 static int php_openssl_sockop_stat(php_stream *stream, php_stream_statbuf *ssb TSRMLS_DC) in php_openssl_sockop_stat() argument
303 return php_stream_socket_ops.stat(stream, ssb TSRMLS_CC); in php_openssl_sockop_stat()
307 static inline int php_openssl_setup_crypto(php_stream *stream, in php_openssl_setup_crypto() argument
386 if (stream->context && SUCCESS == php_stream_context_get_option( in php_openssl_setup_crypto()
387 stream->context, "ssl", "no_ticket", &val) && in php_openssl_setup_crypto()
394 sslsock->ssl_handle = php_SSL_new_from_context(sslsock->ctx, stream TSRMLS_CC); in php_openssl_setup_crypto()
403 handle_ssl_error(stream, 0, 1 TSRMLS_CC); in php_openssl_setup_crypto()
418 static inline int php_openssl_enable_crypto(php_stream *stream, in php_openssl_enable_crypto() argument
486 retry = handle_ssl_error(stream, n, blocked TSRMLS_CC); in php_openssl_enable_crypto()
518 …if (FAILURE == php_openssl_apply_verification_policy(sslsock->ssl_handle, peer_cert, stream TSRMLS… in php_openssl_enable_crypto()
526 if (stream->context) { in php_openssl_enable_crypto()
530 stream->context, "ssl", in php_openssl_enable_crypto()
536 php_stream_context_set_option(stream->context, in php_openssl_enable_crypto()
544 stream->context, "ssl", in php_openssl_enable_crypto()
572 php_stream_context_set_option(stream->context, in php_openssl_enable_crypto()
598 static inline int php_openssl_tcp_sockop_accept(php_stream *stream, php_openssl_netstream_data_t *s… in php_openssl_tcp_sockop_accept() argument
630 xparam->outputs.client = php_stream_alloc_rel(stream->ops, clisockdata, NULL, "r+"); in php_openssl_tcp_sockop_accept()
632 xparam->outputs.client->context = stream->context; in php_openssl_tcp_sockop_accept()
633 if (stream->context) { in php_openssl_tcp_sockop_accept()
634 zend_list_addref(stream->context->rsrc_id); in php_openssl_tcp_sockop_accept()
674 static int php_openssl_sockop_set_option(php_stream *stream, int option, int value, void *ptrparam … in php_openssl_sockop_set_option() argument
676 php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract; in php_openssl_sockop_set_option()
739 cparam->outputs.returncode = php_openssl_setup_crypto(stream, sslsock, cparam TSRMLS_CC); in php_openssl_sockop_set_option()
743 cparam->outputs.returncode = php_openssl_enable_crypto(stream, sslsock, cparam TSRMLS_CC); in php_openssl_sockop_set_option()
760 php_stream_socket_ops.set_option(stream, option, value, ptrparam TSRMLS_CC); in php_openssl_sockop_set_option()
767 if (php_stream_xport_crypto_setup(stream, sslsock->method, NULL TSRMLS_CC) < 0 || in php_openssl_sockop_set_option()
768 php_stream_xport_crypto_enable(stream, 1 TSRMLS_CC) < 0) { in php_openssl_sockop_set_option()
778 …xparam->outputs.returncode = php_openssl_tcp_sockop_accept(stream, sslsock, xparam STREAMS_CC TSRM… in php_openssl_sockop_set_option()
789 return php_stream_socket_ops.set_option(stream, option, value, ptrparam TSRMLS_CC); in php_openssl_sockop_set_option()
792 static int php_openssl_sockop_cast(php_stream *stream, int castas, void **ret TSRMLS_DC) in php_openssl_sockop_cast() argument
794 php_openssl_netstream_data_t *sslsock = (php_openssl_netstream_data_t*)stream->abstract; in php_openssl_sockop_cast()
802 *ret = fdopen(sslsock->s.socket, stream->mode); in php_openssl_sockop_cast()
893 php_stream *stream = NULL; in php_openssl_ssl_socket_factory() local
915 stream = php_stream_alloc_rel(&php_openssl_socket_ops, sslsock, persistent_id, "r+"); in php_openssl_ssl_socket_factory()
917 if (stream == NULL) { in php_openssl_ssl_socket_factory()
943 return stream; in php_openssl_ssl_socket_factory()