Skip to content
Snippets Groups Projects
Commit 6474de5f authored by Corey Farrell's avatar Corey Farrell
Browse files

chan_sip: Fix SUBSCRIBE with missing "Expires" header.

When chan_sip receives a SUBSCRIBE request with no "Expires" header it
processes the request as an unsubscribe.  This is incorrect, per RFC3264
when the "Expires" header is missing a default expiry should be used.

ASTERISK-18140

Change-Id: Ibf6dcd4fdd07a32c2bc38be1dd557981f08188b5
parent 4cc36594
No related branches found
No related tags found
No related merge requests found
......@@ -28672,7 +28672,13 @@ static int handle_request_subscribe(struct sip_pvt *p, struct sip_request *req,
p->lastinvite = seqno;
}
if (!p->needdestroy) {
p->expiry = atoi(sip_get_header(req, "Expires"));
const char *expires_str = sip_get_header(req, "Expires");
if (ast_strlen_zero(expires_str)) {
p->expiry = default_expiry;
} else {
p->expiry = atoi(expires_str);
}
 
/* check if the requested expiry-time is within the approved limits from sip.conf */
if (p->expiry > max_subexpiry) {
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment