When proxy is on (trasparent mode), i can't access to mail server using Microsoft Exchange 2000 Outlook Web Access.
It is possible to fix the problem?
Some search in internet and i have found this doc.
> Using squid-2.4-200011210000 under cygwin1.1.5 modified the http.c file,
> enums.h file and url.c files as below.
> Changes are marked with the comment /* Added this line to accomodate
> Microsoft Exchange 2000 Outlook Web Access*/
>
> The solution was sourced partially from the archive but i couldn't
> understand all the references to RFC's (Sorry I don't understand much C)
> so found the similiar entries that were talked about eg METHOD_BMOVE and
> METHOD_BDELETE and it worked. so here is 8-)
>
> Modified http.c
> httpMaybeRemovePublic(StoreEntry * e, http_status status)
> {
> int remove = 0;
> int forbidden = 0;
> StoreEntry *pe;
> if (!EBIT_TEST(e->flags, KEY_PRIVATE))
> return;
> switch (status) {
> case HTTP_OK:
> case HTTP_NON_AUTHORITATIVE_INFORMATION:
> case HTTP_MULTIPLE_CHOICES:
> case HTTP_MOVED_PERMANENTLY:
> case HTTP_MOVED_TEMPORARILY:
> case HTTP_GONE:
> case HTTP_NOT_FOUND:
> remove = 1;
> break;
> case HTTP_FORBIDDEN:
> case HTTP_METHOD_NOT_ALLOWED:
> forbidden = 1;
> break;
> #if WORK_IN_PROGRESS
> case HTTP_UNAUTHORIZED:
> forbidden = 1;
> break;
> #endif
> default:
> #if QUESTIONABLE
> /*
> * Any 2xx response should eject previously cached entities...
> */
> if (status >= 200 && status remove = 1;
> #endif
> break;
> }
> if (!remove && !forbidden)
> return;
> assert(e->mem_obj);
> if ((pe = storeGetPublic(e->mem_obj->url, e->mem_obj->method)) !=
> NULL) {
> assert(e != pe);
> storeRelease(pe);
> }
> /*
> * Also remove any cached HEAD response in case the object has
> * changed.
> */
> if ((pe = storeGetPublic(e->mem_obj->url, METHOD_HEAD)) != NULL) {
> assert(e != pe);
> storeRelease(pe);
> }
> if (forbidden)
> return;
> switch (e->mem_obj->method) {
> case METHOD_PUT:
> case METHOD_DELETE:
> case METHOD_PROPPATCH:
> case METHOD_MKCOL:
> case METHOD_MOVE:
> case METHOD_BMOVE:
> case METHOD_BDELETE:
> case METHOD_SEARCH: /* Added this line to accomodate Microsoft
> Exchange 2000 Outlook Web Access*/
> /*
> * Remove any cached GET object if it is beleived that the
> * object may have changed as a result of other methods
> */
> if ((pe = storeGetPublic(e->mem_obj->url, METHOD_GET)) != NULL)
> {
> assert(e != pe);
> storeRelease(pe);
> }
> break;
> }
> }
>
>
> modified the url.c file to look like this:
>
> const char *RequestMethodStr[] =
> {
> "NONE",
> "GET",
> "POST",
> "PUT",
> "HEAD",
> "CONNECT",
> "TRACE",
> "PURGE",
> "OPTIONS",
> "DELETE",
> "PROPFIND",
> "PROPPATCH",
> "MKCOL",
> "COPY",
> "MOVE",
> "LOCK",
> "UNLOCK",
> "BMOVE",
> "BDELETE",
> "BPROPFIND",
> "%EXT00",
> "%EXT01",
> "%EXT02",
> "%EXT03",
> "%EXT04",
> "%EXT05",
> "%EXT06",
> "%EXT07",
> "%EXT08",
> "%EXT09",
> "%EXT10",
> "%EXT11",
> "%EXT12",
> "%EXT13",
> "%EXT14",
> "%EXT15",
> "%EXT16",
> "%EXT17",
> "%EXT18",
> "%EXT19",
> "SEARCH", /* Added this line to accomodate Microsoft Exchange 2000
> Outlook Web Access*/
> "ERROR"
> };
>
> The "SEARCH" was the method added.
>
> and then in enums.h changed
> enum {
> METHOD_NONE, /* 000 */
> METHOD_GET, /* 001 */
> METHOD_POST, /* 010 */
> METHOD_PUT, /* 011 */
> METHOD_HEAD, /* 100 */
> METHOD_CONNECT, /* 101 */
> METHOD_TRACE, /* 110 */
> METHOD_PURGE, /* 111 */
> METHOD_OPTIONS,
> METHOD_DELETE, /* RFC2616 section 9.7 */
> METHOD_PROPFIND,
> METHOD_PROPPATCH,
> METHOD_MKCOL,
> METHOD_COPY,
> METHOD_MOVE,
> METHOD_LOCK,
> METHOD_UNLOCK,
> METHOD_BMOVE,
> METHOD_BDELETE,
> METHOD_BPROPFIND,
> METHOD_EXT00,
> METHOD_EXT01,
> METHOD_EXT02,
> METHOD_EXT03,
> METHOD_EXT04,
> METHOD_EXT05,
> METHOD_EXT06,
> METHOD_EXT07,
> METHOD_EXT08,
> METHOD_EXT09,
> METHOD_EXT10,
> METHOD_EXT11,
> METHOD_EXT12,
> METHOD_EXT13,
> METHOD_EXT14,
> METHOD_EXT15,
> METHOD_EXT16,
> METHOD_EXT17,
> METHOD_EXT18,
> METHOD_EXT19,
> METHOD_SEARCH, /* Added this line to accomodate Microsoft Exchange
> 2000 Outlook Web Access*/
> METHOD_ENUM_END
Best Regards
Fabrizio
This thread was automatically locked due to age.