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-----