From: Amos Jeffries Date: Fri, 17 Feb 2012 09:01:51 +0000 (-0700) Subject: Support CoAP-over-HTTP X-Git-Tag: BumpSslServerFirst.take05~12^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=330f829eab2600b30e2527a08d4c1a87e0b7b6ca;p=thirdparty%2Fsquid.git Support CoAP-over-HTTP Make Squid happy with HTTP requests using coap:// and coaps:// URI. No gateway or other interaction with CoAP is enabled by this patch. --- diff --git a/src/anyp/ProtocolType.h b/src/anyp/ProtocolType.h index 8a43b39fad..4f5ab3b753 100644 --- a/src/anyp/ProtocolType.h +++ b/src/anyp/ProtocolType.h @@ -18,6 +18,8 @@ typedef enum { PROTO_HTTP, PROTO_FTP, PROTO_HTTPS, + PROTO_COAP, + PROTO_COAPS, PROTO_GOPHER, PROTO_WAIS, PROTO_CACHE_OBJECT, diff --git a/src/url.cc b/src/url.cc index 8c485f2555..2f1eeb594c 100644 --- a/src/url.cc +++ b/src/url.cc @@ -125,6 +125,12 @@ urlParseProtocol(const char *b, const char *e) if (strncasecmp(b, "file", len) == 0) return AnyP::PROTO_FTP; + if (strncasecmp(b, "coap", len) == 0) + return AnyP::PROTO_COAP; + + if (strncasecmp(b, "coaps", len) == 0) + return AnyP::PROTO_COAPS; + if (strncasecmp(b, "gopher", len) == 0) return AnyP::PROTO_GOPHER; @@ -160,6 +166,12 @@ urlDefaultPort(AnyP::ProtocolType p) case AnyP::PROTO_FTP: return 21; + case AnyP::PROTO_COAP: + case AnyP::PROTO_COAPS: + // coaps:// default is TBA as of draft-ietf-core-coap-08. + // Assuming IANA policy of allocating same port for base and TLS protocol versions will occur. + return 5683; + case AnyP::PROTO_GOPHER: return 70;