You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Saturday, June 4th 2011, 5:35pm

[Gelöst] SVDRP nimmt keine Verbindungen an (svdrphosts.conf aber korrekt)

Hallo zusammen,

ich habe schon seit einiger Zeit das Problem, dass sich vdradmin-am nicht mehr mit meinem VDR verbinden kann.
Zuerst musste ich feststellen, dass meine VDR-Installation zu neu ist (e-tobi repository) und daher den Port 6419 nutzt usw.
Lange Rede, kurzer Sinn: Es stellte sich heraus, dass ich nicht einmal per telnet auf VDR zugreifen kann. Ich kreige nur diese Meldung:

Server:~# telnet localhost 6419
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Access denied!
Connection closed by foreign host.

In der /var/log/syslog erscheint lediglich der Eintrag:

Jun 4 17:24:25 Server vdr: [4008] connect from 127.0.0.1, port 44302 - DENIED

Dabei wechselt der Port mit jedem Versuch.

Meine svdrphosts.conf ist allerdings richtig konfiguriert, also 127.0.0.1 eingetragen (siehe Anhang). :wand

Hoffentlich könnt Ihr mir helfen, langsam bin ich echt am verzweifeln.

Grüße,
Diewi
Diewi has attached the following files:
  • svdrphosts.conf (442 Byte - 147 times downloaded - latest: Jul 22nd 2014, 9:03pm)
  • syslog.txt (9.57 kB - 62 times downloaded - latest: Jun 4th 2014, 4:36pm)

This post has been edited 1 times, last edit by "Diewi" (Jun 6th 2011, 7:35pm)


2

Saturday, June 4th 2011, 7:50pm

Nur mal nen schuss in blaue, bei der Installation fragt der Debian Installer den Wunschrechnernamen ab. Hast du den nachträglich geändert?

cu

Mein VDR

Mein VDR
Digitainer2xBouget DVB-SDebian Squeeze (Kernel 2.6.35.3 von kernel.org)Softdevice Ausgabepluginvdr 1.6.0-3 (Extensions Patch 72) und viele Plugins von SourceMedion X10 FernbedienungSDC-Megtron Display (240x128x1) mit GraphLCD-PluginFreevo 1.9.0
Vodcatcher Helper in ein freundliches DEB verpackt, Tester Willkommen: http://dl.dropbox.com/s/705bh6ydgisfrqu/index.htmlFingerprint: 8A104A00D5031773A9F72A19BAEE135EA7860149

3

Sunday, June 5th 2011, 11:42am

Danke für deine schnelle Antwort.Meinst du den Rechnernamen in /etc/hosts? Nein, den habe ich seit der Installation nicht geändert.
Hier wäre meine /etc/hosts:


127.0.0.1 localhost
127.0.1.1 Server.fritz.box Server

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


Die zweite Zeile mit dem Eintrag 127.0.1.1 erscheint mir doch etwas komisch, mein Gentoo habe ich etwas anders konfiguriert. Da werde ich mal ein wenig herumprobieren.

Wenn ich ein telnet auf "Server.fritz.box" durchführe bekomme ich folgende Meldung (svdrphosts.conf vorher angepasst, 0.0.0.0/0 erlaubt):


Server:~# telnet Server.fritz.box 6419
Trying 127.0.1.1...
telnet: Unable to connect to remote host: Connection refused

Merkwürdig.

4

Sunday, June 5th 2011, 1:11pm

Source code

1
127.0.1.1 Server.fritz.box Server

Was soll das denn sein? Wenn die Fritzbox fritz.box heißt, dann wäre die Domain ".box", also müsste es server.box heißen. Da die Fritzbox meines Wissens nach aber kein DNS-Server hat (nur DNS-forwarding) würde ich lieber ein lokales Netz nehmen, die Fritzbox vergibt dafür standardmäßig 192.168.178.x als Adressen. Außerdem hat der Rechner ja sowieso schon eine Adresse aus dem Bereich für seinen eth0 bekommen (siehe Ausgabe von ifconfig). Die 127er Adressen habe alle Sonderstatus - da würde ich im Normallfall nichts ändern oder vergeben.
Versuche doch mal den Eintrag 127.0.1.1 mit der Adresse zu ersetzen die von ifconfig ausgegeben wird und nem anderen Hostnamen, z.B. "192.168.178.2 server.site".

