Zumindest ein Mobilfunk Provider scheint Daten bei der Übertragung zu komprimieren. Das führt zu Problemen beim FHEM Update: https://forum.fhem.de/index.php/topic,74337.0.html
Ich fände es sinnvoll die Dateien von fhem.de beim Update generell mit https zu übertragen.
Soweit ich sehe, es reicht http gegen https in controls.txt manuell auszutauschen.
Wir koennten auch in fhem.de das zwangsweise Umleiten auf https aktivieren, wuerde aber alle ausgrenzen, die kein IO::Socket::SSL installiert haben oder gar koennen. Falls jemand Ideen hat, wie wir einen sanften Umstieg realisieren koennen, der moege sich melden.
Zitatdie kein IO::Socket::SSL installiert haben oder gar koennen
Das hatte ich nicht bedacht. Wie wäre es anfangs in 98_update.pm zu prüfen, ob IO::Socket::SSL geladen werden kann. Falls ja, dann spätestens in upd_getUrl() http://fhem.de durch https://fhem.de ersetzen. Nicht besonders schön, aber man sperrt niemanden aus.
Zitat von: rudolfkoenig am 19 Juli 2017, 07:34:30
Falls jemand Ideen hat, wie wir einen sanften Umstieg realisieren koennen, der moege sich melden.
*meld*
Index: 98_update.pm
===================================================================
--- 98_update.pm (revision 14744)
+++ 98_update.pm (working copy)
@@ -29,6 +29,9 @@
my $upd_nChanged;
my $upd_running;
+my $update_proto = 'http';
+eval( "use IO::Socket::SSL" );
+$update_proto .= 's' unless ($@);
########################################
sub
und dann die im control-File gefundene URL modifizieren: "http://" durch "$update_proto://" per regexp ersetzen.
Noch einfacher wäre, im control-File gar kein Protokoll anzugeben, aber das wäre nicht kompatibel zu bestehenden Installationen.
Das ist zwar nett (implementiert den Vorschlag von dev0), aber vmtl. unvollstaendig, da update_proto mW nicht verwendet wird. Wenn Patch, dann bitte getestet. Oder ich habe heute eine lange Leitung :)
Nirgends steht, dass das ein vollständiger patch ist, aber es ist zumindest ein vollständig beschriebener Lösungsvorschlag.
Zitat von: betateilchen am 19 Juli 2017, 11:10:07
und dann die im control-File gefundene URL modifizieren: "http://" durch "$update_proto://" per regexp ersetzen.
Da Du mit von mir vorgeschlagenen regexp bisher nie zufrieden warst und sie immer anders eingebaut hast, als von mir vorgeschlagen, wollte ich diesen Teil der Lösung heute gleich Dir überlassen 8)
Der Patch ist in meiner Umgebung getestet und macht was er soll. Da aber gerade beim update command ein Fehler sehr unangenehm wäre, bitte selbst noch einmal checken.
Index: FHEM/98_update.pm
===================================================================
--- FHEM/98_update.pm (revision 14748)
+++ FHEM/98_update.pm (working copy)
@@ -29,6 +29,8 @@
my $upd_nChanged;
my $upd_running;
+eval "require IO::Socket::SSL"; # Forum #74387
+my $hasSSL = $@ ? 0 : 1;
########################################
sub
@@ -239,6 +241,7 @@
{
my ($curr, $max, $src, $arg) = @_;
my ($basePath, $ctrlFileName);
+ $src =~ s'^http://fhem\.de'https://fhem.de' if($hasSSL); # Forum #74387
if($src !~ m,^(.*)/([^/]*)$,) {
uLog 1, "Cannot parse $src, probably not a valid http control file";
return;
Ich werde das erst naechste Woche testen/einchecken, da ich in den naechsten paar Tagen evtl. nicht ausreichend Zeit fuer FHEM haben werde.
Habe den Vorschlag nach einem kurzen Test eingecheckt.
Hallo,
ich habe den gleichen Fehler.
Wie ist die Vorgehensweise?
Manueller Download über den Browser und dann neu installieren?
Oder den Beispielcode in die Datei 98_update kopieren?
HJL
Du kannst auch direkt in controls.txt den Link auf https umstellen, wenn Dein Update nicht durchläuft.
Schaaade.
Bringts leider auch nichts.
Fehlermeldung:
https://fhem.de/fhemupdate/controls_fhem.txt: Can't connect(2) to https://fhem.de:443: SSL Version SSLv2 not supported error:00000000:lib(0):func(0):reason(0)
Über Windows und Firefox kann ich ohen Probleme hierauf zugreifen:
https://fhem.de/fhemupdate/controls_fhem.txt
Achim
Suche mal im Forum nach
SSL Version SSLv2 not supported
Grüße
Zitat von: KnutWuchtig am 03 August 2017, 20:17:04
ich habe den gleichen Fehler.
Zitat von: KnutWuchtig am 04 August 2017, 10:52:36
Fehlermeldung:
https://fhem.de/fhemupdate/controls_fhem.txt: Can't connect(2) to https://fhem.de:443: SSL Version SSLv2 not supported error:00000000:lib(0):func(0):reason(0)
Du hast nicht "den gleichen Fehler". Bitte an einen passenden Thread anhängen oder einen eigenen Thread dazu beginnen.
Danke.
Zitat von: rudolfkoenig am 19 Juli 2017, 07:34:30Wir koennten auch in fhem.de das zwangsweise Umleiten auf https aktivieren, wuerde aber alle ausgrenzen, die kein IO::Socket::SSL installiert haben oder gar koennen.
Offenbar trifft das genau bei mir zu.
Ich habe seit einiger Zeit bei auf einem älteren System das Problem daß ich IO::Socket:SSL nicht installieren kann und offenbar deswegen kein update mehr funktioniert. Egal ob mit oder ohne den Parameter -noSSL bekomme ich immer folgende Fehlermeldung
update -noSSL check
Downloading http://fhem.de/fhemupdate/controls_fhem.txt
https://fhem.de:443: Can't locate IO/Socket/SSL.pm in @INC (you may need to install the IO::Socket::SSL module) (@INC contains: ./lib ./FHEM . /opt/lib/perl5/5.26) at (eval 517) line 1.
BEGIN failed--compilation aborted at (eval 517) line 1.
Anscheinend funktioniert der Parameter -noSSL nicht mehr. Gibt es eine einfache Möglichkeit den Update per http wieder ans Laufen zu bekommen?