mod_tls.c revision 9359bd100badb53fd8a465cb3a0a90b218b30c4c
0N/A/* ==================================================================== 0N/A * The Apache Software License, Version 1.1 0N/A * Copyright (c) 2001 The Apache Software Foundation. All rights 0N/A * Redistribution and use in source and binary forms, with or without 919N/A * modification, are permitted provided that the following conditions 919N/A * 1. Redistributions of source code must retain the above copyright 919N/A * notice, this list of conditions and the following disclaimer. 919N/A * 2. Redistributions in binary form must reproduce the above copyright 919N/A * notice, this list of conditions and the following disclaimer in 919N/A * the documentation and/or other materials provided with the 919N/A * 3. The end-user documentation included with the redistribution, 919N/A * if any, must include the following acknowledgment: 919N/A * "This product includes software developed by the 919N/A * Alternately, this acknowledgment may appear in the software itself, 919N/A * if and wherever such third-party acknowledgments normally appear. 0N/A * 4. The names "Apache" and "Apache Software Foundation" must 0N/A * not be used to endorse or promote products derived from this 156N/A * software without prior written permission. For written 493N/A * permission, please contact apache@apache.org. 0N/A * 5. Products derived from this software may not be called "Apache", 1072N/A * nor may "Apache" appear in their name, without prior written 0N/A * permission of the Apache Software Foundation. 1072N/A * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 1072N/A * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 911N/A * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 0N/A * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 0N/A * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 0N/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 851N/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 0N/A * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 156N/A * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 156N/A * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 0N/A * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1072N/A * ==================================================================== 156N/A * This software consists of voluntary contributions made by many 1224N/A * individuals on behalf of the Apache Software Foundation. For more 1224N/A * information on the Apache Software Foundation, please see 970N/A * Portions of this software are based upon public domain software 970N/A * originally written at the National Center for Supercomputing Applications, 0N/A * University of Illinois, Urbana-Champaign. apr_bucket *pbktEOS=apr_bucket_create_eos(); APR_BRIGADE_INSERT_TAIL(pbbOutput,pbktEOS);*/ // XXX: it may be possible to not always flush // XXX: why can't I reuse pbktIn??? // Lazy frickin browsers just reset instead of shutting down. /* Next time around, the incoming brigade will be empty, * so we'll return EOF then "Read failed in tls_in_filter");
/* In this case, we have data in the output bucket, or we were * non-blocking, so returning nothing is fine. // XXX: should we use a heap bucket instead? Or a transient (in // which case we need a separate brigade for each bucket)? // Once we've read something, we can move to non-blocking mode (if apr_bucket *pbktEOS=apr_bucket_create_eos(); APR_BRIGADE_INSERT_TAIL(pbbInput,pbktEOS);*/ // XXX: dubious - does this always terminate? Does it return the right thing? // assume that churn will flush (or already has) if there's output // churn the state machine // XXX: we don't currently support peek // churn the state machine // XXX: shame that APR_BRIGADE_FOREACH doesn't work here /* XXX: We should be able to add the filter using AddOutputFilter */ "Set the certificate file for this host"),
NULL,
/* create per-directory config structure */ NULL,
/* merge per-directory config structures */ NULL,
/* merge per-server config structures */