5

Sunday, June 5th 2011, 3:30pm

Vielen Dank für deine Ideen, FireFly.

Ich habe noch die ersten beiden Zeilen auf "127.0.0.1 Server.fritz.box Server localhost" geändert, hat aber erwartungsgemäß nichts gebracht.

Ein Eintrag mit der eth0-IP würde bei mir wohl nichts bringen, da ich nur lokal auf dem Rechner arbeite. Ich habe mich per ssh eingeloggt und versuche dann eine telnet-Verbindung zum VDR aufzubauen. Aber ich habe auch den Ansatz mit "192.168.178.x Server.Home" ausprobiert. Geholfen hat's leider nichts. Komischerweise kann ich nicht von außen auf den VDR zugreifen (also mittels "telnet 192.168.178.x 6419" mit einem anderen Rechner). Dann heißt es nur "Connection refused".
Bevor hier ein falscher Verdacht aufkommt; die IPTables sind leer.
Diewi has attached the following file:
  • netstat.txt (2.22 kB - 61 times downloaded - latest: Jul 17th 2014, 9:41am)

schmirl

Professional

Posts: 1,285

Location: Nähe Augsburg

  • Send private message

6

Monday, June 6th 2011, 8:36am

Zwischen diesen beiden Zeilen wird versucht die svdrphosts.conf zu laden:

Quoted

Jun 4 17:24:14 Server vdr: [4008] loading /var/lib/vdr/reccmds.conf
Jun 4 17:24:14 Server vdr: [4008] loading /var/lib/vdr/remote.conf

Da dort nichts von svdrphosts.conf steht, kann VDR keine /var/lib/vdr/svdrphosts.conf lesen. Prüfe bitte, ob Du die Datei tatsächlich in diesem Verzeichnis liegt und ob VDR ausreichend Rechte hat, die Datei zu lesen.

7

Monday, June 6th 2011, 10:22am

Gute Idee, schmirl. Die Datei liegt in /var/lib/vdr/. Die Zugriffsrechte habe ich noch nicht überprüft, werde ich aber machen, sobald ich wieder zuhause bin.

