* First release.
2024-08-12 Zaryob
* uchar.h independent utf-8 decoding.
2020-06-12 Zaryob
* All building structure chaned with meson build tools.
2019-10-08 Zaryob
* The Developments that I used for my own project and made to the piksemel
version which was distributed in the past by TUBITAK/Pardus, now I am also
making the main branch.
- Python3 support have been added:
- Because of the complexity of iksemel and huge changes between python3
and python2 c-api is caused to create an incompatible port to versions
older than 3.2
2016-12-02 Zaryob
* Initial commit
2011-10-18 Gurer
* python/: Python bindings and test scripts
2011-10-10 Gurer
* iks.c: iks_string() returns nul terminated strings for cdata nodes
2011-10-07 Gurer
* sax.c: Fix handling of ending ]] sequences in CDATA sections
bug report and patch by oscarvdbosch
* tst-sax.c: Test coverage for fixed bug
2011-10-06 Gurer
* configure.ac: without-openssl and without-gnutls options added
2011-10-06 Gurer
* configure.ac: Check openssl, it is preferred over gnutls
* tls-openssl.c: TLS backend for the openssl library
2011-10-05 Gurer
* md5.c: Fix padding for multiples of 64 bytes
* tst-md5.c: Test coverage for fixed bug
2009-08-30 Gurer
* configure.ac: use pkgconfig for checking gnutls
* INSTALL: updated by the autoreconf call
* README: gnutls dependency is mentioned
2009-08-07 Gurer
* tls-gnutls.c: support timeout value in tls_recv
2009-08-06 Gurer
* iksemel.h: new ikstls structure and definitions
* tls-gnutls.c: new file, GNUTLS implemantation moved here
* stream.c: TLS code is abstracted with new TLS interface
2009-07-25 Gurer
* version bump to 1.5 after the release
2009-07-22 Gurer
* io-posix.c: send/recv now handles EAGAIN/EINTR.
2009-07-21 Gurer
* tst-md5.c: MD5 test improved with examples from RFC1321
* iksroster.c: Plain text auth option patch from issue tracker.
2009-07-20 Gurer
* tst-sax.c: Fix a va_arg bug with 64bit platforms.
2009-07-18 Gurer
* sax.c: Fix attribute array out-of-bounds condition.
* iksperf.c: Fix a warning, and use size_t instead of int.
2009-07-04 Gurer
* md5.c: use iks_malloc/free like everywhere else.
(reported by Vinay Deshpande)
* stream.c: don't leak locally processed challenge node.
2009-04-02 Gurer
* sax.c: utf8 validation bug is fixed. Some valid utf8
sequences were not allowed before. Security check is moved
after sequence end point, so position of IKS_BADXML errors
are changed.
* tst-sax.c: test case for validation bug added.
2009-03-31 Gurer
* Patch by Timothy Lee:
sax.c: Whitespace between "attr, =, value" is valid now.
tst-sax.c: I also added a simple test for that.
2007-08-10 Gurer
* version bump to 1.4 after the release
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 <nelspgroupe.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