Skip to content
C C++ M4 Objective-C++ Objective-C Makefile Other
Branch: master
Clone or download
cstim pkg-config: Fix again erroneous includedir
After 5c0c807 this was still one level of subdir too much. Now
it is hopefully ok.
Latest commit 6011862 Sep 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
admin Result of "make format". Feb 3, 2019
checks Result of "make format". Feb 3, 2019
data DATA: Updated ca-bundle.crt. Aug 26, 2019
doc Result of "make format". Feb 3, 2019
gui BUILD: Added missing LDFLAGS as suggested by Lukasz Wojnilowicz Jun 5, 2019
m4 Don't assume makefile is in source directory Jun 8, 2019
plugins ConfigMgr: Added function GWEN_ConfigMgr_HasGroup() and implemented it. Feb 15, 2019
po Update of German translation - now 100% completed. Mar 9, 2013
src DB: Decreased verbosity. Sep 13, 2019
test Fixed cppcheck-warnings. Mar 20, 2019
tools Result of "make format". Aug 26, 2019
.cvsignore MARK: Released 3.5.2. Nov 8, 2008
.gitignore Added gwen5 to .gitignore. Dec 8, 2018
.travis.yml Fix travis build by adding missing dev packages Jul 6, 2019
AUTHORS - reverted change of filename for gwenhywfar-config script Nov 17, 2005
COPYING - IPC: added some callbacks for applications to keep track of Nov 24, 2003
Doxyfile.in Improved Doxyfile. Jan 2, 2019
INSTALL Initial revision Sep 7, 2003
Makefile.am BUILD: Added Makefile target "format". Feb 3, 2019
Makefile.cvs Added qt5 to my personal make target. Dec 8, 2018
NEWS Prepared release 3.7.0. Jan 22, 2009
README Cleanup TLS cipher suite handling Jan 17, 2016
README.DARWIN Removed obsolete notes for Darwin. Aug 10, 2010
README.SOLARIS - parser/msgengine.c: May 29, 2004
README.W32 Removed invalid section from README.W32. Apr 30, 2010
RELEASES prepared release Oct 22, 2005
TODO Just some thoughts for TM2... Apr 3, 2018
config.rpath Automake >= 1.10 now requires the config.rpath script of gettext to b… May 9, 2009
configure.ac Prepared release 4.99.15beta. Sep 13, 2019
gource.sh Added gource script. Sep 15, 2010
gwenhywfar-config-version.cmake.in Updated cmake config files Jan 15, 2016
gwenhywfar-config.cmake.in Started changing major version to gwenhywfar5. Dec 8, 2018
gwenhywfar-config.in.in merged branch aq3 back to trunk Nov 22, 2007
gwenhywfar.iss.in Change all registry key lookups to use HKEY_LOCAL_MACHINE as opposed Jul 8, 2007
gwenhywfar.m4 Fix URLs in configure macro error messages. Jan 9, 2011
gwenhywfar.pc.in pkg-config: Fix again erroneous includedir Sep 15, 2019
gwenhywfar.spec.in merged branch aq3 back to trunk Nov 22, 2007
gwenspell.sh added author tag to gwenspell.sh Nov 22, 2003

README

