can't set Expires header value to 4294967295

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

 

For my application, I need to set the expiration value in my PUBLISH request to 4294967295. This is allowable per RFC 3261, sec 20.19:

 

“The value of this field is an integral number of seconds (in decimal) between 0 and (2**32)-1, measured from the receipt of the request.”

 

But, there are two problems with this:

 

1. PJSIP uses 4294967295 (0xffffffff) to indicate an expiration value is not specified. Fair enough -- I changed PJSIP_PUBC_EXPIRATION_NOT_SPECIFIED to the less likely to be used 4294967294 (0xfffffffe).

 

2. However, the call chain that eventually prints the header into the message converts the pj_uint32_t into an int, then into a pj_int32_t (hdr->ivalue) and then into an unsigned long (pj_utoa). On a 64-bit machine, that last conversion will print:

“Expires: 18446744073709551615”

instead of the desired:

“Expires: 4294967295”

 

Can you please add a ticket for this?

 

Thanks,

Jeff

 

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux