             Laurent Constantin's network library (netwib)


            ----------------------------------------------
            |              NETWIB 's CHANGELOG           |
            ----------------------------------------------


---------------------------------------------------------------------
Version 5.3.0 - 19-Oct-2003

 ++ bugs fixed ++
  - Under Windows, functions netwib_filename_rename and
    netwib_dirname_rename did not work if destination file previously
    existed. This bug is the same as the one corrected in 5.2.0. This
    is not really clear to me, nor in msdn documentation, but rename
    can return errno EEXIST or EACCES depending on context. So now I
    just hope all error cases are checked :)
  - In functions displaying packets, if an header is not decoded,
    it is printed as data. However, a transition was not printed in
    this case. So, a space or a newline was not printed between the
    header and the data.
  - UDP header decoding had an useless/invalid test causing valid
    headers to be rejected.

 ++ major evolutions ++
  - A netwib_buf can be configured using a bitfield. A new kind of
    buffer management is provided : if an external array is too
    short, an allocated memory is used instead.
  - Several performance improvements in sys/io module.

 ++ minor evolutions ++
  - Creation of functions netwib_buf_append_pkt_data and
    netwib_pkt_data_display.
  - In netwib_localtime, a new parameter, named zoneoffset,
    corresponds to offset between localtime and GMT.

 ++ internal evolutions (not seen by end users) ++
  - Use of the new feature provided by dat/buf module.
  - Use of the new functionalities provided by sys/io module.


---------------------------------------------------------------------
Version 5.2.0 - 05-Oct-2003

 ++ bugs fixed ++
  - Under Windows, functions netwib_filename_rename and
    netwib_dirname_rename did not work if destination file previously
    existed.
  - In function netwib_threadlist_wait, when waiting for an infinite
    time (NETWIB_TIME_INFINITE), parameter pevent was not set.
  - In function netwib_io_init_sock, there was a memory leak if
    the socket could not be opened.

 ++ major evolutions ++
    None in this version

 ++ minor evolutions ++
  - Function netwib_buf_append_rand have two mode parameters.
    Creation of defines netwib_uint32_init_rand_all and
    netwib_buf_append_rand_all.
  - Function netwib_buf_init_ext_text can now be initialized
    with a NULL pointer. It will store an empty buffer.

 ++ internal evolutions (not seen by end users) ++
    None in this version


---------------------------------------------------------------------
Version 5.1.0 - 23-Sep-2003

 ++ bugs fixed ++
  - Functions netwib_c_memmem, netwib_c_strcasecmp,
    netwib_c_strcasestr and netwib_c_strncasecmp were not exported
    in netwib51.dll. So, they were not available under Windows.
  - In netwib-doc_html, links were missing in section files, so
    it was not possible to naviguate in the different modules.
  - Function netwib_eth_init_ip always returned NETWIB_ERR_OK (even
    if address was not resolved).
  - When not called after a configuration function, functions
    netwib_eth_init_ip and netwib_ip_init_eth could not resolve
    address of a local device.
  - Under Linux, netwib_ips_add_buf could not add the local
    IP address (because getaddrinfo also returned an AF_UNIX).
  - In netwib_buf_append_icmp4code, "unknown" was displayed even
    if code was 0 for NETWIB_ICMP4TYPE_ECHOREP/SRCQUENCH/ECHOREQ/
    TIMESTAMPREQ/TIMESTAMPREP/INFOREQ/INFOREP.
  - Functions netwib_encodetype_init_kbd and
    netwib_record_encodetype_init_kbd returned pressed key number
    instead of associated encodetype value.
  - Function netwib_buf_encode did not store last line
    for NETWIB_ENCODETYPE_DUMP/MIXEDH_WRAP.
  - Function netwib_io_init_file did not truncate the file
    when opening it in write mode.
  - Function netwib_buf_append_pkt_ip displayed udp/tcp/icmp
    fragments as normal packets.

 ++ major evolutions ++
  - Name changed to netwib.
  - Parts of module dat/buf.c were rewritten to improve its
    performance and ease of use.
  - Meaning of netwib_time in netwib_io_wait has changed. Before,
    it corresponded to a duration (ie 3 seconds). Now, it is
    the absolute ending time (ie 2003/08/15 at 13:23:10). Like
    this, it is more efficient and easier to use (even if it
    does not at first sight). All other functions having a wait
    parameter have also changed.

 ++ minor evolutions ++
  - Define NETWIB_CHAR_INIT_KBD_NODEF was missing, so developer had
    to use 0 instead.
  - Function netwib_fmt_display now displays a netwib_bool as
    "true" "false" "yes" "no" etc. instead of only "0"/"1".
  - Function netwib_fmt_display now displays a netwib_cmp as
    "<" "=" ">" "lt" "eq" etc. instead of only "-1"/"0"/"+1".
  - In function netwib_fmt_decode, "%$" can be used to indicate
    string end.
  - Function netwib_io_init_sniff_ip now has one more parameter
    named ipreas.
  - Function netwib_io_init_spoof_ip now has one more parameter
    named inittype.
  - Creation of functions netwib_time_init_localtime and
    netwib_time_decode_localtime.
  - Creation of functions netwib_device_hwtype_init_kbd and
    netwib_device_dlttype_init_kbd.
  - Creation of function netwib_pkt_convert.
  - Now, a record file not ending with an empty line is accepted.
    Before, last packet was not read if user edited file by hand
    and forgot to put the newline.
  - Creation of function netwib_c_memcasemem.
  - Function netwib_buf_append_ips has one more parameter to
    specify how to display a netwib_ips.
  - Creation of type NETWIB_DECODETYPE_DATA.
  - Creation of function netwib_wait_init_thread_cond.
  - Creation of function netwib_buf_append_rand.
  - Creation of module dat/bufpool, to deal with a pool of buffers.
  - Creation of function netwib_io_init_data.

 ++ internal evolutions (not seen by end users) ++
  - Due to several incompatibility problems between systems,
    sys/priv/kbd.c was partially rewritten. Changes in
    character echo or line reading are now immediate.
  - Simplification of net/priv/sa.c dealing with sockaddr.


---------------------------------------------------------------------
Version 5.0.0 - 6-Jul-2003
  This version is a full rewrite. Everything changed.
