Skip to content

Instantly share code, notes, and snippets.

@etamme
Last active January 5, 2016 21:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save etamme/953cb286cb73b6a62216 to your computer and use it in GitHub Desktop.
Save etamme/953cb286cb73b6a62216 to your computer and use it in GitHub Desktop.
diff --git a/parser/parse_uri.c b/parser/parse_uri.c
index e4621ac..145b6b5 100644
--- a/parser/parse_uri.c
+++ b/parser/parse_uri.c
@@ -188,7 +188,9 @@ int parse_uri(char* buf, int len, struct sip_uri* uri)
/* sctp */
VS_S, VS_C, VS_T, VS_P_FIN,
/* ws */
- VW_W, VW_S_FIN
+ VW_W, VW_S_FIN,
+ /* wss */
+ VW_S_S_FIN
};
register enum states state;
char* s;
@@ -821,7 +823,10 @@ int parse_uri(char* buf, int len, struct sip_uri* uri)
transport_fin(VS_P_FIN, PROTO_SCTP);
/* ws */
value_switch(VW_W, 's', 'S', VW_S_FIN);
- transport_fin(VW_S_FIN, PROTO_WS);
+ //transport_fin(VW_S_FIN, PROTO_WS);
+ /* wss */
+ value_switch(VW_S_FIN, 's', 'S', VW_S_S_FIN);
+ transport_fin(VW_S_S_FIN, PROTO_WSS);
/* ttl */
param_switch(PTTL_T2, 'l', 'L', PTTL_L);
@@ -1179,6 +1184,13 @@ int parse_uri(char* buf, int len, struct sip_uri* uri)
param_set(b, v);
uri->proto=PROTO_WS;
break;
+ case VW_S_S_FIN:
+ uri->params.s=s;
+ uri->params.len=p-s;
+ param_set(b, v);
+ uri->proto=PROTO_WSS;
+ break;
+
/* headers */
case URI_HEADERS:
uri->headers.s=s;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment