size_t pn_len, pv_len, pt_len;
char *s = *ss;
-#define TRANSPORT_MATCH(t) \
- (su_casenmatch(s + 7, t + 7, (sizeof t) - 8) && (IS_LWS(s[sizeof(t)])) \
+#define TRANSPORT_MATCH(t) \
+ (su_casenmatch(s + 7, t + 7, (sizeof t) - 8) && \
+ (!s[sizeof(t) - 1] || IS_LWS(s[sizeof(t) - 1])) \
&& (transport = t, s += sizeof(t) - 1))
if (!su_casenmatch(s, "SIP/2.0", 7) ||
su_free(home, v), su_free(home, s);
}
+ {
+ char *input;
+ char const *output = NULL;
+ char udp[] = "sip/2.0/udp";
+ char tcp[] = "sip/2.0/tCp ";
+ char sctp[] = "sip/2.0/sctp\t";
+ char tls[] = "sip/2.0/tls\r";
+
+ input = udp;
+ TEST(sip_transport_d(&input, &output), 0);
+ TEST_S(output, "SIP/2.0/UDP");
+
+ input = tcp;
+ TEST(sip_transport_d(&input, &output), 0);
+ TEST_S(output, "SIP/2.0/TCP");
+
+ input = sctp;
+ TEST(sip_transport_d(&input, &output), 0);
+ TEST_S(output, "SIP/2.0/SCTP");
+
+ input = tls;
+ TEST(sip_transport_d(&input, &output), 0);
+ TEST_S(output, "SIP/2.0/TLS");
+ }
+
{
sip_expires_t *ex;
TEST_S(www->au_scheme, "Kerberos");
TEST_1(www = www->au_next);
TEST_S(www->au_scheme, "NTLM");
-
+
msg_destroy(msg);
END();