[asterisk-bugs] [JIRA] (ASTERISK-21141) RPID not parsed correctly if display-name is *(token LWS)
Walter Doekes (JIRA)
noreply at issues.asterisk.org
Wed Feb 20 04:53:18 CST 2013
[ https://issues.asterisk.org/jira/browse/ASTERISK-21141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Walter Doekes updated ASTERISK-21141:
-------------------------------------
Description:
Quick ABNF refresher:
{noformat}
[http://tools.ietf.org/id/draft-ietf-sip-privacy-04.txt]
Remote-Party-ID = "Remote-Party-ID" HCOLON rpid *(COMMA rpid)
rpid = [display-name] LAQUOT addr-spec RAQUOT *(SEMI rpi-token)
[http://www.ietf.org/rfc/rfc3261.txt]
display-name = *(token LWS)/ quoted-string
LWS = ((( mandatory space "linear whitepace" )))
token = 1*(alphanum / "-" / "." / "!" / "%" / "*"
/ "_" / "+" / "`" / "'" / "~" )
// name-addr = [ display-name ] LAQUOT addr-spec RAQUOT
// addr-spec = SIP-URI / SIPS-URI / absoluteURI
// quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE
// SWS = ((( optional space "separator whitespace" )))
{noformat}
{{chan_sip.c get_rpid()}} only parses the {{quoted-string}} form, not the {{*(token LWS)}} form.
I've done a quick fix to allow {{*(token LWS)}}.
It's would probably be better to rewrite the thing and use proper {{reqresp_parser.c}} functions, but chan_gulp is on the way and I didn't want to unintentionally break things for somebody by changing around too much.
Regards,
Walter
was:
Quick ABNF refresher:
{noformat}
[http://tools.ietf.org/id/draft-ietf-sip-privacy-04.txt]
Remote-Party-ID = "Remote-Party-ID" HCOLON rpid *(COMMA rpid)
rpid = [display-name] LAQUOT addr-spec RAQUOT *(SEMI rpi-token)
[http://www.ietf.org/rfc/rfc3261.txt]
display-name = *(token LWS)/ quoted-string
LWS = ((( mandatory space "linear whitepace" )))
token = 1*(alphanum / "-" / "." / "!" / "%" / "*"
/ "_" / "+" / "`" / "'" / "~" )
// name-addr = [ display-name ] LAQUOT addr-spec RAQUOT
// addr-spec = SIP-URI / SIPS-URI / absoluteURI
// quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE
// SWS = ((( optional space "separator whitespace" )))
{noformat}
{{chan_sip.c get_rpid()}} only parses the {{quoted-string}} form, not the {{*(token LWS)}} form.
I've done a quick fix to allow {{*token}}{{\[}}{{LWS]}}.
It's would probably be better to rewrite the thing and use proper {{reqresp_parser.c}} functions, but chan_gulp is on the way and I didn't want to unintentionally break things for somebody by changing around too much.
Regards,
Walter
> RPID not parsed correctly if display-name is *(token LWS)
> ---------------------------------------------------------
>
> Key: ASTERISK-21141
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-21141
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_sip/Interoperability
> Affects Versions: 1.8.20.1
> Reporter: Walter Doekes
> Severity: Trivial
> Attachments: issueA21141_rpid_parse_token_name_too.patch
>
>
> Quick ABNF refresher:
> {noformat}
> [http://tools.ietf.org/id/draft-ietf-sip-privacy-04.txt]
> Remote-Party-ID = "Remote-Party-ID" HCOLON rpid *(COMMA rpid)
> rpid = [display-name] LAQUOT addr-spec RAQUOT *(SEMI rpi-token)
> [http://www.ietf.org/rfc/rfc3261.txt]
> display-name = *(token LWS)/ quoted-string
> LWS = ((( mandatory space "linear whitepace" )))
> token = 1*(alphanum / "-" / "." / "!" / "%" / "*"
> / "_" / "+" / "`" / "'" / "~" )
> // name-addr = [ display-name ] LAQUOT addr-spec RAQUOT
> // addr-spec = SIP-URI / SIPS-URI / absoluteURI
> // quoted-string = SWS DQUOTE *(qdtext / quoted-pair ) DQUOTE
> // SWS = ((( optional space "separator whitespace" )))
> {noformat}
> {{chan_sip.c get_rpid()}} only parses the {{quoted-string}} form, not the {{*(token LWS)}} form.
> I've done a quick fix to allow {{*(token LWS)}}.
> It's would probably be better to rewrite the thing and use proper {{reqresp_parser.c}} functions, but chan_gulp is on the way and I didn't want to unintentionally break things for somebody by changing around too much.
> Regards,
> Walter
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the asterisk-bugs
mailing list