History log of /external/tlsdate/src/routeup.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2d9fd234e2887fdb29c6c09f66ade0a8b32c3ba7 16-Sep-2014 Will Drewry <wad@chromium.org> Merge branch 'master' of 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
c45952f88c568046a02bc0aea793008d8bb37755 03-Sep-2013 Will Drewry <wad@chromium.org> CHROMIUM: Initial work eventizing tlsdated

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>
/external/tlsdate/src/routeup.h
8d751a0168e8c392df88327709e482f6d6375ccb 30-Oct-2012 Jacob Appelbaum <jacob@appelbaum.net> retab for sanity
/external/tlsdate/src/routeup.h
6fb0d4b062af22e3576b8c48027710d10d764e34 06-Oct-2012 Elly Fong-Jones <elly@leptoquark.net> Add tlsdate-routeup and tlsdated.

The tlsdate-routeup(1) helper program listens for new IP routes and emits
output on stdout when a new route appears. The tlsdated(1) program runs
tlsdate(1) as appropriate to maintain an accurate system clock; it tries once
when the system comes up, then tries repeatedly whenever a new route appears
until it succeeeds. After succeeding, tlsdated falls back to running tlsdate
once a day to compensate for gradual clock drift. We also keep the rtc
synchronized whenever we run tlsdate.

Signed-off-by: Elly Jones <ellyjones@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/32959
Reviewed-by: Will Drewry <wad@chromium.org>

Conflicts:
src/Makefile.am
/external/tlsdate/src/routeup.h