------------------------------------------------------------------
2024-04-21 16:10:40 +0200 Martin Preuss
Added GWENHYWFAR_CB to function implementations also (seems to be required from MinGW64, see #306)

------------------------------------------------------------------
2024-04-21 16:06:29 +0200 Martin Preuss
Use GWEN_Text_strndup() instead of strndup (the latter is not available with MinGW64).

------------------------------------------------------------------
2024-04-21 16:02:18 +0200 Martin Preuss
Added license info for portable_endian.h (public domain).

------------------------------------------------------------------
2024-04-21 15:57:35 +0200 Martin Preuss
Fixed a bug in GWEN_Date (day numbering starts at 1, not zero).

------------------------------------------------------------------
2024-04-21 15:56:42 +0200 Martin Preuss
Use new "portable_endian.h" instead of endian.h

------------------------------------------------------------------
2024-04-21 15:56:16 +0200 Martin Preuss
Added "portable_endian.h" from https://gist.github.com/panzi/6856583

------------------------------------------------------------------
2024-04-12 12:36:09 +0200 Martin Preuss
gwenbuild: improved error message handling.
Frame error messages from gcc or other called tools with
"entering directory ..." and "leaving directory ..." to improve error
handling when calling gwbuild from an IDE (or in my case FTE).

Those lines help the IDE to locate files (e.g. when there are errors in
included files).

------------------------------------------------------------------
2024-03-19 22:47:52 +0100 Martin Preuss
incremented version.

------------------------------------------------------------------
2024-03-19 22:39:30 +0100 Martin Preuss
make list types typesafe.
"typedef GWEN_LIST1 t##_LIST" will not allow to detect when a wrong list
type is used as long as any list type is used. That will most likely lead
to undefined behaviour.

Maybe we will need to increment the major build version because of this.

------------------------------------------------------------------
2024-03-19 22:13:37 +0100 Martin Preuss
gwen_buffer: corrected use of va_start and va_end.

------------------------------------------------------------------
2024-03-19 00:03:17 +0100 Martin Preuss
Released 5.11.0beta.

------------------------------------------------------------------
2024-02-24 18:40:20 +0100 Martin Preuss
Decreased verbosity.

------------------------------------------------------------------
2024-02-24 18:39:43 +0100 Martin Preuss
Fixed problem with arrays and objects when searching for keys.

------------------------------------------------------------------
2024-02-23 21:00:51 +0100 Martin Preuss
Fixed a memory leak.

------------------------------------------------------------------
2023-11-08 23:28:46 +0100 Martin Preuss
Cleanup GWEN_Gui_Internal_GetPassword()
Make this function easier to understand.

------------------------------------------------------------------
2023-11-08 22:29:19 +0100 Martin Preuss
Fixed a memory leak.

------------------------------------------------------------------
2023-10-07 17:16:49 +0200 Martin Preuss
Hopefully fixed delay between two messages in the output queue.

------------------------------------------------------------------
2023-10-06 14:47:17 +0200 Martin Preuss
added missing files to Makefiles.

------------------------------------------------------------------
2023-10-01 15:25:35 +0200 Martin Preuss
msgio: add INHERIT functionality to GWEN_MSG.

------------------------------------------------------------------
2023-10-01 14:08:06 +0200 Martin Preuss
gwentest: added missing NEWLINE.

------------------------------------------------------------------
2023-10-01 14:07:51 +0200 Martin Preuss
tag16: added functions with test
- GWEN_Tag16_StartTagInBuffer()
- GWEN_Tag16_EndTagInBuffer()

------------------------------------------------------------------
2023-09-20 17:23:21 +0200 Martin Preuss
endpoint_multilayer: added "stage" field.
this field can be used by complex derived classes to store the current stage.

------------------------------------------------------------------
2023-09-17 19:13:47 +0200 Martin Preuss
msgio: added multilayer endpoint
Use this endpoint to allow for autoconnect while using a handshake protocol

------------------------------------------------------------------
2023-09-17 19:11:20 +0200 Martin Preuss
msg: allow for dynamic memory allocation.

------------------------------------------------------------------
2023-09-17 19:10:50 +0200 Martin Preuss
Fixed a bug.

------------------------------------------------------------------
2023-09-13 10:31:12 +0200 Martin Preuss
tag16: added function GWEN_Tag16_WriteTagToBuffer().
will replace GWEN_Tag16_DirectlyToBuffer().

------------------------------------------------------------------
2023-09-12 21:31:40 +0200 Martin Preuss
Revert "Add INHERIT logic to GWEN_MSG."
This reverts commit 240977be4e76ed784450eddad08aa0a1c6764e52.

------------------------------------------------------------------
2023-09-12 21:31:26 +0200 Martin Preuss
Add INHERIT logic to GWEN_MSG.

------------------------------------------------------------------
2023-09-10 16:58:20 +0200 Martin Preuss
Added apidoc, allow to use header from c++.

------------------------------------------------------------------
2023-09-10 16:51:37 +0200 Martin Preuss
tag16: code cleanup, added functions, added unit tests.

------------------------------------------------------------------
2023-09-10 14:23:31 +0200 Martin Preuss
Fixed function params, added GWEN_Msg_GetUint64At().

------------------------------------------------------------------
2023-09-09 10:28:15 +0200 Micha Lenk
Fix cross compilation
libgwenhywfar failed to cross build from source, because it fails running
mklistdoc with an "Exec format error". This happens when attempting to
run a tool that is built for the host architecture. mklistdoc really
needs to be built for the host architecture, because it is installed
into gwenhywfar-tools. On the flip side that means that we can just run
the mklistdoc from a system gwenhywfar-tools. Note that this change only
affects cross compilation. In native builds, the built mklistdoc will
continue to be used.

These changes were initially reported by Helmut Grohne <helmut@subdivi.de> via
the Debian bug tracker (see https://bugs.debian.org/1051173).

------------------------------------------------------------------
2023-08-11 17:30:49 +0200 Martin Preuss
fixed a typo.

------------------------------------------------------------------
2023-08-11 17:29:49 +0200 Martin Preuss
Modified toObject/fromObject functions for "double" type.
Those templates are only used in projects using AqDatabase. Those
projects will need the latest git version of AqDatabase.

------------------------------------------------------------------
2023-08-10 12:26:36 +0200 Martin Preuss
gwbuild: added some "static"s.

------------------------------------------------------------------
2023-08-10 12:26:18 +0200 Martin Preuss
gwbuild: no longer try to install symlinks for sharedlibs.
Those symlinks are needed when running freshly built binaries from within
the build folder without installing them. But after installation the command
"ldconfig" is responsible for creating appropriate symlinks.

------------------------------------------------------------------
2023-08-10 12:05:44 +0200 Martin Preuss
gwbuild: added comment for <alias> element inside <option>.

------------------------------------------------------------------
2023-08-10 12:04:57 +0200 Martin Preuss
gwbuild: simplify <dep> element
- <dep> can now use "prefix" as alternative to "id" to specify
the prefix for generated variables.

- if neither is given the content of "name" is used as
fallback

------------------------------------------------------------------
2023-08-10 01:55:24 +0200 Martin Preuss
stringlist: added function GWEN_StringList_StringAsIntAt().

------------------------------------------------------------------
2023-08-09 16:07:12 +0200 Martin Preuss
mutex: fixed a memory leak.

------------------------------------------------------------------
2023-08-09 12:55:55 +0200 Martin Preuss
Added a personal Makefile target to build with testcode enabled.

------------------------------------------------------------------
2023-08-09 12:55:29 +0200 Martin Preuss
implemented tests for GWEN_TIMESTAMP class. Improved usage output of gwentest.
Added a note about how to use GWEN's TestFramework.

------------------------------------------------------------------
2023-08-09 12:54:20 +0200 Martin Preuss
Added function GWEN_Timestamp_toTimeT().

------------------------------------------------------------------
2023-07-27 23:43:18 +0200 Martin Preuss
inherit: added macro GWEN_INHERIT_REF

------------------------------------------------------------------
2023-07-19 12:30:06 +0200 Martin Preuss
msgio: log more info on error.

------------------------------------------------------------------
2023-07-19 12:29:39 +0200 Martin Preuss
os: add support for thread conditional variables
- implemented for POSIX and Windows systems (latter not tested, yet)
- add system-dependent header files to allow for use of internal mutex
  representation for use with pthread_cond_wait()/SleepConditionVariableCS()

------------------------------------------------------------------
2023-07-18 10:33:20 +0200 Martin Preuss
msgio: added dbParsedInfo to GWEN_MSG
The endpoint code for a protocol needs to parse the data anyway (e.g.
the MQTT or the HTTP endpoint), so this parsed info can now be used by
apps as well removing the need to parse a message twice.

------------------------------------------------------------------
2023-07-18 10:31:37 +0200 Martin Preuss
msgio: increased verbosity.

------------------------------------------------------------------
2023-07-18 10:31:21 +0200 Martin Preuss
msgio: fixed a memory leak.

------------------------------------------------------------------
2023-07-13 22:48:09 +0200 Martin Preuss
increased BUILD part of version.

------------------------------------------------------------------
2023-07-13 22:47:39 +0200 Martin Preuss
msgio: added started apidoc, removed RUN virtual function.

------------------------------------------------------------------
2023-07-12 19:22:41 +0200 Martin Preuss
Merge branch 'mp-202302-ipc3' containing msgio API.

------------------------------------------------------------------
2023-07-12 18:48:21 +0200 Martin Preuss
msgio: renamed files, types and functions to no longer include "2".
Version 1 of the MSGIO api was soon replaced by version 2 which works much
better. However, this is still in my personal branch so we can declare that
version 1.

------------------------------------------------------------------
2023-07-12 16:08:40 +0200 Martin Preuss
Revert "msgio: added timeOfLastIo."
This reverts commit 1f62477db820c44718c7be9b8f6f6cc1f18a42f2.

------------------------------------------------------------------
2023-07-12 16:08:20 +0200 Martin Preuss
msgio: added timeOfLastIo.

------------------------------------------------------------------
2023-07-12 16:07:48 +0200 Martin Preuss
msgio: removed first version of msgio api.

------------------------------------------------------------------
2023-07-12 13:17:49 +0200 Martin Preuss
msgio: decreased verbosity.

------------------------------------------------------------------
2023-07-12 13:11:39 +0200 Martin Preuss
msgio: fixed a bug.
Need to rewind pos pointer in added messages otherwise the handling code
things the message was completely handled already.

------------------------------------------------------------------
2023-07-12 01:43:53 +0200 Martin Preuss
msgio: Increased verbosity.

------------------------------------------------------------------
2023-07-10 21:36:59 +0200 Martin Preuss
msgio: added GWEN_Msg_GetMaxSize().

------------------------------------------------------------------
2023-07-10 21:36:42 +0200 Martin Preuss
msgio: introduced callbacks around writing packets
The AqHome project's wire protocol uses a BUSY line to mark/detect whether
the bus is currently in use.

Before sending a packet over the wire the BUSY line needs to be checked
and if free pulled down to mark the bus as BUSY. After sending the packet
the BUSY line is raised. This is now possible using the new callbacks.

------------------------------------------------------------------
2023-07-07 21:13:49 +0200 Martin Preuss
msgio: sending and receiving messages works.

------------------------------------------------------------------
2023-07-07 20:13:49 +0200 Martin Preuss
msgio: set default name if none given.

------------------------------------------------------------------
2023-07-07 20:09:28 +0200 Martin Preuss
msgio: more work on modules, added test. connect/accept now basically works.

------------------------------------------------------------------
2023-07-05 23:53:40 +0200 Martin Preuss
msgio: More work on rewriting of new msgio module.
- added some endpoints:
  - ipc
  - tcp client
  - tcp service
  - msg layer
- added function GWEN_Msg_AddBytes()

------------------------------------------------------------------
2023-07-03 20:44:45 +0200 Martin Preuss
endpoint2_tcpc: added GWEN_TcpcEndpoint2_StartConnect().
Also some beautifications and increased verbosity.

------------------------------------------------------------------
2023-07-03 20:18:19 +0200 Martin Preuss
endpointmgr: increased verbosity.

------------------------------------------------------------------
2023-07-03 20:17:57 +0200 Martin Preuss
os/posix/inetsocket: added missing important ERRNO (EINPROGRESS).
This is needed to actually check for result of pending connect().

------------------------------------------------------------------
2023-07-03 20:15:54 +0200 Martin Preuss
msgio: Started working on 2nd iteration of endpoint code.
Simplified code.

------------------------------------------------------------------
2023-05-31 21:43:57 +0200 Martin Preuss
Fixed a typo which caused APOBANK to reject a HTTP request (thanks to Anselm!!!)

------------------------------------------------------------------
2023-05-31 21:43:57 +0200 Martin Preuss
Fixed a typo which caused APOBANK to reject a HTTP request (thanks to Anselm!!!)

------------------------------------------------------------------
2023-05-24 16:16:10 +0200 Martin Preuss
parser: more work on json module
- handles CRLF more gracefully
- fixed function names
- added navigation functions:
  - GWEN_JsonElement_FindFirstByTypeAndData()
  - GWEN_JsonElement_FindNextByTypeAndData()
  - GWEN_JsonElement_FindByIdxTypeAndData()
  - GWEN_JsonElement_GetElementByPath()

------------------------------------------------------------------
2023-05-24 15:17:08 +0200 Martin Preuss
parser: added JSON parser.

------------------------------------------------------------------
2023-05-02 00:06:10 +0200 Martin Preuss
msgio: fixed a bug (hanging process).

------------------------------------------------------------------
2023-05-02 00:05:42 +0200 Martin Preuss
Added dependency.

------------------------------------------------------------------
2023-04-26 12:48:48 +0200 Martin Preuss
added missing files to Makefiles.

------------------------------------------------------------------
2023-04-26 02:03:55 +0200 Martin Preuss
Fixed a bug (bug was also a memory leak).

------------------------------------------------------------------
2023-04-26 02:03:35 +0200 Martin Preuss
Fixed memory leak.

------------------------------------------------------------------
2023-04-25 00:28:42 +0200 Martin Preuss
msgio: decreased verbosity.

------------------------------------------------------------------
2023-04-25 00:25:11 +0200 Martin Preuss
added core.*

------------------------------------------------------------------
2023-04-25 00:24:35 +0200 Martin Preuss
msgio: fixed connectable layer to handle logically connecting.
One layer in need of logical connection over a physical layer is the
MQTT endpoint of AqHome.

------------------------------------------------------------------
2023-04-16 23:19:59 +0200 Martin Preuss
msgio: fixed a bug.
don't copy payload to the beginning of the buffer!

------------------------------------------------------------------
2023-04-16 23:19:33 +0200 Martin Preuss
msgio: added function GWEN_Msg_fromBytes().

------------------------------------------------------------------
2023-04-16 23:19:10 +0200 Martin Preuss
msgio: added debug messages.

------------------------------------------------------------------
2023-04-16 23:18:50 +0200 Martin Preuss
msgio: fixed a bug
We must not copy the endpoint flags. Leave that to the createChild
function.

------------------------------------------------------------------
2023-04-16 23:17:47 +0200 Martin Preuss
msgio: added debug messages.

------------------------------------------------------------------
2023-04-16 23:17:22 +0200 Martin Preuss
msgio: fixed a bug, overall decreased verbosity.
Need to rewind current buffer pos when adding a message because otherwise
the send routine will find no bytes remaining in the buffer (because after
creating a message usually the buffer pointer points to the end of the
buffer).

------------------------------------------------------------------
2023-04-16 15:12:45 +0200 Micha Lenk
Remove duplicate hostname check
The hostname in the certificate is checked already a few lines above by calling
gnutls_x509_crt_check_hostname(). No need to check it here again.

This also fixes the bad hostname validation in cases where the used server name
is only available in the SubjectAltName extension of the certificate, and not
in its Distinguished Name (DN).

Fixes #295.

------------------------------------------------------------------
2023-01-17 12:23:08 +0100 Thomas Baumgart
Detect and report certificate signature failures

------------------------------------------------------------------
2023-04-16 16:44:38 +0200 Martin Preuss
msgio: added convenience functions.

------------------------------------------------------------------
2023-04-16 16:44:02 +0200 Martin Preuss
msgio: delete endpoints outside loop.

------------------------------------------------------------------
2023-04-16 16:43:37 +0200 Martin Preuss
msgio: added GWEN_IpcEndpoint_Extend()

------------------------------------------------------------------
2023-04-16 15:12:45 +0200 Micha Lenk
Remove duplicate hostname check
The hostname in the certificate is checked already a few lines above by calling
gnutls_x509_crt_check_hostname(). No need to check it here again.

This also fixes the bad hostname validation in cases where the used server name
is only available in the SubjectAltName extension of the certificate, and not
in its Distinguished Name (DN).

Fixes #295.

------------------------------------------------------------------
2023-04-09 16:05:52 +0200 Martin Preuss
msgio: allow for storing of endpoint.

------------------------------------------------------------------
2023-04-09 11:22:27 +0200 Martin Preuss
msgio: added flag GWEN_MSG_ENDPOINT_FLAGS_DELONDISCONNECT
Remove endpoint when disconnected if this flag is given.

------------------------------------------------------------------
2023-04-08 21:50:56 +0200 Martin Preuss
msgio: make tcpc use GWEN_ConnectableMsgEndpoint as base class.

------------------------------------------------------------------
2023-04-08 21:50:23 +0200 Martin Preuss
msgio: add default implementation of disconnectFn.

------------------------------------------------------------------
2023-04-08 21:25:43 +0200 Martin Preuss
msgio: add basic connectable endpoint.
This will become a base class for active tcp/udp/unix endpoints.

------------------------------------------------------------------
2023-04-08 15:53:49 +0200 Martin Preuss
gwbuild: make avrhexfile also write a map file.

------------------------------------------------------------------
2023-04-03 23:14:42 +0200 Martin Preuss
httpsession: Move private defs into c-file.
Now the header file httpsession_p.h only contains the struct def.
