[bug] Passwort wird nicht gelöscht

Begonnen von betateilchen, 15 November 2017, 22:23:32

Vorheriges Thema - Nächstes Thema

betateilchen

Beim Löschen eines fritzbox-devices wird ein ggf. in FHEM gespeichertes Passwort zu diesem device nicht gelöscht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

#1
Was fuer ein Typ ist dein Fritzbox-Device? Mir sind 3 (bzw. 4, wenn man FBAHA dazuzaehlt) unterschiedliche, mit jeweils unterschiedlichen Maintainer bekannt.

rudolfkoenig

FBAHAHTTP loescht ab sofort das gespeicherte Passwort nach einem delete.

nils_

viele Wege in FHEM es gibt!

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Ich bin Mal verwegen und behaupte das keiner die Passwörter aus dem FHEM Container löscht  ;D



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

marvin78


CoolTux

Wenn man sowas nicht explizit im Kopf behält verliert man das schnell Mal beim coden aus dem Augen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

Zitat von: CoolTux am 16 November 2017, 15:48:02
Ich bin Mal verwegen und behaupte das keiner die Passwörter aus dem FHEM Container löscht

Eine diesbezügliche Wette würdest Du verlieren, wenn Du die Aussage auf alle Module beziehst.


sub GDS_Delete() {
my ($hash, $arg) = @_;
my $name = $hash->{NAME};
setKeyValue($name."_user",undef);
setKeyValue($name."_pass",undef);
setKeyValue($name."_host",undef);
}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Zitat von: betateilchen am 16 November 2017, 20:24:36
Eine diesbezügliche Wette würdest Du verlieren, wenn Du die Aussage auf alle Module beziehst.


sub GDS_Delete() {
my ($hash, $arg) = @_;
my $name = $hash->{NAME};
setKeyValue($name."_user",undef);
setKeyValue($name."_pass",undef);
setKeyValue($name."_host",undef);
}


Streber  :P ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Markus Bloch

Zitat von: rudolfkoenig am 16 November 2017, 09:49:41
FBAHAHTTP loescht ab sofort das gespeicherte Passwort nach einem delete.

dito für FB_CALLMONITOR.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

tupol

fixed für FRITZBOX

Beim Rename geht es nicht, weil der Routine laut wiki kein $hash übergeben wird.

Markus Bloch

#12
Zitat von: tupol am 19 November 2017, 13:32:20
Beim Rename geht es nicht, weil der Routine laut wiki kein $hash übergeben wird.

Geht durchaus:

sub X_Rename($$)
{
    my ($new, $old) = @_; 
   
    my $hash = $defs{$new};
   
...


Macht aber kein Sinn, da die Hash-Referenz die gleiche bleibt. Der Hash wird 1:1 mitgenommen. Zum Zeitpunkt des Aufrufes von der RenameFn existiert $defs{$old} bereits nicht mehr.
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Markus Bloch

Beispielhaft so in deinem Fall:


sub FRITZBOX_Rename($$)
{
    my ($new, $old) = @_; 
   
    my $old_index = "FRITZBOX_".$old."_passwd";
    my $new_index = "FRITZBOX_".$new."_passwd";
   
    my ($err, $old_pwd) = getKeyValue($old_index);
   
    setKeyValue($new_index, $old_pwd);
    setKeyValue($old_index, undef);
}

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

tupol