Segfault mit OpenHBCI nach OpenSSL Update
Christian Stimming
stimming at tuhh.de
Fre Apr 11 01:39:38 CDT 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hallo,
ich hab plötzlich in den letzten Tagen bei *jeder* OpenHBCI-Aktion mit der
Deutschen Bank einen Programmabbruch mit Segfault bekommen. Erklärung folgt
unten (Martin: da hab ich ne Frage), aber die Behebung besteht aus zwei
Teilen: Zum einen hat das SuSE 8.1-Online-Update für openssl einen Fehler,
der zum segfault führt, nämlich im rpm openssl-0.9.6g-68 (Build-Datum 27.
März). Dieses muß man wieder durch das etwas ältere openssl-0.9.6g-55
ersetzen, zu finden hier
ftp://ftp.suse.com/pub/suse/i386/update/8.1/rpm/i586/ .
Außerdem hat die Deutsche Bank PKS wohl die HBCI-Version 2.1 wieder
abgestellt, obwohl sie erst vor 4-6 Wochen diese überhaupt erst angeboten
hat. Mit voller Debug-Ausgabe sieht man deshalb irgendwo die Rückmeldung
"HBCI-Version nicht unterstützt". Und man muß hier wieder auf HBCI-Version
2.0.1 zurückschalten.
Anschließend läuft wieder alles.
Gruß
Christian
Debug-Ausgabe beim segfault:
MediumKeyfileBase::_readKey
PURE MESSAGE:
HKIDN(Identifikation)
[...]
Connection::recieveData()
RESPONSE:
HNHBK(Nachrichtenkopf)
:1:2+000000000493+210+210274712744500000000090715041+1+210274712744500000000090715041:1'
HNVSK(Verschlüsselungskopf)
:998:2+4+1+2::200700240000000000183012+1:20030410:234754+2:2:13:@96@<...>:6:1+280:20070024:AAA222:V:1:1+0'
HNVSD(Verschlüsselte Daten) :999:1+ at 168@<...>'
HNHBS(Nachrichtenabschluss) :4:1+1'
MediumKeyfileBase::selectContext
MediumKeyfileBase::decryptKey
Zack-Bumm. Keine weitere Rückmeldung. Mit gdb erhalte ich folgendes:
(no debugging symbols found)...(no debugging symbols found)...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 839)]
0x4157b2ac in BN_num_bits () from /usr/lib/libcrypto.so.0.9.6
(gdb) bt
#0 0x4157b2ac in BN_num_bits () from /usr/lib/libcrypto.so.0.9.6
#1 0x083cb450 in ?? ()
#2 0x00000018 in ?? ()
#3 0x6d441d43 in ?? ()
Cannot access memory at address 0xcfc4b447
Also auch keine Info, außer, daß es was mit libcrypto zu tun hat. Dann hab ich
also libcrypto downgegraded. Damit bekomme ich (noch mit HBCI 2.10)
HANDLEUSERQUEUE: customer is 6002724813
MessageQueue: Mounting new medium.
[...]
HKVVB(Verarbeitungsvorbereitung) :4:2+6+4+1+openhbci+0.9.9'
HNSHK(Signaturkopf)
HKIDN(Identifikation)
HKVVB(Verarbeitungsvorbereitung) :4:2+6+4+1+openhbci+0.9.9'
HNSHA(Signaturabschluss) :5:1+20030411002600+ at 96@<...>'
RESPONSE:
HNHBK(Nachrichtenkopf)
HNVSK(Verschlüsselungskopf)
HNVSD(Verschlüsselte Daten) :999:1+ at 168@<...>'
HNHBS(Nachrichtenabschluss) :4:1+1'
DECRYPTED MESSAGE:
HIRMG(Rückmeldungen zur Gesamtnachricht) :2:2+0010::Nachricht
entgegengenommen+9180::HBCI-Version wird nicht unterstützt - Dialog beendet'
HIRMS(Rückmeldung zu Segmenten) :3:2:4+0020::Informationen
fehlerfrei entgegengenommen'
HNHBS(Nachrichtenabschluss) :4:1+1'
MessageQueue:Raw Message
HNSHK(Signaturkopf)
HKSAL(Saldenabfrage)
HNSHA(Signaturabschluss) :4:1+20030411002601+ at 96@<...>'
Connection::recieveData()
logMsg: Logging msg: HandleUserQueue: nothing received (0) at logMsg: Logging
msg: Bank: nothing received (0) at API::_handleMessageQueue()
gnc_hbci_api_execute: Error at executeQueue: nothing received
Die 9180-Meldung bewirkt also, daß die Bank die letzte Nachricht nicht mehr
beantwortet, und daß damit beim API::executeQueue leider nur der "nothing
received"-Fehler ankommt. Martin: Wie könnte ich denn an dieser Stelle an den
Fehlercode 9180 herankommen? Irgendne Idee?
Christian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iQCVAwUBPpXyq2XAi+BfhivFAQF7+gP/fMU545XGJXWyMAJI4cMPPq9W8jYpIpCX
g3xicUiQaZYhHHH14fIpCIBq90ZiJY5RwNaWzHsMnK3rtASz62717nj4MFlVMyAY
DRDX6Qdszy1YZ0gA9a2MvUL1tMlT176ZhYaU2lkFVW/tCVjoIhC4L6S/89kXC8xL
xExOQSI3JQA=
=O/Ao
-----END PGP SIGNATURE-----