Lines Matching defs:inctx

329  * char_buffer object is used to cache a segment of inctx->buffer, and
331 * beginning of inctx->buffer. So the segments to copy cannot be
452 bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)(bio->ptr);
453 apr_read_type_e block = inctx->block;
455 inctx->rc = APR_SUCCESS;
462 if (inctx->filter_ctx->config->reneg_state == RENEG_ABORT) {
463 inctx->rc = APR_ECONNABORTED;
476 if (bio_filter_out_flush(inctx->bio_out) < 0) {
477 bio_filter_out_ctx_t *outctx = inctx->bio_out->ptr;
478 inctx->rc = outctx->rc;
484 if (!inctx->bb) {
485 inctx->rc = APR_EOF;
489 if (APR_BRIGADE_EMPTY(inctx->bb)) {
491 inctx->rc = ap_get_brigade(inctx->f->next, inctx->bb,
499 if (APR_STATUS_IS_EAGAIN(inctx->rc) || APR_STATUS_IS_EINTR(inctx->rc)
500 || (inctx->rc == APR_SUCCESS && APR_BRIGADE_EMPTY(inctx->bb))) {
505 if (inctx->rc != APR_SUCCESS) {
507 apr_brigade_cleanup(inctx->bb);
508 inctx->bb = NULL;
513 inctx->rc = brigade_consume(inctx->bb, block, in, &inl);
515 if (inctx->rc == APR_SUCCESS) {
519 if (APR_STATUS_IS_EAGAIN(inctx->rc)
520 || APR_STATUS_IS_EINTR(inctx->rc)) {
528 apr_brigade_cleanup(inctx->bb);
529 inctx->bb = NULL;
531 if (APR_STATUS_IS_EOF(inctx->rc) && inl) {
543 bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)(bio->ptr);
544 ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, inctx->f->c,
552 bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)(bio->ptr);
553 ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, inctx->f->c,
561 bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)(bio->ptr);
562 ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, inctx->f->c,
570 bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)(bio->ptr);
571 ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, inctx->f->c,
591 static apr_status_t ssl_io_input_read(bio_filter_in_ctx_t *inctx,
602 if ((bytes = char_buffer_read(&inctx->cbuf, buf, wanted))) {
604 if (inctx->mode == AP_MODE_SPECULATIVE) {
606 if (inctx->cbuf.length > 0) {
607 inctx->cbuf.value -= bytes;
608 inctx->cbuf.length += bytes;
610 char_buffer_write(&inctx->cbuf, buf, (int)bytes);
620 if (inctx->mode == AP_MODE_GETLINE) {
628 inctx->block = APR_NONBLOCK_READ;
634 if (!inctx->filter_ctx->pssl) {
636 if (inctx->rc == APR_SUCCESS) {
637 inctx->rc = APR_EGENERAL;
646 rc = SSL_read(inctx->filter_ctx->pssl, buf + bytes, wanted - bytes);
650 if (inctx->mode == AP_MODE_SPECULATIVE) {
652 char_buffer_write(&inctx->cbuf, buf, rc);
654 return inctx->rc;
660 if (APR_STATUS_IS_EAGAIN(inctx->rc)
661 || APR_STATUS_IS_EINTR(inctx->rc)) {
667 inctx->rc = APR_SUCCESS;
670 if (inctx->block == APR_NONBLOCK_READ) {
676 inctx->rc = APR_SUCCESS;
679 inctx->rc = APR_EOF;
685 int ssl_err = SSL_get_error(inctx->filter_ctx->pssl, rc);
686 conn_rec *c = (conn_rec*)SSL_get_app_data(inctx->filter_ctx->pssl);
697 inctx->rc = APR_EAGAIN;
700 inctx->rc = APR_SUCCESS;
703 if (inctx->block == APR_NONBLOCK_READ) {
709 if (APR_STATUS_IS_EAGAIN(inctx->rc)
710 || APR_STATUS_IS_EINTR(inctx->rc)) {
713 inctx->rc = APR_SUCCESS;
716 if (inctx->block == APR_NONBLOCK_READ) {
722 ap_log_cerror(APLOG_MARK, APLOG_INFO, inctx->rc, c, APLOGNO(01991)
730 ap_log_cerror(APLOG_MARK, APLOG_INFO, inctx->rc, c, APLOGNO(01992)
735 if (inctx->rc == APR_SUCCESS) {
736 inctx->rc = APR_EGENERAL;
741 return inctx->rc;
747 static apr_status_t ssl_io_input_getline(bio_filter_in_ctx_t *inctx,
764 status = ssl_io_input_read(inctx, buf + offset, &tmplen);
769 char_buffer_write(&inctx->cbuf, buf, *len);
793 char_buffer_write(&inctx->cbuf, value, length);
907 bio_filter_in_ctx_t *inctx = f->ctx;
908 SSL_free(inctx->ssl);
910 inctx->ssl = NULL;
911 inctx->filter_ctx->pssl = NULL;
1241 bio_filter_in_ctx_t *inctx = (bio_filter_in_ctx_t *)
1245 apr_status_t rc = inctx->rc ? inctx->rc : outctx->rc ;
1292 if (inctx->rc == APR_SUCCESS) {
1293 inctx->rc = APR_EGENERAL;
1297 return inctx->rc;
1382 bio_filter_in_ctx_t *inctx = f->ctx;
1383 const char *start = inctx->buffer; /* start of block to return */
1384 apr_size_t len = sizeof(inctx->buffer); /* length of block to return */
1397 if (!inctx->ssl) {
1414 inctx->mode = mode;
1415 inctx->block = block;
1422 if ((status = ssl_io_filter_handshake(inctx->filter_ctx)) != APR_SUCCESS) {
1433 if (inctx->mode == AP_MODE_READBYTES ||
1434 inctx->mode == AP_MODE_SPECULATIVE) {
1440 status = ssl_io_input_read(inctx, inctx->buffer, &len);
1442 else if (inctx->mode == AP_MODE_GETLINE) {
1448 if (inctx->cbuf.length
1449 && (pos = memchr(inctx->cbuf.value, APR_ASCII_LF,
1450 inctx->cbuf.length)) != NULL) {
1451 start = inctx->cbuf.value;
1454 inctx->cbuf.value += len;
1455 inctx->cbuf.length -= len;
1460 status = ssl_io_input_getline(inctx, inctx->buffer, &len);
1473 inctx->block = APR_BLOCK_READ;
1493 if (!inctx->alpn_finished) {
1500 SSL_get0_alpn_selected(inctx->ssl, &next_proto, &next_proto_len);
1514 inctx->alpn_finished = 1;
1523 if (!inctx->npn_finished) {
1531 inctx->ssl, &next_proto, &next_proto_len);
1545 inctx->npn_finished = 1;
1700 bio_filter_in_ctx_t *inctx;
1714 inctx = (bio_filter_in_ctx_t *)filter_ctx->pbioRead->ptr;
1717 /* When we are the writer, we must initialize the inctx
1721 inctx->mode = AP_MODE_READBYTES;
1722 inctx->block = APR_BLOCK_READ;
2010 bio_filter_in_ctx_t *inctx;
2012 inctx = apr_palloc(c->pool, sizeof(*inctx));
2014 filter_ctx->pInputFilter = ap_add_input_filter(ssl_io_filter, inctx, r, c);
2017 filter_ctx->pbioRead->ptr = (void *)inctx;
2019 inctx->ssl = ssl;
2020 inctx->bio_out = filter_ctx->pbioWrite;
2021 inctx->f = filter_ctx->pInputFilter;
2022 inctx->rc = APR_SUCCESS;
2023 inctx->mode = AP_MODE_READBYTES;
2024 inctx->cbuf.length = 0;
2025 inctx->bb = apr_brigade_create(c->pool, c->bucket_alloc);
2026 inctx->block = APR_BLOCK_READ;
2027 inctx->pool = c->pool;
2028 inctx->filter_ctx = filter_ctx;
2029 inctx->npn_finished = 0;
2030 inctx->alpn_finished = 0;