~ubuntu-branches/ubuntu/feisty/apache2/feisty

« back to all changes in this revision

Viewing changes to include/http_vhost.h

  • Committer: Bazaar Package Importer
  • Author(s): Andreas Barth
  • Date: 2006-12-09 21:05:45 UTC
  • mfrom: (0.6.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20061209210545-h70s0xaqc2v8vqr2
Tags: 2.2.3-3.2
* Non-maintainer upload.
* 043_ajp_connection_reuse: Patch from upstream Bugzilla, fixing a critical
  issue with regard to connection reuse in mod_proxy_ajp.
  Closes: #396265

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Licensed to the Apache Software Foundation (ASF) under one or more
 
2
 * contributor license agreements.  See the NOTICE file distributed with
 
3
 * this work for additional information regarding copyright ownership.
 
4
 * The ASF licenses this file to You under the Apache License, Version 2.0
 
5
 * (the "License"); you may not use this file except in compliance with
 
6
 * the License.  You may obtain a copy of the License at
 
7
 *
 
8
 *     http://www.apache.org/licenses/LICENSE-2.0
 
9
 *
 
10
 * Unless required by applicable law or agreed to in writing, software
 
11
 * distributed under the License is distributed on an "AS IS" BASIS,
 
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
13
 * See the License for the specific language governing permissions and
 
14
 * limitations under the License.
 
15
 */
 
16
 
 
17
/**
 
18
 * @file  http_vhost.h
 
19
 * @brief Virtual Host package
 
20
 *
 
21
 * @defgroup APACHE_CORE_VHOST Virtual Host Package
 
22
 * @ingroup  APACHE_CORE
 
23
 * @{
 
24
 */
 
25
 
 
26
#ifndef APACHE_HTTP_VHOST_H
 
27
#define APACHE_HTTP_VHOST_H
 
28
 
 
29
#ifdef __cplusplus
 
30
extern "C" {
 
31
#endif
 
32
 
 
33
/**
 
34
 * called before any config is read
 
35
 * @param p Pool to allocate out of
 
36
 */
 
37
AP_DECLARE(void) ap_init_vhost_config(apr_pool_t *p);
 
38
 
 
39
/**
 
40
 * called after the config has been read to compile the tables needed to do 
 
41
 * the run-time vhost lookups
 
42
 * @param p The pool to allocate out of
 
43
 * @param main_server The start of the virtual host list
 
44
 */
 
45
AP_DECLARE(void) ap_fini_vhost_config(apr_pool_t *p, server_rec *main_server);
 
46
 
 
47
/**
 
48
 * handle addresses in "<VirtualHost>" statement
 
49
 * @param p The pool to allocate out of
 
50
 * @param hostname The hostname in the VirtualHost statement
 
51
 * @param s The list of Virtual Hosts.
 
52
 */
 
53
const char *ap_parse_vhost_addrs(apr_pool_t *p, const char *hostname, server_rec *s);
 
54
 
 
55
/**
 
56
 * handle NameVirtualHost directive 
 
57
 * @param cmd Command Parameters structure
 
58
 * @param dummy NOT USED
 
59
 * @param arg a host of the form "<address>[:port]"
 
60
 */
 
61
const char *ap_set_name_virtual_host (cmd_parms *cmd, void *dummy,
 
62
                                      const char *arg);
 
63
 
 
64
/**
 
65
 * Callback function for every Name Based Virtual Host.
 
66
 * @param baton Opaque user object
 
67
 * @param conn The current Connection
 
68
 * @param s The current Server
 
69
 * @see ap_vhost_iterate_given_conn
 
70
 * @return 0 on success, any non-zero return will stop the iteration.
 
71
 */
 
72
typedef int(*ap_vhost_iterate_conn_cb)(void* baton, conn_rec* conn, server_rec* s);
 
73
                
 
74
/**
 
75
 * For every virtual host on this connection, call func_cb.
 
76
 * @param conn The current connection
 
77
 * @param func_cb Function called for every Name Based Virtual Host for this 
 
78
 *                connection.
 
79
 * @param baton Opaque object passed to func_cb.
 
80
 * @return The return value from func_cb.
 
81
 * @note If func_cb returns non-zero, the function will return at this point, 
 
82
 *       and not continue iterating the virtual hosts.
 
83
 */
 
84
AP_DECLARE(int) ap_vhost_iterate_given_conn(conn_rec *conn,
 
85
                                            ap_vhost_iterate_conn_cb func_cb,
 
86
                                            void* baton);
 
87
 
 
88
/**
 
89
 * given an ip address only, give our best guess as to what vhost it is 
 
90
 * @param conn The current connection
 
91
 */
 
92
AP_DECLARE(void) ap_update_vhost_given_ip(conn_rec *conn);
 
93
 
 
94
/**
 
95
 * ap_update_vhost_given_ip is never enough, and this is always called after 
 
96
 * the headers have been read.  It may change r->server.
 
97
 * @param r The current request
 
98
 */
 
99
AP_DECLARE(void) ap_update_vhost_from_headers(request_rec *r);
 
100
 
 
101
/**
 
102
 * Match the host in the header with the hostname of the server for this
 
103
 * request.
 
104
 * @param r The current request
 
105
 * @param host The hostname in the headers
 
106
 * @param port The port from the headers
 
107
 * @return return 1 if the host:port matches any of the aliases of r->server,
 
108
 * return 0 otherwise
 
109
 */
 
110
AP_DECLARE(int) ap_matches_request_vhost(request_rec *r, const char *host,
 
111
    apr_port_t port);
 
112
 
 
113
#ifdef __cplusplus
 
114
}
 
115
#endif
 
116
 
 
117
#endif  /* !APACHE_HTTP_VHOST_H */
 
118
/** @} */