[gnucash-de] HBCI-Einrichtung Klappe die 2.

Christian Stimming stimming at tuhh.de
Fre Jun 6 12:12:26 CDT 2003


Also,

Falk Pauser schrieb:
> hab' nochwas interessantes gefunden:
> 
>  1. ich starte gnucash
> 
>  2. ich gehe auf die hbci-einstellungen
> 
>  3. ich geben die daten ein (blz, server, uid)
> 
>  4. im naechsten fenster gebe ich ein keyfile an,
>     das noch nicht existiert, es wird erstellt und ich gebe ein passwort
>     an
> 
>  5. ich beende gnucash

An dieser Stelle hast du den HBCI-Einrichtungs-Dialog nicht bis zu Ende 
geführt, sondern abgebrochen? Das ist gar nicht gut, und ich hab auch 
schon gemerkt, daß das irgendwie nicht geht. (Das keyfile wird dann 
schon geschrieben, die ~/.openhbci dagegen noch nicht.) Ich kann bisher 
nur vermuten, daß man beim zweiten Start dann doch irgendetwas ein klein 
bißchen anders eingibt als beim ersten Mal, und schon passen die neu 
eingegebenen Sachen nicht mehr zu den Sachen im keyfile. Vielleicht 
sollte ich in gnucash generell verbieten, ein existierendes keyfile 
auszuwählen -- oder zumindest eine fette Warnung einbauen.

Soweit ich dich verstanden habe, hast du noch keine eigenen Schlüssel an 
die Bank geschickt. Dann macht es überhaupt nichts, einfach das 
bisherige keyfile wegzuschmeißen und ein neues zu erstellen.

Gruß

Christian

> 
>  6. ich starte gnucash ..
> 
>  7. .. gehe in die hbci-einstellungen und gebe wieder alles ein (blz,
>     uid etc.) ..
> 
>  8. .. ich gebe das nun schon exisiterende keyfile im
>     entsprechenden dialog an
> 
>  9. im naechsten dialog will gnucash sich via hbci mit dem hbci-server
>     der bank verbinden und fragt nach meinem passwort (welches?)
> 
> 10. ich gebe das selbe passwort ein, mit dem ich mein lokales keyfile
> verschluesselt habe - gnucash crasht mit einem "schwerwiegenden gnome
> fehler bla bla"
> 
> backtrace wie folgt:
> -----------------------------------------------------------------------
> (gdb) backtrace f
> #0  0x0836fec0 in ?? ()
> No symbol table info available.
> #1  0x4174adea in HBCI::SEGPreProcessing::toString(int)
> (this=0xbfffd38c,     segnr=137821888) at adminsegs.cpp:477
>         result = {static npos = Internal: global symbol `_ZNSs4nposE'
> found in .                                                              
>                                                      
> ./../../../gcc-3.2.3/libstdc++-v3/src/string-inst.cc psymtab but not in
> symtab._ZNSs4nposE may be an inlined function, or may be a template
> function(if a template, try specifying an instantiation:
> _ZNSs4nposE<type>).(gdb) backtrace
> #0  0x0836fec0 in ?? ()
> ##1  0x4174adea in HBCI::SEGPreProcessing::toString(int)
> (this=0xbfffd38c,     segnr=137821888) at adminsegs.cpp:477

Martin: ist die segnr hier nicht sowieso viel zu groß und deutet auf 
eine fehlerhafte Initialisierung hin?

Die Problemursache könnte damit zusammenhängen, daß gnucash 
HBCI_API_createNewMedium mit dem existierenden keyfile aufruft. Wobei 
die Bank/User/Customer vorher schon alle brav neu erzeugt werden. Aber 
ich glaub in KeyFilePlugin::createNewMedium verläßt er sich bei 
existierendem keyfile darauf, daß exakt die passenden Bank/User/Customer 
in der API existieren... vielleicht sollte Gnucash vor dem Akzeptieren 
des existierenden keyfiles den context im keyfile genauer überprüfen. 
Früher hatte ich das nicht eingebaut, weil ich a) die Funktionen immer 
noch nicht verstanden hatte, und b) ich noch kein C wrappers dafür 
hatte. Aber nun könnte ich das theoretisch mal machen... vielleicht hab 
ich aber auch doch keine Zeit. Naja.

Christian