Commit 9e0407be authored by Doug MacEachern's avatar Doug MacEachern
Browse files

get POST requests working with mod_ssl


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90027 13f79535-47bb-0310-9956-ffa450edef68
parent 658b9f46
Loading
Loading
Loading
Loading
+13 −14
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ static int ssl_io_hook_read(SSL *ssl, unsigned char *buf, int len)
             * XXX - Just trying to reflect the behaviour in 
             * openssl_state_machine.c [mod_tls]. TBD
             */
            rc = 0;
            rc = -1;
    }
    else
        rc = -1;
@@ -251,7 +251,10 @@ static apr_status_t churn (SSLFilterRec *pRec,
	/* read filter */
	ret=apr_bucket_read(pbktIn,&data,&len,eReadType);

        if (!(eReadType == APR_NONBLOCK_READ && APR_STATUS_IS_EAGAIN(ret))) {
            /* allow retry */
            APR_BUCKET_REMOVE(pbktIn);
        }

	if(ret == APR_SUCCESS && len == 0 && eReadType == APR_BLOCK_READ)
	    ret=APR_EOF;
@@ -285,8 +288,10 @@ static apr_status_t churn (SSLFilterRec *pRec,

        ssl_hook_process_connection (pRec);

        n = ssl_io_hook_read(pRec->pssl, (unsigned char *)buf, sizeof(buf));
	if(n > 0) {
        /* pass along all of the current BIO */
        while ((n = ssl_io_hook_read(pRec->pssl,
                                     (unsigned char *)buf, sizeof(buf))) > 0)
        {
	    apr_bucket *pbktOut;
	    char *pbuf;

@@ -301,13 +306,7 @@ static apr_status_t churn (SSLFilterRec *pRec,
            * we weren't already).
            */
            eReadType = APR_NONBLOCK_READ;

	    /* XXX: deal with EOF! */
	    /*	} else if(n == 0) {
	    apr_bucket *pbktEOS=apr_bucket_create_eos();
	    APR_BRIGADE_INSERT_TAIL(pbbInput,pbktEOS);*/
	}
	assert(n >= 0);

	ret=churn_output(pRec);
	if(ret != APR_SUCCESS)