As much for my own benefit before I start into this, here is my plan for
v1 - setting/updating the clock and adding timezone support
+ dropdown(s) in system.php to allow selection of region/city
+ use a tar.gz file as a source to create /etc/localtime file as soon as is
practical on boot
+ config.xml additions under <system> are (with example values):
<timezone>Australia/Sydney</timezone> // default to GMT ???
<time-update-interval>300</time-update-interval> // 0 means never
run as client
<time-servers>pool.net.org</time-servers> // can be space delimited
+ On fresh install run msntp in client mode to update the time every 5
hours, but user can set update interval to 0 to disable it. For a firmware
upgrade in which case it will be 0 so the user has to explicitly enable it.
+ include the standard msntp release in /usr/local/bin (but hopefully apply
Fred's patches and/or work with the author to get them rolled in at a later
+ set the default time server to pool.net.org (see
http://fortytwo.ch/time/), with the user option to change it on the
+ remove the existing /etc/wall_cmos_clock file
+ add tar to /usr/bin
+ I haven't determined if adjtime works appropriately so I'll have msntp use
settimeofday for now (obviously trivial to change later)
v2 - adding msntp server support
+ add a new page under Services to allow turning on the sntp server
+ no broadcast support per Frank's advice
+ new entry in <m0n0wall> section for sntp server control, default disabled:
By the way, timezone.tar is 542k and gzipped is 73k. (for freeBSD 4.8). I'm
assuming tar doesn't duplicate linked files in its archive so we'll stick
with the gzipped version for now.
Off to code I go ...