ChangeLog 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  1. libosip2 (5.2.1) - 2021-05-25
  2. * fix compilation warning on ANDROID
  3. * add OSIP_RETRY_LIMIT which may be useful to exosip
  4. * add osip_timersub macro
  5. * [windows] automatic usage of debug malloc/free to ease leak detection on windows
  6. * fix validate that the API are used with the expected/required leading char
  7. osip_uri_parse_headers parameter must start by '?'
  8. osip_uri_parse_params parameter must start by ';'
  9. * fix memory out-of-bound access in broken uncompliant Via header
  10. * fix k= within media being rejected since 5.1.1 [wrong check]
  11. libosip2 (5.2.0) - 2020-11-10
  12. * use localtime_r when __USE_POSIX is available
  13. * sync versions with libexosip
  14. libosip2 (5.1.2) - 2020-08-22
  15. * remove requirement for mime-version header when multipart body is used
  16. * add "make valgrind" to run valgrind test. "make check" only runs without valgrind.
  17. * new style format using clang-format
  18. * timers for event will trigger when time is equal (not 1ms after). change required for libeXosip2-5.1.2.
  19. * add detection of localtime // simplify logs and use readable time in it.
  20. * use proper const for osip_trace API.
  21. libosip2 (5.1.1) - 2020-01-16
  22. * fix vulnerability report: Authentication-Info or Proxy-Authentication-Info are affected by a buffer overflow when building sip messages.
  23. * fix vulnerability report: when boundary only contains one quote, strncpy will use the unsigned value of -1 as size parameter.
  24. * fix: avoid several memory leaks detected in the SDP parser upon invalid SDP formats.
  25. * fix bug #57467: infinite loop in sdp_message_a_attribute_del_at_index
  26. * fix bug #56071: Heap-buffer-overflow in osip_util_replace_all_lws function in osip_message_parse.c
  27. * fix to reject any non compliant answer with missing version digits.
  28. libosip2 (5.1.0) - 2019-03-27
  29. * STRUCTURE change: struct osip_srv_record
  30. * STRUCTURE change: struct osip_naptr
  31. * constant renamed: CRLF, LF, CR, SP renamed to OSIP_CRLF, OSIP_LF, OSIP_CR, OSIP_SP
  32. * new API: int parser_add_comma_separated_header(const char *hname);
  33. * support larger binary attachment.
  34. * use strspn for better readability.
  35. * update osip_naptr & osip_srv_record structures to hold more NAPTR info and store ENUM result.
  36. * add AM_SILENT_RULES for autotools silent compilation.
  37. * fix a bug introduced in version 5: The current code is not counting correctly escaped " for multiple
  38. headers on one line. This is fixed.
  39. * In order to prevent incorrect parsing of header that should not appear on one line, osip now contains
  40. a list of known headers which are allowed to appear as "multiple header on one line separated with COMMA".
  41. Other headers will be parsed as ONE header.
  42. * new API: parser_add_comma_separated_header API can be used to add other headers in the list, so they
  43. will be parsed by osip as "multiple header on one line".
  44. * support for Visual Studio 2017: rename macro, better usage of WINAPI_FAMILY.
  45. * add some pre-defined SIP answer code (from www.iana.org/assignments/sip-parameters/)
  46. * fix windows compilation on mingw/msys if compiling without threads.
  47. * fix bug report: sr #109265: SIP message body length underflow in libosip2-4.1.0
  48. https://savannah.gnu.org/support/?109265
  49. * other minor changes: warning, compilation...
  50. libosip2 (5.0.0)
  51. * STRUCTURE change: additionnal parameter for "struct osip_srv_entry" used for failover in eXosip2.
  52. * fix overflow: sr #109133: Heap buffer overflow in utility function *osip_clrncpy*
  53. * fix overflow: sr #109132: Heap buffer overflow in *osip_body_to_str*
  54. * fix overflow: sr #109131: Heap buffer overflow in `_osip_message_to_str`
  55. * simplify usage of timercmp/timerisset/timerclear
  56. * optimize list search: use iterator
  57. * improve/update autotools (./configure and options, Makefile.am, ax_thread.m4...)
  58. * verify a URI scheme only contains allowed char
  59. * improve make check (test unit) to make it clear about the results expected.
  60. * fix a possible buffer overflow of 1 byte in sdp_message_to_str (size=sdp allocated size)
  61. * fix cseq check in order to stop retransmission of 200ok
  62. * update to reject negative value in port number
  63. * add support for ntlm authentication in parser
  64. * include application_data when cloning sip message
  65. * fix to allow correct parsing of quoted string in from/to/contact/...
  66. * add authorizations and proxy_authorizations into ACK for 3xx, 4xx, 5xx, and 6xx (if answer was not 401/407)
  67. * additionnal check for cseq number for matching incoming ack restransmission
  68. * patch to transmit ack for OSIP_ICT_ACK_SENT event
  69. * improve management of body length // fix a bug when initial value of body is \0.
  70. * increase timer E as soon as we receive 1xx for NICT.
  71. * update all reasons according to RFC.
  72. * add some reason code from rfc4412, rfc3261 and rfc6086.
  73. * parse addr spec with LAQUOT and RAQUOT in generic parameters.
  74. * avoid issue with comma in userinfo of URI which may appear for several headers such as Contact.
  75. * do not use multiple header method for t, f, i, r, refer-to, b, referred-by headers.
  76. * allow faster connection with non blocking reliable sockets.
  77. * improve android time compensation.
  78. libosip2 (4.1.0)
  79. * fix sdp re-allocation
  80. * increase max length size
  81. * support for Visual Studio 2012 (v110 and v110 for XP)
  82. * support for Windows Phone 8
  83. * osip_trace_initialize returns 0 if log are compiled.
  84. * timer e and timer g will use #define DEFAULT_T2 instead of 4000.
  85. * handle additionnal possible malloc failure.
  86. * fix compatibility with old UA for INVITE retransmission.
  87. * fix osip_sem_destroy leak on apple.
  88. * accept lowercase sip/2.0.
  89. * increase max default size for logs on windows.
  90. libosip2 (4.0.0)
  91. * implement time compensation for android.
  92. * reduce path len // remove path in front of logs.
  93. * accept only SIP/D.D format message.
  94. * fix bug when releasing request with missing major headers.
  95. * fix minor memory leak // remove limitation on fifo size.
  96. * add system time support for macosx and ios.
  97. * use system independant time for osip_gettimeofday on unix platform.
  98. * To compile/use osip based application in multi threaded
  99. env, you don't need to define -DOSIP_MT any more. Instead,
  100. if you wish to disable the feature, you can compile with
  101. -DOSIP_MONOTHREAD.
  102. * A few other clean up were made inside osip to avoid any
  103. define to appear in include files. Also to avoid conflict,
  104. config.h has been renamed to osip-config.h.
  105. libosip2 (3.6.0)
  106. * minor improvments. The git on savannah will bring you all details!
  107. libosip2 (3.5.0)
  108. * iphone with TCP/TLS background support.
  109. * android support.
  110. * a lot of minor change/fix/improvments, sorry for not being
  111. able to have an history here...
  112. libosip2 (3.4.0)
  113. * remove CRLF before parsing SIP message.
  114. * modification to allow non-blocking socket for reliable transport.
  115. * fix race condition for non-atomic incrementation operation.
  116. * osip_list improvements.
  117. * osip_list prototypes and warnings fix.
  118. * new osip_strcasestr method.
  119. libosip2 (3.3.0)
  120. * new APPLE native interface for semaphore
  121. * add relative time in log information on linux/windows
  122. * fix: unescape last uri parameters.
  123. libosip2 (3.2.0)
  124. * return new error code for all API.
  125. libosip2 (3.1.0)
  126. * Windows Mobile 5/6 improvments.
  127. * allow uncompliant/IMS authentication headers.
  128. * fix when a space appear as the first char in body.
  129. * terminate body with '\0' after parsing (don't rely on this!)
  130. libosip2 (3.0.3)
  131. * initial support for rtems.
  132. libosip2 (3.0.2)
  133. * initial support for ucos.
  134. * fix to ignore broken optionnal header when parsing.
  135. libosip2 (3.0.1)
  136. * add Windows CE support with Visual Studio 2005
  137. (WM5.0,PocketPC 2003/2005, Smartphone)
  138. * Fix memory leaks (not likely to happen).
  139. * Fix buffer overrun in url.
  140. * Modification of the Application Binary Interface (ABI)
  141. to decrease number of allocations.
  142. Changes: osip_message_t/osip_dialog_t/sdp_message_t/osip_fifo_t
  143. * save route headers in the same order (CALLER or CALLER) in dialogs.
  144. libosip2 (2.2.3)
  145. * fix 64-bit (amd64) issue with hash.
  146. * remove SDP negotiation (much better to do it in your applications)
  147. libosip2 (2.2.2)
  148. * parser speed improvements
  149. * replace mutex with critical section on windows for performance.
  150. * fix a bug in the parser for empty header (also store empty Accept header)
  151. * improve mime support.
  152. * improve sipfrag support.
  153. * add NULL checks (uris...).
  154. * patch for PSOS support.
  155. libosip2 (2.2.1)
  156. * fix a potential mem leak content_type and osip_message_parse.
  157. * fix osip_body_clone method (add terminating NULL)
  158. * fix for binary support when multipart is used.
  159. * automatic check for reliable protocol SCTP and TLS.
  160. * avoid <winsock.h> inclusion so user can (and must) now include either
  161. <winsock.h> or <winsock2.h> before including <osip/osip2.h>
  162. libosip2 (2.2.0)
  163. * remove #ifdef OSIP_RETRANSMIT_2XX to always compile it.
  164. * initialize remote_contact_uri when dialog is built with notify.
  165. * allow very short attachements.
  166. * new macros allocators.
  167. * remove use of alloca in the parser.
  168. * fix memory bug when realloc is needed on large message.
  169. * remove useless prototypes.
  170. * fix memory access in parser.
  171. * API slightly broken to enable support for binary data.
  172. * improvements of the sip message test suite.
  173. libosip2 (2.0.9)
  174. * fix detection of CRLFCRLF in osip_util_replace_all_lws.
  175. * fix expires header with comma.
  176. * fix a few memory leak in parser.
  177. * improvements for the new sdp negociator.
  178. * fix trace mode.
  179. libosip2 (2.0.8)
  180. * Fix lookup of generic/uri parameter (use case-insensitive comparison)
  181. * Initial release of the new SDP negociator. (old one will be removed)
  182. * fix bug in parser (windows)
  183. * fix lookup of generic_paramter and uri_parameter.
  184. * fix memory leak in condition variable (windows).
  185. libosip2 (2.0.7)
  186. * Fix a parser bug for uncomplete request line.
  187. * Update timer facility for windows.
  188. * Remove useless #define.
  189. libosip2 (2.0.6)
  190. * Fix a memory access in authentication headers.
  191. * Fix possible buffer overflow in uri.
  192. * Two memory bug fix in the parser.
  193. * allow missing tag in To header of incoming request.
  194. * reindentation of all code.
  195. * improve configure.in file
  196. * tiny other fix (doxygen, prototypes, warnings)
  197. libosip2 (2.0.5)
  198. * Fix for content-type header.
  199. * New optionnal timer interface. (will become the default)
  200. * fix the sent-by check for matching response with transaction.
  201. libosip2 (2.0.4)
  202. * fix random number generation on windows.
  203. * fix for MingGw compiler
  204. * set paramter of sdp_negociation_t structure to NULL on init.
  205. libosip2 (2.0.3)
  206. * new method to create dialog from NOTIFY requests.
  207. * fix random number generation to avoid possible guess of random numbers.
  208. * fix a bug for media line with number_of_port specified
  209. * fix compile issue with --disable-trace & --disable-debug
  210. libosip2 (2.0.2)
  211. * fix Makefile.am to include debian directory.
  212. * fix a bug when response contains a code set to "0".
  213. * fix a bug when Mime-version is present but Content-type is undefined.
  214. * fix when Call-Id is missing.
  215. libosip2 (2.0.1)
  216. * fix bug in osip_message_to_str() for too long messages.
  217. * improve robustness when parsing empty headers.
  218. * add optionnal retransmission of 2xx and ACK for INVITE capabilities.
  219. * fix bug on exit for WIN32.
  220. libosip2 (2.0.0)
  221. * initial release of libosip2
  222. libosip2 (1.99.6)
  223. * complete new organization of files and directories.
  224. * become libosip2.
  225. libosip (1.99.4)
  226. * fix a bug when ACK for 3456xx can't be built.
  227. * complete reorganisation of includes, files and directories.
  228. * moving free to corresponding *_free()
  229. * remove the need to define HAVE_* to compile simple program with osip2
  230. * complete renaming of the API.
  231. libosip (0.9.7)
  232. * fix a bug in hdr_wwwauthenticate.c.
  233. * patch for debian packaging and version management.
  234. * extra free removed for pSOS (smutex_destroy/ssem_destroy)
  235. * fix crash when osip can't build ACK for 3456xx to INVITEs.
  236. * Extra spaces now appear before content-length digits.
  237. libosip (0.9.6)
  238. * fix transaction_init for request without mandatory headers.
  239. * refuse to create transactions with cseq and method that differs.
  240. * check minimum authorized length for method name of request.
  241. * fix the state when a retransmission of INVITE is received.
  242. * Minor changes in #define definitions just for clarity.
  243. libosip (0.9.5)
  244. * fix a memory leak for retransmissions in msg_2char.
  245. * fix a bug when startline end with CRCRLF.
  246. libosip (0.9.4)
  247. * fix win32 compilation for Debug release.
  248. * re-fix(?) the parsing of the Date header.
  249. * verify log strings are NULL terminated.
  250. * add syslog support.
  251. * continue WINCE port.
  252. libosip (0.9.3)
  253. * fix a bug for quoted strings starting with an escaped char '\'.
  254. * initial commit for WinCE support. (uncomplete)
  255. * fsm/port_sema.c: (windows only) sem_trywait was never returning 0.
  256. * add a method to get possible destination and port for a request.
  257. libosip (0.9.2)
  258. * add support for the received and rport parameters inside the osip stack.
  259. * sdp_negoc.c: fix the video support.
  260. * msg_parser.c: use realloc for main buffer of msg_parse().
  261. * hdr_authorization.c: improve end of header detection.
  262. * hdr_callinfo.c: fix a bug when realloc happen here.
  263. * hdr_from.c: accept empty parameter.
  264. libosip (0.9.1)
  265. * fix non multi-threaded version. (fifo_size was broken)
  266. * Add win32 system logger feature. (compile with SYSTEM_LOGGER_ENABLED)
  267. libosip (0.9.0)
  268. * a few warnings fix for win32.
  269. * Change *_2char methods so they use realloc. (not yet finished!)
  270. * Update the API and sip_t to support multiple "Authorization" headers.
  271. * bug fixed in sclrspace() when allocated string is of length 1.
  272. * bug fix ("sip:" and "sips:" should be equivalent to "SIP:" and "SIPS:")
  273. * remove a printf.
  274. * remove DEBUG() macros
  275. * move TRACE -> OSIP_TRACE
  276. * move trace -> osip_trace to avoid duplicate definitions
  277. libosip (0.8.9)
  278. * smsg.h: fix max_forward to max_forwards.
  279. * osip/osip.h: you can now attach an application pointer to osip_t
  280. * osip/dialog.h: fix prototype for hp-ux compiler.
  281. * fsm/transaction.c: add transaction_free2(). A usefull method to
  282. free a transaction without removing it from the osip stack. (To
  283. be used when it has been already removed earlier.)
  284. libosip (0.8.8)
  285. * windows: The windows contributions was wrong. Thread were killed
  286. instead of joined. I changed that...
  287. * transaction.c/ict.c/ist.c/nict.c/nist.c: Avoid a race conditions
  288. when a retransmission might be added before the initial message
  289. is added in the fifo. (very unlikely to happen...)
  290. * urls.c: built-in support of escaped sequences in sip-uri!
  291. * vxworks minor patches.
  292. * nict.c and ict.c: fix a bug with the setting of the port.
  293. * fsm/dialog.c: if 1xx answer does not contain the route set, update
  294. it when the 200 OK comes in.
  295. * parser/hdr_acceptencoding.c: msg_2char use realloc() now.
  296. (Thanks to chenshx for his patch)
  297. * improve support of other scheme in the fsm. It is now able
  298. to manage transaction with non-sipurl in the To or From header!
  299. * urls.h: fix MACROs for adding parameters.
  300. * new optional algo using gperf (thanks to <chenshx@mail.datang.com>)
  301. use ./configure --enable-gperf
  302. * new debugging tools with mpatrol: ./configure --enable-mpatrol
  303. libosip (0.8.7)
  304. * reject message with 2 call-id, 2cseq, 2 from, 2 to...
  305. * allow generic_param can have a NULL value!.
  306. * ist and nist was calling the wrong callback on retransmission.
  307. * New checking rules compliant to the latest draft for internal
  308. management of transactions.
  309. * "make check" is available and improve results ouput.
  310. * delete warnings for OpenBSD compilation. The port to pth is still
  311. an issue for me.
  312. libosip (0.8.6)
  313. * documentation started with Doxygen.
  314. libosip (0.8.5)
  315. * Dialog fully tested and hoped to be correct.
  316. * osip_create_transaction: can now be used to create ICT and NICT
  317. * contact_param_add: fix MACRO! an argument was missing.
  318. * dialog.c: make it more compliant: TO BE TESTED!
  319. * transaction.c: MAJOR CHANGE: transaction_free() must now be called by the
  320. application! This way, you can re-use data before releasing the context..
  321. * add a failure case when there is no '>' char when '<' is found.
  322. * fix compilations issue with --disable-mt.
  323. libosip (0.8.4)
  324. * ist_fsm.c: start timer i while entering CONFIRMED state.
  325. * urls.c: bug in line 210.
  326. * msg_cparser.c: switch CONTACT_SHORT & CONTENT_LENGTH_SHORT in table.
  327. * osip_distribute_event(): obsolete!
  328. this method was previously used ONLY for incoming message.
  329. This was not clear! Now, you must use osip_find_transaction()
  330. and osip_create_transaction() instead.
  331. * msg_write.c: add msg_clone()
  332. * smsg.h: fix MACROS
  333. libosip (0.8.3)
  334. * add lock/unlock methods for searching in transactions
  335. * improve reliability when a NULL pointer is given to *_free methods.
  336. * many bugs fixes in fsm/*
  337. * parser/hdr_via.c: support for ipv6. Previous version are not compliant.
  338. libosip (0.8.2)
  339. * ipv6 support (need more testing.) - Thanks to tomohide.
  340. * support for any scheme in url. (Use with care with applications.)
  341. * support for sysv semaphore.
  342. libosip (0.8.1) testing ;urgency=high
  343. * new finite state machines for TRANSACTION LAYER compliant with
  344. the rfc2543bis-09.txt. This is a total rewrite. Those new
  345. fsm should be usable either by proxies and endpoints. The
  346. difference is in the UAC_UAC_core and Proxy_core. (Stateless
  347. proxy don't need any state machines!)
  348. * some bug fixes and one memory leak in the parser.
  349. * COMPATIBILITY WITH PREVIOUS RELEASE IS NOT KEPT!
  350. * test in ./example and ./example_mt are deprecated and removed.
  351. libosip (0.8.0) testing ;urgency=high
  352. * new SDP parser
  353. * new SDP automtic negociation facility (for User Agent)
  354. libosip (0.7.9) testing ;urgency=low
  355. * hdr_authorization.c/hdr_wwwauthenticate.c:
  356. Interoperability issue with Vovida.
  357. * hdr_via.c: add the via_appendtopvia(...) as required by users...
  358. * Windows updates makefiles (VC6++, tested on NT4).
  359. * gcc-3.0 updates and ANSI modifications:
  360. * Thanks to marko for little improvments.
  361. libosip (0.7.8) testing ;urgency=high
  362. * this version is full SIP compliant with some excetions. Ask
  363. osip@atosc.org for current status.
  364. * HNY :-)
  365. * Thanks to contributors for patches:
  366. Vytautas Vysniauskas
  367. Rick Flott.
  368. libosip (?.?.?) testing ;urgency=low
  369. * oSIP is the official name!!!