ChangeLog-0.13.1
上传用户:gzpyjq
上传日期:2013-01-31
资源大小:1852k
文件大小:282k
源码类别:

手机WAP编程

开发平台:

WINDOWS

  1. begins with "http://".
  2. 2000-09-21  Lars Wirzenius  <liw@iki.fi>
  3. * checks/check_octstr.c: Wrote.
  4. * gwlib/octstr.[ch]: Wrote new function octstr_case_search.
  5. 2000-09-21  Lars Wirzenius  <liw@iki.fi>
  6. * gwlib/octstr.c: octstr_compare: Fixed behavior when either argument
  7. was a zero length octet string. It used to always return zero,
  8. now it returns -1 or 1 if the other argument is not a zero length
  9. octet string.
  10. * gwlib/octstr.[ch]: Wrote octstr_case_compare.
  11. 2000-09-21  Lars Wirzenius  <liw@iki.fi>
  12. * gwlib/octstr.c: Reformatted to new code layout.
  13. 2000-09-21  Lars Wirzenius  <liw@iki.fi>
  14. * gw/wapbox.c: Start the WAP application layer before the
  15. heartbeat thread. This prevents a race condition at startup.
  16. 2000-09-21  Richard Braakman  <dark@wapit.com>
  17. * gw/timers.c: In TimerHeap struct, rename "heap" field to "tab".
  18. There's something confusing about heap->heap[index].
  19. * gw/timers.c: Simplified main loop in the timer thread.
  20. Made it process all elapsed timers before releasing its lock
  21. -- should be faster if a bunch of timers elapse at once.
  22. 2000-09-20  Richard Braakman  <dark@wapit.com>
  23. * gw/wsp_headers.c: Try to skip over unknown code pages more
  24. intelligently.
  25. 2000-09-20  Richard Braakman  <dark@wapit.com>
  26. * gw/timers.[ch], gw/wtp.c: Renamed timer_* to gwtimer_* to
  27. avoid name conflict with system functions.  Sigh.
  28. 2000-09-20  Richard Braakman  <dark@wapit.com>
  29. * gw/timers.c: Reformatted according to new layout standard.
  30. 2000-09-20  Richard Braakman  <dark@wapit.com>
  31. * gw/timers.c: Implement the heap structure using a C array,
  32. instead of using List.  This has less overhead and removes the
  33. need for list_swap.
  34. * gw/list.[ch]: Remove list_swap.
  35. 2000-09-20  Richard Braakman  <dark@wapit.com>
  36. * gw/timers.[ch]: Removed timersets from the interface.  The choice
  37. of what timers should be handled by a single thread is a performance
  38. issue, not an interface issue.  All timers are now handled by a
  39. single timer thread.  The choice of output list is now specified
  40. per timer, instead of per timer set.
  41. Added timer_init and timer_shutdown functions that should be
  42. called before creating any timers.
  43. * gw/wapbox.c, gw/wtp.c: Adjust to new timers interface.
  44. 2000-09-19  Richard Braakman  <dark@wapit.com>
  45. * gw/timers.c, gw/timers.h: New timers.  Faster, better, and
  46. they actually time out.
  47. * gw/wtp_timer.c, gw/wtp_timer.h: Removed.  (Remnants of old
  48. timer code).
  49. * gw/wapbox.c: Removed references to old timer code.  It's now
  50. completely hidden in the wtp layer.  Other layers can get their
  51. own timers.
  52. * gw/wtp.c: Use new timers.  Added some convenience functions
  53. (start_timer_A and start_timer_R).  Handle TimerTO_* events.
  54. There's no start_timer_W yet because we don't use it yet.
  55. * gw/wtp.h: Use new timers.
  56. * gw/wap-events-def.h: TimerTO_* events get a machine handle
  57. instead of a dummy field, so that the WTP layer knows which
  58. machine timed out.
  59. * gw/wtp_state-decl.h: Use new timers, by calling the
  60. convenience functions.  There's no real timer code left in
  61. the state machines.
  62. * gw/list.c, gw/list.h: Made list_delete_matching and
  63. list_delete_equal return the count of items deleted.
  64. Getting that info from an atomic operation is useful
  65. for the timer code.  Also added list_swap function.
  66. 2000-09-19  Richard Braakman  <dark@wapit.com>
  67. * gw/wtp.[ch], gw/wtp_machine_decl.h: Removed unused field
  68. type LIST from state machines.
  69. 2000-09-19  Lars Wirzenius  <liw@iki.fi>
  70. * gwlib/list.[ch]: Removed list_cat function, as it is now unused.
  71. 2000-09-19  Tuomas Luttinen  <tuo@wapit.com>
  72. * gw/wml_compiler.c: Added wml_init and wml_shutdown that do nothing
  73. yet, removed call to list_cat.
  74. * gw/wml_compiler.h: Added prototypes for wml_init and wml_shutdown.
  75. 2000-09-18  Richard Braakman  <dark@wapit.com>
  76. * gw/smsc_smpp.c: Make charset_iso_to_smpp and charset_smpp_to_iso
  77. work with character values > 128.  Bugfix suggested by
  78. Philip Chr. Psiloinis.
  79. 2000-09-18  Lars Wirzenius  <liw@iki.fi>
  80. * doc/CodingStyle: Added example of coding style.
  81. 2000-09-18  Lars Wirzenius  <liw@iki.fi>
  82. * ChangeLog, debian/init, gw/bb_boxc.c, gw/bb_http.c, gw/html.h,
  83. gw/msg.c, gw/urltrans.c, gwlib/conffile.c, gwlib/conffile.h,
  84. gwlib/gwassert.h, gwlib/gwstr.h, gwlib/gwthread-pthread.c,
  85. gwlib/http.c, gwlib/http.h, gwlib/list.c, gwlib/list.h,
  86. gwlib/log.h, gwlib/octstr.c, gwlib/octstr.h, gwlib/socket.c,
  87. gwlib/thread.c, gwlib/thread.h, gwlib/utils.c: Folded some long
  88. lines (see utils/find-long-lines).
  89. 2000-09-18  Lars Wirzenius  <liw@iki.fi>
  90. * gwlib/octstr.c: Shut up char/unsigned char implicit conversion
  91. warning by adding a cast.
  92. 2000-09-18  Derry Hamilton  <rasilon@tardis.ed.ac.uk>
  93. * gwlib/thread.h: changed the call to mutex_init_static_real
  94. to actually pass the mutex when MUTEX_STATS are required.
  95. 2000-09-18  Kalle Marjola  <rpr@wapit.com>
  96. * gwlib/utils.c (get_and_set_debugs): PANIC if unknown option is
  97. encountered, to avoid misuse of options.
  98. 2000-09-18  Kalle Marjola  <rpr@wapit.com>
  99. * gw/bb_http.c (httpd_serve): when receiving an unknown command,
  100. tells the received url back to caller
  101. 2000-09-18  Kalle Marjola  <rpr@wapit.com>
  102. * gw/smsbox.c (init_smsbox): fixed bug reported by Paul Keogh.
  103. * gw/bearerbox.c: some fix to shutdown order
  104. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  105. * utils/source-stats: Wrote.
  106. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  107. * config.h.in, configure.in, configure, gwlib/socket.[ch],
  108. gwlib/getnameinfo.h: Killed the getnameinfo implementation. Yet
  109. another non-standard function that we don't even refer to anymore.
  110. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  111. * gwlib/log.[ch]: Removed the `forced' log level, since it is
  112. pointless and unused.
  113. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  114. * config.h.in, configure, configure.in, gwlib/utils.[ch]: Always
  115. use kannel_cfmakeraw, instead of the libc one. This simplifies
  116. configuration, and lets us not have to worry about having another
  117. cfmakeraw in a non-glibc library that does something else than
  118. the glibc one. Or about the glibc one changing behavior sometime
  119. in the future. (Oh the joys of using extensions to the standard
  120. libraries...)
  121. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  122. * gw/wap-appl.c, gw/wsp.h: Added function wap_appl_get_load,
  123. which gives a current load average for the application layer
  124. (which is essentially the only sensible place to look for load
  125. averages), defined as the sum of the length of request queue
  126. and number of HTTP fetches that are currently happening. The
  127. old getloadavg method is deleted, but if this one proves to be
  128. completely unworkable, we can always salvage the code from CVS. On
  129. the other hand, this method actually works on systems that don't
  130. have a getloadavg, and works even on systems where getloadavg
  131. is defined differently (imagine running two different wapboxes).
  132. * gw/wapbox.c: Use wap_appl_get_load instead of getloadavg.
  133. * configure{,.in}: Removed checks for getloadavg.
  134. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  135. * gwlib/http.c: Ran through astyle to get formatting right.
  136. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  137. * gwlib/http.c: Removed internal function octstr_str_ncompare,
  138. replacing it with calls to octstr_search and
  139. octstr_create_immutable. Die *_cstr, die!
  140. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  141. * gwlib/octstr.[ch]: Added `pos' argument to octstr_search to
  142. let caller specify from where the search in the haystack starts.
  143. Also, octstr_format now understands %c.
  144. * gw/html.c, gw/smsc_at.c, gw/wap-appl.c, gw/wsp_headers.c,
  145. gwlib/http.c, gwlib/octstr.c, test/drive_wapbox.c,
  146. test/test_cimd2.c: Use octstr_search instead of octstr_search_cstr
  147. and various functions instead of octstr_append_cstr.
  148. * gw/wml_compiler.c: Fix call to octstr_search.
  149. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  150. * gwlib/octstr.[ch]: Removed the octstr_create_limited, because
  151. it had so limited use.
  152. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  153. * test/test_http_server.c: Catch SIGTERM and die immediately.
  154. * checks/check_http.sh: Wrote.
  155. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  156. * gw/smsbox.c, gw/wapbox.c, doc/userguide/newconf.txt: Added
  157. HTTP proxy support to configuration files. No way to test it,
  158. right now, but will eagerly await bug reports.
  159. 2000-09-14  Lars Wirzenius  <liw@iki.fi>
  160. * gwlib/list.c: Don't do the atomic operation locks for list_lock
  161. and list_unlock: they're unnecessary for atomicity and cause
  162. deadlocks. Thanks to Kalle Sandstr鰉 for noting this.
  163. * gwlib/octstr.c: Silence compiler warning regarding using a plain
  164. char as an index to an array (in reality, argument to isdigit),
  165. by typecasting a pointer. If we used fewer C strings, this would
  166. be less of a problem...
  167. 2000-09-11  Lars Wirzenius  <liw@iki.fi>
  168. * README: Fixed download URL, re-formatted and removed the
  169. outdated claim that it is a very raw draft.
  170. * doc/CodingStyle: Added note about the official formatting style,
  171. as discussed on devel@kannel.org. Also added a note about memory
  172. allocation policy as far as function interfaces are concerned,
  173. a note to avoid #if, and something about abstract data types
  174. and naming conventions related to that.
  175. * doc/dialup.txt, Makefile.in, configure.in,
  176. doc/arch/arch-bearerbox.xml, doc/arch/arch-bib.xml,
  177. doc/arch/arch.xml: Shortened long lines.
  178. * gwlib/list.[ch]: Changed the interface of the list_destroy
  179. function by adding a second argument, which is a pointer to an
  180. item destroying function.
  181. * checks/check_list.c, gw/cookies.c, gw/bb_boxc.c, gw/bb_smsc.c,
  182. gw/bearerbox.c, gw/numhash.c, gw/smsbox.c, gw/smsbox_req.c,
  183. gw/smsc.c, gw/smsc_cimd2.c, gw/urltrans.c, gw/wap-appl.c,
  184. gw/wapbox.c, gw/wml_compiler.c, gw/wsp-session.c, gw/wsp-unit.c,
  185. gw/wsp_caps.c, gw/wtp.c, gw/wtp_pdu.c, gw/wtp_tid.c,
  186. gw/wtp_timer.c, gwlib/http.c, gwlib/parse.c, test/drive_wapbox.c,
  187. test/test_cimd2.c, test/test_http.c, test/test_http_server.c:
  188. Updated calls to list_destroy to work with its new interface.
  189. * gw/msg.[ch], gw/wap-events.[ch]: Added functions *_destroy_item,
  190. for use with new list_destroy.
  191. * gw/wap-appl.c: Add X-WAP-Client-SDU-Size header.
  192. * gwlib/octstr.[ch]: Added functions octstr_format and
  193. octstr_format_append. Also added "immutable octet strings",
  194. for wrapping around C string literals, which required adding
  195. octstr_init and octstr_shutdown. See the header for more info.
  196. Also added some consts here and there.
  197. * gwlib/gwlib.c: Call octstr_init and octstr_shutdown.
  198. * test/test_octstr_format.c, test/test_octstr_immutables.c: New
  199. test programs.
  200. 2000-09-04  Richard Braakman  <dark@wapit.com>
  201. * gw/wapbox.c, gw/smsbox.c, gw/bearerbox.c: Handle only signals
  202. for the main thread, so that each signal is received exactly once.
  203. 2000-09-04  Richard Braakman  <dark@wapit.com>
  204. * Changes prompted by code review:
  205. * gwlib/gwthread.h, gwlib/gwthread-pthread.h: Rename Threadfunc
  206. to gwthread_func_t.
  207. * gwlib/parse.h, gwlib/parse.c, gw/wsp_headers.c: Rename Context
  208. to ParseContext.
  209. * gwlib/gwmem-check.c: Give symbolic names to the memory-filling
  210. patterns it uses.
  211. * gwlib/conn.h: Improve comments.
  212. 2000-09-04  Richard Braakman  <dark@wapit.com>
  213. * Making release 0.11.1.
  214. 2000-09-04  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  215. * gw/wml_compiler.c: reformatted my earlier patch.
  216. 2000-09-03  Lars Wirzenius  <liw@iki.fi>
  217. * gw/wml_compiler.c: Removed unnecessary call to gw_assert:
  218. list_create is defined as always returning non-NULL, so it's not
  219. necessary to check it. (Or if we do, we should check it everywhere.)
  220. * gwlib/list.c: Removed unused variable from lock(). Also
  221. re-did the change to list_len in my own coding style, just to
  222. be pedantic.
  223. * I assume these were leftovers from Derry's debugging.
  224. 2000-09-01  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  225. * gwlib/list.c: Added a test for NULL list to list_len since some
  226. things want the length of NULL lists.
  227. * gw/wml_compiler.c: string_table_build no longer tries to add 
  228. strings to the stringtable if the list is NULL.
  229. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  230. * wmlscript/wsencode.c: Added a typecast to convert a va_arg call
  231. that fetches an int to convert the value to an unsigned char *.
  232. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  233. * gwlib/http.c: Improved (but still did not write properly) HTTP
  234. Content-Type header parsing. Fix suggested by Joerg Pommnitz,
  235. though re-did the patch to add some error checking.
  236. * test/test_http.c: Parse and report Content-Type. Also, http_get_real
  237. now wants a non-NULL request header list. Give it that.
  238. * test/test_http_server.c: Report a character set (UTF-8, though
  239. it doesn't really matter) so that the parsing can be tested.
  240. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  241. * configure.in: Tweaked the libxml checking. It should now be
  242. slightly cleaner and should work with upcoming 2.2.x versions
  243. of the library without changing configure.in. Thanks to Geir
  244. Johannessen, whose mail prompted me to look at this, even though
  245. I didn't use his patch directly.
  246. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  247. * gw/wsp.[ch]: Minor cleanups: Removed unused constants, added
  248. a comment for assertions, etc.
  249. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  250. * gw/wapbox.[ch]: Moved WB_DEFAULT_TIMER_TICK and CONNECTIONLESS_PORT
  251. defines from .h to .c, since they're only used inside .c.
  252. * gw/wsp-method-state.h: Formatting change (comments should be
  253. indented similarly to the code they describe). Also, bug fixes:
  254. several comparisons had a single equals (i.e., assignment)
  255. instead of two (i.e., comparison).
  256. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  257. * gw/wapbox.c, gw/log.c: Moved syslog opening internals to log.c,
  258. where it belongs. Introduced new function set_syslog to do this.
  259. * gw/log.c: Cleaned up formatting, etc, a bit. syslog support
  260. (internals of kannel_syslog (now static, btw)) is compiled on
  261. all platforms, not just SunOS.
  262. * gw/log.h: Added note that opening and closing of log files is
  263. not thread safe.
  264. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  265. * gwlib/list.[ch]: Some further cleanups:
  266. - list_delete_all and list_extract_all were named in a
  267. misleading way; renamed to *_matching instead, and all
  268. calls fixed as well; argument `cmp' renamed to `matches'
  269. for clarity's sake
  270. - some assertions uncommented and fixed to compare a 
  271. pointer explicity to NULL, instead of implicitly
  272. - code changed to call delete_items_from_list, instead of
  273. doing the same thing manually
  274. - list_lock and list_unlock use the single-operation lock
  275. * checks/check_list.c, gwlib/http.c: Related changes.
  276. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  277. * gwlib/list.c: list_len is now protected by locks.
  278. 2000-08-31  Lars Wirzenius  <liw@iki.fi>
  279. * test/test_list.c: Removed.
  280. * checks/check_list.c: Wrote.
  281. 2000-08-30  Lars Wirzenius  <liw@iki.fi>
  282. * gw/bb_udp.c, gw/cookies.c, gw/html.c, gw/msg.c,
  283. gw/smsbox_req.c, gw/smsc_at.c, gw/smsc_cimd2.c, gw/smsc_ois.c,
  284. gw/smsc_sema.c, gw/smsc_smpp.c, gw/wap-appl.c, gw/wml_compiler.c,
  285. gw/wsp-session.c, gw/wsp-unit.c, gw/wsp.c, gw/wsp_caps.c,
  286. gw/wsp_headers.c, gw/wsp_pdu.c, gw/wtp_pdu.c, gwlib/conn.c,
  287. gwlib/http.c, gwlib/http.h, gwlib/octstr.c, gwlib/octstr.h,
  288. gwlib/parse.c, gwlib/socket.c, test/fakewap.c, test/test_cimd2.c:
  289. Cleanups based on a (brief) code review. Lots of small changes
  290. pretty much everywhere, but nothing really big.
  291. * Renamed octstr_search_*_from to octstr_search_*, because there's
  292. no point in having two almost equivalent functions.
  293. * Renamed octstr_*_blank to octstr_*_blanks, to be grammattically
  294. correct.
  295. * Killed octstr_create_empty, replaced it with octstr_create("").
  296. * Other minor differences, see the diff if you're interested.
  297. 2000-08-30  Tuomas Luttinen  <tuo@wapit.com>
  298. * gw/wml_compiler.c: The octet string memory leaks in the string table
  299. code plugged.
  300. 2000-08-29  Tuomas Luttinen  <tuo@wapit.com>
  301. * gw/wml_compiler.c: Plugging the huge memory leaks of the string 
  302. table code started. No more leaks due lists or mutexes. Some leaks 
  303. with octstr:s also plugged, some still remain. 
  304. 2000-08-28  Tuomas Luttinen  <tuo@wapit.com>
  305. * gw/wml_compiler.c: The patch by Aarno was removed because it caused 
  306. problems like "WARNING: WSP: All converters for `text/vnd.wap.wml' 
  307. failed.", segmentation fault on variables and maybe others.
  308. 2000-08-26  Derry Hamilton  <rasilon@tardis.ed.ac.uk>
  309. * solaris/mk-solaris-package.sh:  Now compiles for a bare
  310. Solaris 7 box, doesn't assume LD_LIBRARY_PATH
  311. 2000-08-24  Kalle Marjola  <rpr@wapit.com>
  312. * gw/bb_udp.c (udp_receiver): trap ECONNREFUSED too (hey it was
  313. missing from Man page) and just continue
  314. * gw/bb_boxc.c: extend wapbox_list lock to prevent packet routing
  315. to exiting wapboxes
  316. 2000-08-23  Richard Braakman  <dark@wapit.com>
  317. * gw/wap-appl.c: Make sure content.url and content.body have valid
  318. values even if request method is not supported.
  319. * gw/wsp_pdu.c, gw/wtp_pdu.c: Make sure REST fields are always
  320. filled, even if packet contains bad length info.  This fixes a
  321. crashing bug discovered by OUSPG.
  322. * test/fakewap.c: Fix small memory leak.
  323. * test/udpfeed.c: New test program, reads a bunch of files and
  324. sends each in a single UDP packet.  Useful for feeding OUSPG's
  325. test set to Kannel.
  326. * gw/wapbox.c: Catch SIGQUIT and use it to report memory usage.
  327. Useful for detecting memory leaks.
  328. * gw/gwmem-check.c: Bugfix to allow gw_check_leaks() to be called
  329. multiple times in one run.
  330. * gw/wsp-unit.c: Fix memory leaks.
  331. 2000-08-22 Aarno Syv鋘en <syvanen@wapit.com>
  332. * gw/wml_compiler.c: Fixed some memory leaks
  333. 2000-08-22  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  334. * solaris/etc/kannel.conf: By default do not permit admin connections
  335. Mon Aug 21 18:39:30 2000  Lars Wirzenius  <liw@iki.fi>
  336. * test/test_counter.c: Removed, as this is now replaced by
  337. chec/check_counter.c.
  338. Mon Aug 21 18:32:04 2000  Lars Wirzenius  <liw@iki.fi>
  339. * README, Makefile.in: Added some automatic checking as "make
  340. check". See the README for more info.
  341. * utils/run-checks, checks/*: New files.
  342. 2000-08-21  Paul Keogh <paul.keogh@anam.com>
  343. * gwlib/counter.[ch]: Added counter_set method.
  344. 2000-08-18  Richard Braakman  <dark@wapit.com>
  345. * gwlib/gwthread-pthread.c: In gwthread_shutdown, don't delete
  346. the tsd_key.  It's still needed by gwthread_self(), which can 
  347. still be called.  This might fix the problem of wapboxes that
  348. refuse to die.
  349. * gw/wsp-strings.c: Make wsp_##name##_to_string not crash if
  350. the string was not found.
  351. * gw/wsp_headers.c: Have unpack_all_parameters() stop at
  352. the end of its string, rather than reporting a bogus error.
  353. Also fixed a memory leak in header unpacking.
  354. 2000-08-18 Derry Hamilton <rasilon@tardis.ed.ac.uk>
  355. * solaris/mk-solaris-package.sh: Changed default optimisation level.
  356. * solaris/etc/kannel.conf: Kannel needs an admin port to start
  357. 2000-08-16 Derry Hamilton <rasilon@tardis.ed.ac.uk>
  358. * solaris/*:  Added packaging information for Solaris
  359. 2000-08-14 Peter Gr鰊holm
  360.        * gw/wml-definitions.h: A typo corrected in URL value code table.
  361.        Now URLs ending with .net/ work, too. Two other typos: Content-
  362.        Type and Expires use capital letters. 
  363. 2000-08-10  Tuomas Luttinen  <tuo@wapit.com>
  364. * gw/wml_compiler.c (check_variable_syntax): Escaping now possible 
  365. with one letter acronyms 'e', 'u' and 'n'.
  366. 2000-08-07  Tuomas Luttinen  <tuo@wapit.com>
  367. * gw/wml_compiler.c: A little bit of code cleaning, changing return 
  368. types to null where a status is not needed.
  369. 2000-08-06  Derry Hamilton  <rasilon@tardis.ed.ac.uk>
  370. * config.h.in, wmlscript/wsencode.c:  Fixed the WMLScript compiler
  371.   errors under Solaris SPARC.  The SPARC ABI requires that function
  372.   parameters be int aligned.
  373. 2000-08-04  Tuomas Luttinen  <tuo@wapit.com>
  374. * test/decompile.[ch]: A patch by Chris Wulff applied.
  375. * gw/wml_definitions.h: STRING_TABLE_MIN defined
  376. * gw/wml_compiler.c: The first attemp to use string table more 
  377. efficiently. For a reason or another hangs up when compiled with 
  378. checking-malloc on the check phase into a allocation lock.
  379. * gw/wml_compiler.c: The patch to fix a bug in the libxml-1.8.6 is 
  380. removed.
  381. * configure[.in]: The flag HAVE_LIBXML_1_8_6 is removed, now takes 
  382. only 1.8.7 and up.
  383. 2000-08-04  Richard Braakman  <dark@wapit.com>
  384. * gw/wap-appl.c: In X-WAP-Gateway header, use "Kannel/0.11"
  385. instead of "Kannel 0.11", to comply with HTTP/1.1 recommendations
  386. for version strings.
  387. 2000-08-02  Richard Braakman  <dark@wapit.com>
  388. * Making development release 0.11.
  389. 2000-08-02  Richard Braakman  <dark@wapit.com>
  390. * Applied Joerg Pommnitz's patch for Crypto library support in
  391. the WMLScript compiler.
  392. 2000-08-02  Richard Braakman  <dark@wapit.com>
  393. * Folded in POST_SUPPORT.  Duplication of code is Bad.
  394. 2000-08-01  Richard Braakman  <dark@wapit.com>
  395. * gw/smsc_cimd2.c: Be forgiving of cimd2 calls while the
  396. socket is not open.  This is necessary because of the 
  397. changed thread structure in the new bearerbox.
  398. 2000-08-01  Richard Braakman  <dark@wapit.com>
  399. * gw/smsbox_req.c: When logging "message sent", use errno 0
  400. instead of 1. (?)
  401. * doc/userguide/newconf.txt: Change recommended unified-prefix
  402. string for Finland, because smscenters no longer accept "00"
  403. prefix as of today.
  404. 2000-08-01  Richard Braakman  <dark@wapit.com>
  405. * gw/smsc_cimd2.c: When complaining about format of sender number,
  406. actually log the sender number rather than the receiver number.
  407. 2000-07-27  Richard Braakman  <dark@wapit.com>
  408. * gw/smsc_cimd2.c: When pending_smsmessage receives an unexpected
  409. response packet, report it instead of crashing.
  410. 2000-07-24  Richard Braakman  <dark@wapit.com>
  411. * gw/wsp_headers.c: Mostly rewritten.  Now decodes all header
  412. types defined by WSP 1.1.  This means that the headers sent
  413. by the phone are all passed to the HTTP server.  Previously,
  414. only a few commonly-appearing ones were (partially) decoded.
  415. Uses wsp-strings.def instead of inlined string tables.
  416. Uses new gwlib parse module to scan octstr contents.
  417. "Works for me" status.  Will be more thoroughly tested after 
  418. the decoding code is complete.
  419. * gw/wsp_headers.h: Changed interface of unpack_headers.
  420. It now takes a content_type_present flag parameter, instead
  421. of having a separate unpack_post_headers function.
  422. * gw/wsp-strings.c: Support for NUMBERED tables, which assign
  423. non-sequential numbers to the strings in a table.
  424. * gw/wsp-strings.h: Support for NAMED tables, which assign an
  425. enum value to each entry in a string table.
  426. * gw/wsp-strings.def: Define lots of new string tables, for use
  427. by the wsp_header module.
  428. * gw/wapbox.c: Init and shutdown newly used wsp-strings module.
  429. * gw/wsp-method-state.h, gw/wsp-session-state.h, gw/wsp-unit.c:
  430. Use new unpack_headers interface.
  431. * gwlib/octstr.c: In octstr_insert, assert that ostr2 is not
  432. inserted past the end of ostr1.  (This assumption was already
  433. there; it's just made explicit now.)
  434. Removed unused octstr_get_digit_from function.  octstr_parse_long
  435. does the same thing.
  436. New octstr_append_decimal function.
  437. * gwlib/protected.c, gwlib/protected.h: Added gw_getlocale,
  438. for use by rfc2068_date_format function.
  439. * gwlib/utils.c, gwlib/utils.c: New rfc2068_date_format function,
  440. to convert a unix timeval to a common textual format.  (The RFC2068
  441. format also fits the RFC822 format).
  442. * gwlib/parse.c, gwlib/parse.h: New module to make it easier to
  443. parse octstrs without passing lots of length and offset variables
  444. around.
  445. * gwlib/gwlib.h: Include new parse.h.  Move inclusion of protected.h
  446. to end, so that it can use Octstr in its function prototypes.
  447. 2000-07-24  Tuomas Luttinen  <tuo@wapit.com>
  448. * gw/smsbox_req.c: Removed function smsbox_req_sendota that used
  449. nonexistent octstr-function so that the CVS version didn't compile.
  450. 2000-07-23  Tuomas Luttinen  <tuo@wapit.com>
  451. * configure.[in]: libxml 2.2.1 added.
  452. 2000-07-21  Paul Keogh   <paul.keogh@anam.com>
  453. * gw/bb_udp.c: Added check for NULL ptr return from udpc_create()
  454. in function add_service() to prevent subsequent NULL dereference
  455. and crash.
  456. 2000-07-21  Yann Muller  <ymuller@3glab.com>
  457. * gw/smsbox_req.c, smsbox_req.h: messages with or without UDH are
  458. now handled in the same way, they can all be sent as multiple
  459. messages or concatenated messages if too long.
  460. * gw/smsc_at.c: Receiver address fix by Paul Keogh and Marcus
  461. Shawcroft. Better support for UDH.
  462. * gw/urltrans.c, urltrans.h: Added the concatenation option for
  463. SMS messages.
  464. * doc/userguide/newconf.txt, userguide.xml: Added a note about the
  465. concatenation and removed the limitation about UDH.
  466. 2000-07-20  Richard Braakman  <dark@wapit.com>
  467. * gw/wtp.c: Fixed memory leak in wtp_unpack_wdp_datagram.
  468. Simplified the code a bit.
  469. * gw/wtp.c: Made wtp_unpack_wdp_datagram_real not crash when
  470. receiving an invalid PDU.
  471. * gw/wtp_pdu.c: In wtp_pdu_unpack, simply free a PDU with 
  472. unknown type instead of trying to destroy it.  None of its
  473. fields were set anyway.
  474. * test/fakewap.c: Actually test separation when -s flag is given.
  475. The test is wrong, though, it sends bad packets.  Not going to
  476. fix that now.
  477. 2000-07-19  Tuomas Luttinen  <tuo@wapit.com>
  478. * configure[.in]: libxml 1.8.9 and 2.2.0 added. Fixes bug #97.
  479. 2000-07-18  Richard Braakman  <dark@wapit.com>
  480. * gw/html.c: Fix skipping of quoted strings (bug #89, reported
  481. by Paul Keogh).
  482. * gw/smsbox.c: Avoid memory leak in http_request_thread().
  483. Fixes bug#101, reported by Paul Keogh.
  484. 2000-07-18  Richard Braakman  <dark@wapit.com>
  485. * gw/smsc_ois.c: Fixed some warnings.
  486. 2000-07-18  Kalle Marjola  <rpr@wapit.com>
  487. * gwlib/gwthread-pthread.c, gwlib/http.c: Fized bugs #98 and #100
  488. reported by Paul Keogh.
  489. 2000-07-18  Paul Keogh <paul.keogh@anam.com>
  490. * gw/urltrans.c: Fixed memory leak in destroy_onetrans().
  491. 2000-07-17  Paul Keogh <paul.keogh@anam.com>
  492. * gwlib/counter.[ch]: Added counter_decrease() function.
  493. 2000-07-15 Derry Hamilton <rasilon@tardis.ed.ac.uk>
  494. * config.h.in,configure,configure.in: Removed checks for integer
  495. lengths as it broke more than it might have fixed.
  496. 2000-07-14  Paul Keogh <paul.keogh@anam.com>
  497. * gwlib/http.c: Fixed a bug in the HTTP POST which prevented interop
  498. with some versions of Apache and ultimately crashed.
  499. 2000-07-13  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  500. * gw/wapbox.c,gw/wapkannel.conf,gwlib/log.c: first implementation of 
  501. syslog support under Solaris.
  502. 2000-07-13  Kalle Marjola  <rpr@wapit.com>
  503. * */*: Making out release 0.10.2
  504. 2000-07-13  Tuomas Luttinen  <tuo@wapit.com>
  505. * gw/wml_compiler.c (wml_compile): Compiler now checks that the 
  506. output from libxml is not a NULL pointer.
  507. 2000-07-13  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  508. * config.h.in,configure,configure.in: configure now checks for the 
  509. 32-bit type and defines kint32 and kuint32 as appropriate in 
  510. preparation for 64-bit kannel on Alpha and UltraSPARC since the
  511. compiler types int32 and uint32 are not supported everywhere.
  512. * gwlib/http.h: Added the function definition for 
  513. http_charset_accepted rather than leaving it to be implicitly
  514. defined.
  515. 2000-07-13  Yann Muller  <ymuller@3glab.com>
  516. * gw/smsc_at.c: removed two unused variables.
  517. 2000-07-12  Tuomas Luttinen  <tuo@wapit.com>
  518. * gw/wml_compiler.c: Little bug fixes with variables:
  519. - no more empty string before variable reference to string table
  520. - double $ won't eat a character after them, fixes #94
  521. - a little memory leak mentioned below corrected
  522. 2000-07-12  Kalle Marjola  <rpr@wapit.com>
  523. * gw/bb_http.c: oops, return value for HTTP admin was not checked,
  524. now fixed
  525. * gw/bearerbox.c: added compiler options KANNEL_NO_SMS and
  526. KANNEL_NO_WAP
  527. 2000-07-11  Tuomas Luttinen  <tuo@wapit.com>
  528. * gw/wml_compiler.c: Bug #86 fixed. A memory leak with $ characters 
  529. fixed. Another one still remains with mix of $ characters and 
  530. variables.
  531. 2000-07-11  Yann Muller  <ymuller@3glab.com>
  532. * doc/userguide/newconf.txt: Added configuration information to use
  533. a GSM modem as an SMSC.
  534. 2000-07-10  Yann Muller  <ymuller@3glab.com>
  535. * gw/smsc_at.c: now removes SMSC address at beginning of PDU sent
  536. by the Wavecom. Better handling of messages with UDH (no 7bit encoding
  537. of UDH yet).
  538. 2000-07-10  Kalle Marjola  <rpr@wapit.com>
  539. * gw/urltrans.c (find_translation): fixed string matching of
  540. sms-services.
  541. 2000-07-07  Tuomas Luttinen  <tuo@wapit.com>
  542. * configure: Now support for libxml 1.8.8 and 2.1.1.
  543. * gw/wml_compiler.c: Support for libxml version 2 and above
  544. now ready.
  545. * gw/wml_compiler.c (parse_attribute): Patch by Holger Casties
  546. applied to eliminate a segmentation fault with NULL pointer
  547. passed as a second argument to strcmp.
  548. 2000-07-07  Kalle Marjola  <rpr@wapit.com>
  549. * doc/dialup.txt: updated to reflect current configuration, and
  550. added data on how to get it work with Siemens S25i from Matthias Wutke
  551. 2000-07-07 Aarno Syv鋘en <syvanen@wapit.com>
  552. * gw/wtp.c: Bugfixes in the separation code
  553. * test/fakewap.c: Added sending of a concatenated message, for testing
  554. separation.
  555. 2000-07-07  Kalle Marjola  <rpr@wapit.com>
  556. * gw/bb_boxc.c: hopefully fixed a little bug/feature in connection 
  557. closing
  558. 2000-07-06  Richard Braakman  <dark@wapit.com>
  559. * Making release 0.10.1.
  560. * Extended NEWS.  Removed NEWS.devel, we won't need it until
  561. we start on 0.11.
  562. 2000-07-06  Kalle Marjola  <rpr@wapit.com>
  563. * gw/smsc_ois.c: (hopefully) fixed warnings from FreeBSD
  564. 2000-07-06  Kalle Marjola  <rpr@wapit.com>
  565. * gw/bearerbox.c: added --suspended and --isolated command-line
  566. option names (same as -S and -I)
  567. * gw/smsbox.c: fix in command line parsing
  568. * doc/userguide/newbb.conf: added data on those new options
  569. 2000-07-06  Kalle Marjola  <rpr@wapit.com>
  570. * gw/smsbox.c: modified so that if the HTTP-sendsms interface is
  571. defined, the smsbox won't start if it fails to init it. Use new
  572. command line option -H or --tryhttp to override this feature 
  573. 2000-07-05  Kalle Marjola  <rpr@wapit.com>
  574. * doc/userguide/newconf.txt: oops, forgot admin-username. And
  575. returned sample smsc-groups
  576. * gw/smsc.c, gw/smsc_p.h, gw/smsc_ois.c: Added support for SEMA
  577. SMS2000 (G6.0) OIS 5.0 over X.25, under name OIS, by Jouko Koski.
  578. 2000-07-03  Richard Braakman  <dark@wapit.com>
  579. * gw/wml_definitions.h: Applied patch by brennon loh york hong
  580. to fix compilation of pages with multiselect.
  581. 2000-07-03 Paul Keogh <paul.keogh@anam.ie>
  582. * gwlib/http.c,gwlib/http.h,gw/wsp_headers.h,gw/wsp_headers.c,
  583. gw/wsp_unit.c,gw/wsp_session_state.h,gw/wsp_method_state.h,
  584. gw/wap-appl.c: Added support for HTTP POST under #ifdef POST_SUPPORT.
  585. Also enabled runtime cookies under #ifdef COOKIE_SUPPORT.
  586. 2000-06-30 Aarno Syv鋘en <syvanen@apit.com>
  587. * wsp-unit.c: Fixed some memory leaks
  588. 2000-06-30  Aarno Syv鋘en <syvanen@wapit.com>
  589. * wtp_tid.c|h, wtp_state-decl.h: Tid was not cached when tid 
  590. verification was invoked because of a failed tid validation test.
  591. So after every validation all following tids were verified. Added
  592. to the the module wtp_tid an external function wtp_tid_set_by
  593. machine, which stored tid after validation.
  594. 2000-06-30  Richard Braakman  <dark@wapit.com>
  595. * gw/wml_compiler.c: In parse_octet_string, one extra byte was
  596. skipped after a variable reference, including the special "$$"
  597. sequence.  Fixed.
  598. 2000-06-30  Richard Braakman  <dark@wapit.com>
  599. * gwlib/http.c: Change some of the locking according to Joerg
  600. Pommnitz's suggestions, to deal more smoothly with slow connects.
  601. 2000-06-30  Derry Hamilton  <rasilon@tardis.ed.ac.uk>
  602. * Makefile.in: made .depend depend on config.h.  This should
  603. allow changing between checked and unchecked malloc without manual
  604. intervention.
  605. 2000-06-30  Richard Braakman  <dark@wapit.com>
  606. * gwlib/gwmem-check.c: Fix call to free() in drop_from_free_ring().
  607. This fixes a memory leak.
  608. 2000-06-29  Paul Keogh <paul.keogh@anam.ie>
  609. * gwlib/list.c: Removed unnecessary calls to lock() and unlock()
  610. in the list_cat() function as the called functions do the
  611. required locking.  Locking the same lock twice causes a panic().
  612. 2000-06-29  Richard Braakman  <dark@wapit.com>
  613. * gw/wsp-session.c: Fixed memory leak in new capability code.
  614. 2000-06-29  Richard Braakman  <dark@wapit.com>
  615. * gw/wap-appl.c: Applied fix suggested by Lim YoungLan, to make
  616. sure S-MethodInvoke.res is sent before any S-MethodResult, even
  617. if fetch_thread() is very fast.
  618. 2000-06-28  Richard Braakman  <dark@wapit.com>
  619. * wmlscript/wsstdlib.c: Applied Joerg Pommnitz's patch to support 
  620.         WTAI standard library function calls, after converting it to the
  621. local indentation style.
  622. 2000-06-27  Kalle Marjola  <rpr@wapit.com>
  623. * doc/userguide/userguide.xml: did some updating, still needs to
  624. integrate newconf.txt and newbb.txt into it, but that some other
  625. day
  626. 2000-06-27  Paul Keogh <paul.keogh@anam.ie>
  627. * gw/cookies.c: Added a check for valid WSP session machine to prevent
  628. possible crash.
  629. 2000-06-26  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  630. * gw/cookies.c: casted char to int for several isspace() etc. calls.
  631. Stops the compiler complaining under Solaris.
  632. 2000-06-26  Kalle Marjola  <rpr@wapit.com>
  633. * Making out stable release 0.10, branched as 'release_0_10'
  634. 2000-06-26  Kalle Marjola  <rpr@wapit.com>
  635. * gw/smsc_smpp.c: small fix by Mikael Gueck
  636. 2000-06-21  Kalle Marjola  <rpr@wapit.com>
  637. * gw/bb_boxc.c: added on-line information about connected boxes in
  638. status query
  639. 2000-06-20  Kalle Marjola  <rpr@wapit.com>
  640. * README: added notes of what need to be done if Kannel version is
  641. upgraded from some old version
  642. 2000-06-20  Kalle Marjola  <rpr@wapit.com>
  643. * Making out development release 0.9.3, canditate as production
  644. release 0.10
  645. 2000-06-20  Kalle Marjola  <rpr@wapit.com>
  646. * gwlib/utils.c, gwlib/utils.h: moved #ifdef of cfmakeraw into
  647. header file so that it will compile in (my) system with cfmakeraw 
  648. * gw/bb_boxc.c: updated output information of bocx_status
  649. * gw/bb_smsc.c: fixed compiler warning
  650. 2000-06-19  Kalle Marjola  <rpr@wapit.com>
  651. * gw/bb_boxc.c: fixed one very-infrequently striking lockout
  652. during shutdown
  653. * README.docbook: user --disable-docs, not --without-docs
  654. 2000-06-19  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  655.         * gw/wsp-session.c: included limits.h to get LONG_MAX
  656. * gwlib/utils.c,gwlib/utils.h: created kannel_cfmakeraw()
  657. * gw/smsc_emi.c: removed cfmakeraw stub
  658. * gw/smsc_emi.c,gw/smsc_at.c,gw/smsc_sema.c: converted calls to
  659.   cfmakeraw to kannel_cfmakeraw.
  660. 2000-06-19  Kalle Marjola  <rpr@wapit.com>
  661. * gw/wsp-session.c, gw/wsp_pdu.c: inserted patch from Joerg
  662. Pommnitz, now Kannel hopefully works better with Motorola
  663. Timeport.
  664. 2000-06-19  Kalle Marjola  <rpr@wapit.com>
  665. * gwlib/http.c: parse_url() modified to change start of the url
  666. tolower() so that comprasion to http:// succeeds even with
  667. HTTP://
  668. 2000-06-19  Kalle Marjola  <rpr@wapit.com>
  669. * gw/bb_smsc.c: added suspend-mode to sms_router to synchronize
  670. start-up
  671. 2000-06-19  Yann Muller  <ymuller@3glab.com>
  672. * gw/smsc.c, gw/smsc_p.h, gw/smsc_at.c: Applied Denis Hennessy's
  673. patch to support Siemens M20: connect at 19200 baud, added a
  674. 'pin = xxxx' entry to the conf file,  fixed missing trailing
  675. null char in encode_pdu, added a dummy receiver address since
  676. smsbox requires one, added the dummy "00" SC prefix for the M20
  677. (like the wavecom).
  678. 2000-06-17  Richard Braakman  <dark@wapit.com>
  679. * Replaced capabilities parsing.  New file gw/wsp_caps.[ch] defines
  680. a structure to represent capabilities, and some operations on it.
  681. WSP layer passes capability requests up to the Application layer,
  682. which can respond to some and ignore others.  WSP layer then completes
  683. the capabilities reply when it generates the ConnectReply PDU.
  684. See negotiate_capabilities() function in wap-appl.c for more info.
  685. * Added CAPABILITIES type to wap-events and wsp-session-machine.
  686. * Added request_caps and reply_caps fields to WSP session machine,
  687. removed most of the other capability-related fields except
  688. client_SDU_size and MOR_push (which are the only ones we support
  689. and need to remember).
  690. * gwlib/octstr.[ch]: New function octstr_extract_uintvar.
  691. * gw/wsp-session.c: unpack_caps, unpack_uint8, and unpack_uintvar
  692. removed.
  693. * Removed unused SESSION_MACHINE type from wap-events.
  694. * test/drive_wapbox: Supply the same capability values as the
  695. Motorola Timeport does, for testing.
  696. * Corrected:
  697. gw/cookies.c:88: warning: char format, Octstr arg (arg 3)
  698. 2000-06-17  Richard Braakman  <dark@wapit.com>
  699. * test/drive_wapbox.c: Defined wtp_types enum, because we can
  700. no longer steal the values we need from wtp.h.
  701. 2000-06-16 Aarno Syv鋘en <syvanen@wapit.com>
  702. * wtp.c: Fixed bug pointed out by Joerg Pommnitz
  703. * removed debug functions
  704. * wtp.c | wapbox.c: Code for separation added. Must test it ...
  705. 2000-06-16  Kalle Marjola  <rpr@wapit.com>
  706. * gw/cookies.c: changed strnicmp to strcasecmp, as nicmp is not
  707. supported in standard C libraries
  708. * gw/urltrans.c: fixed find-operations
  709. * gw/bb_smsc.c: added smsc_status
  710. 2000-06-16 Yann Muller <ymuller@3glab.com>
  711. * gw/smsc.c, gw/smsc_p.h: Added modemtype configuration parameter
  712. for the AT SMSC.
  713. * gw/smsc_at.c: Added support for Nokia PremiCell GSM modem.
  714. The parameter modemtype in kannel.conf can be set to 'wavecom'
  715. or 'premicell'.
  716. 2000-06-16 Paul Keogh <paul.keogh@anam.ie>
  717. * gw/cookies.c: updates after review by Richard Braakman. Also some
  718. additional includes.
  719. * gw/cookies.h: As for cookies.c
  720. * gw/wsp-session-machine.h: Added COOKIES field to session MACHINE
  721. * gw/wsp-session.c: Added cookie support to machine_create(),
  722. machine_destroy (). Also added id_belongs_to_session() function
  723. for use by cookie functions.
  724. * gw/wsp.h: Added cookie support to struct WSPMachine.
  725. 2000-06-15  Kalle Marjola <rpr@wapit.com>
  726. * gw/smsbox_req.c: fixed bug in http2-conversion, and set that
  727. 'request failed' is send back to the phone (no more 'nothing')
  728. 2000-06-15  Richard Braakman  <dark@wapit.com>
  729. * gw/wsp-strings.*: Interface for tables of constant strings defined
  730. in WSP.  Not used yet.
  731. * gw/wsp-session.c: Got rid of append_uint8 and append_octstr; use
  732. basic octstr functions instead.
  733. 2000-06-15  Richard Braakman  <dark@wapit.com>
  734. * gw/wap-appl.c: In fetch_thread(), explicitly set content.charset
  735. to an empty octstr if the http fetch failed, otherwise it remains
  736. uninitialized and causes a crash when octstr_destroy is called on it.
  737. Thanks to Paul Keogh for finding this.
  738. * gw/wsp-session.c: In wsp_disconnect_other_sessions(), use
  739. "Disconnect_Event" instead of "Disconnect".  The latter is a PDU
  740. type, not an event type.  Thanks to Paul Keogh for finding this.
  741. 2000-06-15 Aarno Syv鋘en <syvanen@wapit.com>
  742. * wtp.c: Bugfixes in error handlin
  743. * wtp_pdu.c: wtp_pdu_unpack must return NULL when header is not valid
  744. 2000-06-14  Richard Braakman  <dark@wapit.com>
  745. * Filled in WSP state tables.  Defined lots of new events.
  746. Sanitized event routing: WTP to WSP events get an addr_tuple.
  747. WSP to WTP events get a "handle" (as defined in the spec) which
  748. happens to be equal to the mid.  WSP to APPL events contain the
  749. session id, and possibly a transaction id (as defined in the spec),
  750. which can be returned in the APPL to WSP events.  No more mid
  751. or msmid fields.  The transaction id is set equal to the handle
  752. gotten from the WTP layer, because that one's already unique.
  753. * Still missing: Push and Suspend/Resume.
  754. * gw/wap-appl.c: Handle all the new S- events and send back
  755. the proper replies.
  756. * gw/wsp-session.c: Moved method machines into the session machines.
  757. They can only be addressed via a session id and transaction id.
  758. The session machine can send events to all its method machines.
  759. Also added support functions for the WSP state tables.
  760. Implemented pre- and post- state machine checks, for more accurate
  761. handling of events without sessions, etc.
  762. * gw/wsp.h: Defined an enum for all the possible abort values.
  763. * test/drive_wapbox.c: Really disconnect clients after the right
  764. number of page fetches.  (Used to do this only once per client.)
  765. 2000-06-14  Yann Muller  <ymuller@3glab.com>
  766. * smsc_at.c: Fixed a memory leak in pdu_extract. Removed unused
  767. variables.
  768. 2000-06-14  Kalle Marjola <rpr@wapit.com>
  769. * gw/html.c: fixed parsing bug in html_to_sms
  770. * utils/kannel-init.d: made to worship new configuration files
  771. 2000-06-14 Aarno Syv鋘en <syvanen@wapit.com>
  772. * wtp_send.c|h: wtp_do_not_send uses WAPAddrTuple type, too
  773. * wtp.c: Reimplement error handling
  774. 2000-06-14  Kalle Marjola  <rpr@wapit.com>
  775. * gw/smsbox_req.c: fixed split-send Octstr-wise, now it should
  776. work with CIMD2, too (and other new SMSC protocols?)
  777. 2000-06-14  Kalle Marjola  <rpr@wapit.com>
  778. * gw/bb_smsc.c: modified sleep in smsc receive to variable length,
  779. to increase performance
  780. 2000-06-14  Yann Muller  <ymuller@3glab.com>
  781. * smsc_at.c: New SMSC for wireless modems (AT commands).
  782. * smsc.c, smsc_p.h: Added support for new AT SMSC.
  783. 2000-06-13  Kalle Marjola  <rpr@wapit.com>
  784. * gw/bb_boxc.c: (somehow) fixed pointer error pointed out by Paul
  785. Keogh.
  786. 2000-06-13  Richard Braakman  <dark@wapit.com>
  787. * gw/wap-appl.c: Query list of charsets from the WML compiler,
  788. and use that instead of accessing the table as an extern.
  789. * gw/wml_compiler.[ch]: Added wml_charsets function.
  790. * gw/wap-appl.c: Continued simplifying fetch_thread, broke out
  791. a number of smaller functions.  Made converters table only
  792. list actual converters, eliminated convert_to_self.
  793. * gw/wap-events-def.h: Made response_type an octstr.  Convert
  794. it to the WSP encoding in the WSP layer, not the application layer.
  795. Moved encode_content_type function to wml.c.
  796. * gwlib/http.c: Reindented http_something_accepted and istrdup
  797. to fit with the rest of the code.
  798. * gwlib/http.h: Added prototype for http_charset_accepted.
  799. * gw/wap-appl.c: Created "content" struct to describe content
  800. body and meta-info.  Made convert functions use it.  Split off
  801. content conversion into a separate function that uses the table.
  802. 2000-06-12  Richard Braakman  <dark@wapit.com>
  803. * Started simplifying fetch_thread function.
  804. * Add "X-WAP-Gateway: Kannel XXX" to requests, where XXX is the
  805. version number.
  806. 2000-06-12  Richard Braakman  <dark@wapit.com>
  807. * Renamed http2 to http everywhere, because the old http code
  808. is completely gone.  Removed --with-http2 configuration option.
  809. 2000-06-12  Tuomas Luttinen  <tuo@wapit.com>
  810. * gw/wml_compiler.c: Character set and string table length changed 
  811. from chars to uintvars. Now WML compiler can handle string table 
  812. length greater than 127.
  813. 2000-06-12  Richard Braakman  <dark@wapit.com>
  814. * Making development release 0.9.2.
  815. * Commented-out some excessive logging.
  816. 2000-06-12 Aarno Syv鋘en <syvanen@wapit.com>
  817. * wtp_state-decl.h: TR-Abort.ind when timer counter has expired
  818. 2000-06-10  Richard Braakman  <dark@wapit.com>
  819. * gwlib/gwmem-check.c: New implementation.  This fixes the speed
  820. bottleneck that the old gwmem-check was, and it provides better
  821. checking and some extra features.
  822. * gwlib/gwmem.h: Slight changes for the new gwmem-check.  New
  823. functions gw_check_area_size and gw_check_claim_area, which do
  824. not have macro wrappers yet.
  825. * gwlib/thread.[ch]: Add support for statically allocated Mutex
  826. structures.  They are needed to break some dependency loops
  827. between the various wrappers (log.c needed protected.c,
  828. protected.c needed Mutex, Mutex needed gwmem, gwmem needed log.c)
  829. which made it impossible to shut them down correctly.
  830. * gwlib/protected.c, gwlib/gwmem-check.c: Use the new static mutexes.
  831. 2000-06-09  Tuomas Luttinen  <tuo@wapit.com>
  832. * gwlib/http2.c: A http request headers patch applied.
  833. * gw/wap-appl.c: A http request headers patch applied.
  834. * gw/wml_definitions.c: Character set conversion pathes added, see 
  835. below.
  836. * gw/utf8map_iso8859-7.h: A conversion table for greek character set.
  837. * gw/utf8map_win1253.h: A character set added.
  838. * gw/utf8map_win1251.h: A russian character set added.
  839. * gw/utf8map_koi8r.h: A russian character set added.
  840. * gw/wml_compiler.c: A memory allocation loop removed from 
  841. parse_attribute.
  842. 2000-06-09  Richard Braakman  <dark@wapit.com>
  843. * gw/wap-appl.c: In fetch_thread, also clean up "url" octstr.
  844. This fixes the last big memory leak.  I now get only a handful
  845. of leaked areas after 100 requests.
  846. 2000-06-09  Richard Braakman  <dark@wapit.com>
  847. * gw/wsp-session.c: Fixed two of the memory leaks, still hunting
  848. for others.
  849. 2000-06-09  Richard Braakman  <dark@wapit.com>
  850. * gwlib/http2.c: Fixed header_is_called() to return 0 for no match
  851. and 1 for match; simplified it in the process.  I think this was
  852. the original intent, and it matches the function name.
  853. By a roundabout path this fixes the lack of "Accept: text/vnd.wap.wml"
  854. and such in the HTTP request headers Kannel generates.
  855. Adapted http2_header_find_first() to the new interface of
  856. header_is_called().
  857. 2000-06-09  Richard Braakman  <dark@wapit.com>
  858. * gw/wsp_pdu.c: Allow REST fields to be NULL when packing (treat
  859. them as length 0 strings).  This was already done for OCTSTR fields.
  860. Thanks to Paul Keogh for fixing this.
  861. * gw/wtp_pdu.c: Make the same change for REST and OCTSTR fields as
  862. above.  It's going to be difficult to keep this code in sync.
  863. 2000-06-09  Richard Braakman  <dark@wapit.com>
  864. * gwlib/socket.c: Make read_available assert that fd >= 0, because
  865. otherwise it just segfaults.
  866. * gwlib/http2.c: Make pool_socket_is_alive return "not alive" for
  867. sockets < 0.  This does not fix the whole problem but it keeps the
  868. wapbox from crashing here.
  869. * gwlib/list.c: Fix bug in delete_items_from_list which would
  870. corrupt the list in some cases.
  871. 2000-06-09  Kalle Marjola  <Kalle Marjola <rpr@wapit.com>>
  872. * gw/bb_*.c: removed START and EXIT debug info as they are in new
  873. thread wrapper, too
  874. * gw/bb_boxc.c: fixed bugs in wdp-router and wapbox quit, and
  875. re-synchronized shutdown
  876. * gw/bearerbox.c, gw/bb_http.c: removed core_threads as new thread
  877. wrapper can be used to handle that.
  878. Fri Jun  9 08:31:18 2000  Lars Wirzenius  <liw@wapit.com>
  879. * Separated the method state machine from the session state machine,
  880. to keep state tables in the source closer to the spec and to allow
  881. multiple fetches per client.
  882. * gw/wsp-method-machine.h, gw/wsp-session-machine.h: Split out from
  883. gw/wsp_machine-decl.h, now removed.
  884. * gw/wsp-method-state.h, gw/wsp-session-state.h: Split out from
  885. gw/wsp_state-decl.h, now removed.
  886. * gw/wsp-session.c: Added handling of WSPMethodMachines and
  887. correct routing of WAPEvents between the session and method
  888. state machines. This is a bit ugly, though.
  889. * gw/wap-appl.c, gw/wap-events-def.h, gw/wsp.h, gw/wtp.c:
  890. Related changes.
  891. Fri Jun  9 06:20:12 2000  Lars Wirzenius  <liw@wapit.com>
  892. * gw/wtp.c: Combined wtp_machine_create and wtp_machine_create_empty.
  893. Fri Jun  9 05:39:06 2000  Lars Wirzenius  <liw@wapit.com>
  894. * gw/wsp-session.c, gw/wsp_machine-decl.h, gw/wsp_state-decl.h:
  895. Removed `unused' field from WSPMachine, using state == NULL_STATE
  896. instead.
  897. Fri Jun  9 05:32:38 2000  Lars Wirzenius  <liw@wapit.com>
  898. * gw/wap-events-def.h, gw/wtp.c, gw/wsp_state-decl.h: Removed
  899. unused exit_info and exit_info_present fields from WAPEvents.
  900. Fri Jun  9 05:28:12 2000  Lars Wirzenius  <liw@wapit.com>
  901. * gw/wtp_state-decl.h: Enabled sending of TR-Abort.ind events
  902. to WSP.
  903. * gw/wtp.c: Removed (now unused) variable current_primitive.
  904. Fri Jun  9 05:18:07 2000  Lars Wirzenius  <liw@wapit.com>
  905. * gw/wap-events-def.h: Finished breaking up pack_wsp_event into
  906. smaller functions.
  907. Fri Jun  9 05:10:20 2000  Lars Wirzenius  <liw@wapit.com>
  908. * gw/wtp.c, gw/wap-events-def.h: Removed event TR_Invoke_Cnf since
  909. it wasn't used and is only generated on the client side.
  910. Fri Jun  9 04:58:02 2000  Lars Wirzenius  <liw@wapit.com>
  911. * gw/wap-events-def.h, gw/wtp.c: Removed unused fields wsp_pdu
  912. and wsp_tid from various events. Then removed code that set
  913. and copied them between events.
  914. Fri Jun  9 07:44:25 2000  Lars Wirzenius  <liw@wapit.com>
  915. * gw/wtp.c, gw/wtp_state-decl.h: Beginning the breaking up of
  916. pack_wsp_event function into smaller, more well defined ones.
  917. Fri Jun  9 06:48:42 2000  Lars Wirzenius  <liw@wapit.com>
  918. * gw/wap-appl.c: Combine headers for HTTP request after the
  919. actual list of headers has been collected.
  920. Fri Jun  9 02:58:00 2000  Lars Wirzenius  <liw@wapit.com>
  921. * Implemented WSP connectionless service. This meant moving
  922. things around a bit. The basic approach is to treat connectionless
  923. mode as a level in the protocol stack that is parallel to WTP and
  924. session oriented WSP. That is, connectionless mode gets events
  925. directly from wapbox.c and feeds them to wap-appl.c, and vice
  926. versa for replies.
  927. * gw/bb_udp.c: Read from port 9200 as well.
  928. * gw/wap-events-def.h: Added events S_Unit_MethodInvoke_Ind and
  929. S_Unit_MethodResult_Req.
  930. * gw/wapbox.c: Deal with connectionless packets as well. Feed them
  931. to wsp-unit.c. Also: trace packets received and sent, except for
  932. heartbeat packets.
  933. * wsp-session.c: The session oriented mode of WSP. I just moved
  934. relevants parts of wsp.c here and renamed them to use the
  935. wsp_session prefix.
  936. * gw/wsp-unit.c: The connectionless mode of WSP.
  937. * gw/wsp.c: Kept only stuff shared by wsp-session and wsp-unit.
  938. * gw/wap-appl.c: Deal with both S-MethodInvoke.ind and
  939. S-Unit-MethodInvoke.ind events.
  940. Fri Jun  9 02:46:53 2000  Lars Wirzenius  <liw@wapit.com>
  941. * gw/wap-events.[ch]: Changed the WAPEvent sub-structures to be
  942. held inside a union, to reduce amount of space used. Related
  943. changes everywhere WAPEvents are used.
  944. 2000-06-08  Richard Braakman  <dark@wapit.com>
  945. * test/drive_wapbox.c: Added option -g N to try more than one
  946. page fetch per WSP session.  Improved tid checking so that it
  947. will catch the tid inversion bug (fixed below) in the future.
  948. * gw/wapbox.c: Make wap_addr_tuple_duplicate handle a NULL
  949. argument by returning NULL, like most other _duplicate functions.
  950. * gwlib/http2.c: Make http2_append_headers copy the headers it
  951. appends, so that http2_destroy_headers can safely be called on
  952. the result.
  953. 2000-08-07  Aarno Syv鋘en <syvanen@wapit.com>
  954. * wtp_state-decl.h: Removed machine_mark_unused calls
  955. 2000-06-07  Richard Braakman  <dark@wapit.com>
  956. * gw/wtp_send.c: Invert the MSB of the received tid when sending,
  957. to comply with WTP 8.8.1.  This fixes a bug introduced two days ago.
  958. 2000-06-07  Richard Braakman  <dark@wapit.com>
  959. * gw/wtp.c: Also destroy the event queue at shutdown.
  960. 2000-06-07  Richard Braakman  <dark@wapit.com>
  961. * gwlib/gwthread-pthread.c: Fixed silly bug in yesterday's patch.
  962. 2000-06-07  Derry Hamilton  <rasilon@tardis.ed.ac.uk>
  963. * test/fakewap.c: Running fakewap too quickly messes up
  964. thread-control signal handling under Solaris.  Ignore SIGALRMs,
  965. they are not meant for us.
  966. 2000-06-06  Richard Braakman  <dark@wapit.com>
  967. * gwlib/gwthread-pthread.c: Information for main thread is now
  968. allocated statically, so that we don't have to deallocate it
  969. at shutdown.  This way we can keep it around so that gwthread_self
  970. continues to work as expected even during shutdown.
  971. 2000-06-06  Richard Braakman  <dark@wapit.com>
  972. * Making development release 0.9.1.
  973. 2000-06-06  Richard Braakman  <dark@wapit.com>
  974. * gwlib/gwlib.c: Patch gwlib_assert_init so that it works if
  975. NDEBUG is on.
  976. * gwlib/octstr.c: Patch seems_valid macro so that it does nothing
  977. if NDEBUG is on.
  978. 2000-06-06  Tuomas Luttinen  <tuo@wapit.com>
  979. * gw/wsp.c: append_uintvar removed, calls to it were changed to
  980. octstr_append_uintvar.
  981. * gw/utf8map_win1257.h: A new file from the Latvian localisation 
  982. patch.
  983. * utils/win1257unicode.txt: A new file from the Latvian localisation 
  984. patch.
  985. * utils/utf8map.pl: A new file from the Latvian localisation patch.
  986. * gw/wml_definitions.h: Latvian localisation patch applied.
  987. * gw/wml_compiler.c: Latvian localisation patch applied.
  988. Tue Jun  6 15:43:31 2000  Lars Wirzenius  <liw@wapit.com>
  989. * gw/wsp_state-decl.h: Bugfix. The mid for a S_MethodInvoke_Ind
  990. was copied from a tid. Oops.
  991. Tue Jun  6 15:11:14 2000  Lars Wirzenius  <liw@wapit.com>
  992. * wap-events-def.h, gw/wsp.c, gw/wtp.c: Some events are generated
  993. by WTP immediately before it kills the WTPMachine. We used to
  994. fetch the address information for those WTP transactions from the
  995. WTPMachine after the machine had been killed. This was a bug. I
  996. changed the relevant events to supply the necessary information
  997. in the event, so that the WTPMachine is no longer needed.
  998. Tue Jun  6 12:28:48 2000  Lars Wirzenius  <liw@wapit.com>
  999. * gw/wap-appl.c, gw/wap-events-def.h, gw/wap-events.c,
  1000. gw/wap-events.h, gw/wapbox.c, gw/wapbox.h, gw/wsp.h,
  1001. gw/wsp_machine-decl.h, gw/wtp.c, gw/wtp.h, gw/wtp_machine-decl.h,
  1002. gw/wtp_send.c, gw/wtp_tid.c: Made more use of WAPAddrTuple.
  1003. Tue Jun  6 11:37:22 2000  Lars Wirzenius  <liw@wapit.com>
  1004. * gw/wap-appl.c, gw/wap-events-def.h, gw/wap-events.[ch]: Replaced
  1005. member `machine' (a pointer to a WTPMachine) to `mid' and `tid'
  1006. (integers), so as to remove direct references to WTPMachines
  1007. from outside the WTP layer.
  1008. * gw/wtp.[ch]: Added function wtp_get_address_of for finding the
  1009. address of a machine given its id (mid). 
  1010. * gw/wapbox.[ch]: Added data types WAPAddr and WAPAddrTuple,
  1011. for holding addresses of phone and gateway, and functions for
  1012. creating and destroying them.
  1013. * gw/wsp_state-decl.h: Made use of mid instead of machine.
  1014. * gw/wsp.c: Made light use of WAPAddrTuple.  Made use of mid
  1015. everywhere, instead of pointers to WTPMachines.
  1016. Tue Jun  6 08:44:13 2000  Lars Wirzenius  <liw@wapit.com>
  1017. * test/decompile.c: Added return type (void) to function
  1018. OutputEncodedString.
  1019. 2000-06-05  Richard Braakman  <dark@wapit.com>
  1020. * gw/wsp_pdu.[ch]: Added wtp_pdu_append_tpi function.
  1021. * gw/wtp_send.c: Continued conversion to use of wtp_pdu.
  1022. Next step is to handle resends better, but that requires
  1023. changes to the state machines.
  1024. 2000-06-05  Richard Braakman  <dark@wapit.com>
  1025. * gwlib/conn.[ch]: Change conn_flush interface so that it can
  1026. block, and tries to send all queued output.  This makes it more
  1027. useful for threads that only want to do output and do not want
  1028. to wake up for input.
  1029. * gwlib/gwthread-pthread.c: Make gwthread_pollfd return -1 when
  1030. poll() fails with EINTR, instead of 0, so that 0 can be relied
  1031. on to mean timeout.
  1032.  
  1033. 2000-06-05  Richard Braakman  <dark@wapit.com>
  1034. * gwlib/conn.c: Implemented conn_open_tcp().
  1035. Fixed conn_read_withlen, which I broke a few days ago.
  1036. * gwlib/conn.c: Split the single Connection lock into two locks,
  1037. one for reading and one for writing.  This allows reader and
  1038. writer threads to work without fighting over one lock.  Only
  1039. conn_wait needs both locks.
  1040. * test/drive_wapbox.c: Take advantage of some new octstr functions.
  1041. 2000-06-05  Richard Braakman  <dark@wapit.com>
  1042. * gwlib/gwthread.h, gwlib/gwthread-pthread.c: Renamed
  1043. gwthread_join_all to gwthread_join_every, and added a
  1044. gwthread_join_all that joins ALL threads.  Added gwthread_wakeup_all
  1045. to match.
  1046. * gwlib/gwthread-pthread.c: Fix use of pipe(); reading and
  1047. writing fd's were reversed.
  1048. 2000-06-05  Richard Braakman  <dark@wapit.com>
  1049. * gw/wsp.c: Installed Joerg Pommnitz's patch for correct parsing
  1050. of WSP capabilities.
  1051. 2000-06-05  Tuomas Luttinen  <tuo@wapit.com>
  1052. * test/decompile.[ch]: A WML decompiler by Chris Wulff, Vanteon.
  1053. * test/wml_tester.c: A patch by Chris Wulff, Vanteon added to produce 
  1054. pure binary files. A little cleanup.
  1055. 2000-06-05    <Kalle Marjola <rpr@wapit.com>>
  1056. * gw/bb_smsc.c: changed sleep(1) to usleep. A bit more busier
  1057. loop, that new interface is really needed
  1058. * gw/numhash.c: removed some warnings
  1059. Mon Jun  5 10:32:41 2000  Lars Wirzenius  <liw@wapit.com>
  1060. * gw/wtp.c: Fixed bug that was caused by not duplicating an
  1061. octet string while copying it. Also fixed a memory leak.
  1062. * gw/wtp_pdu.[ch]: Added function wtp_pdu_create. Also added
  1063. wrappers around wtp_pdu.h to prevent problems when including
  1064. many times, and added an include for gwlib/gwlib.h, so that
  1065. the caller does not have to deal with that.
  1066. * gw/wtp_send.c: Started conversion to using wtp_pdu.c instead
  1067. of packing everything by hand. The basic PDUs are now converted.
  1068. The negative ACK and some other ones are not, because I wasn't
  1069. certain how they work, right now, and am too tired to understand
  1070. the spec (probably too tired to hack, but I ran a fakewap test
  1071. after each change to make sure I didn't break things too badly).
  1072. Sun Jun  4 07:32:59 2000  Lars Wirzenius  <liw@wapit.com>
  1073. * Re-vamped the WTP layer to use a thread structure similar to WSP.
  1074. All code referring to segmentation and re-assembly has been deleted
  1075. (this was simpler for me - it wasn't used anyway, and we can dig it
  1076. out of CVS if we want it later). Error handling also suffered, but
  1077. on the other hand, the current structure should be easier to make
  1078. robust.
  1079. * gw/wap-events-def.h: Events generated from PDUs now have the
  1080. address of the client and the gateway included in the event.
  1081. This means we can use a trivial wtp_dispatch_event function
  1082. interface, without having to carry around the addressing information
  1083. separately.
  1084. Other events that the WTP layer may receive include a `mid'
  1085. (machine id) field for finding the correct WTPMachine. The ultimate
  1086. goal it so make the WTPMachine data type hidden within WTP, so
  1087. that there are no direct pointers to the machines.
  1088. * gw/wapbox.c, gw/wsp.c, gw/wsp_state-decl.h: Use
  1089. wtp_dispatch_event to send an event.
  1090. * gwlib/gwthread-pthread.c: Commented out call to pthread_setspecific
  1091. that was hanging shutdown. The real reason is probably somewhere
  1092. else, but I didn't find it, so this workaround is used to make
  1093. things at least seemingly work.
  1094. Sun Jun  4 04:38:02 2000  Lars Wirzenius  <liw@wapit.com>
  1095. * gw/wsp.c, gw/wsp_state-decl.h: Use WSP_PDU's, instead of
  1096. packing things ourselves, as far is possible. Some fields have
  1097. special packing encodings, those we do partly ourselves still.
  1098. * gw/wsp_pdu.c: Don't crash if OCTSTR field is NULL, just ignore
  1099. it.
  1100. Sun Jun  4 03:45:45 2000  Lars Wirzenius  <liw@wapit.com>
  1101. * gw/wap-events.c: wap_event_dump now reports name of Octstr
  1102. fields.
  1103. * gw/wsp_pdu.c: bit position is advanced correctly when unpacking
  1104. a Uintvar. Also, dump tells when the dump ends.
  1105. * gw/wsp_state-decl.h: Duplicate the URL octet string.
  1106. Sun Jun  4 02:36:10 2000  Lars Wirzenius  <liw@wapit.com>
  1107. * gw/wsp_pdu.[ch]: Added function wsp_pdu_create, which creates
  1108. an (empty) PDU of the desired type. Made the warning about an
  1109. unknown PDU type in wsp_pdu_destroy be a panic instead.
  1110. * gw/wsp.c, gw/wsp_state-decl.h: Converted to use wsp_pdu.[ch]
  1111. for unpacking. We have issues with packing: at least some fields
  1112. need to be packed in a special way, and this needs to be handled
  1113. in a clean way.
  1114. Sun Jun  4 01:03:55 2000  Lars Wirzenius  <liw@wapit.com>
  1115. * gwlib/protected.[ch]: Added wrapper for gethostbyname.
  1116. * gwlib/socket.c: Made use of wrapper.
  1117. Sun Jun  4 00:52:22 2000  Lars Wirzenius  <liw@wapit.com>
  1118. * gwlib/protected.[ch]: Wrote thread-safe wrappers around 
  1119. standard library functions gmtime, localtime, and rand. Note
  1120. that this is just a beginning, we should wrap many more functions.
  1121. * gw/urltrans.c, gwlib/gwlib.[ch], gwlib/log.c: Made use of the
  1122. wrappers.
  1123. Sun Jun  4 00:20:19 2000  Lars Wirzenius  <liw@wapit.com>
  1124. * gw/numhash.c: Added typecasts to silence compiler warnings. Kalle,
  1125. please fix it properly so it uses unsigned chars.
  1126. Sun Jun  4 00:06:23 2000  Lars Wirzenius  <liw@wapit.com>
  1127. * gw/wap-events.c: Added assertions to wap_event_name. Added
  1128. calls to wap_event_assert. Event duplication now also works for
  1129. NULL arguments. Fixed wap_event_assert (i.e., reduced the number
  1130. of checks it makes - it was overly aggressive).
  1131. * gw/wsp.c: Added calls to wap_event_assert.
  1132. 2000-06-03  Richard Braakman  <dark@wapit.com>
  1133. * gwlib/octstr.[ch]: Added octstr_append_uintvar.
  1134. * gw/wsp_pdu.[ch], gw/wsp_pdu.def: Do the same for WSP PDU's.
  1135. * gw/wtp_pdu.c: Bugfixes.
  1136. * test/test_pdu.c: Test WSP data too.
  1137. 2000-05-31  Richard Braakman  <dark@wapit.com>
  1138. * gwlib/octstr.[ch]: Added octstr_get_bits and octstr_set_bits.
  1139. * gw/wtp_pdu.[ch], gw/wtp_pdu.def: Deliberate preprocessor abuse
  1140. to automate PDU packing and unpacking.  First draft; works for
  1141. simple test cases, needs more documentation.  Not used by anything
  1142. else yet.
  1143. * test/test_pdu.c: Test program for above.
  1144. 2000-05-31  Tuomas Luttinen  <tuo@wapit.com>
  1145. * gw/wml_compiler.c (string_table_add): A bug fixed. The string 
  1146. didn't match any in the table, since it didn't have a termination 
  1147. character at the end of it as those in the table. Also string has 
  1148. to be destroyed if it has already a duplicate in the table.
  1149. 2000-05-30  Kalle Marjola <rpr@wapit.com>
  1150. * gw/bb_smsc.c: added white and black lists.
  1151. * doc/userguide/newconf.txt: added 'documentation' about white and
  1152. black lists
  1153. 2000-05-30  Kalle Marjola <rpr@wapit.com>
  1154. * gw/numhash.h|c: exported numhash from old smsgateway and edited
  1155. it to work with new http2 and Octstrings, plus removed some
  1156. functions. Next: implement white/black-list
  1157. 2000-05-29  Richard Braakman  <dark@wapit.com>
  1158. * gw/smsbox_req.c: Fixed silly mistake.
  1159. 2000-05-29  Richard Braakman  <dark@wapit.com>
  1160. * gwlib/conn.c: Implemented conn_read_packet().
  1161. 2000-05-29  Richard Braakman  <dark@wapit.com>
  1162. * gw/bb_boxc.c: If listening socket cannot be opened, handle it
  1163. by panicking rather than segfaulting.
  1164. 2000-05-29  Tuomas Luttinen  <tuo@wapit.com>
  1165. * gw/wml_compiler.c: #ifdefs added to supprt libxml2. Does compile, 
  1166. but does not work with it, yet. WapIT -> Wapit
  1167. * gw/wml_definitions.h: WapIT -> Wapit
  1168. * gw/wml_compiler.h: WapIT -> Wapit
  1169. * configure.in: libxml2 added.
  1170. 2000-05-29  Richard Braakman  <dark@wapit.com>
  1171. * gw/smsc.c: Made bearerbox not crash if "smsc" field is missing
  1172. from smsc config.
  1173. * gwlib/gwthread-pthread.c: Comment around previous change was
  1174. inaccurate; it was an fd leak on Linux too.
  1175. 2000-05-29  Derry Hamilton  <rasilon@tardis.ed.ac.uk>
  1176. * gwlib/gwthread-pthread.c: Added some system cleanups to 
  1177. delete_threadinfo.  Threads are not always processes!
  1178. 2000-05-29    Kalle Marjola <rpr@wapit.com>
  1179. * gw/bb_boxc.c: fixed possible problem in box shutdown and added
  1180. multiple wapbox routing. It is, however, not done according to
  1181. load levels, just random distribution. Load balancing later.
  1182. 2000-05-29  Richard Braakman  <dark@wapit.com>
  1183. * test/fakewap.c: Use gwthread_join_all to wait for client threads
  1184. to terminate.
  1185. 2000-05-29  Richard Braakman  <dark@wapit.com>
  1186. * gwlib/gwthread-pthread.c: In new_thread, free its argument a bit
  1187. earlier, to avoid a race with gw_check_leaks.  (This caused seemingly
  1188. random memory leak reports).
  1189. * gwlib/conn.c: Use gwthread_pollfd instead of calling poll directly.
  1190. 2000-05-29  Richard Braakman  <dark@wapit.com>
  1191. * gwlib/gwthread-pthread.c: Made gwthread_create fail gracefully
  1192. if there are more active threads than the module can handle, rather
  1193. than panicking.
  1194. Sat May 27 06:39:51 2000  Lars Wirzenius  <liw@wapit.com>
  1195. * gw/wap-events.[ch]: Added wap_event_assert function.
  1196. Sat May 27 02:50:09 2000  Lars Wirzenius  <liw@wapit.com>
  1197. * gwlib/gwthread.[ch]: Added function gwthread_join_all, which
  1198. joins all threads running a specific function.
  1199. * gw/wap-appl.c, gw/wapbox.c, gw/wsp.c: Use gwthread_join_all to
  1200. synchronize shutdown properly.
  1201. Sat May 27 02:05:41 2000  Lars Wirzenius  <liw@wapit.com>
  1202. * gw/wap-events.c: Only the fields for the correct event type
  1203. are dumped by wap_event_dump.
  1204. * gw/wapbox.c: Uncommented code to get heartbeat-freq setting
  1205. from config. Added some shutdown code.
  1206. NOTE: The wapbox does not currently shutdown correctly. Thread
  1207. termination synchronization is not done and this causes a
  1208. segfault at the end. Will hack that next.
  1209. * gw/wap-appl.c: Event queue is emptied and destroyed at shutdown.
  1210. * gw/wsp.c, gw/wsp_state-decl.h, gw/wtp_state-decl.h:
  1211. Work started on making a global event queue for all
  1212. WSPMachines. wsp_dispatch_event now the only external method
  1213. for sending events to WSP. Its interface has been changed so
  1214. that it only gets the event and will look inside the event to
  1215. find addressing info - the WTPMachine is no longer needed to be
  1216. given as the argument for this. A number of previously available
  1217. functions are now static and must only be used from within the
  1218. WSP layer.
  1219. Sat May 27 02:02:33 2000  Lars Wirzenius  <liw@wapit.com>
  1220. * gwlib/gwthread.h, gwlib/gwthread-pthread.c: Name of function
  1221. made as the name of the thread.
  1222. Fri May 26 21:05:29 2000  Lars Wirzenius  <liw@wapit.com>
  1223. * utils/start-stop-daemon.c: Added pid_is_cmd for FreeBSD.
  1224. Fri May 26 21:01:41 2000  Lars Wirzenius  <liw@wapit.com>
  1225. * gwlib/http2.c: Compare header names case-insensitively.
  1226. Fri May 26 20:47:06 2000  Lars Wirzenius  <liw@wapit.com>
  1227. * gw/wap-appl.h: Moved to gw/wsp.h. Don't want a zillion small
  1228. .h files, after all.
  1229. * gw/wsp.h: Added prototypes for the application layer.
  1230. 2000-05-26  Richard Braakman  <dark@wapit.com>
  1231. * gwlib/conn.c: Converted conn_claim() stuff to use new thread
  1232. interface.
  1233. * gwlib/gwthread-pthread.c: Bugfix, make sure the main thread
  1234. can still safely call gwthread_self after shutdown, so that gwmem
  1235. layer can log stuff.
  1236. * gwlib/thread.c: Converted mutex->owner to use new thread
  1237. interface.
  1238. Fri May 26 20:34:01 2000  Lars Wirzenius  <liw@wapit.com>
  1239. * gw/wap-appl.[ch]: Wrote. This is the new application layer.
  1240. This version is ugly - essentially I just moved code in here
  1241. from the old wsp_http.c - but I want to clean it up before I
  1242. break it further.
  1243. * gw/wsp_state-decl.h: Use S_MethodInvoke_Ind instead of
  1244. S_MethodInvoke_Res and wap_appl_dispatch instead of
  1245. wsp_http_thread.
  1246. * gw/wap-events-def.h: Added S_MethodInvoke_Ind, removed most
  1247. fields from S_MethodInvoke_Res, since they're now unnecessary.
  1248. * gw/wapbox.c: Starts the application layer.
  1249. * gw/wsp.c: Added #include for wap-appl.h.
  1250. * gw/wsp.h: Removed prototype for wsp_http_thread.
  1251. * gw/wsp_http.c: Removed.
  1252. Fri May 26 19:05:09 2000  Lars Wirzenius  <liw@wapit.com>
  1253. * gw/wap-events.[ch], gw/wap-events-def.h: Combined WTPEvent and
  1254. WSPEvent into a unified WAPEvent. This makes it slightly easier
  1255. to find the events (no need to wonder whether a TR-Invoke.ind is
  1256. a WTP or WSP event, for example), and reduces code duplication
  1257. a bit.
  1258. * gw/wsp_events-decl.h, gw/wtp_events-decl.h: Removed.
  1259. * Lots of files: WTPEvent and WSPEvent and related function calls
  1260. changed to WAPEvent and its functions.
  1261. * gwlib/http2.c: http2_header_dump works now even with a NULL
  1262. argument.
  1263. 2000-05-26  Richard Braakman  <dark@wapit.com>
  1264. * gwlib/gwthread.h: New thread interface.  Encapsulates thread
  1265. creation, and provides features for interruptible sleeping and
  1266. blocking.  Can eventually be extended to wrap all of pthreads,
  1267. if desired.
  1268. * gwlib/gwthread-pthread.c: Implementation of thread interface
  1269. with pthreads.
  1270. * gwlib/gwlib.h: Include gwthread.h too.
  1271. * gwlib/gwlib.c: Initialize and shut down gwthread module along
  1272. with the rest.
  1273. * gw/bb_boxc.c, gw/bb_http.c, gw/bb_smsc.c, gw/bb_udp.c,
  1274. gw/bearerbox.c, gw/smsbox.c, gw/smsbox_req.[ch], gw/wapbox.c,
  1275. gw/wsp.h, gw/wsp_http.c, gw/wsp_state-decl.h, 
  1276. test/drive_wapbox.c, test/fakewap.c, test/test_counter.c,
  1277. test/test_http2.c, test/test_http2_server.c, test/test_list.c:
  1278. Use gwthread_create instead of start_thread.
  1279. Thread functions are now void functions instead of (void *)
  1280. functions, so removed all the "return NULL" and changed the
  1281. declarations.
  1282. Use long instead of pthread_t as the thread identifier.
  1283. Use gwthread_join instead of pthread_join.
  1284. * gwlib/log.c: Use gwthread_self() instead of pthread_self()
  1285. to get the thread number to log.
  1286. * gwlib/thread.[ch]: Removed start_thread function.
  1287. Fri May 26 17:14:18 2000  Lars Wirzenius  <liw@wapit.com>
  1288. * doc/arch/wapbox-arch.fig: New figure showing the planned
  1289. wapbox architecture. (Not visible in the actual documentation
  1290. yet, though.)
  1291. Fri May 26 16:59:03 2000  Lars Wirzenius  <liw@wapit.com>
  1292. * gwlib/http2.c: Destroy temporary header list in
  1293. http2_type_accepted.
  1294. Thu May 25 21:46:04 2000  Lars Wirzenius  <liw@wapit.com>
  1295. * gwlib/http.[ch], test/test_http.c: Removed.
  1296. * gwlib/http2.[ch]: Added a number of header handling functions.
  1297. Also added many assertions.
  1298. * gw/wsp.[ch], gw/wsp_headers.[ch], gw/wsp_http.c,
  1299. gw/wsp_state-decl.h: Converted to use http2 instead of http for
  1300. header handling.
  1301. 2000-05-25    Kalle Marjola <rpr@wapit.com>
  1302. * gw/bb_smsc.c: fixed some lock-ups during violent shutdown
  1303. 2000-05-25  Richard Braakman  <dark@wapit.com>
  1304. * test/fakewap.c: Sanitized tid handling.  It's now local to the
  1305. client thread, rather than global.  Each client should have its
  1306. own tid space anyway.
  1307. Thu May 25 18:45:15 2000  Lars Wirzenius  <liw@wapit.com>
  1308. * gwlib/gwlib.[ch]: gwlib_shutdown now always calls gw_check_leaks,
  1309. to check for memory leaks. Added function gwlib_assert_init, to
  1310. allow gwlib code to verify that gwlib has been initialized.
  1311. * gw/bearerbox.c, gw/smsbox.c, gw/wapbox.c, test/drive_wapbox.c,
  1312. test/fakesmsc.c, test/fakewap.c, test/test_cimd2.c,
  1313. test/test_counter.c, test/test_http.c, test/test_http2.c,
  1314. test/test_http2_server.c, test/test_list.c, test/test_mem.c,
  1315. test/test_msg.c, test/test_udp.c, test/test_urltrans.c,
  1316. test/wml_tester.c: Fixed to call gwlib_init and gwlib_shutdown
  1317. instead of gw_init_mem and gw_check_leaks.
  1318. * gwlib/octstr.c: Call gwlib_assert_init in seems_valid.
  1319. Thu May 25 16:52:22 2000  Lars Wirzenius  <liw@wapit.com>
  1320. * gw/bb_smsc.c: Removed unused variable `ret'.
  1321. 2000-05-25    Kalle Marjola <rpr@wapit.com>
  1322. * gw/smsc.c, gw/smsc.h, gw/smsc_p.h, gw/bb_smsc.c: removed old
  1323. dial-prefix (use global unified-prefix) and route-prefix, and
  1324. added new denied-prefix and preferred-prefix, see details from
  1325. documentation
  1326. * doc/userguide/newconf.txt: added notes of preferred-preix and
  1327. denied-prefix
  1328. 2000-05-25    Kalle Marjola <rpr@wapit.com>
  1329. * gw/smsc.h|c: got rid of bb_msg
  1330. * gw/bb_smsc.c: modified to use just plain Msg
  1331. * gw/bb_msg.*, gw/boxc.*, gw/wdp_udp.*: removed, not used anymore
  1332. 2000-05-25    Kalle Marjola <rpr@wapit.com>
  1333. * gw/bb_smsc.c: added number normalization/unifying, via
  1334. configuration variable unified-prefix. 
  1335. * doc/userguide/newconf.txt: added explanation of unified-prefix
  1336. 2000-05-25    <Kalle Marjola <rpr@wapit.com>>
  1337. * gw/*box.c: changed default configuration file to be
  1338. kannel.conf. Please note that there is NO such file, but two
  1339. sample files, smskannel.conf and wapkannel.conf
  1340. 2000-05-24    <Kalle Marjola <rpr@wapit.com>>
  1341. * doc/userguide/userguide.xml: Removed old configuration file
  1342. things, read the newconf.txt file. Did same to HTTP adminstration
  1343. notes, read file newbb.txt
  1344. * doc/arch/arch-bearerbox.xml: Rewrote to reflect the new
  1345. bearerbox. Have to do it a bit more deeply someday, however. And
  1346. pictures, too.
  1347. * gw/wsp.c: Applied a short WSP header patch by Joerg Pommnitz to
  1348. handle broken headers from Timeport
  1349. * test/simple.smsconf: removed
  1350. 2000-05-24  Richard Braakman  <dark@wapit.com>
  1351. * gw/wsp_http.c: Fixed Accept header scanning in wsp_http_thread.
  1352. 2000-05-24    <Kalle Marjola <rpr@wapit.com>>
  1353. * doc/userguide/newconf.txt: added documentation about new
  1354. configuration file
  1355. * doc/userguide/newbb.txt: added documentation about new
  1356. bearerbox
  1357. * gw/bearerbox.c: moved new bearerbox into final name, old
  1358. bearerbox removed from the project
  1359. * gw/smskannel.conf, gw/wapkannel.conf: added new sample
  1360. configurations
  1361. * gw/kannel.*conf: removed old configuration defination files
  1362. * test/sample.*conf: removed old sample configurations
  1363. * gw/smsbox.c, gw/urltrans.c, gw/wapbox.c: edited to use new 
  1364. configuration file
  1365. * README: updated
  1366. 2000-05-24  Richard Braakman  <dark@wapit.com>
  1367. * test/test_cimd2.c: Written a while ago, added to CVS today.
  1368. Might be useful for people doing speed tests of sms handling.
  1369. 2000-05-23    <Kalle Marjola <rpr@wapit.com>>
  1370. * gwlib/http2.c|h: moved destroying functions here, and changed so
  1371. that http2_socket_host does not duplicate the octstr but returns
  1372. reference
  1373. * gw/bb_http.c: check for password of the admin
  1374. * gw/smsbox*.c moved cgi and destroy functions to http2
  1375. 2000-05-23    <Kalle Marjola <rpr@wapit.com>>
  1376. * gw/bb_http.c: check for allow/deny IP for http admin
  1377. 2000-05-23    <Kalle Marjola <rpr@wapit.com>>
  1378. * gwlib/socket.h|c: added host_ip to get, well, host IP. That
  1379. needed mutex because ntoa operation is not thread-safe, so added
  1380. socket_init and shutdown, too
  1381. * gwlib/gwlib.c: calls to socket_init and shutdown
  1382. * gwlib/http2.c: get client host IP
  1383. * gwlib/utils.c|h: added is_allowed_ip function
  1384. * gw/bb_core.c: options -S and -I to start new bearerbox in
  1385. suspended or isolated state
  1386. * gw/bb_boxc.c: check for client allowed/denied IP
  1387. 2000-05-23  Richard Braakman  <dark@wapit.com>
  1388. * test/drive_wapbox.c: Fix free-port-hunting code for fake httpd.
  1389. 2000-05-23  Richard Braakman  <dark@wapit.com>
  1390. * gw/smsc_cimd2.c: The maximum message length was always set to 140.
  1391. It should be 160 for normal (non-UDH, non-8bit) messages.  Fixed.
  1392. 2000-05-22    <Kalle Marjola <rpr@wapit.com>>
  1393. * gwlib/utils.c|h, gw/bearerbox.c: moved normalize_number to
  1394. utils module from old bearerbox
  1395. * gwlib/http2.h|c: first version of http2_socket_ip, although
  1396. not yet working with servers, beware
  1397. 2000-05-22  Richard Braakman  <dark@wapit.com>
  1398. * gwlib/conn.h, gwlib/conn.c: Made output buffering explicit instead
  1399. of hidden in the interface.  (We can't hide it with 100% correctness
  1400. if there are multiple threads using the Connection, not all of which
  1401. are in a conn_wait loop).
  1402. Added conn_output_buffering and conn_flush functions.
  1403. * test/drive_wapbox.c: Made the fake httpd return a real wml page,
  1404. for better testing.  (This exercises the WML compiler).
  1405. Cleaned up some memory leaks.
  1406. 2000-05-22  Richard Braakman  <dark@wapit.com>
  1407. * gwlib/conn.h, gwlib/conn.c: Extended to handle end-of-file better.
  1408. Added conn_eof function.
  1409. * test/drive_wapbox.c: Use conn_eof.
  1410. 2000-05-22  Richard Braakman  <dark@wapit.com>
  1411. * test/drive_wapbox.c: Make setting the U/P flag optional, with
  1412. the -U flag, because Kannel no longer (erroneously) requires it.
  1413. Also have its internal httpd supply a Content-Type header.
  1414. 2000-05-22    <Kalle Marjola <rpr@wapit.com>>
  1415. * gwlib/http2.c|h: implemented function http2_destroy_headers
  1416. * gw/bb_core.c: some update to status information
  1417. * gw/bb_http.c: fixed last memory leaks, now the new system should
  1418. not leak memory at all. Still misses cgibin arguments because of
  1419. the lack of operations in http2.
  1420. 2000-05-18  Richard Braakman  <dark@wapit.com>
  1421. * wmlscript/wsfalloc.c: Make ws_f_malloc return blocks aligned
  1422. to sizeof(long), to prevent unaligned accesses.  This should fix
  1423. the bug reported by Lim YoungLan, but I can't test that here.
  1424. 2000-05-17    <Kalle Marjola <rpr@wapit.com>>
  1425. * gwlib/counter.c|h: renamed counter_get as counter_increase and
  1426. added function counter_value.
  1427. * test/test_*.c, gw/wsp.c: changed counter functions
  1428. * gw/smsc.c, gw/smsc_fake.c: started a project that smsc_close
  1429. will eventually free all memory it has reserved. Fake does this
  1430. already, rest do not, and close is a bit weird for those right
  1431. now.
  1432. * gw/bb_*.c: added counters for messages, fixed some timing
  1433. problems.
  1434. 2000-05-17  Tuomas Luttinen  <tuo@wapit.com>
  1435. * gw/wml_compiler.c: Now variables use the string table. Some fixing 
  1436. for reducing numbers of the memory allocations and reallocations is 
  1437. needed.
  1438. 2000-05-17    <Kalle Marjola <rpr@wapit.com>>
  1439. * gw/bb_*.c: Some final cleanup added
  1440. * gw/smsc_fake.c: smsc_close now destroyes eveyrhing. Should add
  1441. this functionality to other SMSCes, too, and rename it as _destroy
  1442. 2000-05-17  Richard Braakman  <dark@wapit.com>
  1443. * test/drive_wapbox.c: Memory leak now fixed.  Added includes
  1444. needed by accept().
  1445. 2000-05-17  Aarno Syv鋘en <syvanen@wapit.com>
  1446. * wtp_state-decl.h: Two bugfixes: rid to 0, when the result is
  1447. sended first time (thanks to Oliver Lau), conditions checking
  1448. whether u/p-flag is up corrected.
  1449. 2000-05-16    <Kalle Marjola <rpr@wapit.com>>
  1450. * gwlib/list.c|h: added function list_producer_count
  1451. * gw/bb_*.c: smsc thingies are now somehow working. Does not work
  1452. very well with multiple smsces, however.
  1453. 2000-05-16  Tuomas Luttinen  <tuo@wapit.com>
  1454. * gw/wml_compiler.c: Memory leaks with variables removed. 
  1455. String table code mostly done, nrext thing is to start to use it.
  1456. * gwlib/octstr.[ch]: octstr_create_tolower removed as unnecessary.
  1457. 2000-05-15  Richard Braakman  <dark@wapit.com>
  1458. * gwlib/conn.[ch]: Found some more things to fix while writing
  1459. drive_wapbox.  Interface is almost stable now.
  1460. * gwlib/thread.c: Added some assertions for mutex not being NULL.
  1461. 2000-05-15  Richard Braakman  <dark@wapit.com>
  1462. * test/drive_wapbox.c: A tool to run the wapbox in isolation,
  1463. for easy profiling.
  1464. 2000-05-15    <Kalle Marjola <rpr@wapit.com>>
  1465. * gw/bb_*.c: Now most memory leaks are fixed, the new bearerbox
  1466. dies quite nicely and can handle exiting wapboxes and new
  1467. connections. Still needs much testing and there is some mysterios
  1468. things not freed at the end, so back to work. 
  1469. Mon May 15 16:07:00 2000  Lars Wirzenius  <liw@wapit.com>
  1470. * gw/wsp_http.c: Report character set when fetch is successful.
  1471. * gwlib/http2.c: Fix parsing of character set from Content-Type.
  1472. * test/test_http2.c: Report reply headers.
  1473. Mon May 15 15:59:32 2000  Lars Wirzenius  <liw@wapit.com>
  1474. * gw/wsp_http.c: Do not require resp_headers to be non-NULL.
  1475. Instead, only destroy it if it is non-NULL. Fixes bug #69
  1476. by Kalle Marjola.
  1477. Mon May 15 15:06:16 2000  Lars Wirzenius  <liw@wapit.com>
  1478. * gw/wsp_http.c: Undid broken changes to how HTTP headers are
  1479. generated.
  1480. * gwlib/http2.c: Dump to log file the headers used in the request.
  1481. 2000-05-15  Richard Braakman  <dark@wapit.com>
  1482. * wsp_http.c: octstr_destroy(key_os) and (value_os) moved into the
  1483. loop, so that it's not a memory leak.
  1484. 2000-05-11   Aarno Syv鋘en <syvanen@wapit.com>
  1485. * wsp_http.c: Using octstr_compare instead of strstr in conditional 
  1486. header addition. There was some curious problem with strstrs.
  1487. * wsp.c: Changed Can't handle event error code to 0xEO. This is user
  1488. protoerr.
  1489. Fri May 12    Derry Hamilton <rasilon@tardis.ed.ac.uk>
  1490. * fakewap.c: Added -F switch which enables continue on fail
  1491. rather than exit on fail. (Stress testing)
  1492. 2000-05-11    <Kalle Marjola <rpr@wapit.com>>
  1493. * gw/bb_*.c: suspend and isolate status now in work. System still
  1494. leaks memory somewhere and some things are missing, but WAP
  1495. browsing works fine with new bearerbox.
  1496. 2000-05-11  Richard Braakman  <dark@wapit.com>
  1497. * configure.in, configure: Made it not look for getloadavg.c
  1498. on systems that have no getloadavg().
  1499. 2000-05-11    <Kalle Marjola <rpr@wapit.com>>
  1500. * gw/bb_http.c: Oooops, added
  1501. * gw/bb_*.c: added signal trapping and (shutdown) flow-control.
  1502. Still need some new List operations to free all memory while
  1503. exiting.
  1504. 2000-05-10    <Kalle Marjola <rpr@wapit.com>>
  1505. * gw/bb_*.c: and more, now some HTTP adminstration 'works'
  1506. (implementation partial in other modules)
  1507. Tue May  9 Derry Hamilton <rasilon@tardis.ed.ac.uk>
  1508. * gw/wapbox.c,configure.in,configure: Updated getloadavg bits to
  1509. search for getloadavg, rather than just assume that it exists
  1510. on Solaris.
  1511. * utils/start-stop-daemon.c: Fixed typo.
  1512. Tue May  9 23:03:26 2000  Lars Wirzenius  <liw@wapit.com>
  1513. * gwlib/gwmem-check.c: Fixed so that fill doesn't have a pointer
  1514. alignment bug.
  1515. Tue May  9 22:53:22 2000  Lars Wirzenius  <liw@wapit.com>
  1516. * gwlib/http2.c: Bugfix. Host header should include port number
  1517. if the URL had a non-default one.
  1518. Tue May  9 20:53:25 2000  Lars Wirzenius  <liw@wapit.com>
  1519. * gw/wsp_http.c: Report status code returned by http2_get_real
  1520. if it fails.
  1521. * gwlib/http2.c: Added includes for sys/types.h and sys/socket.h.
  1522. This should silence warnings about accept being undeclared.
  1523. Tue May  9 20:01:45 2000  Lars Wirzenius  <liw@wapit.com>
  1524. * configure.in: Make it allow random junk before the version
  1525. number in the output of xml-config. Based on patch from
  1526. Gus <angus@z-y-g-o.com>.
  1527. 000-05-09  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  1528.         * gwlib/socket.c: Changed the calls to info to calls to error
  1529. when something has gone wrong.
  1530. * gwlib/list.c: Added gw_asserts to some of the list functions.
  1531. The problem is higher up, though.
  1532. * gw/wsp_http.c:  Added gw_asserts to some of the URL handling
  1533. a call to an invalid protocol causes problems.
  1534. Tue May  9 19:31:44 2000  Lars Wirzenius  <liw@wapit.com>
  1535. * utils/start-stop-daemon.c: Hand-applied patch from David
  1536. Reid for FreeBSD support. No way to test if I did it correctly,
  1537. hopefully kannel-nag or a FreeBSD user will complain.
  1538. 2000-05-09  Richard Braakman  <dark@wapit.com>
  1539. * gw/smsc.c: system-type and address-range are also required
  1540. for SMPP configurations.
  1541. 2000-05-09    <Kalle Marjola <rpr@wapit.com>>
  1542. * gw/bb_*.c: something new, many things still missing
  1543. 2000-05-09  Richard Braakman  <dark@wapit.com>
  1544. * gwlib/conn.c, gwlib/conn.h: Added octstr_read_withlen and
  1545. octstr_write_withlen.  Also fixed errors in unlocked_get().
  1546. 2000-05-09  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  1547. * gw/wapbox.c, configure.in, configure, utils/start-stop-daemon.c:
  1548. Cleaned up SunOS definition
  1549. 2000-05-08  Derry Hamilton <rasilon@tardis.ed.ac.uk>
  1550. * gw/wapbox.c: Implemented load reporting for Solaris
  1551. 2000-05-08  Richard Braakman  <dark@wapit.com>
  1552. * Made all sig_atomic_t variables volatile, because there is no
  1553. reason to use sig_atomic_t otherwise.
  1554. 2000-05-08  Richard Braakman  <dark@wapit.com>
  1555. * gwlib/conn.c: Commented static functions.
  1556. Added unlocked_outbuf_len and unlocked_inbuf_len helper functions.
  1557. Added unlocked_try_write helper function, to implement output
  1558. buffering.  Implemented conn_wait.
  1559. 2000-05-08  Richard Braakman  <dark@wapit.com>
  1560. * test/fakewap.c: Fixed -n flag.
  1561. 2000-05-07    Derry Hamilton <rasilon@tardis.ed.ac.uk>
  1562. * gwlib/socket.c: Fixed tv_usec > 1000000 handling.
  1563. 2000-05-05    <Kalle Marjola <rpr@wapit.com>>
  1564. * gw/bb_smsc.c: Now it is half done. However, the old
  1565. smsc_interface should be redone, now idea to use old rq-items
  1566. anymore in new design. Back to work on Monday
  1567. * gw/bb_*.c: fixed some places causing warnings
  1568. 2000-05-05 Aarno Syv鋘en <syvanen@wapit.com>
  1569. * wtp_tid.c|h: Module now uses list standard functions
  1570. * wtp_state-decl.h: Commented
  1571. 2000-05-04    <Kalle Marjola <rpr@wapit.com>>
  1572. * gw/bb_core.c: logfiles
  1573. * gw/bb_boxc.c: added basic routing thingies, now it only needs
  1574. some load balancing to wap side, otherwise this module is about
  1575. complete.. oh I forgot the dynamic configuration, but that later -
  1576. the old one does not have it either
  1577. * gw/bb_udp.c: added routing, now this function is about ready,
  1578. except dynamic configuration and some testing etc.
  1579. 2000-05-04  Richard Braakman  <dark@wapit.com>
  1580. * gwlib/conn.c, gwlib/conn.h: Got rid of network_long functions.
  1581. The interface is so awkward that it's just as easy for the caller
  1582. to fill a 4-octet buffer and provide that.
  1583. * gwlib/octstr.h, gwlib/octstr.c: Added functions octstr_write_data
  1584. and octstr_append, used by the new Connection code.
  1585. * gwlib/http2.c: Removed static octstr_append, superseded by the one
  1586. in the octstr module.
  1587. * gwlib/conn.c, gwlib/conn.h: conn_read interface was not useful.
  1588. Renamed to conn_read_fixed(), made it return exactly the number
  1589. of bytes specified.
  1590. * gwlib/conn.c code fleshed out some more, but several functions
  1591. still not implemented.
  1592. 2000-05-04  Richard Braakman  <dark@wapit.com>
  1593. * gw/wsp_http.c: In wsp_http_thread(), do not destroy charset
  1594. until after it is used by the converters.
  1595. Thu May  4 18:35:24 2000  Lars Wirzenius  <liw@wapit.com>
  1596. * Making *DEVELOPMENT* release 0.9. This is not stable, don't use
  1597. it in production use.
  1598. 2000-05-04    Kalle Marjola <rpr@wapit.com>
  1599. * gw/bb_core.c, gw/bb_boxc.c, gw/bb_udp.c, gw/bb_smsc.c,
  1600. gw/new_bb.h: added first version of the new bearerbox. 
  1601. WAP-browsing works, but bearerbox is missing signal handling, 
  1602. HTTP adminstration, log files, SMSC support, wapbox routing 
  1603. and many, many more things. 
  1604. * gw/new_kannel.conf: new configuration file type used by the new
  1605. bearerbox. Documentation later.
  1606. * Makefile.in: added target for bb_core, the new bearerbox proto
  1607. 2000-05-04    <Kalle Marjola <rpr@wapit.com>>
  1608. * gwlib/conffile.c|h: more changes so that all functions needing
  1609. ConfigGroup work with NULL argument, returning just NULL
  1610. 2000-05-03  Steffen Weinreich  <steve@weinreich.org>
  1611. * smsc_emi.c: Fixed the EMI code for UDH and added an initialisation
  1612. for the TRN counter. This fixes the error with negative TRN if there
  1613. wasnt a message received before  the first send
  1614. 2000-05-03  Tuomas Luttinen  <tuo@wapit.com>
  1615. * gw/wsp_http.c: Added the charset support here too. Now it's still 
  1616. needed in html2.
  1617. * test/wml_tester.c: Rewrote most of the main-function, started 
  1618. using getopt for options. The charset stuff was added too.
  1619. * gw/wml_definitions.h: The pile of definitions and static arrays 
  1620. just grew too huge. Added an own file for them.
  1621. * gw/wml_compiler.[ch] : The WML compiler now recognises the 
  1622. most common character sets from ISO-8859-series(1-9) and UTF-8.
  1623. It is now easy to add new 8-bit character sets into it.
  1624. 2000-05-03  Richard Braakman  <dark@wapit.com>
  1625. * inet_aton is not used anywhere.  Removed definition from
  1626. gwlib/socket.c, and removed all configure checks for its
  1627. existence.
  1628. * Removed unused linger() code from tcpip_connect_to_server.
  1629. We have CVS for storing dead code.
  1630. 2000-05-03  Richard Braakman  <dark@wapit.com>
  1631. * configure.in, config.h.in, configure: Added --enable-mutex-stats
  1632. option.
  1633. * gwlib/thread.c, gwlib.thread.h, gwlib/gwmem-check.c: If mutex
  1634. stats are enabled, log statistics about mutex usage.
  1635. * gwlib/thread.c: Make mutex_try_lock silently ignore recursive
  1636. locks again.
  1637. Wed May  3 15:04:57 2000  Lars Wirzenius  <liw@wapit.com>
  1638. * contrib/html2wml.pl: Added script to convert WML to HTML,
  1639. by Taneli Lepp