• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

admin/H03-May-2022-1,4931,236

checks/H03-May-2022-2,4342,016

data/H03-May-2022-4,1743,948

doc/H03-May-2022-5,2723,795

gui/H03-May-2022-47,87734,609

m4/H03-May-2022-13,56412,285

plugins/H03-May-2022-13,86511,535

po/H03-May-2022-1,9321,641

src/H03-May-2022-140,89891,767

test/H03-May-2022-7,7346,338

tools/H03-May-2022-41,42432,049

AUTHORSH A D15-Feb-2021183 53

COPYINGH A D15-Feb-202124.2 KiB470392

ChangeLogH A D15-Feb-202118.2 KiB483374

Doxyfile.inH A D15-Feb-202162.5 KiB1,5291,097

INSTALLH A D15-Feb-20219 KiB230175

Makefile.amH A D15-Feb-20218.9 KiB280200

Makefile.cvsH A D15-Feb-20215.5 KiB188158

Makefile.inH A D03-May-202248.9 KiB1,3991,235

NEWSH A D15-Feb-202116.7 KiB416266

READMEH A D15-Feb-20215.1 KiB190124

README.DARWINH A D15-Feb-2021207 63

README.SOLARISH A D15-Feb-2021539 138

README.W32H A D15-Feb-20212.5 KiB8751

TODOH A D15-Feb-20212.2 KiB10771

aclocal.m4H A D15-Feb-202161.7 KiB1,7141,568

compileH A D15-Feb-20217.2 KiB348258

config.guessH A D15-Feb-202143.2 KiB1,4811,288

config.h.inH A D15-Feb-20219 KiB385258

config.rpathH A D15-Feb-202117.9 KiB667563

config.subH A D15-Feb-202135.3 KiB1,8021,661

configureH A D03-May-2022830.6 KiB27,84623,353

configure.acH A D15-Feb-202143.4 KiB1,6251,317

depcompH A D15-Feb-202123 KiB792502

gwenhywfar-config-version.cmake.inH A D15-Feb-2021320 119

gwenhywfar-config.cmake.inH A D15-Feb-20212.9 KiB8370

gwenhywfar-config.in.inH A D15-Feb-20212.5 KiB7875

gwenhywfar.iss.inH A D15-Feb-20218.7 KiB186154

gwenhywfar.m4H A D15-Feb-20215 KiB138129

gwenhywfar.pc.inH A D15-Feb-2021953 3428

gwenhywfar.specH A D15-Feb-20212.1 KiB9066

gwenhywfar.spec.inH A D15-Feb-20212.1 KiB9071

i18nsourcesH A D15-Feb-20213.3 KiB154153

install-shH A D15-Feb-202114.8 KiB509329

ltmain.shH A D15-Feb-2021316.8 KiB11,1577,986

missingH A D15-Feb-20216.7 KiB216143

test-driverH A D15-Feb-20214.5 KiB14987

README

