Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package aqbanking for openSUSE:Factory checked in at 2021-03-18 22:55:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/aqbanking (Old) and /work/SRC/openSUSE:Factory/.aqbanking.new.2401 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aqbanking" Thu Mar 18 22:55:29 2021 rev:87 rq:879911 version:6.2.10 Changes: -------- --- /work/SRC/openSUSE:Factory/aqbanking/aqbanking.changes 2021-03-05 13:49:30.551853058 +0100 +++ /work/SRC/openSUSE:Factory/.aqbanking.new.2401/aqbanking.changes 2021-03-18 22:55:32.083569350 +0100 @@ -1,0 +2,7 @@ +Thu Mar 18 13:52:03 UTC 2021 - Paolo Stivanin <i...@paolostivanin.com> + +- Update to 6.2.10: + + Increased verbosity for debugging purposes. + + Fixed a bug regarding TAN-secured jobs. + +------------------------------------------------------------------- Old: ---- aqbanking-6.2.9.tar.gz aqbanking-6.2.9.tar.gz.asc New: ---- aqbanking-6.2.10.tar.gz aqbanking-6.2.10.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ aqbanking.spec ++++++ --- /var/tmp/diff_new_pack.qmUl80/_old 2021-03-18 22:55:32.695570012 +0100 +++ /var/tmp/diff_new_pack.qmUl80/_new 2021-03-18 22:55:32.695570012 +0100 @@ -28,14 +28,14 @@ %define qb_cfgmoddir %{fronts_libdir}/qbanking/cfgmodules %define q4b_cfgmoddir %{fronts_libdir}/q4banking/cfgmodules Name: aqbanking -Version: 6.2.9 +Version: 6.2.10 Release: 0 Summary: Library for Online Banking Functions and Financial Data Import and Export License: GPL-2.0-only OR GPL-3.0-only Group: Productivity/Office/Finance URL: https://www.aquamaniac.de/aqbanking/ -Source: %{name}-%{version}.tar.gz -Source1: %{name}-%{version}.tar.gz.asc +Source: https://www.aquamaniac.de/rdm/attachments/download/368/aqbanking-%{version}.tar.gz +Source1: https://www.aquamaniac.de/rdm/attachments/download/367/aqbanking-%{version}.tar.gz.asc Source2: aqbanking6-handbook-20190221.pdf BuildRequires: cmake BuildRequires: doxygen ++++++ aqbanking-6.2.9.tar.gz -> aqbanking-6.2.10.tar.gz ++++++ ++++ 2345 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/aqbanking-6.2.9/ChangeLog new/aqbanking-6.2.10/ChangeLog --- old/aqbanking-6.2.9/ChangeLog 2021-02-22 22:09:08.000000000 +0100 +++ new/aqbanking-6.2.10/ChangeLog 2021-03-10 20:52:25.000000000 +0100 @@ -1,4 +1,42 @@ ------------------------------------------------------------------ +2021-03-10 20:45:30 +0100 Martin Preuss +Prepared release 6.2.10. + +------------------------------------------------------------------ +2021-03-10 19:55:47 +0100 Martin Preuss +AqHBCI: Increased verbosity for debugging purposes. + +------------------------------------------------------------------ +2021-03-10 19:55:28 +0100 Martin Preuss +AqHBCI: Fixed a bug regarding TAN-secured jobs. +- need to set the status of a sent TAN job accordingly, otherwise its + status will not be updated when receiving responses. In that case the + code assumes the TAN job has not been sent so there can't be any response + for it, ergo it will be ignored when dispatching responses. +- the response to the 2nd TAN request in TAN process 2/4 is a response + only for that particular TAN job, not for the jobs which are secured by + the TAN job. + Those secured jobs are sent in the first message along with a TAN offer. + If the server decides it doesn't need a TAN it just sends direct + responses for those jobs. + However, if the server does request a TAN we only get a response for the + TAN offer, not for the TAN-secured jobs. Actually, in this case we dont + get responses for those jobs at all... In such a case we have to take + the response for the 2nd TAN request and distribute them among the + TAN-secured jobs. + I wonder how that works for TAN-secured requests which expect a dedicated + response (e.g. request for bank statements)... how will those be delivered + in a complete different message?? + +------------------------------------------------------------------ +2021-02-22 22:20:40 +0100 Martin Preuss +Released 6.2.9. + +------------------------------------------------------------------ +2021-02-22 22:19:46 +0100 Martin Preuss +Prepared release 6.2.9. + +------------------------------------------------------------------ 2021-02-20 16:42:43 +0100 Martin Preuss AqHBCI: Remove trailing blanks in mimetype. @@ -437,23 +475,3 @@ ------------------------------------------------------------------ 2020-12-19 01:38:55 +0100 Martin Preuss de.po: A few translations. - ------------------------------------------------------------------- -2020-12-19 01:18:18 +0100 Martin Preuss -Updated i18n catalog. - ------------------------------------------------------------------- -2020-12-08 22:48:11 +0100 Martin Preuss -Some thoughts. - ------------------------------------------------------------------- -2020-12-08 22:47:50 +0100 Martin Preuss -AqHBCI: Improved readability. - ------------------------------------------------------------------- -2020-12-02 14:25:03 +0100 Martin Preuss -AqHBCI: Fixed a bug spotted by Anselm Martin Hoffmeister. Thanks! - ------------------------------------------------------------------- -2020-11-08 21:36:04 +0100 Martin Preuss -OFX importer: Fixed some bugs, improved importing of OFX brokerage data. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/aqbanking-6.2.9/aqbanking.iss new/aqbanking-6.2.10/aqbanking.iss --- old/aqbanking-6.2.9/aqbanking.iss 2021-02-22 22:09:44.000000000 +0100 +++ new/aqbanking-6.2.10/aqbanking.iss 2021-03-10 20:53:24.000000000 +0100 @@ -8,7 +8,7 @@ [Setup] ; Using the name here directly because we want it capitalized AppName=AqBanking -AppVerName=AqBanking 6.2.9 +AppVerName=AqBanking 6.2.10 AppPublisher=AqBanking Development Team AppPublisherURL=http://sourceforge.net/projects/aqbanking AppSupportURL=http://sourceforge.net/support/getsupport.php?group_id=115695 @@ -18,7 +18,7 @@ DirExistsWarning=no InfoAfterFile=README LicenseFile=COPYING -OutputBaseFilename=aqbanking-6.2.9-setup +OutputBaseFilename=aqbanking-6.2.10-setup OutputDir=. UninstallFilesDir={app}\uninstall\aqbanking @@ -151,7 +151,7 @@ StringChange(FileString, '@'+'aqbanking_pkgdatadir@', pkgdatadir); StringChange(FileString, '@'+'AQBANKING_VERSION_MAJOR@', '6'); StringChange(FileString, '@'+'AQBANKING_VERSION_MINOR@', '2'); - StringChange(FileString, '@'+'AQBANKING_VERSION_PATCHLEVEL@', '9'); + StringChange(FileString, '@'+'AQBANKING_VERSION_PATCHLEVEL@', '10'); StringChange(FileString, '@'+'AQBANKING_VERSION_BUILD@', '0'); StringChange(FileString, '@'+'AQBANKING_VERSION_TAG@', 'stable'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/aqbanking-6.2.9/aqbanking.spec new/aqbanking-6.2.10/aqbanking.spec --- old/aqbanking-6.2.9/aqbanking.spec 2021-02-22 22:09:44.000000000 +0100 +++ new/aqbanking-6.2.10/aqbanking.spec 2021-03-10 20:53:24.000000000 +0100 @@ -2,7 +2,7 @@ # neededforbuild gwenhywfar gwenhywfar-devel python python-ctypes pyyxml libchipcard2-devel libchipcard2 pkgconfig gettext-devel libacl-devel libacl libattr-devel libattr %define name aqbanking -%define version 6.2.9 +%define version 6.2.10 %define dist Ubuntu %define disttag ubuntu diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/aqbanking-6.2.9/configure.ac new/aqbanking-6.2.10/configure.ac --- old/aqbanking-6.2.9/configure.ac 2021-02-22 22:09:08.000000000 +0100 +++ new/aqbanking-6.2.10/configure.ac 2021-03-10 20:52:25.000000000 +0100 @@ -16,7 +16,7 @@ AQBANKING_VERSION_MAJOR=6 AQBANKING_VERSION_MINOR=2 -AQBANKING_VERSION_PATCHLEVEL=9 +AQBANKING_VERSION_PATCHLEVEL=10 AQBANKING_VERSION_BUILD=0 dnl "stable", "rcX", "betaX", "svn" AQBANKING_VERSION_TAG="stable" @@ -34,7 +34,7 @@ AQBANKING_SO_CURRENT=46 AQBANKING_SO_AGE=2 -AQBANKING_SO_REVISION=9 +AQBANKING_SO_REVISION=10 AQBANKING_SO_EFFECTIVE="`echo \$(($AQBANKING_SO_CURRENT-$AQBANKING_SO_AGE))`" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/aqbanking-6.2.9/src/libs/aqbanking/version.h new/aqbanking-6.2.10/src/libs/aqbanking/version.h --- old/aqbanking-6.2.9/src/libs/aqbanking/version.h 2021-02-22 22:09:42.000000000 +0100 +++ new/aqbanking-6.2.10/src/libs/aqbanking/version.h 2021-03-10 20:53:22.000000000 +0100 @@ -13,15 +13,15 @@ #define AQBANKING_VERSION_MAJOR 6 #define AQBANKING_VERSION_MINOR 2 -#define AQBANKING_VERSION_PATCHLEVEL 9 +#define AQBANKING_VERSION_PATCHLEVEL 10 #define AQBANKING_VERSION_BUILD 0 #define AQBANKING_VERSION_TAG "stable" -#define AQBANKING_VERSION_FULL_STRING "6.2.9.0stable" -#define AQBANKING_VERSION_STRING "6.2.9" +#define AQBANKING_VERSION_FULL_STRING "6.2.10.0stable" +#define AQBANKING_VERSION_STRING "6.2.10" #define AQBANKING_SO_CURRENT 46 -#define AQBANKING_SO_REVISION 9 +#define AQBANKING_SO_REVISION 10 #define AQBANKING_SO_AGE 2 #define AQBANKING_SO_EFFECTIVE 44 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/aqbanking-6.2.9/src/libs/plugins/backends/aqhbci/applayer/cbox_itan2.c new/aqbanking-6.2.10/src/libs/plugins/backends/aqhbci/applayer/cbox_itan2.c --- old/aqbanking-6.2.9/src/libs/plugins/backends/aqhbci/applayer/cbox_itan2.c 2021-02-22 22:09:08.000000000 +0100 +++ new/aqbanking-6.2.10/src/libs/plugins/backends/aqhbci/applayer/cbox_itan2.c 2021-03-10 20:52:25.000000000 +0100 @@ -332,8 +332,10 @@ return rv; } + AH_JobQueue_SetJobStatusOnMatch(qJob2, AH_JobStatusEncoded, AH_JobStatusSent); + /* receive response */ - rv=AH_OutboxCBox_RecvQueue(cbox, dlg, qJob); + rv=AH_OutboxCBox_RecvQueue(cbox, dlg, qJob2); if (rv) { DBG_NOTICE(AQHBCI_LOGDOMAIN, "here (%d)", rv); AH_Msg_free(msg2); @@ -387,6 +389,11 @@ if (origRes==NULL) { DBG_INFO(AQHBCI_LOGDOMAIN, "No segment result in job HKTAN"); } + else { + DBG_INFO(AQHBCI_LOGDOMAIN, + "We have segment results in TAN job, setting status of all sent jobs to ANSWERED"); + AH_JobQueue_SetJobStatusOnMatch(qJob, AH_JobStatusSent, AH_JobStatusAnswered); + } while (origRes) { AH_JOB *qj; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/aqbanking-6.2.9/src/libs/plugins/backends/aqhbci/applayer/cbox_queue.c new/aqbanking-6.2.10/src/libs/plugins/backends/aqhbci/applayer/cbox_queue.c --- old/aqbanking-6.2.9/src/libs/plugins/backends/aqhbci/applayer/cbox_queue.c 2021-02-22 22:09:08.000000000 +0100 +++ new/aqbanking-6.2.10/src/libs/plugins/backends/aqhbci/applayer/cbox_queue.c 2021-03-10 20:52:25.000000000 +0100 @@ -171,16 +171,24 @@ AH_JobQueue_SetFlags(jqTodo, (jqFlags&AH_JOBQUEUE_FLAGS_COPYMASK)); while ((j=AH_Job_List_First(jl))) { + const char *jobName; + + jobName=AH_Job_GetName(j); + if (!(jobName && *jobName)) + jobName="<unnamed>"; + AH_Job_List_Del(j); if (AH_Job_GetStatus(j)==AH_JobStatusAnswered) { - DBG_INFO(AQHBCI_LOGDOMAIN, "Job status \"answered\", checking whether it needs to be re-enqueued"); + DBG_INFO(AQHBCI_LOGDOMAIN, + "Job \"%s\" with status \"answered\", checking whether it needs to be re-enqueued", + jobName); /* prepare job for next message * (if attachpoint or multi-message job) */ AH_Job_PrepareNextMessage(j); if (AH_Job_GetFlags(j) & AH_JOB_FLAGS_HASMOREMSGS) { - DBG_NOTICE(AQHBCI_LOGDOMAIN, "Requeueing job"); + DBG_NOTICE(AQHBCI_LOGDOMAIN, "Requeueing job \"%s\"", jobName); /* we shall redo this job */ if (AH_JobQueue_AddJob(jqTodo, j)!=AH_JobQueueAddResultOk) { DBG_ERROR(AQHBCI_LOGDOMAIN, "Job could not be re-added to queue, SNH!"); @@ -188,17 +196,19 @@ AH_Job_SetStatus(j, AH_JobStatusError); } else { - AH_Job_Log(j, GWEN_LoggerLevel_Info, "Job re-enqueued (multi-message job)"); + AH_Job_Log(j, GWEN_LoggerLevel_Info, "Job re-enqueued (multi-message job)"); j=NULL; /* mark that this job has been dealt with */ } } /* if more messages */ else { - DBG_NOTICE(AQHBCI_LOGDOMAIN, "Job has no messages left, not re-enqueing"); + DBG_NOTICE(AQHBCI_LOGDOMAIN, "Job \"%s\" has no messages left, not re-enqueing", jobName); } } /* if status "answered" */ else if (AH_Job_GetStatus(j)==AH_JobStatusEnqueued) { - DBG_NOTICE(AQHBCI_LOGDOMAIN, "Job status \"enqueued\", trying to re-enqueue (TODO: Is this really used?)"); + DBG_NOTICE(AQHBCI_LOGDOMAIN, + "Job \"%s\" with status \"enqueued\", trying to re-enqueue (TODO: Is this really used?)", + jobName); if (AH_JobQueue_AddJob(jqTodo, j)!=AH_JobQueueAddResultOk) { DBG_ERROR(AQHBCI_LOGDOMAIN, "Job could not be re-added to queue, SNH!"); AH_Job_SetStatus(j, AH_JobStatusError); @@ -211,8 +221,9 @@ } /* if status "enqueued" */ else { - DBG_WARN(AQHBCI_LOGDOMAIN, "Bad status \"%s\" (%d)", - AH_Job_StatusName(AH_Job_GetStatus(j)), + DBG_WARN(AQHBCI_LOGDOMAIN, "Job \"%s\" has unexpected status \"%s\" (%d)", + jobName, + AH_Job_StatusName(AH_Job_GetStatus(j)), AH_Job_GetStatus(j)); if (GWEN_Logger_GetLevel(0)>=GWEN_LoggerLevel_Debug) AH_Job_Dump(j, stderr, 4); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/aqbanking-6.2.9/src/libs/plugins/backends/aqhbci/joblayer/jobqueue_dispatch.c new/aqbanking-6.2.10/src/libs/plugins/backends/aqhbci/joblayer/jobqueue_dispatch.c --- old/aqbanking-6.2.9/src/libs/plugins/backends/aqhbci/joblayer/jobqueue_dispatch.c 2021-02-22 22:09:08.000000000 +0100 +++ new/aqbanking-6.2.10/src/libs/plugins/backends/aqhbci/joblayer/jobqueue_dispatch.c 2021-03-10 20:52:25.000000000 +0100 @@ -355,7 +355,7 @@ if (jobStatus==AH_JobStatusSent || jobStatus==AH_JobStatusAnswered) { DBG_DEBUG(AQHBCI_LOGDOMAIN, "Checking whether job \"%s\" has segment %d", jobName, refSegNum); if ((AH_Job_GetMsgNum(j)==refMsgNum) && AH_Job_HasSegment(j, refSegNum)) { - DBG_DEBUG(AQHBCI_LOGDOMAIN, "Job \"%s\" claims to have the segment %d", jobName, refSegNum); + DBG_INFO(AQHBCI_LOGDOMAIN, "Job \"%s\" claims to have the segment %d for msg %d", jobName, refSegNum, refMsgNum); return j; } } @@ -485,13 +485,22 @@ { GWEN_DB_NODE *dbCurr; + DBG_INFO(AQHBCI_LOGDOMAIN, + "Handling responses for message %d (received message num is %d)", + AH_Msg_GetMsgRef(msg), AH_Msg_GetMsgNum(msg)); + dbCurr=GWEN_DB_GetFirstGroup(db); while (dbCurr) { GWEN_DB_NODE *dbPreparedJobResponse; GWEN_DB_NODE *dbData; int refSegNum; + int segNum; - DBG_DEBUG(AQHBCI_LOGDOMAIN, "Handling response \"%s\"", GWEN_DB_GroupName(dbCurr)); + refSegNum=GWEN_DB_GetIntValue(dbCurr, "head/ref", 0, 0); + segNum=GWEN_DB_GetIntValue(dbCurr, "head/seq", 0, 0); + DBG_INFO(AQHBCI_LOGDOMAIN, + "Checking response \"%s\" (seg num %d, ref seg num %d)", + GWEN_DB_GroupName(dbCurr), segNum, refSegNum); /* use same name for main response group */ dbPreparedJobResponse=GWEN_DB_Group_new(GWEN_DB_GroupName(dbCurr)); @@ -503,14 +512,22 @@ /* store copy of original response there */ GWEN_DB_AddGroup(dbData, GWEN_DB_Group_dup(dbCurr)); - refSegNum=GWEN_DB_GetIntValue(dbCurr, "head/ref", 0, 0); if (refSegNum) { AH_JOB *j; /* search for job to which this response belongs */ - j=_findReferencedJob(jq, AH_Msg_GetMsgNum(msg), refSegNum); + j=_findReferencedJob(jq, AH_Msg_GetMsgRef(msg), refSegNum); if (j) { - _possiblyExtractAttachPoint(j, dbCurr); + DBG_INFO(AQHBCI_LOGDOMAIN, + "Job \"%s\" (%d:%d-%d) claims response \"%s\" (%d:%d)", + AH_Job_GetName(j), + AH_Job_GetMsgNum(j), + AH_Job_GetFirstSegment(j), + AH_Job_GetLastSegment(j), + GWEN_DB_GroupName(dbCurr), + AH_Msg_GetMsgRef(msg), + refSegNum); + _possiblyExtractAttachPoint(j, dbCurr); /* check for segment results */ if (strcasecmp(GWEN_DB_GroupName(dbCurr), "SegResult")==0)