gwenhywfar-5.11.2beta/0000775000175000017500000000000014611233422011616 500000000000000gwenhywfar-5.11.2beta/gwenhywfar.m40000666000175000017500000001173413560106416014175 00000000000000# $Id$ # (c) 2002 Martin Preuss # This function checks for libgwenhywfar AC_DEFUN([AC_GWENHYWFAR], [ dnl searches for gwenhywfar dnl Arguments: dnl $1: major version minimum dnl $2: minor version minimum dnl $3: patchlevel version minimum dnl $4: build version minimum dnl Returns: gwenhywfar_dir dnl gwenhywfar_bindir dnl gwenhywfar_libs dnl gwenhywfar_plugins dnl gwenhywfar_includes dnl gwenhywfar_headers dnl gwenhywfar_has_crypt dnl have_gwenhywfar if test -z "$1"; then vma="0"; else vma="$1"; fi if test -z "$2"; then vmi="1"; else vmi="$2"; fi if test -z "$3"; then vpl="0"; else vpl="$3"; fi if test -z "$4"; then vbld="0"; else vbld="$4"; fi AC_MSG_CHECKING(if gwenhywfar support desired) AC_ARG_ENABLE(gwenhywfar, [ --enable-gwenhywfar enable gwenhywfar support (default=yes)], enable_gwenhywfar="$enableval", enable_gwenhywfar="yes") AC_MSG_RESULT($enable_gwenhywfar) have_gwenhywfar="no" gwenhywfar_dir="" gwenhywfar_plugins="" gwenhywfar_libs="" gwenhywfar_bindir="" gwenhywfar_libspp="" gwenhywfar_includes="" gwenhywfar_has_crypt="yes" if test "$enable_gwenhywfar" != "no"; then AC_MSG_CHECKING(for gwenhywfar) AC_ARG_WITH(gwen-dir, [ --with-gwen-dir=DIR obsolete - set PKG_CONFIG_PATH environment variable instead], [AC_MSG_RESULT([obsolete configure option '--with-gwen-dir' used]) AC_MSG_ERROR([ *** Configure switch '--with-gwen-dir' is obsolete. *** If you want to use gwenhywfar from a non-system location *** then locate the file 'gwenhywfar.pc' and add its parent directory *** to environment variable PKG_CONFIG_PATH. For example *** configure PKG_CONFIG_PATH=":\${PKG_CONFIG_PATH}"])], []) $PKG_CONFIG --exists gwenhywfar result=$? if test $result -ne 0; then AC_MSG_RESULT(not found) AC_MSG_ERROR([ *** Package gwenhywfar was not found in the pkg-config search path. *** Perhaps you should add the directory containing `gwenhywfar.pc' *** to the PKG_CONFIG_PATH environment variable]) else gwenhywfar_dir="`$PKG_CONFIG --variable=prefix gwenhywfar`" AC_MSG_RESULT($gwenhywfar_dir) fi AC_MSG_CHECKING(for gwen libs) gwenhywfar_libs="`$PKG_CONFIG --libs gwenhywfar`" AC_MSG_RESULT($gwenhywfar_libs) AC_MSG_CHECKING(for gwen includes) gwenhywfar_includes="`$PKG_CONFIG --cflags gwenhywfar`" AC_MSG_RESULT($gwenhywfar_includes) AC_MSG_CHECKING(for gwen binary tools) gwenhywfar_bindir="`$PKG_CONFIG --variable=bindir gwenhywfar`" AC_MSG_RESULT($gwenhywfar_bindir) AC_MSG_CHECKING(for gwen plugins) gwenhywfar_plugins="`$PKG_CONFIG --variable=plugindir gwenhywfar`" AC_MSG_RESULT($gwenhywfar_plugins) AC_MSG_CHECKING(for gwen headers) gwenhywfar_headers="`$PKG_CONFIG --variable=headerdir gwenhywfar`" AC_MSG_RESULT($gwenhywfar_headers) AC_MSG_CHECKING(if gwenhywfar test desired) AC_ARG_ENABLE(gwenhywfar, [ --enable-gwenhywfar-test enable gwenhywfar-test (default=yes)], enable_gwenhywfar_test="$enableval", enable_gwenhywfar_test="yes") AC_MSG_RESULT($enable_gwenhywfar_test) AC_MSG_CHECKING(for Gwenhywfar version >=$vma.$vmi.$vpl.$vbld) if test "$enable_gwenhywfar_test" != "no"; then gwen_vmajor="`$PKG_CONFIG --variable=vmajor gwenhywfar`" gwen_vminor="`$PKG_CONFIG --variable=vminor gwenhywfar`" gwen_vpatchlevel="`$PKG_CONFIG --variable=vpatchlevel gwenhywfar`" gwen_vstring="`$PKG_CONFIG --variable=vstring gwenhywfar`" gwen_vbuild="`$PKG_CONFIG --variable=vbuild gwenhywfar`" gwen_versionstring="$gwen_vstring.$gwen_vbuild" AC_MSG_RESULT([found $gwen_versionstring]) if test "$vma" -gt "$gwen_vmajor"; then AC_MSG_ERROR([Your Gwenhywfar version is way too old. Please update from https://www.aquamaniac.de]) elif test "$vma" = "$gwen_vmajor"; then if test "$vmi" -gt "$gwen_vminor"; then AC_MSG_ERROR([Your Gwenhywfar version is too old. Please update from https://www.aquamaniac.de]) elif test "$vmi" = "$gwen_vminor"; then if test "$vpl" -gt "$gwen_vpatchlevel"; then AC_MSG_ERROR([Your Gwenhywfar version is a little bit too old. Please update from https://www.aquamaniac.de]) elif test "$vpl" = "$gwen_vpatchlevel"; then if test "$vbld" -gt "$gwen_vbuild"; then AC_MSG_ERROR([Your Gwenhywfar version is a little bit too old. Please update to the latest git version. Instructions for accessing git can be found on https://www.aquamaniac.de]) fi fi fi fi have_gwenhywfar="yes" #AC_MSG_RESULT(yes) else have_gwenhywfar="yes" AC_MSG_RESULT(assuming yes) fi if test -n "$save_path"; then export PGK_CONFIG_PATH="$save_path" fi dnl end of "if enable-gwenhywfar" fi AC_SUBST(gwenhywfar_dir) AC_SUBST(gwenhywfar_plugins) AC_SUBST(gwenhywfar_bindir) AC_SUBST(gwenhywfar_libs) AC_SUBST(gwenhywfar_includes) AC_SUBST(gwenhywfar_headers) AC_SUBST(gwenhywfar_has_crypt) ]) gwenhywfar-5.11.2beta/gwenhywfar-config-version.cmake.in0000644000175000017500000000050013142134462020247 00000000000000set(PACKAGE_VERSION "@GWENHYWFAR_VERSION_STRING@") if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" ) set(PACKAGE_VERSION_COMPATIBLE FALSE) else() set(PACKAGE_VERSION_COMPATIBLE TRUE) if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}") set(PACKAGE_VERSION_EXACT TRUE) endif() endif() gwenhywfar-5.11.2beta/gwenhywfar.spec0000664000175000017500000000415414611233343014601 00000000000000# norootforbuild # neededforbuild gettext gettext-devel gcc openssl-devel openssl %define name gwenhywfar %define version 5.11.2beta %define rpm_cxxflags \"-O2 -march=i486 -mcpu=i586\" %define rpm_cflags \"-O2 -march=i486 -mcpu=i586\" %define dist Ubuntu %define disttag ubuntu %define distver # Note: There is not yet a special symbol for the rpm release # version. We set it to one here. %define release 1.%{disttag}%{distver} Summary: A multi-platform helper library for other libraries Name: %{name} Version: %{version} Release: %{release} Source: http://download.sourceforge.net/gwenhywfar/%{name}-%{version}.tar.gz Group: System Environment/Libraries License: LGPL Packager: Martin Preuss URL: http://sourceforge.net/projects/gwenhywfar BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: openssl-devel gettext Prereq: /sbin/ldconfig %description This is Gwenhywfar, a multi-platform helper library for networking and security applications and libraries. It is heavily used by libchipcard www.libchipcard.de and AqBanking/AqHBCI, the German online banking libraries. %package devel Summary: Gwenhywfar development kit Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel This package contains gwenhywfar-config and header files for writing and compiling programs using Gwenhywfar. %prep %setup -q %build %configure --disable-static --with-openssl-libs=%{_libdir} make %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig %postun /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS README COPYING ChangeLog %{_libdir}/*.so.* %{_libdir}/%{name} %{_datadir}/locale/*/LC_MESSAGES/gwenhywfar.mo %{_bindir}/gct-tool %{_datadir}/gwenhywfar/*.crt %files devel %defattr(-,root,root) %{_bindir}/gwenhywfar-config %{_bindir}/xmlmerge %{_bindir}/mklistdoc %{_bindir}/typemaker %{_includedir}/gwenhywfar3 %{_libdir}/*.so %{_libdir}/*.la #%{_libdir}/*.a %{_datadir}/aclocal/gwenhywfar.m4 %{_libdir}/pkgconfig/gwenhywfar.pc %changelog gwenhywfar-5.11.2beta/ChangeLog0000664000175000017500000004720214611233413013315 00000000000000------------------------------------------------------------------ 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 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 element inside