[Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
JimPoison
Einsteiger
Einsteiger
Beiträge: 312
Registriert: Samstag 29. November 2003, 00:20

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von JimPoison »

sehe ich das richtig, daß es jetzt so angelegt ist, daß, wenn man den ntpd durch anlegen der ntpd.conf aktiviert, die optionen in den netzwerkeinstellungen (also dvb/ntp und das intervall) keinerlei auswirkung mehr haben?
also wird die zeit jetzt nur noch beim start gesetzt und danach nicht mehr?
ich meine das ist ok für mich, sollte ja so reichen, es geht mir nur ums verständnis.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

* Der openntpd setzt die Zeit kontinuierlich.
* Ohne dass sie vor und zurück springt.
* Durch leichtes verstellen der Geschwindigkeit der Systemuhr.

Notwendig ist das z.B. wenn man das "power save"-Feature im Neutrino nutzt, weil sonst, zumindest auf meiner Philips mit 2.6, die Uhr pro Tag 2 Minuten vorgeht.

Es wäre durchaus möglich, den support für den ntpd in die GUI einzubauen und noch robuster zu machen (ich glaube, wenn beim starten kein Netzwerk da ist, dann synchronisiert er nie mehr), aber das überlasse ich denen, die das haben wollen. Für mich reicht es so, wie es jetzt ist, vollkommen aus.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

@seife

könntest du --with-privsep-user=root ändern auf "ntp" oder ähnlichen. Der vorhandene User=root
in der passwd verursacht, wie schon oben gesagt den Ärger. Jedenfalls im Yadd.
Im Moment bauts den ntpd noch mit Rechte=600, dies könntest du dann auch gleich mit anpassen. :D
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

GetAway hat geschrieben:@seife

könntest du --with-privsep-user=root ändern auf "ntp" oder ähnlichen. Der vorhandene User=root
in der passwd verursacht, wie schon oben gesagt den Ärger. Jedenfalls im Yadd.
Im Moment bauts den ntpd noch mit Rechte=600, dies könntest du dann auch gleich mit anpassen. :D
funktioniert das bei dir:

Code: Alles auswählen

Index: make/contrib-apps.mk
===================================================================
RCS file: /cvs/tuxbox/cdk/make/contrib-apps.mk,v
retrieving revision 1.16
diff -r1.16 contrib-apps.mk
618c618
<               --sysconfdir=/var/etc --with-privsep-user=root && \
---
>               --sysconfdir=/var/etc --with-privsep-user=nobody --with-privsep-path=/share/empty && \
Das mit den Rechten ist bei mir nicht so:

Code: Alles auswählen

seife@stoetzler:/local/seife/src/tuxbox-newmake-26/cdk> ls -l ../root/cdkroot/sbin/ntpd
-rwxr-xr-x 1 seife suse 44240 28. Apr 16:36 ../root/cdkroot/sbin/ntpd*
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von rhabarber1848 »

seife hat geschrieben:* Der openntpd setzt die Zeit kontinuierlich.
Falls wir uns auf openntpd konzentrieren, ist der o.g. sectionsd-Patch dann noch nötig?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

@seife

ich mach es jetzt so:

Code: Alles auswählen

>               --sysconfdir=/var/etc --with-privsep-user=ntp --with-privsep-path=/share/empty && \
weil: es gibt schon user: root, sshd, ftp und nobody. mit "ntp" schlägt es jedenfalls nicht fehl.

@rhabarber1848:
Die Implementierung von ntpd geht einen ganz anderen Weg als der Patch.
Mit aktiven ntpd startet sectionsd ohne Timethread, ich glaube dann ist es sogar egal ob in den Neutrino
Einstellungen DVB oder NTP ausgewählt ist.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

Wenn es den user "ntp" nicht gibt, fällt da der ntpd nicht auf die Nase? Deswegen hätte ich "nobody" genommen, den gibt es schon.

EDIT: ja, fällt er.

Code: Alles auswählen

/dev/shm/tmp $ ./ntpd -s -d -f ntpd.conf
ntpd: unknown user ntp
Also nobody.

Beim Yadd kann es ein problem sein, wenn das privsep-Verzeichnis (ich nehme jetzt /share/empty) nicht root gehört, diesen check könnte man natürlich rauspatchen...
Zuletzt geändert von seife am Mittwoch 29. April 2009, 20:16, insgesamt 1-mal geändert.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

Leider kann ich keine Garantie geben das es im flash oder aus dem yadd mit ner anderen Distribution(Ubuntu 8.04) klappt.
Bei mir(yadd) geht es nur wenn es den User noch nicht gibt. Müßte nochmal wer anders testen.

Ich teste gleich nochmal mit root, jetzt wo das mit drin ist.

Code: Alles auswählen

--with-privsep-path=/share/empty
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

ich habe es jetzt auf

Code: Alles auswählen

--sysconfdir=/etc --with-privsep-user=nobody --with-privsep-path=/share/empty
Geändert.
Der einzige Grund, warum es nicht ging bei mir war, wenn /share/empty nicht root gehörte (yadd).
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

Es gibt bei mir immer noch Probleme:
Alles in einem leeren Verzeichnis frisch ausgecheckt.

Die Rechte 755 werden immer noch nicht gesetzt.
ntpd wird bei mir auch nicht nach cdkflash kopiert.

Ich habe das mal ein make flash-openntpd ausgeführt. Das kam dabei raus.
Irgendwer eine Idee dazu?

Code: Alles auswählen

powerpc-tuxbox-linux-gnu-ranlib libopenbsd-compat.a
make[2]: Verlasse Verzeichnis '/home/getaway/tuxbox/tuxbox-cvs-2.4/cdk/openntpd-3.9p1/openbsd-compat'
powerpc-tuxbox-linux-gnu-gcc -pipe -Os -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wshadow -Wpointer-arith -Wcast-qual -Wsign-compare -D_GNU_SOURCE -Wl,-O1 -o ntpd ntpd.o buffer.o log.o imsg.o ntp.o ntp_msg.o config.o server.o client.o util.o y.tab.o openbsd-compat/libopenbsd-compat.a -lcrypto 
mawk -f ./mdoc2man.awk ./ntpd.8 | \
	    sed -e 's|/etc/ntpd.conf|/var/etc/ntpd.conf|g' > ntpd.8.out || rm -f ntpd.8.out
mawk -f ./mdoc2man.awk ./ntpd.conf.5 | \
	    sed -e 's|/etc/ntpd.conf|/var/etc/ntpd.conf|g' > ntpd.conf.5.out || rm -f ntpd.8.out
make[1]: Verlasse Verzeichnis '/home/getaway/tuxbox/tuxbox-cvs-2.4/cdk/openntpd-3.9p1'
make[1]: Betrete Verzeichnis '/home/getaway/tuxbox/tuxbox-cvs-2.4/cdk/openntpd-3.9p1'
/usr/bin/install -c -m 0755 -s ntpd /home/getaway/tuxbox/dbox2-2.4/cdkroot/sbin/ntpd
strip: Unable to recognise the format of the input file `/home/getaway/tuxbox/dbox2-2.4/cdkroot/sbin/ntpd'
/usr/bin/install: strip‐Prozess beendete sich auf ungute Weise
make[1]: *** [install] Fehler 1
make[1]: Verlasse Verzeichnis '/home/getaway/tuxbox/tuxbox-cvs-2.4/cdk/openntpd-3.9p1'
make: *** [.deps/openntpd] Fehler 2
getaway@jars-desktop:~/tuxbox/tuxbox-cvs-2.4/cdk$ 

prodigy7
Erleuchteter
Erleuchteter
Beiträge: 595
Registriert: Donnerstag 1. Januar 2004, 16:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von prodigy7 »

Was kommt den als Ausgabe, wenn du

Code: Alles auswählen

file /home/getaway/tuxbox/dbox2-2.4/cdkroot/sbin/ntpd
eingibst? Eventuell kann strip mit dem Binary nix anfangen, weil es für die falsche Architektur gebaut wurde?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

Dies hier und er funktioniert auch wenn ich manuell die Rechte auf 755 setze.

Code: Alles auswählen

getaway@jars-desktop:~/tuxbox/tuxbox-cvs-2.4/cdk$ file /home/getaway/tuxbox/dbox2-2.4/cdkroot/sbin/ntpd
/home/getaway/tuxbox/dbox2-2.4/cdkroot/sbin/ntpd: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), not stripped
getaway@jars-desktop:~/tuxbox/tuxbox-cvs-2.4/cdk$ 
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

was sagt denn "strip <dein ntpd binary>" und "/pfad/zum/cdk/hostdir/binpowerpc-tuxbox-linux-gnu-strip <dein ntpd binary>"?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

seife hat geschrieben:was sagt denn "strip <dein ntpd binary>" und "/pfad/zum/cdk/hostdir/binpowerpc-tuxbox-linux-gnu-strip <dein ntpd binary>"?
Es würde übrigens mit 0755 installiert werden, wenn der strip nicht fehlschlagen würde ;)
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

Das 2. war erfolgreich. Scheinbar habe ich irgendwas verstellt? :gruebel:

Code: Alles auswählen

getaway@jars-desktop:~/tuxbox/dbox2-2.4/cdkroot/sbin$ strip ntpd
strip: Unable to recognise the format of the input file `ntpd'

Code: Alles auswählen

getaway@jars-desktop:~/tuxbox/dbox2-2.4/cdkroot/sbin$ /home/getaway/tuxbox/dbox2-2.4/cdk/bin/powerpc-tuxbox-linux-gnu-strip ntpd
getaway@jars-desktop:~/tuxbox/dbox2-2.4/cdkroot/sbin$ 

Code: Alles auswählen

getaway@jars-desktop:~/tuxbox/dbox2-2.4/cdkroot/sbin$ ls -l ntpd
-rw------- 1 getaway getaway 44240 2009-04-30 05:38 ntpd
Edit:

Übrigens:

Code: Alles auswählen

getaway@jars-desktop:~/tuxbox/dbox2-2.4/cdkroot/sbin$ which strip
/usr/bin/strip
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von rhabarber1848 »

GetAway hat geschrieben:

Code: Alles auswählen

getaway@jars-desktop:~/tuxbox/dbox2-2.4/cdkroot/sbin$ strip ntpd
strip: Unable to recognise the format of the input file `ntpd'
Logisch, Dein Host ist wahrscheinlich x86 und /usr/bin/strip
kann nur Dateien für diese Platform bearbeiten.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

oder die buildumgebung für openntpd ist nicht sauber.

Probier mal das:

Code: Alles auswählen

--- make/contrib-apps.mk        29 Apr 2009 18:22:33 -0000      1.18
+++ make/contrib-apps.mk        30 Apr 2009 15:54:10 -0000
@@ -611,13 +611,15 @@ endif
 $(DEPDIR)/openntpd: bootstrap @DEPENDS_openntpd@
        @PREPARE_openntpd@
        cd @DIR_openntpd@ && \
-               $(BUILDENV) ./configure \
+               ln -s `which $(target)-strip` strip; \
+               echo "ac_cv_path_AR=$(target)-ar" > config.cache; \
+               $(BUILDENV) ./configure --cache-file=config.cache \
                        --build=$(build) \
                        --host=$(target) \
                        --prefix= \
                        --sysconfdir=/var/etc --with-privsep-user=nobody --with-privsep-path=/share/empty && \
                $(MAKE) all &&\
-               @INSTALL_openntpd@
+               PATH=.:$(PATH) @INSTALL_openntpd@
        @CLEANUP_openntpd@
        touch $@
rhabarber: das scheint so nicht ganz richtig zu sein. Mein host ist x86_64 und strip bearbeitet hemmungslos die ppc-binaries. Keine Ahnung, warum :-)
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

Perfekt.

Jetzt passt alles. Danke :D

Code: Alles auswählen

getaway@jars-desktop:~/tuxbox/dbox2-2.4/cdkroot/sbin$ ls -l ntpd
-rwxr-xr-x 1 getaway getaway 44240 2009-04-30 18:54 ntpd
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

Hi,
ich verstehe nicht wieso dauert ein adjusting durchgeführt wird, aber das offset trotzdem immer größer wird.

Code: Alles auswählen

reply from 192.53.103.104: offset 2.213279 delay 0.128607, next query 32s
reply from 192.53.103.104: offset 2.259701 delay 0.062204, next query 34s
13:09:36.227 EIT Update Filter: Activate cnThread
13:09:36.266 dmxCN: waking up again - requested from .change()
reply from 192.53.103.104: offset 2.270124 delay 0.063725, next query 32s
adjusting local clock by 2.223733s
13:10:08.327 dmxCN: going to sleep...
13:10:08.328 eit_set_update_filter, servicekey = 0x4530001445e, current version 27
[controld] VIDEO_EVENT_SIZE_CHANGED 720x576 (16:9 -> 4:3)
[CVideo::setVideoFormat] output format: 4:3(LB)
reply from 192.53.103.104: offset 2.281495 delay 0.067084, next query 33s
reply from 192.53.103.104: offset 2.251120 delay 0.154114, next query 32s
reply from 192.53.103.104: offset 2.258928 delay 0.159028, next query 33s
reply from 192.53.103.104: offset 2.320188 delay 0.062761, next query 32s
adjusting local clock by 2.259701s
reply from 192.53.103.104: offset 2.332588 delay 0.061092, next query 33s
reply from 192.53.103.104: offset 2.344992 delay 0.060326, next query 32s
reply from 192.53.103.104: offset 2.357884 delay 0.063380, next query 31s
adjusting local clock by 2.344992s
reply from 192.53.103.104: offset 2.369156 delay 0.060327, next query 32s
reply from 192.53.103.104: offset 2.381970 delay 0.060984, next query 32s
reply from 192.53.103.104: offset 2.388790 delay 0.072421, next query 34s
reply from 192.53.103.104: offset 2.406096 delay 0.060329, next query 30s
reply from 192.53.103.104: offset 2.417380 delay 0.065754, next query 30s
reply from 192.53.103.104: offset 2.429076 delay 0.061652, next query 32s
reply from 192.53.103.104: offset 2.423135 delay 0.097130, next query 32s
adjusting local clock by 2.369156s
reply from 192.53.103.104: offset 2.451597 delay 0.069907, next query 34s

seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

Das funktioniert schon, vertrau mir :-)

Das liegt daran, wie ntpd die Uhr nachstellt und ist schon korrekt. Irgendwann kriegt er sie alle. Es sei denn, jemand anders (sectionsd z.B.) verstellt die uhr dauernd wieder.

Die manpages von adjtime und adjtimex sind auch informativ (wobei der openntpd vermutlich kein adjtimex verwenden wird).
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

@seife,

systembedingt geht die Uhr ja beim starten von Plugins nach.
Wird das durch den ntpd überhaupt korrigiert? So weit
konnte ich das leider selber noch nicht testen.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von seife »

Ich weiss nicht, wovon du sprichst.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

Hier nochmal eine kleine Rückmeldung.

Code: Alles auswählen

--sysconfdir=/var/etc --with-privsep-user=nobody --with-privsep-path=/share/empty && \
/share/empty funktioniert aus dem Flash der Dbox nicht. Ich benutze jetzt /var.

Desweiteren habe ich immer noch nicht rausbekommen wann die Uhr mal richtig, ausser beim
Neustart, gestellt wird. Vielleicht funktioniert das beim Kernel 2.4 nicht korrekt, bzw. vll muss
da noch etwas spezielles im Kernel aktiviert werden.
Bringt ja nichts wenn die Uhr erst nach 4 Tagen mit 3 Minuten Ungenauigkeit mal gestellt wird. :(
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von rhabarber1848 »

GetAway hat geschrieben:Bringt ja nichts wenn die Uhr erst nach 4 Tagen mit 3 Minuten Ungenauigkeit mal gestellt wird. :(
http://www.openbsd.org/cgi-bin/man.cgi?query=ntpd
-s Set the time immediately at startup. Allows for a large time
correction, eliminating the need to run rdate(8).
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: [Patch] sectionsd - statt rdate auch ntpclient bzw. ntpdate

Beitrag von GetAway »

Ich starte so: :wink:
ntpd -s -d -f /var/etc/ntpd.conf