1
2This is Gwenhywfar, a multi-platform helper library for networking and
3security applications and libraries.
4It is used by
5 - Libchipcard (http://www.libchipcard.de),
6 - OpenHBCI2 (http://www.openhbci.de),
7 - Simthetic, the simulation tool (http://simthetic.sourceforge.net)
8 - AqBanking/AqHBCI (http://www.aqbanking.de/).
9 - and others by using one of the projects above
10
11
12
13Features
14========
15
16This library is written in C, and it follows the object-oriented
17programming paradigm for most of its parts.  The header files can
18directly be used from C++, too.
19
20Gwenhywfar includes the following features:
21
22- Basic Data types for binary buffers, ring buffers, linked lists,
23  error objects, string lists (src/base/), buffered IO operations (src/io/)
24
25- Macros for typesafe list management
26
27- OS abstraction functions for directory and Internet address handling
28  and library loading (src/os/)
29
30- Networking functions which allow to manage many connections to be used
31  economically even in single threaded applications
32
33- High-level functions for parsing files with a simplified "XML-like"
34  format and accessing them like a hierarchical database (src/parser/)
35  It is able to process valid XML files, too.
36
37- High-level cryptographic functions on top of OpenSSL functionality
38  (src/crypt/)
39
40- Support for interprocess communication (HTTP on top of SSL or plain
41  TCP/UDP sockets, with or without certificates for clients and/or servers)
42
43- A tool to generate simple data containers from XML files. It automatically
44  generates getters, setters, constructor, destructor, deep-copy function,
45  usage counter handling, modification tracking, functions for reading from
46  and writing to GWEN_DBs (used by AqBanking to create the transaction class)
47
48
49
50Requirements
51============
52
53- GnuTLS >= 1.4 (>=2.0.1 recommended)
54- libgcrypt (>=1.2.0)
55
56
57
58Platforms
59=========
60
61Gwenhywfar is being developed on Linux. But the following platforms are also
62supported:
63
64- Windows (98, NT and newer; for using this library from Microsoft
65  Visual Studio C please see the explanations in test/README.MSVC)
66
67- FreeBSD
68- Linux     (i386, amd64, alpha)
69- Mac OS-X
70- NetBSD    (untested, but most likely to work)
71- OpenBSD   (untested, but most likely to work)
72- SunOS 5.9 (compiles, untested, but most likely to work)
73
74On Windows, an .exe setup program is provided, created with the Inno
75Setup Compiler http://www.jrsoftware.org/isdl.php .
76
77
78Architectures
79=============
80
81According to Debian Gwen runs on the following platforms:
82- alpha
83- amd64
84- arm
85- hppa
86- i386
87- ia64
88- m68k
89- mips
90- mipsel
91- powerpc
92- s390
93- sparc
94
95
96
97Environment Variables
98=====================
99
100"GWEN_MEMORY_DEBUG"
101-------------------
102
103This integer variable tells gwen whether (and how) to print the memory
104debugger statistic. This only works for sources compiled with the defined
105macro GWEN_MEMORY_DEBUG.
106- "0" shows ALL listed objects
107- "1" only shows those objects whose count is not 0
108
109
110"GWEN_SSL_DEBUG"
111----------------
112
113If this environment variable exists the SSL code will append data received
114via an SSL connection to "/tmp/read.bin" and append data sent via an SSL
115connection to /tmp/written.bin".
116
117
118"GWEN_TLS_CIPHER_PRIORITIES"
119--------------------------
120
121If this environment variable is set, the SSL code will initialize the GnuTLS
122library with the provided cipher priority list.  If this environment variable
123is unset, the default cipher priority list of the GnuTLS library is being used.
124
125For the exact format of the cipher priority list and its default, please
126consult the GnuTLS documentation, section "Priority strings":
127http://gnutls.org/manual/html_node/Priority-Strings.html
128
129
130Registry Keys
131=============
132
133On Windows platforms Gwen uses some keys below HKEY_CURRENT_USER
134to store information about file/folder locations. The keys are set
135in the Inno Setup file gwenhywfar.iss, so please check the
136[Registry] section in gwenyhwfar.iss.in for the authoritative
137source of available registry keys.
138
139"Software\\Gwenhywfar\\Paths\\dbio-plugins"
140-------------------------------------------
141Complete path to the folder containing GWENs DBIO plugins.
142(and some more keys. See gwenhywfar.iss.in)
143
144
145Documentation
146=============
147
148The documentation can be found in the header files. Many header
149files already include extensive comments in doxygen-format (however some
150don't).
151For a more or less complete API documentation use the command
152"make srcdoc"
153You will need the tool doxygen for this command to run.
154
155
156
157Contact
158=======
159
160For questions about this library please ask on the mailing list of the
161OpenHBCI project aqbanking-devel (subscriber-only, please subscribe
162on http://lists.sourceforge.net/lists/listinfo/aqbanking-devel),
163since this is where the author(s) hang out.
164
165
166
167Authors
168=======
169
170This library is being written by and is being maintained by Martin
171Preuss <martin@libchipcard.de>.
172
173I also wish to thank Christian Stimming <stimming@tuhh.de> for his
174contributions and for adding MSVC support to Gwen (thus making Gwen completely
175available on Windows).
176
177
178
179Name
180====
181
182The name of this library was chosen to honour a very special person ;-)
183(that should suffice as an explanation)
184
185
186
187Hamburg, Germany 2007/10/31
188
189
190

README.DARWIN

1
2Currently Darwin does not handle the "__attribute__ ((constructor))"
3entries in C files as it seems, so in your programs on Darwin you will
4have to call GWEN_Init() yourself before doing anything else...
5
6

README.SOLARIS

1
2Currently Solaris does not handle the "__attribute__ ((constructor))"
3entries in C files as it seems, so in your programs on Solaris you will
4have to call GWEN_Init() yourself before doing anything else...
5
6If programs linked against libgwenhywfar complain about unavailable libraries
7upon start (most likely they mention OpenSSL) you should try this:
8LD_LIBRARY_PATH="/usr/local/ssl/lib:/usr/local/lib" YOURPROGRAM
9
10The LD_LIBRARY_PATH variable tells the Solaris linker where to search for
11libraries in addition to the system folders.
12
13

README.W32

1
2
3
41. Using Gwenhywfar
5===================
6
71.1. Needed Components
8----------------------
9
101.1.1. GNU TLS
11
12We use the precompiled packages from the wireshark project (gnutls 1.6.0)
13which also contain all needed libraries such as libgcrypt and libgpg-error.
14
15
16
17
182. Compiling Gwenhywfar
19=======================
20
212.1. Needed Components
22----------------------
23
242.1.1. MinGW32
25
26Gwenhywfar uses MinGW32 on Windows platforms.
27MinGW32 is a project with the goal to provide a free compiler system and a
28nearly complete shell environment which allows to execute the configure
29script. The resulting DLLs and EXEs only link against Windows libraries, so
30there are no licence issues when releasing binary packages.
31These EXEs and DLLs don't need MinGW32 to be installed on the target system.
32The compiler itself is the very well known GCC.
33
34One configure command line that used to work is the following:
35
36  ./configure CPPFLAGS="$REGEX_INCLUDES $GNUTLS_INCLUDES $INTL_INCLUDES" \
37     LDFLAGS="$REGEX_LDFLAGS -lregex $GNUTLS_LDFLAGS $INTL_LDFLAGS -lintl -liconv"
38
39which just means you have to manually supply the -I/some/dir flags and
40-L/some/dir/lib flags for libregex, libintl, libiconv, and gnutls.
41
42
432.1.2. GnuTLS
44
45We use the precompiled packages from the wireshark project (gnutls 1.6.0)
46which also contain all needed libraries such as libgcrypt and libgpg-error.
47To compile gwenhywfar you will also need the developer files (ending in
48*.dll.a and *.h).
49
50
51
52
533.2. Cross-compiling on Linux
54-----------------------------
55
563.2.1. Compiling
57
58
59Gwenhywfar can be cross-compiled. The author uses Debian and its mingw
60package. To compile Gwenhywfar in that environment just use the following
61commands:
62
63>$ make -fMakefile.cvs mp-w32
64>$ make
65>$ make install DESTDIR=/tmp/gwen
66
67
683.2.2. Preparing Files for Shipping
69
70You must then take the DLLs and executables (EXE) from the folder /tmp/gwen
71and copy them into a folder for shipping. When preparing the application
72shipping folder you should have the expected file hierarchy (see above) in
73mind so that the application will find all DLLs and data.
74
75
763.2.3. Installing to the Cross-Compiler Environment
77
78If you want to compile other projects which depend on Gwenhywfar you will
79have to install some files to the cross-compilers environment. On Debian
80this is /usr/i586-mingw32/. Header files go to /usr/i586-mingw32/include
81and libraries must be installed to /usr/i586-mingw32/lib.
82Please don't install the DLLs, only the *.dll.a files, because those are
83the ones needed to compile depending projects (like AqBanking and
84Libchipcard).
85
86
87