Hello,
I've noticed this problem while coding a module, and I'm wondering if
it's a known problem or not:
Some parts of openser code assume that there will only be one instance
of a certain header whereas the values can be actually spread across
multiple headers on multiple lines.
For example, the "Allow:" header is usually seen with all the method
names on one line:
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, SUBSCRIBE
but the following is legal as well:
Allow: ACK, BYE
Allow: CANCEL, INFO, INVITE
[junk in between]
Allow: NOTIFY, OPTIONS, SUBSCRIBE
Other headers that can be split up like this include Supported,
Proxy-Require.
It isn't difficult to parse_headers(HDR_EOH_F) and then run through the
(struct sip_msg *)p->headers linked list to find all instances of the
header you want, but there already exists code that assumes that there
will be only one instance (e.g., parse_allow, get_allow_methods, any of
the named struct hdr_field members of struct sip_msg).
Yes?
--
Daniel Hsueh mailto:[EMAIL PROTECTED]
SOMA Networks tel:+1-416-348-1631
_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel