Hallo, es ist zwar kein spezifischen OpenSuSE-Problem (verwende 13.2.), aber vielleicht hat ja jemand einen Tip für mich. Angelehnt an die Beispiele zur Authentifizierung in der AVM-Doku (https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AVM_TR-06...; Abschnitt 10.7) habe ich versucht, ein Skript zum Setzen eines PortMappings zu setzen, was aber leider nicht funktioniert: #!/bin/sh new_remote_host="" new_external_port="80" new_protocol="TCP" new_internal_port="80" new_internal_client="192.168.1.3" new_enabled="1" new_port_mapping_description="http forward for letsencrypt" new_lease_duration="" FBIP='192.168.178.1' FBPORT='49000' user=dslf-config password=<password> # muss passend eingesetzt werden # Passwort der Weboberfläche # die sed Zeilen sind hier umbrochen, gehören in eine Zeile control_url="`curl -m 5 -s "http://${FBIP}:${FBPORT}/igddesc.xml" | \ sed -e '/WANIPConn1</controlURL>/!d' -e 's/^<controlURL>//' -e 's/</controlURL>.*$//'`" urn="`curl -m 5 -s "http://${FBIP}:${FBPORT}/igddesc.xml" | \ sed -e '/WANIPConnection:1</serviceType>/!d' -e 's/^<serviceType>//' -e 's/</serviceType>.* # Achtung: auch hier Umbrüche enthalten curl -m 5 -k --digest -u ${user}:$password} "http://${FBIP} ${FBPORT}${control_url}" \ -H "Content-Type: text/xml; charset='utf-8'" \ -H "SoapAction:${urn}#AddPortMapping" \ -d "<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Header> <h:InitChallenge xmlns:h='http://soap-authentication.org/digest/2001/10/' s:mustUnderstand='1'> <UserID>${user}</UserID> </h:InitChallenge> </s:Header> <s:Body> <u:AddPortMapping xmlns:u='${urn}'> <NewPortMappingDescription>${new_port_mapping_description}</NewPortMappingDescription> <NewLeaseDuration>${new_lease_duration}</NewLeaseDuration> <NewInternalClient>${new_internal_client}</NewInternalClient> <NewEnabled>${new_enabled}</NewEnabled> <NewExternalPort>${new_external_port}</NewExternalPort> <NewRemoteHost>${new_remote_host}</NewRemoteHost> <NewProtocol>${new_protocol}</NewProtocol> <NewInternalPort>${new_internal_port}</NewInternalPort> </u:AddPortMapping> </s:Body> </s:Envelope>" \ -s Antwort: <?xml version="1.0"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <s:Body> <s:Fault> <faultcode>s:Client</faultcode> <faultstring>UPnPError</faultstring> <detail> <UPnPError xmlns="urn:schemas-upnp-org:control-1-0"> <errorCode>502</errorCode> <errorDescription>XML error</errorDescription> </UPnPError> </detail> </s:Fault> </s:Body> </s:Envelope>0 Laut AVM-Doku erwarte ich zwar einen Fehler, aber dabei auch die Übergabe einer Nonce, um die Anfrage authentifiziert wiederholen zu können, z. B. sowas: Request: <?xml version="1.0" encoding="utf-8"?> <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" > <s:Header> <h:InitChallenge xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1"> <UserID>admin</UserID> </h:InitChallenge > </s:Header> <s:Body> <u:GetHostNumberOfEntries xmlns:u="urn:dslforum-org:service:Hosts:1"> </u:GetHostNumberOfEntries> </s:Body> </s:Envelope> Response: <?xml version="1.0" encoding="utf-8"?> <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" > <s:Header> <h:Challenge xmlns:h="http://soap-authentication.org/digest/2001/10/" s:mustUnderstand="1"> <Status>Unauthenticated</Status> <Nonce>F758BE72FB999CEA</Nonce> <Realm>F!Box SOAP-Auth</Realm> </h:Challenge> </s:Header> <s:Body> <sFault> <errorCode>503</errorCode> <errorDescription>Auth. failed</errorDescription> </s:Fault> </s:Body> </s:Envelope> Mit der Nonce kann man dann fortsetzen. Setze ich in der Fritzbox-Oberfläche unter Internet|Freigaben|Portfreigaben die Option "Alle Geräte im Heimnetz dürfen Portfreigaben selbstständig verändern", können unter weglassen des InitChallenge-Headers Portfreigaben ohne Authentifizierung gesetzt werden, was aber nicht gewünscht ist. Wo liegt der (Denk-)Fehler? -- Gruß Marcus Marcus Röckrath -- Vikarsbusch 8 -- D-48308 Senden -- Germany Phone: +49-2536-9944 -- Fax: +49-2536-9943 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org