diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 648 |
1 files changed, 648 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..7896521 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,648 @@ +2007-08-02 Gurer + * tst-iks.c: test for new append/prepend functions added. + +2007-08-01 Gurer + * Patch from Benjamin Bennett: + base64.c: fix padding + * sha.c: 64bit fix (long -> int) + * iks.c: new funcs: iks_append, iks_prepend + iks_append_cdata, iks_prepend_cdata + * stream.c: iks_sasl_challenge split into smaller functions + This change also fixes some possible leaks which are detected + by Coverity Inc's excellent Prevent product. + +2006-05-19 Gurer + * dom.c: fixed (size % FILE_IO_BUFFER_SIZE) problem in iks_load() + +2005-08-29 Gurer + * Patch from Jakob Schroter: + iksemel.texi: small documentation update + * Patch from Darrell Karbott: + sax.c: use fixed instead of floating point (for arm) + mark static const data properly + explicit char* uchar* casts + +2004-08-14 Gurer + * version bump to 1.3 + * patch from Roland Hedberg + io-posix.c: io_connect now tries all addrinfo values. + +2004-08-05 Gurer + * iksemel.h: ikstransport cosmetic cleanup. + * iksemel.texi: mingw notice added. + +2004-07-30 Gurer + * iksemel.h: get_fd and connect_fd is removed from ikstransport api. + ikstransport structure now has an abi_version field. + new IKS_TRANSPORT_V1 macro defined for using in abi_version. + * io-posix.c: modified for new ikstransport scheme. + * stream.c: iks_connect_fd and iks_fd now works directly. + +2004-07-30 Gurer + * sax.c: bug in parser's utf8 checker fixed. + +2004-07-28 Gurer + * stream.c: buffer size corrected in iks_send_header. + +2004-07-26 Gurer + * iksroster.c: "iksroster" resource is default, if not given by user. + * stream.c: iks_start_tls() cosmetic cleanup. + +2004-07-23 Gurer + * iks.c: ikstack value of attribute nodes wasnt set correctly. fixed. + +2004-07-21 Gurer + * patch from Benoit Laniel + configure.ac: objdump check for cross compiling + iksroster.c, perf.c, io-unix.c: WIN32 is changed to _WIN32 + +2004-07-19 Gurer + * iks.c: iks_child() verifies that node is a tag before accessing + children field in struct. + +2004-07-13 Gurer + * stream.c: if no realm is provided in sasl, server name is used + +2004-06-14 Gurer + * iksemel.texi: sasl&tls funcs documented a bit. + +2004-06-14 Gurer + * patch from Darrell Karbott + iksemel.h: async events are passed as a struct + ikstransport struct is defined as const + server_name is passed to the iksTConnectAsync + additional network error codes + stream.c: iks_recv() checks if iks_disconnect called during parsing + +2004-05-22 Gurer + * iks.c: iks_cdata() returns value for attributes + * sax.c: utf8 stack_pos fix + +2004-05-19 Gurer + * io-posix.c: now compiles without getaddrinfo() + +2004-05-05 Gurer + * sax.c: iks_parser_stack() added, returns the ikstack of an iksparser + * stream.c: ikstranport api is now passing iksparser instead of ikstack + to the connect functions. + +2004-05-05 Gurer + * stream.c: patch from Rafal Piotrowski + iks_sasl_challenge() cleanup + +2004-05-01 Gurer + * iksroster.c: sasl auth finally works. + +2004-04-30 Gurer + * iksroster.c: cleanup. + +2004-04-30 Gurer + * Another patch from Rafal Piotrowski + tst-md5.c: test code for md5.c functions, and new utils: + iks_make_resource_bind(), iks_make_session(), iks_stream_features() + * iksemel.h: iks_auth_sasl renamed to iks_start_sasl + IKS_AUTH_SASL_PLAIN renamed to IKS_SASL_PLAIN + IKS_AUTH_SASL_DIGEST_MD5 renamed to IKS_SASL_DIGEST_MD5 + +2004-04-29 Gurer + * Patch from Rafal Piotrowski applied + md5 and base64 api, and sasl auth support! + * iksroster.c: --sasl option added. + +2004-04-27 Gurer + * io-unix.c: renamed to io-posix.c, it runs on windows with mingw + so less confusion this way. + * stream.c: warnings cleaned up, iks_connect_async_with finished. + +2004-04-26 Gurer + * iksemel.h: new error code IKS_NET_TLSFAIL + * stream.c: tls code cleaned up. + * configure.ac: new option --disable-default-io + you can use it to disable compiling of io-unix.c if you dont need + it and want to use your own socket code. + +2004-04-13 Gurer + * iksemel.h: new error code IKS_NET_NOTSUPP + * stream.c: not supported error code is supported now :) + * sha.c: free() is replaced with iks_free() + +2004-04-10 Gurer + * stream.c: saga continues, tls is working on ikstransport. + * iksroster.c: --log option for turning on xml debug output. + +2004-04-10 Gurer + * stream.c: second part: + it is using iks_default_transport (provided by io-unix.c) now. + all network code is removed. + iks_connect_with() allows you to use your own transport code. + (note: testing needed and async api is not fully implemented yet) + +2004-04-10 Gurer + * iksemel.h: first part of the long expected socket abstraction. + many thanks to Darrell Karbott for ideas and a sample implementation. + * io-unix.c: new file, transport code for unix sockets. + +2004-03-22 Gurer + * dom.c: iks_load() now frees the resources if iks_parse returns error. + +2004-03-19 Gurer + * stream.c: iks_is_secure() added, checks that if a stream is secured. + * iksroster.c: cleanup a bit. + +2004-03-18 Gurer + * iksroster.c, stream.c: secure connection works, but api isn't + stablized yet, and some cleanup needed. + +2004-03-08 Gurer + * iksroster.c: new option for secure connection, needs testing. + +2004-03-01 Gurer + * sax.c: second part, IKS_NOMEM conditions are checked properly. + +2004-02-29 Gurer + * iksemel.h: stddef.h is included to get size_t for C apps. + * sax.c: first part of the memory usage optimization. + +2004-02-27 Gurer + * iksemel.h: cstddef is included for C++ apps to provide size_t type. + +2004-02-25 Gurer + * src/sha.c: iks_sha_print() uses lowercase hex numbers now. + +2004-02-10 Gurer + * src/iks.c: Tag, cdata and attribute structures have different sizes now. + Saves 8 bytes per tag, 20 bytes per cdata/attrib on 32 bit archs. + +2004-02-10 Gurer + * src/ikstack.c: iks_stack_stats is dead, long live iks_stack_stat. + * tools/iksperf.c: dom test now iks_delete()s the parsed tree + and even measures the freeing time. + +2004-02-07 Gurer + * src/ikstack.c: iks_stack_stats returns total values. + +2004-02-06 Gurer + * src/ikstack.c: new stack implementation, all callers changed too. + +2004-02-03 Gurer + * test/tst-ikstack.c: tst-ikstack-str.c moved here. + * test/tst-ikstack.c: alignment test added. + * src/ikstack.c: iks_stack_alloc() always returns aligned memory. + * src/ikstack.c: patch from Ilkka Lyytinen: + iks_stack_strecat alignment fix. + +2003-10-16 Gurer + * src/iks.c: escape_size off by one bug in iks_string() is fixed. + * src/dom.c: iks_load and iks_save uses (const char *) for filename now. + +2003-10-09 Gurer + * src/Makefile.am: --no-undefined changed to -no-undefined + * stream.c: data->current is NULLed *before* calling the hook, + so you can keep the node in memory when you are returning + an error from your hook. + * tools/perf.c: GetTickCount is used instead of gettimeofday on Windows. + +2003-10-08 Gurer + * dom.c: iks_save is not using unnecessary object stack. + * A great patch from Benoit Laniel <nels@pgroupe.net> applied. + This allows iksemel to be compiled on Windows with MinGW. + Detailed changes: + * configure.ac: check for st_blksize in stat structure (which is + missing in Windows). Check for libwsock32, the Windows socket library. + The check is only done when compiling for a MinGW host to avoid + problems when having Wine libraries. + * src/Makefile.am: add -no-undefined to libiksmel_la_LDFLAGS to enable + DLL compilation on Windows. + * src/stream.c: include winsock.h and do not include posix socket + headers on Windows. Use closesocket instead of close on Windows. + Check socket errors with '== -1' instead of '< 0'. + * tools/ikslint.c: conditional use of st_blksize. + * tools/iksroster.c: add Winsock initialization and cleanup code + (needed to use sockets on Windows). + +2003-10-05 Gurer + * utility.c: iks_set_mem_funcs() added. + * iksperf.c: --memdbg option added. + * tools/perf.c: mallinfo stuff removed. + +2003-09-15 Gurer + * version bump to 1.2 + * stream.c: iks_start_tls() added with the help of gnutls library. + +2003-09-11 Gurer + * stream.c: iks_connect_via() added. it can send a different name to the + connected server. useful for connecting the server via a ssh tunnel. + suggestion and patch by Wolf Bergenheim. + +2003-09-09 Gurer + * stream.c: network buffer is allocated inside the stack at the first + connect call, and not free()d with reset. + +2003-09-08 Gurer + * sax.c: iks_parser_reset() no longer free()s allocated buffers. + it also calls the delete hook of the extending parser. + * dom.c: reset zeroes internal state. + * stream.c: resetting the parser is now equal to iks_disconnect () + +2003-09-07 Gurer + * sax.c: malloc()s changed with iks_malloc() + attr buffer is not freed after each tag. minor speedup. + +2003-09-05 Gurer + * ikslint.c: tag histogram is per file now instead of global. + +2003-09-04 Gurer + * iksemel.texi: resource links moved to here from HACKING. + * utility.c: iks_malloc(), iks_free() wrappers added. + all malloc() and free() calls are changed with them. + +2003-09-03 Gurer + * ikslint.c: can display tag usage histogram now. + +2003-09-03 Gurer + * ikslint.c: benchmark options removed. reading from stdin supported. + reports tag mismatchs. + * dom.c: iks_tree() added. converts a string into a tree. + * iksemel.texi: iks_tree, iks_set_size_hint, iks_copy documented. + +2003-09-03 Gurer + * iks.c: iks_string() now malloc()s memory if no stack is given. + it also runs *very* fast now. + +2003-09-02 Gurer + * iksperf.c: errors are redirected to stderr again. + tree serialization test added. + +2003-08-31 Gurer + * dom.c: default chunk size is increased. iks_set_size_hint() + function added. you can give an approximate size for the + file, and a better chunk size is selected for memory allocations. + greatly speeds up dom parser. + * iksperf.c: dom test uses iks_set_size_hint(). small fixes. + * iksperf.c: sha1 test. + +2003-08-31 Gurer + * tools/iksperf.c: new tool for speed/memory usage testing. + * iksemel.texi: a new chapter about iksemel development added. + +2003-08-23 Gurer + * doc/iksemel.texi: document license changed to GPL from GNU Free + Documentation License. + * ikstack.c: iks_stack_strecat() added. + * iks.c: iks_insert_cdata() modified to use iks_stack_strecat(). + this greatly reduces memory usage when data is parsed in very small + chunks or cdata sections contains lots of escaped characters. + +2003-07-29 Gurer + * iksemel.h: iks_connect_tcp(), iks_send_stream() and + iks_send_raw() now take const arguments. + * iks.c: iks_root() added. + * iks.c: iks_string() works on cdata nodes. + +2003-07-20 Gurer + * iks.c: iks_copy() bug is fixed. + +2003-07-15 Gurer + * dom.c: whitespace outside of markup won't added to the tree. + * stream.c: iks_connect_fd correctly sets SF_FOREIGN flag. + * src/Makefile.am: libtool revision bump, forgot that while doing 1.1 bump. + * iks.c: new iks_copy() and iks_copy_within() functions. + +2003-06-29 Gurer + * 1.0 release! + * version bump to 1.1 + +2003-06-26 Gurer + * ikstack.c: reallocation bug in iks_stack_strcat() fixed. + * ikstack.c: iks_stack_strcat() and iks_stack_strcatv() now returns + a non-zero value if there isn't enough memory. + * iks.c: new functions: iks_next_tag(), iks_prev_tag(), iks_first_tag(). + * iks.c: new function: iks_find_with_attrib(). + +2003-06-19 Gurer + * stream.c: new function iks_connect_fd (). + * stream.c: iks_send_header () is modified. + +2003-06-17 Gurer + * sax.c: tags without attributes which contain whitespace before '>' + parsed correctly. + +2003-06-16 Gurer + * stream.c: node isn't deleted automatically after hook anymore. + * iksroster.c: upload is working. + +2003-06-15 Gurer + * tools/iksroster.c: new goodie. backups your jabber roster. + * iks.c: iks_insert_attrib() can be used for modifying and deleting attributes. + * stream.c: return value of the stream hook is actually used. + +2003-06-13 Gurer + * iksemel.texi: more text. + * iksemel.h: iksFilterHook now returns 'int' instead of 'enum iksfilterret'. + +2003-06-12 Gurer + * iksemel.h: iksStreamHook's return type is changed 'enum ikserror' to int. + type is changed 'enum iksnodetype' to int. + * iksemel.texi: more text. + +2003-06-09 Gurer + * doc/iksemel.texi: restructured. + * iksemel.h: 'enum ikstagtype' type is changed to 'int' in iksTagHook. + 'enum ikserror' changed to 'int' in iksTagHook, iksCDataHook, iks_parse(). + 'enum iksfileerror' changed to 'int' in iks_load() and iks_save(). + 'enum iksneterror' changed to 'int' in stream.c functions. + common error values removed from iksfileerror and iksneterror. + * dom.c: iks_load() checks the return value of iks_parse() now. + +2003-06-02 Gurer + * filter.c: rules now has priority: + id > from = from_partial > ns > subtype > type + +2003-05-29 Gurer + * jabber.c: fixes and API cleanup: + iks_id_new() now sets id->partial field. + pak->to field removed. + 'to' argument added to iks_make_s10n() + 'type' and 'to' arguments removed from iks_make_pres() + const keyword added to prototypes. + * filter.c: TO rule removed, FROM_PARTIAL rule added. + +2003-05-26 Gurer + * sax.c: new function iks_nr_lines(), returns how much lines parsed. + * ikslint.c: document's line number is displayed in errors. some cleanup. + +2003-05-26 Gurer + * sax.c: a bug in C_TAG context is found and fixed. + +2003-05-24 Gurer + * sax.c: saga continues: + UTF8 validity checks added. You can't feed famous 0xC0 0x80 anymore. + <![CDATA[ ... ]]> sections are recognized. + * tst-sax.c: related tests added as usual. + +2003-05-23 Gurer + * tools/ikslint.c: new goodie, checks xml files for well-formedness. + * sax.c: Attribute values can contain ' or " if they are quoted within + the other quote character. + +2003-05-23 Gurer + * tst-sax.c: framework and tests for badly formed xml. + * sax.c: more cleanup, and well-formedness checks: + iks_parse() argument for xml data is now const char*. + 0xFF, 0xFE and 0x00 bytes are invalid utf8. + Close tags have no attributes. + Single tags must end with '/>'. + +2003-05-22 Gurer + * sax.c: some cleanup. + * sax.c: iks_get_udata() renamed to iks_user_data() + * sax.c: new function iks_nr_bytes(), returns how much bytes parsed. + * tst-sax.c, tst-dom.c: uses iks_nr_bytes() when reporting bugs. + +2003-05-22 Gurer + * iks.c: iks_string() was printing siblings of the toplevel tag. fixed. + thanks David Yitzchak Cohen for reporting. + * HACKING: URLs of related standart documents added. + * tst-filter.c: new framework. + * tst-dom.c: new framework and tests. + +2003-05-20 Gurer + * sax.c: '>' is valid and '--' is invalid inside the comments. + +2003-05-17 Gurer + * HACKING: explanation of iksemel's design goals added. + * sax.c: parser now ignores PIs, markup and comments. + * dom.c, stream.c: PI checks removed. + +2003-05-16 Gurer + * sax.c: several fixes. + * tst-sax.c: attribute checks and more tests. + +2003-05-16 Gurer + * tst-sax.c: improved framework and more tests. + * finetune.h: DEFAULT_DOM_CHUNK_SIZE, DEFAULT_STREAM_CHUNK_SIZE + * stream.c, dom.c: now uses chunk size values from finetune.h + +2003-05-07 Gurer + * complete redesign here. + +2002-01-16 Evan Prodromou <mr.bad@pigdog.org> + * test/testiks.c: removed buggy unit test for previous entry, + since I couldn't figure out why it segfaulted. Will investigate + and fix later. + +2002-01-07 Evan Prodromou <mr.bad@pigdog.org> + * core.c: fixed off-by-one bug with reallocation of attributes. + * test/testiks.c: added test for above bug. + +2002-12-20 Evan Prodromou <mr.bad@pigdog.org> + * COPYING: New version of the LGPL. + * INSTALL: New FSF install info. Both of these were updated by autoreconf. + +2002-12-12 Evan Prodromou <mr.bad@pigdog.org> + * include/iksemel.h: added id to Jabber packets. + * src/jabber.c: get ID in Jabber packets. + +2002-12-9 Evan Prodromou <mr.bad@pigdog.org> + * doc/ROADMAP: added this file. + +2002-11-28 Evan Prodromou <mr.bad@pigdog.org> + * io.c: broke out stream initialization to its own function, in + anticipation of supporting other kinds of streams. + * iksemel.h: added new stream function. + +2002-11-15 Evan Prodromou <mr.bad@pigdog.org> + * configure.in: added check to see if you want to build with dmalloc. + * parser.c: make Jabber parsers use pool memory. Also, make Jabber + parser delete packets after posting them to callback function. + * convert.c: made converter used pool memory. + * iks.c: fixed iks constructor/destructor so they mark pool owner + and only delete the pool if the iks is the owner. + * sha.c: changed sha objects to use pool memory. + +2002-11-07 Evan Prodromou <mr.bad@pigdog.org> + + * ikspool.c: added ALIGN_ON, ALIGNED(), *_OFFSET macros. + Try to make sure that all pointer math is done with + aligned (val % ALIGN_ON == 0) values. + Fixed bug in _realloc() where incoming size wasn't + checked for alignment, size. + * testpool.c: added tests for absurdly small values + of page size, alloc size, realloc size. + +2002-11-06 Evan Prodromou <mr.bad@pigdog.org> + + * iksemel.h: added IKS_NS_XROSTER, for jabber:x:roster NS. + +2002-11-06 Evan Prodromou <mr.bad@pigdog.org> + + * core.c: changed iks_parse to use realloc instead of + malloc, copy, free. + +2002-11-04 Evan Prodromou <mr.bad@pigdog.org> + + * ikspool.c: For iks_pool_realloc, made it call _alloc if the + passed-in pointer is NULL. This is the way realloc() works. + * testpool.c: added a test for the above condition. + +2002-11-04 Evan Prodromou <mr.bad@pigdog.org> + + * ikspool.c: Added some comments. + +2002-11-03 Evan Prodromou <mr.bad@pigdog.org> + + * iksid.c: changed contract for iks_id_new, iks_id_set: const char * + instead of char *. + * iksemel.h: changed prototypes for iks_id_new, iks_id_set. + +2002-11-03 Evan Prodromou <mr.bad@pigdog.org> + + * iksid.c: fixed bug in iks_id_set causing segfault if field was + previously NULL. + * testid.c: added tests to check for above bug. + * test/.cvsignore: Ignore testpool and testid. + +2002-11-03 Evan Prodromou <mr.bad@pigdog.org> + + * iksid.c: fixed bug in iks_id_new with partial (no resource) IDs. + * testid.c: added tests to check for above bug. + +2002-11-03 Evan Prodromou <mr.bad@pigdog.org> + + * iksid.c: moved iksid functions to this file from jabber.c. + added new function, iks_id_delete, to delete an iksid. + implemented iks_id_set. + made iks_id_new use iks_pool_set_owner if it creates a pool. + changed iks_id_new so it doesn't write on src. + * iksemel.h: added prototype for iks_id_delete. + * testid.c: created basic unit tests for iksid. + +2002-11-02 Evan Prodromou <mr.bad@pigdog.org> + + * Added the beginnings of unit tests for memory allocation. + More needed. + +2002-11-02 Evan Prodromou <mr.bad@pigdog.org> + + * ikspool.c: added new best-fit memory allocation functions. + * utility.c: removed old memory-allocation functions. + * iksemel.h: added new memory allocation functions: + iks_pool_owner + iks_pool_set_owner + iks_pool_realloc + iks_pool_calloc + iks_pool_free + redefined ikspool structure for hiding. + +2001-06-08 Gurer <palpa@jabber.org> + + * core.c: xml unescaping. + +2001-06-07 Gurer <palpa@jabber.org> + + * convert.c: small bugfix in iks_conv_new() + +2001-05-25 Gurer <palpa@jabber.org> + + * configure.in: now checks gcc before adding -Wall to CFLAGS + * io.c: iks_recv() and iks_load() fixes. + +2001-05-24 Gurer <palpa@jabber.org> + + * configure.in: more checks. + * include/common.h: deals with including right files depending on + configure checks, source files include this. + +2001-05-22 Gurer <palpa@jabber.org> + + * jabber.c: iks_id_printx() added + new packet type IKS_PAK_ERROR for <stream:error> + * sha.c: iks_sha_delete() added + * configure.in, parser.c: optional expat support + +2001-05-21 Gurer <palpa@jabber.org> + + * parser.c: restructured. now parsers are allocated via iks_sax_new + * core.c: actual parser is moved to here + * convert.c: charset conversion stuff moved to here + * utility.c: alignment bug of iks_pool_alloc fixed + +2001-04-10 Gurer <palpa@jabber.org> + + * utility.c: charset convertion functions now use a static buffer and + require string length argument + +2001-03-19 Gurer <palpa@jabber.org> + + * utility.c: iks_conv_from/to renamed to iks_conv_utf8/locale + iconv fixes + +2001-03-17 Gurer <palpa@jabber.org> + + * utility.c: iks_conv_from/to() fixes + * doc/: a bit more documentation + +2001-03-15 Gurer <palpa@jabber.org> + + * jabber.c: iks_packet() uses the namespace of first child in IQ packets + instead of looking for a <query> tag. + * utility.c: iks_conv_ functions for utf8<->locale convertions + +2001-03-13 Fabien Ninoles <fabien@debian.org> + + * autogen.sh: Well, autoconf are better run into the src directory, indeed. + * configure.in: Add iconv check, ripped from gabber. + * src/Makefile.am: Oops! include dir is in srcdir! + +2001-03-12 Gurer <palpa@jabber.org> + + * doc/ : new files, basic structure for documentation + +2001-03-09 Fabien Ninoles <fabien@debian.org> + + * utility.c: Correction to the unescape routine... which do some + mess around with indexes. + * parser.c: Unescape CDATA et attrib value before inserting them. + * autogen.sh: Enable running it from a build directory. + +2000-03-07 Gurer <palpa@jabber.org> + + * iks.c: iks_string() now works correctly with a NULL ikspool argument + * io.c: return code check of fputs in iks_save() is corrected + * doc: new directory + * doc/main.texi: started documenting the library API in Texinfo format + +2000-03-05 Gurer <palpa@jabber.org> + + * iksemel.h: IKS_NS_ macros synced with latest jabber server + * parser.c: attribute buffer grow bug fixed + * iks.c: iks_hide() implemented + +2000-02-01 Gurer <palpa@jabber.org> + + * parser.c: attribute pointers bug fixed + * testiks.c: new test for parser + +2000-01-30 Gurer <palpa@jabber.org> + + * configure.in, makefile.am, test/makefile.am: make check target works now + * testiks.c: new tests for string and xml node functions + +2000-01-28 Gurer <palpa@jabber.org> + + * test: new directory + * test/testiks.c: a simple program for self testing + * makefile.am, src/makefile.am: fixes for make dist + +2000-01-25 Gurer <palpa@jabber.org> + + * sha.c: sha1 implementation + * jabber.c: iks_make_auth() now supports digest auth + +2000-01-16 Gurer <palpa@jabber.org> + + * io.c: iks_load() implemented + +2000-12-20 Gurer <palpa@jabber.org> + + * initial commit. |