[UPDATE]
Dein Hinweis ist wohl genau der richtige. Das Verzeichnis /var/lib/vdr enthält fast nur symlinks auf /etc/vdr/*. Die Rechte dort sind "rw-r-r" für den Benutzer vdr und die Gruppe vdr. Scheint mir richtig zu sein, ist es aber wohl nicht. Ich habe nämlich den vdr nun mal ohne die Option "-u vdr" gestartet, also mit root-Rechten und promt erscheint die Zeile "loading svdrphosts.conf". Ich werde das jetzt weiter untersuchen mich mit der Lösung melden, wenn ich sie gefunden habe.

Vielen Dank an alle die mir hier geholfen haben.

[/UPDATE]

This post has been edited 1 times, last edit by "Diewi" (Jun 6th 2011, 6:16pm) with the following reason: update


8

Monday, June 6th 2011, 7:34pm

So, Problem gelöst.

Wie zuvor gesagt, kann der VDR die Datei /var/lib/vdr/svdrphosts.conf einlesen, wenn er mit root-Rechten gestartet wurde. Jetzt habe ich den symlink aus /var/lib/vdr durch die eigentliche Datei /etc/vdr/svdrphosts.conf (Dorthin zeigte der symlink) ersetzt. Nun nimmt mein VDR auch mit der Option "-u vdr" Kommandos mittels SVDRP entgegen.
Ich nehme an, dass der VDR darüber stolpert, dass die symlinks, anders als die eigentliche Datei, "volle" Rechte haben und dadurch beim einlesen stolpert.

Nochmals Vielen Dank.

Grüße,
Diewi

schmirl

Professional

Posts: 1,285

Location: Nähe Augsburg

  • Send private message

9

Tuesday, June 7th 2011, 8:45am

Nein, mit den vollen Rechten des Symlinks hat das nichts zu tun. Entscheidend sind die Rechte der Zieldatei. Wenn VDR mit der -u Option läuft, hat er zum Zeitpunkt des Einlesens seiner Konfigurationsdateien bereits seine root-Rechte abgegeben. Vermutlich war deine svdrphosts.conf nur für root lesbar.

10

Tuesday, June 7th 2011, 5:54pm

So, jetzt habe ich noch ein paar Tests gemacht. Es lag definitiv am Symlink und nichts anderem. Vielleicht hilft's noch wem, da ich vor einiger Zeit schon mal gelesen hatte, dass ein E-tobi-VDR-Nutzer das gleiche Problem hatte, um dann wieder auf die c't-Version zu wechseln.

Folgende Schritte:

- "ls -l /etc/vdr/" --> Ausgabe (gekürzt): "-rw-r--r-- 1 vdr vdr 441 5. Jun 11:41 svdrphosts.conf"
- "rm /var/lib/vdr/svdrphosts.conf"
- "ln -s /etc/vdr/svdrphosts.conf /var/lib/vdr/svdrphosts.conf"
- "/etc/init.d/vdr restart"
- "less /var/log/syslog" --> loading svdrphosts.conf fehlt: Jun 7 17:40:31 Server vdr: [2156] loading /var/lib/vdr/reccmds.conf
Jun 7 17:40:31 Server vdr: [2156] loading /var/lib/vdr/remote.conf

- "rm /var/lib/vdr/svdrphosts.conf"

- "cp /etc/vdr/svdrphosts.conf /var/lib/vdr/"
- "/etc/init.d/vdr restart"

- "less /var/log/syslog" --> loading svdrphosts.conf vorhanden: Jun 7 17:43:54 Server vdr: [2295] loading /var/lib/vdr/reccmds.conf
Jun 7 17:43:54 Server vdr: [2295] loading /var/lib/vdr/svdrphosts.conf
Jun 7 17:43:54 Server vdr: [2295] loading /var/lib/vdr/remote.conf


Nur, um das klar zu stellen, mir geht es hier nicht um Rechthaberei, sondern ich finde den Fehler einfach nur so verzwickt, dass ich noch einmal explizit darauf hinweisen wollte.
Hervorgerufen wird dieses Verhalten wohl durch eine wie auch immer geartete Abfrage über die Rechte oder den Typ der zu öffnenden Datei (Sicherheit!). Bei den elementaren Dateioperationen kann ich schon vorstellen, dass der Link dann nicht aufgelöst wird, sondern dessen Rechte zurückgegeben werden. Ich meine mich erinnern zu können, dass ich vor 4 oder 5 Jahren einen ähnlichen Fehler bei einem anderen Programm hatte, der auch nur durch einen Symlink hervorgerufen wurde.

@schmirl: Natürlich liegt es nahe, dass der Fehler hier eher beim Benutzer zu suchen wäre (eine Zeile verrutscht etc.). Das trifft bei so etwas wohl auch auf 99% der Fälle zu (Hätte ich wohl auch vermutet). Hier haben wir wohl eine der wenigen Ausnahmen.

Viele Grüße,
Diewi

11

Tuesday, June 7th 2011, 8:46pm

Hervorgerufen wird dieses Verhalten wohl durch eine wie auch immer geartete Abfrage über die Rechte ....
Ja

Quoted

... oder den Typ der zu öffnenden Datei (Sicherheit!).
Nein. Unixe prüfen immer nur die Rechte, evtl. noch ACL falls vorhanden (Access Control List, also erweiterte Rechteverwaltung), aber der Typ der Datei wird nie geprüft. Wenn ein Programm mit der Datei nichts anfangen kann dann ist das dessen Problem.
Man hätte das Problem genauer analysieren können wenn man sich als VDR-User angemeldet und mit diesem dann den Zugriff getestet hätte, aber jetzt gibts die Datei in der Form ja nicht mehr.

12

Tuesday, June 7th 2011, 10:15pm

Normalerweise lädt der vdr genauso sources.conf und diseqc.conf, die ebenso symbolische links sind und in deiner syslog fehlen.
Was sagt denn
ls -ld /etc/vdr
Evtl. fehlen die Rechte, das Verzeichnis zu durchsuchen, sie sollten auf rwxr-xr-x stehen!!!
vdr-2.1.6
linux-3.2.0-60 M3N78-VM DVB-C softhddev skinnopacity
yavdr-0.5 mit vielen Anpassungen (ramdisk, xbmc mit LCDd über glcdlib, vdrnfofs, ...)