diff options
author | Edward Rudd <urkle@outoforder.cc> | 2008-09-21 15:54:12 (GMT) |
---|---|---|
committer | Edward Rudd <urkle@outoforder.cc> | 2008-09-21 15:54:12 (GMT) |
commit | ba30ceeb705e9b4d40ce0d98f6a4e047d47ce919 (patch) | |
tree | 5768679317a303031c80be6cba683b6addeb07ac /functions.h | |
parent | d33662354f64354c601ae257bd5b1b043c484d97 (diff) |
moved all modules source to src subdirectory.. Moved header files into include subdirectory
cleaned up makefiles.
Diffstat (limited to 'functions.h')
-rw-r--r-- | functions.h | 261 |
1 files changed, 0 insertions, 261 deletions
diff --git a/functions.h b/functions.h deleted file mode 100644 index 07711d2..0000000 --- a/functions.h +++ /dev/null | |||
@@ -1,261 +0,0 @@ | |||
1 | /* $Id$ */ | ||
2 | |||
3 | /* Begin the individual functions that, given a request r, | ||
4 | * extract the needed information from it and return the | ||
5 | * value to the calling entity. | ||
6 | */ | ||
7 | |||
8 | static const char *extract_remote_host(request_rec *r, char *a) | ||
9 | { | ||
10 | return (char *) ap_get_remote_host(r->connection, r->per_dir_config, REMOTE_NAME, NULL); | ||
11 | } | ||
12 | |||
13 | static const char *extract_remote_address(request_rec *r, char *a) __attribute__((unused)); | ||
14 | |||
15 | static const char *extract_remote_address(request_rec *r, char *a) | ||
16 | { | ||
17 | return r->connection->remote_ip; | ||
18 | } | ||
19 | |||
20 | static const char *extract_local_address(request_rec *r, char *a) __attribute__((unused)); | ||
21 | |||
22 | static const char *extract_local_address(request_rec *r, char *a) | ||
23 | { | ||
24 | return r->connection->local_ip; | ||
25 | } | ||
26 | |||
27 | static const char *extract_remote_logname(request_rec *r, char *a) | ||
28 | { | ||
29 | return (char *) ap_get_remote_logname(r); | ||
30 | } | ||
31 | |||
32 | static const char *extract_remote_user(request_rec *r, char *a) | ||
33 | { | ||
34 | #ifdef WITH_APACHE13 | ||
35 | char *rvalue = r->connection->user; | ||
36 | #else | ||
37 | char *rvalue = r->user; | ||
38 | #endif | ||
39 | if (rvalue == NULL) { | ||
40 | rvalue = "-"; | ||
41 | } else if (strlen(rvalue) == 0) { | ||
42 | rvalue = "\"\""; | ||
43 | } | ||
44 | return rvalue; | ||
45 | } | ||
46 | |||
47 | static const char *extract_request_line(request_rec *r, char *a) | ||
48 | { | ||
49 | /* Upddated to mod_log_config logic */ | ||
50 | /* NOTE: If the original request contained a password, we | ||
51 | * re-write the request line here to contain XXXXXX instead: | ||
52 | * (note the truncation before the protocol string for HTTP/0.9 requests) | ||
53 | * (note also that r->the_request contains the unmodified request) | ||
54 | */ | ||
55 | return (r->parsed_uri.password) | ||
56 | ? apr_pstrcat(r->pool, r->method, " ", | ||
57 | apr_uri_unparse(r->pool, | ||
58 | &r->parsed_uri, 0), | ||
59 | r->assbackwards ? NULL : " ", | ||
60 | r->protocol, NULL) | ||
61 | : r->the_request; | ||
62 | } | ||
63 | |||
64 | static const char *extract_request_file(request_rec *r, char *a) | ||
65 | { | ||
66 | return r->filename; | ||
67 | } | ||
68 | |||
69 | static const char *extract_request_uri(request_rec *r, char *a) | ||
70 | { | ||
71 | return r->uri; | ||
72 | } | ||
73 | |||
74 | static const char *extract_request_method(request_rec *r, char *a) | ||
75 | { | ||
76 | return r->method; | ||
77 | } | ||
78 | |||
79 | static const char *extract_request_protocol(request_rec *r, char *a) | ||
80 | { | ||
81 | return r->protocol; | ||
82 | } | ||
83 | |||
84 | static const char *extract_request_query(request_rec *r, char *a) | ||
85 | { | ||
86 | return (r->args) ? apr_pstrcat(r->pool, "?", | ||
87 | r->args, NULL) | ||
88 | : ""; | ||
89 | } | ||
90 | |||
91 | static const char *extract_status(request_rec *r, char *a) | ||
92 | { | ||
93 | if (r->status <= 0) { | ||
94 | return "-"; | ||
95 | } else { | ||
96 | return apr_psprintf(r->pool, "%d", r->status); | ||
97 | } | ||
98 | } | ||
99 | |||
100 | static const char *extract_virtual_host(request_rec *r, char *a) | ||
101 | { | ||
102 | return r->server->server_hostname; | ||
103 | } | ||
104 | |||
105 | static const char *extract_server_name(request_rec *r, char *a) | ||
106 | { | ||
107 | return ap_get_server_name(r); | ||
108 | } | ||
109 | |||
110 | static const char *extract_machine_id(request_rec *r, char *a) | ||
111 | { | ||
112 | if (!global_config.machid) | ||
113 | return "-"; | ||
114 | else | ||
115 | return global_config.machid; | ||
116 | } | ||
117 | |||
118 | static const char *extract_server_port(request_rec *r, char *a) | ||
119 | { | ||
120 | return apr_psprintf(r->pool, "%u", | ||
121 | r->server->port ? r->server->port : ap_default_port(r)); | ||
122 | } | ||
123 | |||
124 | /* This respects the setting of UseCanonicalName so that | ||
125 | * the dynamic mass virtual hosting trick works better. | ||
126 | */ | ||
127 | static const char *log_server_name(request_rec *r, char *a) __attribute__((unused)); | ||
128 | static const char *log_server_name(request_rec *r, char *a) | ||
129 | { | ||
130 | return ap_get_server_name(r); | ||
131 | } | ||
132 | |||
133 | static const char *extract_child_pid(request_rec *r, char *a) | ||
134 | { | ||
135 | if (*a == '\0' || !strcmp(a, "pid")) { | ||
136 | return apr_psprintf(r->pool, "%" APR_PID_T_FMT, getpid()); | ||
137 | } | ||
138 | else if (!strcmp(a, "tid")) { | ||
139 | #if APR_HAS_THREADS | ||
140 | apr_os_thread_t tid = apr_os_thread_current(); | ||
141 | #else | ||
142 | int tid = 0; /* APR will format "0" anyway but an arg is needed */ | ||
143 | #endif | ||
144 | return apr_psprintf(r->pool, "%pT", &tid); | ||
145 | } | ||
146 | /* bogus format */ | ||
147 | return a; | ||
148 | } | ||
149 | |||
150 | static const char *extract_referer(request_rec *r, char *a) | ||
151 | { | ||
152 | const char *tempref; | ||
153 | |||
154 | tempref = apr_table_get(r->headers_in, "Referer"); | ||
155 | if (!tempref) | ||
156 | { | ||
157 | return "-"; | ||
158 | } else { | ||
159 | return tempref; | ||
160 | } | ||
161 | } | ||
162 | |||
163 | static const char *extract_agent(request_rec *r, char *a) | ||
164 | { | ||
165 | const char *tempag; | ||
166 | |||
167 | tempag = apr_table_get(r->headers_in, "User-Agent"); | ||
168 | if (!tempag) | ||
169 | { | ||
170 | return "-"; | ||
171 | } else { | ||
172 | return tempag; | ||
173 | } | ||
174 | } | ||
175 | |||
176 | static const char *extract_specific_cookie(request_rec *r, char *a) | ||
177 | { | ||
178 | const char *cookiestr; | ||
179 | char *cookieend; | ||
180 | char *isvalid; | ||
181 | char *cookiebuf; | ||
182 | |||
183 | if (a != NULL) { | ||
184 | log_error(APLOG_MARK,APLOG_DEBUG, 0, r->server, | ||
185 | "watching for cookie '%s'", a); | ||
186 | |||
187 | /* Fetch out the cookie header */ | ||
188 | cookiestr = (char *)apr_table_get(r->headers_in, "cookie2"); | ||
189 | if (cookiestr != NULL) { | ||
190 | log_error(APLOG_MARK,APLOG_DEBUG, 0, r->server, | ||
191 | "Cookie2: [%s]", cookiestr); | ||
192 | /* Does the cookie string contain one with our name? */ | ||
193 | isvalid = ap_strstr_c(cookiestr, a); | ||
194 | if (isvalid != NULL) { | ||
195 | /* Move past the cookie name and equal sign */ | ||
196 | isvalid += strlen(a) + 1; | ||
197 | /* Duplicate it into the pool */ | ||
198 | cookiebuf = apr_pstrdup(r->pool, isvalid); | ||
199 | /* Segregate just this cookie out of the string | ||
200 | * with a terminating nul at the first semicolon */ | ||
201 | cookieend = ap_strchr(cookiebuf, ';'); | ||
202 | if (cookieend != NULL) | ||
203 | *cookieend = '\0'; | ||
204 | return cookiebuf; | ||
205 | } | ||
206 | } | ||
207 | |||
208 | cookiestr = (char *)apr_table_get(r->headers_in, "cookie"); | ||
209 | if (cookiestr != NULL) { | ||
210 | log_error(APLOG_MARK,APLOG_DEBUG, 0, r->server, | ||
211 | "Cookie: [%s]", cookiestr); | ||
212 | isvalid = ap_strstr_c(cookiestr, a); | ||
213 | if (isvalid != NULL) { | ||
214 | isvalid += strlen(a) + 1; | ||
215 | cookiebuf = apr_pstrdup(r->pool, isvalid); | ||
216 | cookieend = ap_strchr(cookiebuf, ';'); | ||
217 | if (cookieend != NULL) | ||
218 | *cookieend = '\0'; | ||
219 | return cookiebuf; | ||
220 | } | ||
221 | } | ||
222 | |||
223 | cookiestr = apr_table_get(r->headers_out, "set-cookie"); | ||
224 | if (cookiestr != NULL) { | ||
225 | log_error(APLOG_MARK,APLOG_DEBUG, 0, r->server, | ||
226 | "Set-Cookie: [%s]", cookiestr); | ||
227 | isvalid = ap_strstr_c(cookiestr, a); | ||
228 | if (isvalid != NULL) { | ||
229 | isvalid += strlen(a) + 1; | ||
230 | cookiebuf = apr_pstrdup(r->pool, isvalid); | ||
231 | cookieend = ap_strchr(cookiebuf, ';'); | ||
232 | if (cookieend != NULL) | ||
233 | *cookieend = '\0'; | ||
234 | return cookiebuf; | ||
235 | } | ||
236 | } | ||
237 | } | ||
238 | |||
239 | return "-"; | ||
240 | } | ||
241 | |||
242 | /*static const char *extract_cookie(request_rec *r, char *a) | ||
243 | { | ||
244 | logsql_state *cls = ap_get_module_config(r->server->module_config, | ||
245 | &log_sql_module); | ||
246 | |||
247 | return extract_specific_cookie(r, (char *)cls->cookie_name); | ||
248 | }*/ | ||
249 | |||
250 | static const char *extract_unique_id(request_rec *r, char *a) | ||
251 | { | ||
252 | const char *tempid; | ||
253 | |||
254 | tempid = apr_table_get(r->subprocess_env, "UNIQUE_ID"); | ||
255 | if (!tempid) | ||
256 | return "-"; | ||
257 | else | ||
258 | return tempid; | ||
259 | } | ||
260 | |||
261 | /* End declarations of various extract_ functions */ | ||