Age | Commit message (Collapse) | Author |
|
Signed-off-by: david <db@d1b.org>
|
|
|
|
|
|
- Integration tests now all run properly
- Added 'emit' helper for integration tests
- Cleaned up accidental closure of stdin if hwclock isn't being sync'd
- Cleaned up verb_debug to just use logat cleanly
- Updated man page for -U (dbus disable) and -b (verbose_debug)
- Pushed in placeholders for some unittests that need to be added.
|
|
https://chromium.googlesource.com/chromiumos/third_party/tlsdate into upstream
This is the initial merge of the Chromium OS fork of tlsdated.
It adds a dependency in libevent2 and removes the custom event
solution and adds a platform-specific hook for integrating with
platform signals (like network readiness).
Signed-off-by: <redpig@dataspill.org>
Conflicts:
Makefile.am
configure.ac
man/tlsdate-dbus-announce.1
man/tlsdated.8
src/Makefile.am
src/compat/clock-linux.c
src/compat/clock.h
src/conf-unittest.c
src/conf.c
src/include.am
src/proxy-bio.c
src/test/proxy-override.c
src/tlsdate-dbus-announce.c
src/tlsdate-helper.c
src/tlsdate.c
src/tlsdate.h
src/tlsdated-unittest.c
src/tlsdated.c
src/util.c
src/util.h
|
|
|
|
tlsdated provides the daemonized integration of tlsdate and the host
system -- resumable time, DBus announcements, time-sync events, and so
on.
At present, it provides only netlink based wakeups and limited
time synchronization. On Chromium OS, proxy support and network
changes are integrated through external shell scripts monitoring
DBus. These scripts lack the robustness required for a production
grade time synchronization system.
This change is manyfold:
- Convert tlsdated "wakeup" input into events
- Convert tlsdate execution and status collection into a event-friendly technique
- Integrate libevent into the tlsdated design
- Integrate support for platform specific wake up events
- Integrate support for dynamic proxy resolution on each tlsdate call
- Integrate CrOS wakeup events: proxy changes, default network service change, power state/resume, etc
- Integrate time continuity checking using MONOTONIC clocks versus REALTIME for all wake events
- Integrate DBus support directly into the event loop to allow for message sending
and signal receipt (e.g., dbus_announce)
- Addition of DOT file for laying out event flows
- Split off time setting to a privileged helper by having tlsdate pass back time_t
- Added configure support for --enable-cros and libevent2 checking
- Support dynamic proxy resolution for multiple sources
- Fixed a NULL deref in source traversal
- Added "sync type" and priority
- Added DBus interface for SetTime, CanSetTime, LastSyncInfo methods.
- Added "sync source" to the TimeUpdated signal
- Updated existing unittests
- Add seccomp filter for priv'd time setter
- Added dynamic proxy per source so we can add a final source with no proxy.
- Style consistency: "find ./ -name '*.[ch]' -exec astyle --style=gnu -xd \{\} \;"
Followed by the same with sed -i -e 's/) )/))/g'
- Added DBus policy and interface files and a new dbus-client-group configure argument.
Design: https://docs.google.com/a/google.com/document/d/1U1y7KBMo-BgWPspzoyeO5gSmU6dMwEJBc2HNNkGMJzY/view
- Outstanding work: new unit and integration tests
BUG=chromium:271644
TEST=manually tested on x86_64, arm, and x86-32.
end-to-end autotest: https://chromium-review.googlesource.com/#/c/169141/
fixed up existing autotests: https://chromium-review.googlesource.com/174782
Change-Id: I0d24951182a768532d6d04eea2224ac70cf04052
Reviewed-on: https://chromium-review.googlesource.com/169131
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Tested-by: Will Drewry <wad@chromium.org>
Commit-Queue: Will Drewry <wad@chromium.org>
|
|
|
|
Update the man pages and simplify the processing of -V
and --showtime to share the optional argument path.
TEST=manual
BUG=chromium:262137
Change-Id: I42eac2d27c0c2b23ff50b4a3d4b52d376d28e450
Reviewed-on: https://chromium-review.googlesource.com/169980
Reviewed-by: Kees Cook <keescook@chromium.org>
Commit-Queue: Will Drewry <wad@chromium.org>
Tested-by: Will Drewry <wad@chromium.org>
|
|
Update the man pages and simplify the processing of -V
and --showtime to share the optional argument path.
|
|
Currently, the subprocess watching code polls with a delay between attempts.
Instead, introduce wait_with_timeout() and use it, simplifying this code.
Signed-off-by: Elly Fong-Jones <elly@leptoquark.net>
|
|
|
|
|
|
This makes a proxy passed on the command line with -x supplant proxies for
configured sources, and makes the 'proxy' stanza in sources optional (in which
case we supply no proxy argument for them).
BUG=chromium-os:38801
TEST=unit
Signed-off-by: Elly Fong-Jones <ellyjones@chromium.org>
(cherry picked from commit 254dc20bbaa68f955b1de8c7da6a02d52c786fd0)
Change-Id: I537037bd15d7c873f87e820a5291fc7a7e0ffca1
Reviewed-on: https://gerrit.chromium.org/gerrit/44075
Reviewed-by: Will Drewry <wad@chromium.org>
Commit-Queue: Elly Jones <ellyjones@chromium.org>
Tested-by: Elly Jones <ellyjones@chromium.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
|
|
This makes a proxy passed on the command line with -x supplant proxies for
configured sources, and makes the 'proxy' stanza in sources optional (in which
case we supply no proxy argument for them).
Signed-off-by: Elly Fong-Jones <ellyjones@chromium.org>
|
|
|
|
Swap over to using 'source' stanzas in the config file (see tlsdated.conf for an
example), and cycle through them as we make tlsdate attempts.
TODO: changelog, man page, etc updates
Signed-off-by: Elly Fong-Jones <ellyjones@chromium.org>
|
|
The config file is a list of key/value pairs, separated by whitespace.
Signed-off-by: Elly Fong-Jones <ellyjones@chromium.org>
|
|
We check for steady-state updates randomly at any time between
(base-jitter,base+jitter). The jitter is generated using libc rand(), seeded
with either some bytes from /dev/urandom (if available) or the time (if not). We
don't particularly need strong randomness here.
Signed-off-by: Elly Fong-Jones <ellyjones@chromium.org>
(cherry picked from commit a8545b2af134f53247bd76507676bc0e3f1e6112)
|
|
Announce over DBus whenever we change the system time.
Change-Id: Ic6cbab5f703bebe489f513025336c53240ccce35
Signed-off-by: Elly Fong-Jones <ellyjones@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RECENT_COMPILE_DATE
|
|
Signed-off-by: Daniel Borkmann <daniel@gnumaniacs.org>
|