proxy_util.c revision 65e6d908dea547d371e7779d3c313c7ff1f02dc6
c79e39ad568d9af854765f64049534044ef6c034nd/* ====================================================================
2d0611ffc9f91c5fc2ddccb93f9a3d17791ae650takashi * The Apache Software License, Version 1.1
d3e250aab242db84d14060985b5db675a731d548nd * Copyright (c) 2000-2001 The Apache Software Foundation. All rights
c79e39ad568d9af854765f64049534044ef6c034nd * reserved.
c79e39ad568d9af854765f64049534044ef6c034nd * Redistribution and use in source and binary forms, with or without
c79e39ad568d9af854765f64049534044ef6c034nd * modification, are permitted provided that the following conditions
c79e39ad568d9af854765f64049534044ef6c034nd * are met:
4b575a6b6704b516f22d65a3ad35696d7b9ba372rpluem * 1. Redistributions of source code must retain the above copyright
c79e39ad568d9af854765f64049534044ef6c034nd * notice, this list of conditions and the following disclaimer.
* Apache Software Foundation (http://www.apache.org/)."
#include "mod_proxy.h"
int i, ch;
#if !APR_CHARSET_EBCDIC
ch = x[0];
#if !APR_CHARSET_EBCDIC
int isenc)
int i, j, ch;
if (t == enc_path)
else if (t == enc_search)
else if (t == enc_user)
else if (t == enc_fpath)
if (t == enc_path)
else if (t == enc_search)
for (i = 0, j = 0; i < len; i++, j++) {
ch = x[i];
y[j] = ch;
return NULL;
y[j] = ch;
PROXY_DECLARE(char *)
apr_port_t i;
return NULL;
PROXY_DECLARE(const char *)
return rp;
PROXY_DECLARE(apr_table_t *)ap_proxy_read_headers(request_rec *r, request_rec *rr, char *buffer, int size, conn_rec *c)
int len;
return NULL;
++value;
return headers_out;
int len, i;
if (p != NULL) {
i = p - list;
while (apr_isspace(*p));
list = p;
int len, i;
if (p != NULL) {
i = p - list;
while (apr_isspace(*p));
if (new)
list = p;
return new;
int i, ch;
ch = x[i];
int i, ch;
return statuscode;
return r->hostname;
return NULL;
url = apr_pstrdup(r->pool, &url[1]); /* make it point to "//", which is what proxy_canon_netloc expects */
int i, quads;
long bits;
char *tmp;
char *tmp;
++addr;
--quads;
/* "IP Address should be given in dotted-quad form, optionally followed by a netmask (e.g., 192.168.111.0/24)"; */
#if DEBUGGING
#if DEBUGGING
!= APR_SUCCESS) {
#if DEBUGGING
host);
while (reqaddr) {
#if DEBUGGING
#if DEBUGGING
--d_len;
--h_len;
int h2_len;
int h1_len;
while (addr) {
--h2_len;
--h1_len;
return HTTP_FORBIDDEN;
while (conf_addr) {
while (uri_addr) {
char *conf_ip;
char *uri_ip;
return HTTP_FORBIDDEN;
return OK;
return OK;
apr_bucket *e;
char *response;
int found = 0;
buff[0] = 0;
*eos = 0;
while (!found) {
return rv;
if (APR_BUCKET_IS_EOS(e)) {
return rv;
if (len > 0) {
return APR_SUCCESS;
f = f->next;
f = f->next;
#if defined WIN32
switch (reason) {
case DLL_PROCESS_ATTACH:
case DLL_THREAD_DETACH:
if (memptr) {
return TRUE;