• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Geolog: Fehler bei Minus im Ownernamen

Beim Aufruf von Geolog bricht dieses bei mir immer mit einer Fehlermeldung ab (Version 2.92). Das liegt scheinbar an einem Minus im Ownernamen.

Die Fehlermeldung:
Code:
Download der neu entdeckten Fundlogs:
 1/60 Download der Cachebeschreibung fuer GC5Z18H ... .[---------]
  Name: PSW - Kleine Kapelle
  hole Usernamen fuer 801b0a57-db7e-4530-a5d1-7dd4c55810c1 ... .[---------]
  Username:

 DB: fuege User  hinzuDBD::SQLite::db prepare failed: near ")": syntax error at
C:\geolog\geolog.pl line 11998.

Es ist ein Fehler aufgetreten: Can't call method "execute" on an undefined value
 at C:\geolog\geolog.pl line 11999.
Gibt es dafür eine Lösung?
 
OP
FriedrichFröbel

FriedrichFröbel

Geocacher
Update: Das Problem scheint immer beim Abruf eines Ownernamens aufzutauchen, der noch nicht in der Datenbank auftaucht. Sobald ich diesen manuell in die Datenbank eintrage, funktioniert es.
Ich verwende die Perl-Version unter Windows.
 

marsipulami0815

Geocacher
Schlechtwetter im Urlaub, da ist Zeit zum Probieren...

Bei mir ist das aufgefallen bei einem Usernamen mit "&" im Namen. Nach manuellem einpflegen (sqlitebrowser hilft da enorm) kam der Fehler gleich wieder, diesmal aber bei einem Namen nur aus Buchstaben :-( Ich habe mir dann mal die Zeilen angesehen und mir fiel dabei auf, dass im SQL statement nur der Eintrag für "name" in doublequotes steht, der Eintrag für "luid" steht dort mit einfachem Hochkomma eingeschlossen und der Eintrag für die Userid wird von gar nichts eingeschlossen. Da ich keine Sonderzeichen in der Userid oder der luid feststellen kann, hat sich möglicherweise was anderes dort eingeschlichen, was vom GC-Server da geliefert wird...? Wenn ich alle drei Einträge mit \" einschliesse, dann geht es wieder. Nebenwirkungen habe ich bis jetzt keine festgestellt.

Zeile 12000 im original (Ver 2.92):
Code:
    $sql = qq(INSERT OR REPLACE INTO gcUserTable (name, luid, userid) VALUES ( \"$dbuser{'name'}\", '$dbuser{'luid'}', $dbuser{'userid'} ));

Zeile 12000 geändert (Ver 2.92):
Code:
    $sql = qq(INSERT OR REPLACE INTO gcUserTable (name, luid, userid) VALUES ( \"$dbuser{'name'}\", \"'$dbuser{'luid'}'\", \"$dbuser{'userid'}\" ));

VG, Marcus
 

SammysHP

Moderator
Teammitglied
Mit Perl kenne ich mich nicht aus, aber das sieht mir sehr nach einer SQL Injection Lücke aus.
 

marsipulami0815

Geocacher
Mit Perl kenne ich mich ebenfalls nicht aus und von SQL habe ich auch nur rudimentäre Kenntnisse. Ob das jetzt eine Sicherheitslücke ist, weiß ich daher auch nicht. Das war ja auch nur ein Schuss ins Blaue, dass ich die anderen beiden Einträge noch ge-quotet habe...
Gibts eigentlich die Möglichkeit, im SVN tickets einzutragen? Soweit ich dass gesehen habe, ist das nur fü® "Auserwählte" ;-)

VG, Marcus
 

Mc-Slipper

Geonewbie
Gibt es eigentlich mittlerweile eine Lösung dafür oder ist das Projekt gestorben?

Habe eben auch ein Minus Zeichen im Namen und Geolog 2.92 bricht beim installieren mit para.zip Fehler ab und erstellt die para.err

Umebenennen der para.err in para.html bring nichts.

Habe das Programm/Script bis zum Hitzetod meine iMacs (Win7 Partition) im Sommer 2015 gerne benutzt.

Im Herbst habe ich mir dann nen neuen Win-PC gebaut und seit dem veruche ich gefrustet GeoLog mit seinen Programmen zu installieren, funktioniert aber leider nicht mehr.

Happy huntig
Mc-Slipper
 

SammysHP

Moderator
Teammitglied
Das ist etwas anderes. Kann es sein, dass geolog keine Schreibberechtigung für das Verzeichnis hast? Nimm mal ein Verzeichnis in deinem Benutzerverzeichnis.
 

Mc-Slipper

Geonewbie
Nein, daran liegt es nicht.
Selbst im Downloadordner oder sonst wo unter "User" (Benutzerverzeichnis) funktioniert es nicht mehr.
Gleiche Meldung mit der para.zip
 

Inder

Geowizard
Hast Du es im geänderten Verzeichnis komplett neu initialisiert oder nur rüberkopiert? Beim ersten Aufruf speichert das Programm die Pfade. Und wenn da ein schreibgeschützter Pfad eingetragen ist, dann bleibt der Fehler auch, wenn das Programm woanders hin wandert.
In der Hilfe steht, mit welchem Parameter man es starten muss, damit die Einstellungen neu generiert werden.
 
OP
FriedrichFröbel

FriedrichFröbel

Geocacher
Scheinbar ist der Server "garr.dl.sourceforge.net", der angesprochen wird, nicht mehr online. Bei mir kommt da jedenfalls ein DNS-Error, wenn ich es via Browser probiere.
 

SammysHP

Moderator
Teammitglied
Jup, der Mirror existiert wohl nicht mehr. Keine Ahnung, warum ausgewählte Mirrors im Source stehen.

Code:
    my (@SFDownloads) = (
        'http://garr.dl.sourceforge.net/project/geolog',
        'http://netcologne.dl.sourceforge.net/project/geolog',
        'http://freefr.dl.sourceforge.net/project/geolog'
        );

Das steht in Zeile 3244 bei mir. Nimm einfach die Zeile raus. Wenn der Fehler dann immer noch auftritt, dürfte es an etwas anderem liegen.
 

Coolmonkey

Geocacher
Hallo,
hatte heute auch das Problem.
Ich habe das hier gefunden:

http://geoclub.de/forum/viewtopic.php?f=103&t=69239&p=1098362&hilit=para.zip#p1086847

Die Version 2.92 in para.zip umbenennen, hat funktioniert.

Gruß
Coolmonkey
 

geomitast

Geocacher
Hallo,

ich habe diesen Fehler mit den Ownernamen heute zum ersten Mal bei mir.
Version 2.93
Neuer owner, der bisher nicht in der DB war.
Der Ownername besteht nur aus Buchstaben und Zahlen.
Bitte: :hilfe:

Schon mal großen Dank
geomitast
 

geomitast

Geocacher
Die Fehlermeldung:
DB: fuege User hinzuDBD::SQLite::db prepare failed: near ")": syntax error at
C:\Programm Files\Geolog\geolog.pl line 11949
Es ist ein Fehler aufgetreten: Can´t call method "execute" on an undefined value at
C:\Programm Files\Geolog\geolog.pl line 11950
 

geomitast

Geocacher
Die damalige Änderung von "marsipulami0815" in Zeile 12000 bringt auch beim jetzigen Fehler Erfolg.
Ich habe die Zeile 11949 mit dem damaligen Code ersetzt und es läuft wieder.
Könnte sich das ein Profi ansehen und evtl. eine neue Version erstellen in der das fachmännisch repariert ist?!

Bitte last geolog und ocprop nicht sterben!!!!
 
Oben