This is Gwenhywfar, a multi-platform helper library for networking and
security applications and libraries. 
It is used by 
 - Libchipcard (http://www.libchipcard.de), 
 - OpenHBCI2 (http://www.openhbci.de), 
 - Simthetic, the simulation tool (http://simthetic.sourceforge.net)
 - AqBanking/AqHBCI (http://www.aqbanking.de/).
 - and others by using one of the projects above



Features
========

This library is written in C, and it follows the object-oriented
programming paradigm for most of its parts.  The header files can
directly be used from C++, too.

Gwenhywfar includes the following features:

- Basic Data types for binary buffers, ring buffers, linked lists, 
  error objects, string lists (src/base/), buffered IO operations (src/io/)

- Macros for typesafe list management

- OS abstraction functions for directory and Internet address handling
  and library loading (src/os/)

- Networking functions which allow to manage many connections to be used
  economically even in single threaded applications

- High-level functions for parsing files with a simplified "XML-like"
  format and accessing them like a hierarchical database (src/parser/)
  It is able to process valid XML files, too.

- High-level cryptographic functions on top of OpenSSL functionality
  (src/crypt/)

- Support for interprocess communication (HTTP on top of SSL or plain
  TCP/UDP sockets, with or without certificates for clients and/or servers)

- A tool to generate simple data containers from XML files. It automatically
  generates getters, setters, constructor, destructor, deep-copy function,
  usage counter handling, modification tracking, functions for reading from 
  and writing to GWEN_DBs (used by AqBanking to create the transaction class)



Requirements
============

- GnuTLS >= 1.4 (>=2.0.1 recommended)
- libgcrypt (>=1.2.0)



Platforms
=========

Gwenhywfar is being developed on Linux. But the following platforms are also
supported:

- Windows (98, NT and newer; for using this library from Microsoft
  Visual Studio C please see the explanations in test/README.MSVC)

- FreeBSD   
- Linux     (i386, amd64, alpha)
- Mac OS-X  
- NetBSD    (untested, but most likely to work)
- OpenBSD   (untested, but most likely to work)
- SunOS 5.9 (compiles, untested, but most likely to work)

On Windows, an .exe setup program is provided, created with the Inno
Setup Compiler http://www.jrsoftware.org/isdl.php .


Architectures
=============

According to Debian Gwen runs on the following platforms:
- alpha
- amd64
- arm
- hppa
- i386
- ia64
- m68k
- mips
- mipsel
- powerpc
- s390
- sparc



Environment Variables
=====================

"GWEN_MEMORY_DEBUG"
-------------------

This integer variable tells gwen whether (and how) to print the memory
debugger statistic. This only works for sources compiled with the defined
macro GWEN_MEMORY_DEBUG. 
- "0" shows ALL listed objects
- "1" only shows those objects whose count is not 0


"GWEN_SSL_DEBUG"
----------------

If this environment variable exists the SSL code will append data received
via an SSL connection to "/tmp/read.bin" and append data sent via an SSL
connection to /tmp/written.bin".


"GWEN_TLS_CIPHER_PRIORITIES"
--------------------------

If this environment variable is set, the SSL code will initialize the GnuTLS
library with the provided cipher priority list.  If this environment variable
is unset, the default cipher priority list of the GnuTLS library is being used.

For the exact format of the cipher priority list and its default, please
consult the GnuTLS documentation, section "Priority strings":
http://gnutls.org/manual/html_node/Priority-Strings.html


Registry Keys
=============

On Windows platforms Gwen uses some keys below HKEY_CURRENT_USER
to store information about file/folder locations. The keys are set
in the Inno Setup file gwenhywfar.iss, so please check the
[Registry] section in gwenyhwfar.iss.in for the authoritative
source of available registry keys.

"Software\\Gwenhywfar\\Paths\\dbio-plugins"
-------------------------------------------
Complete path to the folder containing GWENs DBIO plugins.
(and some more keys. See gwenhywfar.iss.in)


Documentation
=============

The documentation can be found in the header files. Many header 
files already include extensive comments in doxygen-format (however some 
don't).
For a more or less complete API documentation use the command
"make srcdoc"
You will need the tool doxygen for this command to run.



Contact
=======

For questions about this library please ask on the mailing list of the
OpenHBCI project aqbanking-devel (subscriber-only, please subscribe
on http://lists.sourceforge.net/lists/listinfo/aqbanking-devel),
since this is where the author(s) hang out. 



Authors
=======

This library is being written by and is being maintained by Martin
Preuss <martin@libchipcard.de>. 

I also wish to thank Christian Stimming <stimming@tuhh.de> for his
contributions and for adding MSVC support to Gwen (thus making Gwen completely
available on Windows).



Name
====

The name of this library was chosen to honour a very special person ;-)
(that should suffice as an explanation)



Hamburg, Germany 2007/10/31


You can’t perform that action at this time.