head 1.1; branch 1.1.1; access; symbols netbsd-11-0-RC5:1.1.1.4 netbsd-11-0-RC4:1.1.1.4 netbsd-11-0-RC3:1.1.1.4 netbsd-11-0-RC2:1.1.1.4 netbsd-11-0-RC1:1.1.1.4 perseant-exfatfs-base-20250801:1.1.1.4 netbsd-11:1.1.1.4.0.2 netbsd-11-base:1.1.1.4 netbsd-10-1-RELEASE:1.1.1.3 ntp-4-2-8p18:1.1.1.4 perseant-exfatfs-base-20240630:1.1.1.3 perseant-exfatfs:1.1.1.3.0.28 perseant-exfatfs-base:1.1.1.3 netbsd-8-3-RELEASE:1.1.1.3 netbsd-9-4-RELEASE:1.1.1.3 netbsd-10-0-RELEASE:1.1.1.3 netbsd-10-0-RC6:1.1.1.3 netbsd-10-0-RC5:1.1.1.3 netbsd-10-0-RC4:1.1.1.3 netbsd-10-0-RC3:1.1.1.3 netbsd-10-0-RC2:1.1.1.3 netbsd-10-0-RC1:1.1.1.3 netbsd-10:1.1.1.3.0.26 netbsd-10-base:1.1.1.3 ntp-4-2-8p15:1.1.1.3 netbsd-9-3-RELEASE:1.1.1.3 cjep_sun2x-base1:1.1.1.3 cjep_sun2x:1.1.1.3.0.24 cjep_sun2x-base:1.1.1.3 cjep_staticlib_x-base1:1.1.1.3 netbsd-9-2-RELEASE:1.1.1.3 cjep_staticlib_x:1.1.1.3.0.22 cjep_staticlib_x-base:1.1.1.3 netbsd-9-1-RELEASE:1.1.1.3 ntp-4-2-8p14:1.1.1.3 phil-wifi-20200421:1.1.1.3 phil-wifi-20200411:1.1.1.3 is-mlppp:1.1.1.3.0.20 is-mlppp-base:1.1.1.3 phil-wifi-20200406:1.1.1.3 netbsd-8-2-RELEASE:1.1.1.3 netbsd-9-0-RELEASE:1.1.1.3 netbsd-9-0-RC2:1.1.1.3 netbsd-9-0-RC1:1.1.1.3 phil-wifi-20191119:1.1.1.3 netbsd-9:1.1.1.3.0.18 netbsd-9-base:1.1.1.3 phil-wifi-20190609:1.1.1.3 netbsd-8-1-RELEASE:1.1.1.3 netbsd-8-1-RC1:1.1.1.3 pgoyette-compat-merge-20190127:1.1.1.3 pgoyette-compat-20190127:1.1.1.3 pgoyette-compat-20190118:1.1.1.3 pgoyette-compat-1226:1.1.1.3 pgoyette-compat-1126:1.1.1.3 pgoyette-compat-1020:1.1.1.3 pgoyette-compat-0930:1.1.1.3 ntp-4-2-8p12:1.1.1.3 pgoyette-compat-0906:1.1.1.3 netbsd-7-2-RELEASE:1.1.1.1.6.2 pgoyette-compat-0728:1.1.1.3 netbsd-8-0-RELEASE:1.1.1.3 phil-wifi:1.1.1.3.0.16 phil-wifi-base:1.1.1.3 pgoyette-compat-0625:1.1.1.3 netbsd-8-0-RC2:1.1.1.3 pgoyette-compat-0521:1.1.1.3 pgoyette-compat-0502:1.1.1.3 pgoyette-compat-0422:1.1.1.3 netbsd-8-0-RC1:1.1.1.3 pgoyette-compat-0415:1.1.1.3 pgoyette-compat-0407:1.1.1.3 ntp-4-2-8p11:1.1.1.3 pgoyette-compat-0330:1.1.1.3 pgoyette-compat-0322:1.1.1.3 pgoyette-compat-0315:1.1.1.3 netbsd-7-1-2-RELEASE:1.1.1.1.6.2 pgoyette-compat:1.1.1.3.0.14 pgoyette-compat-base:1.1.1.3 netbsd-7-1-1-RELEASE:1.1.1.1.6.2 matt-nb8-mediatek:1.1.1.3.0.12 matt-nb8-mediatek-base:1.1.1.3 perseant-stdc-iso10646:1.1.1.3.0.10 perseant-stdc-iso10646-base:1.1.1.3 netbsd-8:1.1.1.3.0.8 netbsd-8-base:1.1.1.3 prg-localcount2-base3:1.1.1.3 prg-localcount2-base2:1.1.1.3 prg-localcount2-base1:1.1.1.3 prg-localcount2:1.1.1.3.0.6 prg-localcount2-base:1.1.1.3 pgoyette-localcount-20170426:1.1.1.3 bouyer-socketcan-base1:1.1.1.3 ntp-4-2-8p10:1.1.1.3 pgoyette-localcount-20170320:1.1.1.3 netbsd-7-1:1.1.1.1.6.2.0.6 netbsd-7-1-RELEASE:1.1.1.1.6.2 netbsd-7-1-RC2:1.1.1.1.6.2 netbsd-7-nhusb-base-20170116:1.1.1.1.6.2 bouyer-socketcan:1.1.1.3.0.4 bouyer-socketcan-base:1.1.1.3 pgoyette-localcount-20170107:1.1.1.3 netbsd-7-1-RC1:1.1.1.1.6.2 ntp-4-2-8p9:1.1.1.3 pgoyette-localcount-20161104:1.1.1.3 netbsd-7-0-2-RELEASE:1.1.1.1.6.2 localcount-20160914:1.1.1.3 netbsd-7-nhusb:1.1.1.1.6.2.0.4 netbsd-7-nhusb-base:1.1.1.1.6.2 pgoyette-localcount-20160806:1.1.1.3 pgoyette-localcount-20160726:1.1.1.3 pgoyette-localcount:1.1.1.3.0.2 pgoyette-localcount-base:1.1.1.3 ntp-4-2-8p8:1.1.1.3 netbsd-7-0-1-RELEASE:1.1.1.1.6.2 ntp-4-2-8p7:1.1.1.3 ntp-4-2-8p5:1.1.1.3 ntp-4-2-8p4:1.1.1.3 netbsd-7-0:1.1.1.1.6.2.0.2 netbsd-7-0-RELEASE:1.1.1.1.6.2 netbsd-7-0-RC3:1.1.1.1.6.2 netbsd-7-0-RC2:1.1.1.1.6.2 ntp-4-2-8p3:1.1.1.3 netbsd-7-0-RC1:1.1.1.1.6.2 ntp-4-2-8p2:1.1.1.3 netbsd-5-1:1.1.1.2.0.12 netbsd-5-2:1.1.1.2.0.10 netbsd-5:1.1.1.2.0.8 netbsd-6:1.1.1.2.0.6 netbsd-6-0:1.1.1.2.0.4 netbsd-6-1:1.1.1.2.0.2 ntp-4-2-8:1.1.1.2 tls-maxphys-base:1.1.1.1 tls-maxphys:1.1.1.1.0.8 netbsd-7:1.1.1.1.0.6 netbsd-7-base:1.1.1.1 yamt-pagecache:1.1.1.1.0.4 yamt-pagecache-base9:1.1.1.1 tls-earlyentropy:1.1.1.1.0.2 tls-earlyentropy-base:1.1.1.1 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1 riastradh-drm2-base3:1.1.1.1 ntp-2-4-7p404:1.1.1.1 UDEL:1.1.1; locks; strict; comment @# @; 1.1 date 2013.12.27.23.31.19; author christos; state Exp; branches 1.1.1.1; next ; commitid lUOr4MoxyTWJnPix; 1.1.1.1 date 2013.12.27.23.31.19; author christos; state Exp; branches 1.1.1.1.4.1 1.1.1.1.6.1 1.1.1.1.8.1; next 1.1.1.2; commitid lUOr4MoxyTWJnPix; 1.1.1.2 date 2014.12.19.20.37.46; author christos; state Exp; branches 1.1.1.2.2.1 1.1.1.2.4.1 1.1.1.2.6.1 1.1.1.2.8.1 1.1.1.2.10.1 1.1.1.2.12.1; next 1.1.1.3; commitid ZhiTe4k7DUh9XG2y; 1.1.1.3 date 2015.04.07.16.49.15; author christos; state Exp; branches 1.1.1.3.28.1; next 1.1.1.4; commitid 3UUnsImQ7rfebGgy; 1.1.1.4 date 2024.08.18.20.37.42; author christos; state Exp; branches; next ; commitid RohTFOFoVLJItlmF; 1.1.1.1.4.1 date 2013.12.27.23.31.19; author yamt; state dead; branches; next 1.1.1.1.4.2; commitid qRWX0Nj0VOtU8yBx; 1.1.1.1.4.2 date 2014.05.22.15.50.13; author yamt; state Exp; branches; next ; commitid qRWX0Nj0VOtU8yBx; 1.1.1.1.6.1 date 2014.12.24.00.05.25; author riz; state Exp; branches; next 1.1.1.1.6.2; commitid KfwYQsQPJT87Yd3y; 1.1.1.1.6.2 date 2015.04.23.18.53.06; author snj; state Exp; branches; next ; commitid 0CvvwPSWQLcJkKiy; 1.1.1.1.8.1 date 2013.12.27.23.31.19; author tls; state dead; branches; next 1.1.1.1.8.2; commitid jTnpym9Qu0o4R1Nx; 1.1.1.1.8.2 date 2014.08.19.23.51.46; author tls; state Exp; branches; next ; commitid jTnpym9Qu0o4R1Nx; 1.1.1.2.2.1 date 2014.12.19.20.37.46; author snj; state dead; branches; next 1.1.1.2.2.2; commitid YfAuzsC3wt5BDm3y; 1.1.1.2.2.2 date 2014.12.25.02.13.12; author snj; state Exp; branches; next 1.1.1.2.2.3; commitid YfAuzsC3wt5BDm3y; 1.1.1.2.2.3 date 2015.11.07.22.46.22; author snj; state Exp; branches; next ; commitid jwjzBuWirFRghdIy; 1.1.1.2.4.1 date 2014.12.19.20.37.46; author snj; state dead; branches; next 1.1.1.2.4.2; commitid 5AhJfEA9N5i2Jm3y; 1.1.1.2.4.2 date 2014.12.25.02.28.15; author snj; state Exp; branches; next 1.1.1.2.4.3; commitid 5AhJfEA9N5i2Jm3y; 1.1.1.2.4.3 date 2015.11.08.00.16.04; author snj; state Exp; branches; next ; commitid fZpCVA2ouDw4JdIy; 1.1.1.2.6.1 date 2014.12.19.20.37.46; author snj; state dead; branches; next 1.1.1.2.6.2; commitid JG3hF57oHA79Lm3y; 1.1.1.2.6.2 date 2014.12.25.02.34.43; author snj; state Exp; branches; next 1.1.1.2.6.3; commitid JG3hF57oHA79Lm3y; 1.1.1.2.6.3 date 2015.11.07.22.26.42; author snj; state Exp; branches; next ; commitid VU2yUebpm9Rs7dIy; 1.1.1.2.8.1 date 2014.12.19.20.37.46; author msaitoh; state dead; branches; next 1.1.1.2.8.2; commitid ysuzPTeSQAKO335y; 1.1.1.2.8.2 date 2015.01.07.04.45.37; author msaitoh; state Exp; branches; next ; commitid ysuzPTeSQAKO335y; 1.1.1.2.10.1 date 2014.12.19.20.37.46; author msaitoh; state dead; branches; next 1.1.1.2.10.2; commitid d5X8VW3e9U6mR45y; 1.1.1.2.10.2 date 2015.01.07.10.10.22; author msaitoh; state Exp; branches; next ; commitid d5X8VW3e9U6mR45y; 1.1.1.2.12.1 date 2014.12.19.20.37.46; author msaitoh; state dead; branches; next 1.1.1.2.12.2; commitid cHl8i0Vq4fzxx55y; 1.1.1.2.12.2 date 2015.01.07.12.13.36; author msaitoh; state Exp; branches; next ; commitid cHl8i0Vq4fzxx55y; 1.1.1.3.28.1 date 2025.08.02.05.22.53; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; desc @@ 1.1 log @Initial revision @ text @ What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.1-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.4. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.5. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.6. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. 1.7. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.8. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @ 1.1.1.1 log @import devel ntpd to avoid amplification attacks. @ text @@ 1.1.1.1.6.1 log @Apply patch (requested by christos in ticket #351): external/bsd/ntp/Makefile.inc patch external/bsd/ntp/importdate patch external/bsd/ntp/bin/ntpd/Makefile patch external/bsd/ntp/dist/COPYRIGHT patch external/bsd/ntp/dist/ChangeLog patch external/bsd/ntp/dist/CommitLog patch external/bsd/ntp/dist/Makefile.am patch external/bsd/ntp/dist/Makefile.in patch external/bsd/ntp/dist/NEWS patch external/bsd/ntp/dist/aclocal.m4 patch external/bsd/ntp/dist/bootstrap patch external/bsd/ntp/dist/build patch external/bsd/ntp/dist/config.h.in patch external/bsd/ntp/dist/configure patch external/bsd/ntp/dist/configure.ac patch external/bsd/ntp/dist/packageinfo.sh patch external/bsd/ntp/dist/adjtimed/Makefile.in patch external/bsd/ntp/dist/adjtimed/adjtimed.c patch external/bsd/ntp/dist/clockstuff/Makefile.in patch external/bsd/ntp/dist/clockstuff/chutest.c patch external/bsd/ntp/dist/clockstuff/propdelay.c patch external/bsd/ntp/dist/html/access.html patch external/bsd/ntp/dist/html/accopt.html patch external/bsd/ntp/dist/html/assoc.html patch external/bsd/ntp/dist/html/audio.html patch external/bsd/ntp/dist/html/authentic.html patch external/bsd/ntp/dist/html/authopt.html patch external/bsd/ntp/dist/html/autokey.html patch external/bsd/ntp/dist/html/bugs.html patch external/bsd/ntp/dist/html/build.html patch external/bsd/ntp/dist/html/clock.html patch external/bsd/ntp/dist/html/clockopt.html patch external/bsd/ntp/dist/html/cluster.html patch external/bsd/ntp/dist/html/comdex.html patch external/bsd/ntp/dist/html/config.html patch external/bsd/ntp/dist/html/confopt.html patch external/bsd/ntp/dist/html/copyright.html patch external/bsd/ntp/dist/html/debug.html patch external/bsd/ntp/dist/html/decode.html patch external/bsd/ntp/dist/html/discipline.html patch external/bsd/ntp/dist/html/discover.html patch external/bsd/ntp/dist/html/extern.html patch external/bsd/ntp/dist/html/filter.html patch external/bsd/ntp/dist/html/hints.html patch external/bsd/ntp/dist/html/history.html patch external/bsd/ntp/dist/html/howto.html patch external/bsd/ntp/dist/html/huffpuff.html patch external/bsd/ntp/dist/html/index.html patch external/bsd/ntp/dist/html/kern.html patch external/bsd/ntp/dist/html/kernpps.html patch external/bsd/ntp/dist/html/keygen.html patch external/bsd/ntp/dist/html/leap.html patch external/bsd/ntp/dist/html/miscopt.html patch external/bsd/ntp/dist/html/monopt.html patch external/bsd/ntp/dist/html/msyslog.html patch external/bsd/ntp/dist/html/ntp-wait.html patch external/bsd/ntp/dist/html/ntp_conf.html patch external/bsd/ntp/dist/html/ntpd.html patch external/bsd/ntp/dist/html/ntpdate.html patch external/bsd/ntp/dist/html/ntpdc.html patch external/bsd/ntp/dist/html/ntpdsim.html patch external/bsd/ntp/dist/html/ntpdsim_new.html patch external/bsd/ntp/dist/html/ntpq.html patch external/bsd/ntp/dist/html/ntptime.html patch external/bsd/ntp/dist/html/ntptrace.html patch external/bsd/ntp/dist/html/orphan.html patch external/bsd/ntp/dist/html/parsedata.html patch external/bsd/ntp/dist/html/parsenew.html patch external/bsd/ntp/dist/html/poll.html patch external/bsd/ntp/dist/html/pps.html patch external/bsd/ntp/dist/html/prefer.html patch external/bsd/ntp/dist/html/quick.html patch external/bsd/ntp/dist/html/rate.html patch external/bsd/ntp/dist/html/rdebug.html patch external/bsd/ntp/dist/html/refclock.html patch external/bsd/ntp/dist/html/release.html patch external/bsd/ntp/dist/html/select.html patch external/bsd/ntp/dist/html/sitemap.html patch external/bsd/ntp/dist/html/sntp.html patch external/bsd/ntp/dist/html/stats.html patch external/bsd/ntp/dist/html/tickadj.html patch external/bsd/ntp/dist/html/warp.html patch external/bsd/ntp/dist/html/xleave.html patch external/bsd/ntp/dist/html/drivers/driver1.html patch external/bsd/ntp/dist/html/drivers/driver10.html patch external/bsd/ntp/dist/html/drivers/driver11.html patch external/bsd/ntp/dist/html/drivers/driver12.html patch external/bsd/ntp/dist/html/drivers/driver16.html patch external/bsd/ntp/dist/html/drivers/driver18.html patch external/bsd/ntp/dist/html/drivers/driver19.html patch external/bsd/ntp/dist/html/drivers/driver20.html patch external/bsd/ntp/dist/html/drivers/driver22.html patch external/bsd/ntp/dist/html/drivers/driver26.html patch external/bsd/ntp/dist/html/drivers/driver27.html patch external/bsd/ntp/dist/html/drivers/driver28.html patch external/bsd/ntp/dist/html/drivers/driver29.html patch external/bsd/ntp/dist/html/drivers/driver3.html patch external/bsd/ntp/dist/html/drivers/driver30.html patch external/bsd/ntp/dist/html/drivers/driver31.html patch external/bsd/ntp/dist/html/drivers/driver32.html patch external/bsd/ntp/dist/html/drivers/driver33.html patch external/bsd/ntp/dist/html/drivers/driver34.html patch external/bsd/ntp/dist/html/drivers/driver35.html patch external/bsd/ntp/dist/html/drivers/driver36.html patch external/bsd/ntp/dist/html/drivers/driver37.html patch external/bsd/ntp/dist/html/drivers/driver38.html patch external/bsd/ntp/dist/html/drivers/driver39.html patch external/bsd/ntp/dist/html/drivers/driver4.html patch external/bsd/ntp/dist/html/drivers/driver40.html patch external/bsd/ntp/dist/html/drivers/driver42.html patch external/bsd/ntp/dist/html/drivers/driver43.html patch external/bsd/ntp/dist/html/drivers/driver44.html patch external/bsd/ntp/dist/html/drivers/driver45.html patch external/bsd/ntp/dist/html/drivers/driver46.html patch external/bsd/ntp/dist/html/drivers/driver5.html patch external/bsd/ntp/dist/html/drivers/driver6.html patch external/bsd/ntp/dist/html/drivers/driver7.html patch external/bsd/ntp/dist/html/drivers/driver8.html patch external/bsd/ntp/dist/html/drivers/driver9.html patch external/bsd/ntp/dist/html/drivers/mx4200data.html patch external/bsd/ntp/dist/html/drivers/oncore-shmem.html patch external/bsd/ntp/dist/html/drivers/tf582_4.html patch external/bsd/ntp/dist/html/hints/sco.html patch external/bsd/ntp/dist/html/hints/solaris.html patch external/bsd/ntp/dist/html/hints/vxworks.html patch external/bsd/ntp/dist/html/hints/winnt.html patch external/bsd/ntp/dist/html/scripts/monopt.txt patch external/bsd/ntp/dist/include/Makefile.am patch external/bsd/ntp/dist/include/Makefile.in patch external/bsd/ntp/dist/include/adjtime.h patch external/bsd/ntp/dist/include/ascii.h patch external/bsd/ntp/dist/include/audio.h patch external/bsd/ntp/dist/include/binio.h patch external/bsd/ntp/dist/include/declcond.h patch external/bsd/ntp/dist/include/gps.h patch external/bsd/ntp/dist/include/hopf6039.h patch external/bsd/ntp/dist/include/icom.h patch external/bsd/ntp/dist/include/ieee754io.h patch external/bsd/ntp/dist/include/intreswork.h patch external/bsd/ntp/dist/include/iosignal.h patch external/bsd/ntp/dist/include/l_stdlib.h patch external/bsd/ntp/dist/include/lib_strbuf.h patch external/bsd/ntp/dist/include/libntp.h patch external/bsd/ntp/dist/include/mbg_gps166.h patch external/bsd/ntp/dist/include/mx4200.h patch external/bsd/ntp/dist/include/ntif.h patch external/bsd/ntp/dist/include/ntp.h patch external/bsd/ntp/dist/include/ntp_assert.h patch external/bsd/ntp/dist/include/ntp_calendar.h patch external/bsd/ntp/dist/include/ntp_cmdargs.h patch external/bsd/ntp/dist/include/ntp_config.h patch external/bsd/ntp/dist/include/ntp_control.h patch external/bsd/ntp/dist/include/ntp_crypto.h patch external/bsd/ntp/dist/include/ntp_datum.h patch external/bsd/ntp/dist/include/ntp_debug.h patch external/bsd/ntp/dist/include/ntp_filegen.h patch external/bsd/ntp/dist/include/ntp_fp.h patch external/bsd/ntp/dist/include/ntp_if.h patch external/bsd/ntp/dist/include/ntp_intres.h patch external/bsd/ntp/dist/include/ntp_io.h patch external/bsd/ntp/dist/include/ntp_libopts.h patch external/bsd/ntp/dist/include/ntp_lineedit.h patch external/bsd/ntp/dist/include/ntp_lists.h patch external/bsd/ntp/dist/include/ntp_machine.h patch external/bsd/ntp/dist/include/ntp_malloc.h patch external/bsd/ntp/dist/include/ntp_md5.h patch external/bsd/ntp/dist/include/ntp_net.h patch external/bsd/ntp/dist/include/ntp_prio_q.h patch external/bsd/ntp/dist/include/ntp_proto.h patch external/bsd/ntp/dist/include/ntp_random.h patch external/bsd/ntp/dist/include/ntp_refclock.h patch external/bsd/ntp/dist/include/ntp_request.h patch external/bsd/ntp/dist/include/ntp_rfc2553.h patch external/bsd/ntp/dist/include/ntp_select.h patch external/bsd/ntp/dist/include/ntp_stdlib.h patch external/bsd/ntp/dist/include/ntp_string.h patch external/bsd/ntp/dist/include/ntp_syscall.h patch external/bsd/ntp/dist/include/ntp_syslog.h patch external/bsd/ntp/dist/include/ntp_tty.h patch external/bsd/ntp/dist/include/ntp_types.h patch external/bsd/ntp/dist/include/ntp_unixtime.h patch external/bsd/ntp/dist/include/ntp_worker.h patch external/bsd/ntp/dist/include/ntp_workimpl.h patch external/bsd/ntp/dist/include/ntpd.h patch external/bsd/ntp/dist/include/ntpsim.h patch external/bsd/ntp/dist/include/parse.h patch external/bsd/ntp/dist/include/parse_conf.h patch external/bsd/ntp/dist/include/recvbuff.h patch external/bsd/ntp/dist/include/refclock_atom.h patch external/bsd/ntp/dist/include/ssl_applink.c patch external/bsd/ntp/dist/include/timepps-SCO.h patch external/bsd/ntp/dist/include/timepps-Solaris.h patch external/bsd/ntp/dist/include/timepps-SunOS.h patch external/bsd/ntp/dist/include/timespecops.h patch external/bsd/ntp/dist/include/timetoa.h patch external/bsd/ntp/dist/include/timevalops.h patch external/bsd/ntp/dist/include/trimble.h patch external/bsd/ntp/dist/include/vint64ops.h patch external/bsd/ntp/dist/include/isc/Makefile.in patch external/bsd/ntp/dist/include/isc/mem.h patch external/bsd/ntp/dist/kernel/Makefile.in patch external/bsd/ntp/dist/kernel/sys/Makefile.in patch external/bsd/ntp/dist/kernel/sys/bsd_audioirig.h patch external/bsd/ntp/dist/kernel/sys/i8253.h patch external/bsd/ntp/dist/kernel/sys/parsestreams.h patch external/bsd/ntp/dist/kernel/sys/pcl720.h patch external/bsd/ntp/dist/kernel/sys/ppsclock.h patch external/bsd/ntp/dist/kernel/sys/timex.h patch external/bsd/ntp/dist/kernel/sys/tpro.h patch external/bsd/ntp/dist/kernel/sys/tt560_api.h patch external/bsd/ntp/dist/lib/isc/app_api.c patch external/bsd/ntp/dist/lib/isc/assertions.c patch external/bsd/ntp/dist/lib/isc/backtrace-emptytbl.c patch external/bsd/ntp/dist/lib/isc/backtrace.c patch external/bsd/ntp/dist/lib/isc/base32.c patch external/bsd/ntp/dist/lib/isc/base64.c patch external/bsd/ntp/dist/lib/isc/bitstring.c patch external/bsd/ntp/dist/lib/isc/buffer.c patch external/bsd/ntp/dist/lib/isc/bufferlist.c patch external/bsd/ntp/dist/lib/isc/commandline.c patch external/bsd/ntp/dist/lib/isc/entropy.c patch external/bsd/ntp/dist/lib/isc/error.c patch external/bsd/ntp/dist/lib/isc/event.c patch external/bsd/ntp/dist/lib/isc/fsaccess.c patch external/bsd/ntp/dist/lib/isc/hash.c patch external/bsd/ntp/dist/lib/isc/heap.c patch external/bsd/ntp/dist/lib/isc/hex.c patch external/bsd/ntp/dist/lib/isc/hmacmd5.c patch external/bsd/ntp/dist/lib/isc/hmacsha.c patch external/bsd/ntp/dist/lib/isc/httpd.c patch external/bsd/ntp/dist/lib/isc/inet_aton.c patch external/bsd/ntp/dist/lib/isc/inet_ntop.c patch external/bsd/ntp/dist/lib/isc/inet_pton.c patch external/bsd/ntp/dist/lib/isc/iterated_hash.c patch external/bsd/ntp/dist/lib/isc/lex.c patch external/bsd/ntp/dist/lib/isc/lfsr.c patch external/bsd/ntp/dist/lib/isc/lib.c patch external/bsd/ntp/dist/lib/isc/log.c patch external/bsd/ntp/dist/lib/isc/md5.c patch external/bsd/ntp/dist/lib/isc/mem.c patch external/bsd/ntp/dist/lib/isc/mem_api.c patch external/bsd/ntp/dist/lib/isc/mutexblock.c patch external/bsd/ntp/dist/lib/isc/netaddr.c patch external/bsd/ntp/dist/lib/isc/netscope.c patch external/bsd/ntp/dist/lib/isc/ondestroy.c patch external/bsd/ntp/dist/lib/isc/parseint.c patch external/bsd/ntp/dist/lib/isc/portset.c patch external/bsd/ntp/dist/lib/isc/print.c patch external/bsd/ntp/dist/lib/isc/quota.c patch external/bsd/ntp/dist/lib/isc/radix.c patch external/bsd/ntp/dist/lib/isc/random.c patch external/bsd/ntp/dist/lib/isc/ratelimiter.c patch external/bsd/ntp/dist/lib/isc/refcount.c patch external/bsd/ntp/dist/lib/isc/region.c patch external/bsd/ntp/dist/lib/isc/result.c patch external/bsd/ntp/dist/lib/isc/rwlock.c patch external/bsd/ntp/dist/lib/isc/serial.c patch external/bsd/ntp/dist/lib/isc/sha1.c patch external/bsd/ntp/dist/lib/isc/sha2.c patch external/bsd/ntp/dist/lib/isc/sockaddr.c patch external/bsd/ntp/dist/lib/isc/socket_api.c patch external/bsd/ntp/dist/lib/isc/stats.c patch external/bsd/ntp/dist/lib/isc/string.c patch external/bsd/ntp/dist/lib/isc/strtoul.c patch external/bsd/ntp/dist/lib/isc/symtab.c patch external/bsd/ntp/dist/lib/isc/task.c patch external/bsd/ntp/dist/lib/isc/task_api.c patch external/bsd/ntp/dist/lib/isc/task_p.h patch external/bsd/ntp/dist/lib/isc/taskpool.c patch external/bsd/ntp/dist/lib/isc/timer.c patch external/bsd/ntp/dist/lib/isc/timer_api.c patch external/bsd/ntp/dist/lib/isc/timer_p.h patch external/bsd/ntp/dist/lib/isc/version.c patch external/bsd/ntp/dist/lib/isc/alpha/include/isc/atomic.h patch external/bsd/ntp/dist/lib/isc/ia64/include/isc/atomic.h patch external/bsd/ntp/dist/lib/isc/include/isc/Makefile patch external/bsd/ntp/dist/lib/isc/include/isc/app.h patch external/bsd/ntp/dist/lib/isc/include/isc/assertions.h patch external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h patch external/bsd/ntp/dist/lib/isc/include/isc/base32.h patch external/bsd/ntp/dist/lib/isc/include/isc/base64.h patch external/bsd/ntp/dist/lib/isc/include/isc/bind9.h patch external/bsd/ntp/dist/lib/isc/include/isc/bitstring.h patch external/bsd/ntp/dist/lib/isc/include/isc/boolean.h patch external/bsd/ntp/dist/lib/isc/include/isc/buffer.h patch external/bsd/ntp/dist/lib/isc/include/isc/bufferlist.h patch external/bsd/ntp/dist/lib/isc/include/isc/commandline.h patch external/bsd/ntp/dist/lib/isc/include/isc/entropy.h patch external/bsd/ntp/dist/lib/isc/include/isc/error.h patch external/bsd/ntp/dist/lib/isc/include/isc/event.h patch external/bsd/ntp/dist/lib/isc/include/isc/eventclass.h patch external/bsd/ntp/dist/lib/isc/include/isc/file.h patch external/bsd/ntp/dist/lib/isc/include/isc/formatcheck.h patch external/bsd/ntp/dist/lib/isc/include/isc/fsaccess.h patch external/bsd/ntp/dist/lib/isc/include/isc/hash.h patch external/bsd/ntp/dist/lib/isc/include/isc/heap.h patch external/bsd/ntp/dist/lib/isc/include/isc/hex.h patch external/bsd/ntp/dist/lib/isc/include/isc/hmacmd5.h patch external/bsd/ntp/dist/lib/isc/include/isc/hmacsha.h patch external/bsd/ntp/dist/lib/isc/include/isc/httpd.h patch external/bsd/ntp/dist/lib/isc/include/isc/interfaceiter.h patch external/bsd/ntp/dist/lib/isc/include/isc/ipv6.h patch external/bsd/ntp/dist/lib/isc/include/isc/iterated_hash.h patch external/bsd/ntp/dist/lib/isc/include/isc/lang.h patch external/bsd/ntp/dist/lib/isc/include/isc/lex.h patch external/bsd/ntp/dist/lib/isc/include/isc/lfsr.h patch external/bsd/ntp/dist/lib/isc/include/isc/lib.h patch external/bsd/ntp/dist/lib/isc/include/isc/list.h patch external/bsd/ntp/dist/lib/isc/include/isc/log.h patch external/bsd/ntp/dist/lib/isc/include/isc/magic.h patch external/bsd/ntp/dist/lib/isc/include/isc/md5.h patch external/bsd/ntp/dist/lib/isc/include/isc/mem.h patch external/bsd/ntp/dist/lib/isc/include/isc/msgcat.h patch external/bsd/ntp/dist/lib/isc/include/isc/msgs.h patch external/bsd/ntp/dist/lib/isc/include/isc/mutexblock.h patch external/bsd/ntp/dist/lib/isc/include/isc/namespace.h patch external/bsd/ntp/dist/lib/isc/include/isc/netaddr.h patch external/bsd/ntp/dist/lib/isc/include/isc/netscope.h patch external/bsd/ntp/dist/lib/isc/include/isc/ondestroy.h patch external/bsd/ntp/dist/lib/isc/include/isc/os.h patch external/bsd/ntp/dist/lib/isc/include/isc/parseint.h patch external/bsd/ntp/dist/lib/isc/include/isc/platform.h patch external/bsd/ntp/dist/lib/isc/include/isc/portset.h patch external/bsd/ntp/dist/lib/isc/include/isc/print.h patch external/bsd/ntp/dist/lib/isc/include/isc/queue.h patch external/bsd/ntp/dist/lib/isc/include/isc/quota.h patch external/bsd/ntp/dist/lib/isc/include/isc/radix.h patch external/bsd/ntp/dist/lib/isc/include/isc/random.h patch external/bsd/ntp/dist/lib/isc/include/isc/ratelimiter.h patch external/bsd/ntp/dist/lib/isc/include/isc/refcount.h patch external/bsd/ntp/dist/lib/isc/include/isc/region.h patch external/bsd/ntp/dist/lib/isc/include/isc/resource.h patch external/bsd/ntp/dist/lib/isc/include/isc/result.h patch external/bsd/ntp/dist/lib/isc/include/isc/resultclass.h patch external/bsd/ntp/dist/lib/isc/include/isc/rwlock.h patch external/bsd/ntp/dist/lib/isc/include/isc/serial.h patch external/bsd/ntp/dist/lib/isc/include/isc/sha1.h patch external/bsd/ntp/dist/lib/isc/include/isc/sha2.h patch external/bsd/ntp/dist/lib/isc/include/isc/sockaddr.h patch external/bsd/ntp/dist/lib/isc/include/isc/socket.h patch external/bsd/ntp/dist/lib/isc/include/isc/stats.h patch external/bsd/ntp/dist/lib/isc/include/isc/stdio.h patch external/bsd/ntp/dist/lib/isc/include/isc/stdlib.h patch external/bsd/ntp/dist/lib/isc/include/isc/string.h patch external/bsd/ntp/dist/lib/isc/include/isc/symtab.h patch external/bsd/ntp/dist/lib/isc/include/isc/task.h patch external/bsd/ntp/dist/lib/isc/include/isc/taskpool.h patch external/bsd/ntp/dist/lib/isc/include/isc/timer.h patch external/bsd/ntp/dist/lib/isc/include/isc/types.h patch external/bsd/ntp/dist/lib/isc/include/isc/util.h patch external/bsd/ntp/dist/lib/isc/include/isc/version.h patch external/bsd/ntp/dist/lib/isc/include/isc/xml.h patch external/bsd/ntp/dist/lib/isc/mips/include/isc/atomic.h patch external/bsd/ntp/dist/lib/isc/nls/msgcat.c patch external/bsd/ntp/dist/lib/isc/noatomic/include/isc/atomic.h patch external/bsd/ntp/dist/lib/isc/nothreads/condition.c patch external/bsd/ntp/dist/lib/isc/nothreads/mutex.c patch external/bsd/ntp/dist/lib/isc/nothreads/thread.c patch external/bsd/ntp/dist/lib/isc/nothreads/include/isc/condition.h patch external/bsd/ntp/dist/lib/isc/nothreads/include/isc/mutex.h patch external/bsd/ntp/dist/lib/isc/nothreads/include/isc/once.h patch external/bsd/ntp/dist/lib/isc/nothreads/include/isc/thread.h patch external/bsd/ntp/dist/lib/isc/powerpc/include/isc/atomic.h patch external/bsd/ntp/dist/lib/isc/pthreads/condition.c patch external/bsd/ntp/dist/lib/isc/pthreads/mutex.c patch external/bsd/ntp/dist/lib/isc/pthreads/thread.c patch external/bsd/ntp/dist/lib/isc/pthreads/include/isc/condition.h patch external/bsd/ntp/dist/lib/isc/pthreads/include/isc/mutex.h patch external/bsd/ntp/dist/lib/isc/pthreads/include/isc/once.h patch external/bsd/ntp/dist/lib/isc/pthreads/include/isc/thread.h patch external/bsd/ntp/dist/lib/isc/sparc64/include/isc/atomic.h patch external/bsd/ntp/dist/lib/isc/tests/hash_test.c patch external/bsd/ntp/dist/lib/isc/tests/isctest.c patch external/bsd/ntp/dist/lib/isc/tests/isctest.h patch external/bsd/ntp/dist/lib/isc/tests/queue_test.c patch external/bsd/ntp/dist/lib/isc/tests/socket_test.c patch external/bsd/ntp/dist/lib/isc/tests/symtab_test.c patch external/bsd/ntp/dist/lib/isc/tests/task_test.c patch external/bsd/ntp/dist/lib/isc/tests/taskpool_test.c patch external/bsd/ntp/dist/lib/isc/unix/app.c patch external/bsd/ntp/dist/lib/isc/unix/dir.c patch external/bsd/ntp/dist/lib/isc/unix/entropy.c patch external/bsd/ntp/dist/lib/isc/unix/errno2result.c patch external/bsd/ntp/dist/lib/isc/unix/errno2result.h patch external/bsd/ntp/dist/lib/isc/unix/file.c patch external/bsd/ntp/dist/lib/isc/unix/fsaccess.c patch external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c patch external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c patch external/bsd/ntp/dist/lib/isc/unix/ifiter_sysctl.c patch external/bsd/ntp/dist/lib/isc/unix/interfaceiter.c patch external/bsd/ntp/dist/lib/isc/unix/ipv6.c patch external/bsd/ntp/dist/lib/isc/unix/keyboard.c patch external/bsd/ntp/dist/lib/isc/unix/net.c patch external/bsd/ntp/dist/lib/isc/unix/os.c patch external/bsd/ntp/dist/lib/isc/unix/resource.c patch external/bsd/ntp/dist/lib/isc/unix/socket.c patch external/bsd/ntp/dist/lib/isc/unix/socket_p.h patch external/bsd/ntp/dist/lib/isc/unix/stdio.c patch external/bsd/ntp/dist/lib/isc/unix/stdtime.c patch external/bsd/ntp/dist/lib/isc/unix/strerror.c patch external/bsd/ntp/dist/lib/isc/unix/syslog.c patch external/bsd/ntp/dist/lib/isc/unix/time.c patch external/bsd/ntp/dist/lib/isc/unix/include/isc/Makefile patch external/bsd/ntp/dist/lib/isc/unix/include/isc/dir.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/int.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/keyboard.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/net.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/netdb.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/offset.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/stat.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/stdtime.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/strerror.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/syslog.h patch external/bsd/ntp/dist/lib/isc/unix/include/isc/time.h patch external/bsd/ntp/dist/lib/isc/win32/DLLMain.c patch external/bsd/ntp/dist/lib/isc/win32/app.c patch external/bsd/ntp/dist/lib/isc/win32/condition.c patch external/bsd/ntp/dist/lib/isc/win32/dir.c patch external/bsd/ntp/dist/lib/isc/win32/entropy.c patch external/bsd/ntp/dist/lib/isc/win32/errno2result.c patch external/bsd/ntp/dist/lib/isc/win32/errno2result.h patch external/bsd/ntp/dist/lib/isc/win32/file.c patch external/bsd/ntp/dist/lib/isc/win32/fsaccess.c patch external/bsd/ntp/dist/lib/isc/win32/interfaceiter.c patch external/bsd/ntp/dist/lib/isc/win32/ipv6.c patch external/bsd/ntp/dist/lib/isc/win32/keyboard.c patch external/bsd/ntp/dist/lib/isc/win32/libgen.h patch external/bsd/ntp/dist/lib/isc/win32/net.c patch external/bsd/ntp/dist/lib/isc/win32/netdb.h patch external/bsd/ntp/dist/lib/isc/win32/ntgroups.c patch external/bsd/ntp/dist/lib/isc/win32/ntpaths.c patch external/bsd/ntp/dist/lib/isc/win32/once.c patch external/bsd/ntp/dist/lib/isc/win32/os.c patch external/bsd/ntp/dist/lib/isc/win32/resource.c patch external/bsd/ntp/dist/lib/isc/win32/socket.c patch external/bsd/ntp/dist/lib/isc/win32/stdio.c patch external/bsd/ntp/dist/lib/isc/win32/stdtime.c patch external/bsd/ntp/dist/lib/isc/win32/strerror.c patch external/bsd/ntp/dist/lib/isc/win32/syslog.c patch external/bsd/ntp/dist/lib/isc/win32/syslog.h patch external/bsd/ntp/dist/lib/isc/win32/thread.c patch external/bsd/ntp/dist/lib/isc/win32/time.c patch external/bsd/ntp/dist/lib/isc/win32/unistd.h patch external/bsd/ntp/dist/lib/isc/win32/version.c patch external/bsd/ntp/dist/lib/isc/win32/win32os.c patch external/bsd/ntp/dist/lib/isc/win32/include/isc/bind_registry.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/bindevt.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/condition.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/dir.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/int.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/ipv6.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/keyboard.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/mutex.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/net.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/netdb.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/ntgroups.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/ntpaths.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/offset.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/once.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/platform.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/stat.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/stdtime.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/strerror.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/syslog.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/thread.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/time.h patch external/bsd/ntp/dist/lib/isc/win32/include/isc/win32os.h patch external/bsd/ntp/dist/lib/isc/x86_32/include/isc/atomic.h patch external/bsd/ntp/dist/lib/isc/x86_64/include/isc/atomic.h patch external/bsd/ntp/dist/libjsmn/LICENSE patch external/bsd/ntp/dist/libjsmn/Makefile patch external/bsd/ntp/dist/libjsmn/README.md patch external/bsd/ntp/dist/libjsmn/jsmn.c patch external/bsd/ntp/dist/libjsmn/jsmn.h patch external/bsd/ntp/dist/libjsmn/jsmn_test.c patch external/bsd/ntp/dist/libntp/Makefile.am patch external/bsd/ntp/dist/libntp/Makefile.in patch external/bsd/ntp/dist/libntp/a_md5encrypt.c patch external/bsd/ntp/dist/libntp/adjtime.c patch external/bsd/ntp/dist/libntp/adjtimex.c patch external/bsd/ntp/dist/libntp/atoint.c patch external/bsd/ntp/dist/libntp/atolfp.c patch external/bsd/ntp/dist/libntp/atouint.c patch external/bsd/ntp/dist/libntp/audio.c patch external/bsd/ntp/dist/libntp/authkeys.c patch external/bsd/ntp/dist/libntp/authreadkeys.c patch external/bsd/ntp/dist/libntp/authusekey.c patch external/bsd/ntp/dist/libntp/bsd_strerror.c patch external/bsd/ntp/dist/libntp/buftvtots.c patch external/bsd/ntp/dist/libntp/caljulian.c patch external/bsd/ntp/dist/libntp/caltontp.c patch external/bsd/ntp/dist/libntp/calyearstart.c patch external/bsd/ntp/dist/libntp/clocktime.c patch external/bsd/ntp/dist/libntp/clocktypes.c patch external/bsd/ntp/dist/libntp/decodenetnum.c patch external/bsd/ntp/dist/libntp/dofptoa.c patch external/bsd/ntp/dist/libntp/dolfptoa.c patch external/bsd/ntp/dist/libntp/emalloc.c patch external/bsd/ntp/dist/libntp/findconfig.c patch external/bsd/ntp/dist/libntp/getopt.c patch external/bsd/ntp/dist/libntp/hextoint.c patch external/bsd/ntp/dist/libntp/hextolfp.c patch external/bsd/ntp/dist/libntp/humandate.c patch external/bsd/ntp/dist/libntp/icom.c patch external/bsd/ntp/dist/libntp/iosignal.c patch external/bsd/ntp/dist/libntp/lib_strbuf.c patch external/bsd/ntp/dist/libntp/machines.c patch external/bsd/ntp/dist/libntp/mktime.c patch external/bsd/ntp/dist/libntp/modetoa.c patch external/bsd/ntp/dist/libntp/mstolfp.c patch external/bsd/ntp/dist/libntp/msyslog.c patch external/bsd/ntp/dist/libntp/netof.c patch external/bsd/ntp/dist/libntp/ntp_calendar.c patch external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c patch external/bsd/ntp/dist/libntp/ntp_intres.c patch external/bsd/ntp/dist/libntp/ntp_libopts.c patch external/bsd/ntp/dist/libntp/ntp_lineedit.c patch external/bsd/ntp/dist/libntp/ntp_random.c patch external/bsd/ntp/dist/libntp/ntp_rfc2553.c patch external/bsd/ntp/dist/libntp/ntp_worker.c patch external/bsd/ntp/dist/libntp/numtoa.c patch external/bsd/ntp/dist/libntp/numtohost.c patch external/bsd/ntp/dist/libntp/octtoint.c patch external/bsd/ntp/dist/libntp/prettydate.c patch external/bsd/ntp/dist/libntp/recvbuff.c patch external/bsd/ntp/dist/libntp/refnumtoa.c patch external/bsd/ntp/dist/libntp/snprintf.c patch external/bsd/ntp/dist/libntp/socket.c patch external/bsd/ntp/dist/libntp/socktoa.c patch external/bsd/ntp/dist/libntp/socktohost.c patch external/bsd/ntp/dist/libntp/ssl_init.c patch external/bsd/ntp/dist/libntp/statestr.c patch external/bsd/ntp/dist/libntp/strdup.c patch external/bsd/ntp/dist/libntp/strl_obsd.c patch external/bsd/ntp/dist/libntp/syssignal.c patch external/bsd/ntp/dist/libntp/systime.c patch external/bsd/ntp/dist/libntp/systime_s.c patch external/bsd/ntp/dist/libntp/timetoa.c patch external/bsd/ntp/dist/libntp/timevalops.c patch external/bsd/ntp/dist/libntp/uglydate.c patch external/bsd/ntp/dist/libntp/vint64ops.c patch external/bsd/ntp/dist/libntp/work_fork.c patch external/bsd/ntp/dist/libntp/work_thread.c patch external/bsd/ntp/dist/libntp/ymd2yd.c patch external/bsd/ntp/dist/libparse/Makefile.in patch external/bsd/ntp/dist/libparse/binio.c patch external/bsd/ntp/dist/libparse/clk_computime.c patch external/bsd/ntp/dist/libparse/clk_dcf7000.c patch external/bsd/ntp/dist/libparse/clk_hopf6021.c patch external/bsd/ntp/dist/libparse/clk_meinberg.c patch external/bsd/ntp/dist/libparse/clk_rawdcf.c patch external/bsd/ntp/dist/libparse/clk_rcc8000.c patch external/bsd/ntp/dist/libparse/clk_schmid.c patch external/bsd/ntp/dist/libparse/clk_sel240x.c patch external/bsd/ntp/dist/libparse/clk_trimtaip.c patch external/bsd/ntp/dist/libparse/clk_trimtsip.c patch external/bsd/ntp/dist/libparse/clk_varitext.c patch external/bsd/ntp/dist/libparse/clk_wharton.c patch external/bsd/ntp/dist/libparse/data_mbg.c patch external/bsd/ntp/dist/libparse/gpstolfp.c patch external/bsd/ntp/dist/libparse/ieee754io.c patch external/bsd/ntp/dist/libparse/info_trimble.c patch external/bsd/ntp/dist/libparse/mfp_mul.c patch external/bsd/ntp/dist/libparse/parse.c patch external/bsd/ntp/dist/libparse/parse_conf.c patch external/bsd/ntp/dist/libparse/parsesolaris.c patch external/bsd/ntp/dist/libparse/parsestreams.c patch external/bsd/ntp/dist/libparse/trim_info.c patch external/bsd/ntp/dist/ntpd/Makefile.am patch external/bsd/ntp/dist/ntpd/Makefile.in patch external/bsd/ntp/dist/ntpd/check_y2k.c patch external/bsd/ntp/dist/ntpd/cmd_args.c patch external/bsd/ntp/dist/ntpd/complete.conf.in patch external/bsd/ntp/dist/ntpd/declcond.h patch external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi patch external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi patch external/bsd/ntp/dist/ntpd/invoke-ntpd.texi patch external/bsd/ntp/dist/ntpd/jupiter.h patch external/bsd/ntp/dist/ntpd/keyword-gen.c patch external/bsd/ntp/dist/ntpd/ntp.conf.5man patch external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc patch external/bsd/ntp/dist/ntpd/ntp.conf.def patch external/bsd/ntp/dist/ntpd/ntp.conf.html patch external/bsd/ntp/dist/ntpd/ntp.conf.man.in patch external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in patch external/bsd/ntp/dist/ntpd/ntp.keys.5man patch external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc patch external/bsd/ntp/dist/ntpd/ntp.keys.def patch external/bsd/ntp/dist/ntpd/ntp.keys.html patch external/bsd/ntp/dist/ntpd/ntp.keys.man.in patch external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in patch external/bsd/ntp/dist/ntpd/ntp_config.c patch external/bsd/ntp/dist/ntpd/ntp_control.c patch external/bsd/ntp/dist/ntpd/ntp_crypto.c patch external/bsd/ntp/dist/ntpd/ntp_filegen.c patch external/bsd/ntp/dist/ntpd/ntp_io.c patch external/bsd/ntp/dist/ntpd/ntp_leapsec.c patch external/bsd/ntp/dist/ntpd/ntp_leapsec.h patch external/bsd/ntp/dist/ntpd/ntp_loopfilter.c patch external/bsd/ntp/dist/ntpd/ntp_monitor.c patch external/bsd/ntp/dist/ntpd/ntp_parser.c patch external/bsd/ntp/dist/ntpd/ntp_parser.h patch external/bsd/ntp/dist/ntpd/ntp_parser.y patch external/bsd/ntp/dist/ntpd/ntp_peer.c patch external/bsd/ntp/dist/ntpd/ntp_prio_q.c patch external/bsd/ntp/dist/ntpd/ntp_proto.c patch external/bsd/ntp/dist/ntpd/ntp_refclock.c patch external/bsd/ntp/dist/ntpd/ntp_request.c patch external/bsd/ntp/dist/ntpd/ntp_restrict.c patch external/bsd/ntp/dist/ntpd/ntp_scanner.c patch external/bsd/ntp/dist/ntpd/ntp_scanner.h patch external/bsd/ntp/dist/ntpd/ntp_signd.c patch external/bsd/ntp/dist/ntpd/ntp_timer.c patch external/bsd/ntp/dist/ntpd/ntp_util.c patch external/bsd/ntp/dist/ntpd/ntpd-opts.c patch external/bsd/ntp/dist/ntpd/ntpd-opts.def patch external/bsd/ntp/dist/ntpd/ntpd-opts.h patch external/bsd/ntp/dist/ntpd/ntpd.1ntpdman patch external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc patch external/bsd/ntp/dist/ntpd/ntpd.c patch external/bsd/ntp/dist/ntpd/ntpd.html patch external/bsd/ntp/dist/ntpd/ntpd.man.in patch external/bsd/ntp/dist/ntpd/ntpd.mdoc.in patch external/bsd/ntp/dist/ntpd/ntpdbase-opts.def patch external/bsd/ntp/dist/ntpd/ntpsim.c patch external/bsd/ntp/dist/ntpd/ppsapi_timepps.h patch external/bsd/ntp/dist/ntpd/refclock_acts.c patch external/bsd/ntp/dist/ntpd/refclock_arbiter.c patch external/bsd/ntp/dist/ntpd/refclock_arc.c patch external/bsd/ntp/dist/ntpd/refclock_as2201.c patch external/bsd/ntp/dist/ntpd/refclock_atom.c patch external/bsd/ntp/dist/ntpd/refclock_bancomm.c patch external/bsd/ntp/dist/ntpd/refclock_chronolog.c patch external/bsd/ntp/dist/ntpd/refclock_chu.c patch external/bsd/ntp/dist/ntpd/refclock_conf.c patch external/bsd/ntp/dist/ntpd/refclock_datum.c patch external/bsd/ntp/dist/ntpd/refclock_dumbclock.c patch external/bsd/ntp/dist/ntpd/refclock_fg.c patch external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c patch external/bsd/ntp/dist/ntpd/refclock_gpsvme.c patch external/bsd/ntp/dist/ntpd/refclock_heath.c patch external/bsd/ntp/dist/ntpd/refclock_hopfpci.c patch external/bsd/ntp/dist/ntpd/refclock_hopfser.c patch external/bsd/ntp/dist/ntpd/refclock_hpgps.c patch external/bsd/ntp/dist/ntpd/refclock_irig.c patch external/bsd/ntp/dist/ntpd/refclock_jjy.c patch external/bsd/ntp/dist/ntpd/refclock_jupiter.c patch external/bsd/ntp/dist/ntpd/refclock_leitch.c patch external/bsd/ntp/dist/ntpd/refclock_local.c patch external/bsd/ntp/dist/ntpd/refclock_msfees.c patch external/bsd/ntp/dist/ntpd/refclock_mx4200.c patch external/bsd/ntp/dist/ntpd/refclock_neoclock4x.c patch external/bsd/ntp/dist/ntpd/refclock_nmea.c patch external/bsd/ntp/dist/ntpd/refclock_oncore.c patch external/bsd/ntp/dist/ntpd/refclock_palisade.c patch external/bsd/ntp/dist/ntpd/refclock_palisade.h patch external/bsd/ntp/dist/ntpd/refclock_parse.c patch external/bsd/ntp/dist/ntpd/refclock_pcf.c patch external/bsd/ntp/dist/ntpd/refclock_pst.c patch external/bsd/ntp/dist/ntpd/refclock_ripencc.c patch external/bsd/ntp/dist/ntpd/refclock_shm.c patch external/bsd/ntp/dist/ntpd/refclock_tpro.c patch external/bsd/ntp/dist/ntpd/refclock_true.c patch external/bsd/ntp/dist/ntpd/refclock_tsyncpci.c patch external/bsd/ntp/dist/ntpd/refclock_tt560.c patch external/bsd/ntp/dist/ntpd/refclock_ulink.c patch external/bsd/ntp/dist/ntpd/refclock_wwv.c patch external/bsd/ntp/dist/ntpd/refclock_wwvb.c patch external/bsd/ntp/dist/ntpd/refclock_zyfer.c patch external/bsd/ntp/dist/ntpdate/Makefile.in patch external/bsd/ntp/dist/ntpdate/ntpdate.c patch external/bsd/ntp/dist/ntpdate/ntpdate.h patch external/bsd/ntp/dist/ntpdc/Makefile.am patch external/bsd/ntp/dist/ntpdc/Makefile.in patch external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi patch external/bsd/ntp/dist/ntpdc/nl_in.c patch external/bsd/ntp/dist/ntpdc/ntpdc-layout.c patch external/bsd/ntp/dist/ntpdc/ntpdc-opts.c patch external/bsd/ntp/dist/ntpdc/ntpdc-opts.def patch external/bsd/ntp/dist/ntpdc/ntpdc-opts.h patch external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman patch external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc patch external/bsd/ntp/dist/ntpdc/ntpdc.c patch external/bsd/ntp/dist/ntpdc/ntpdc.h patch external/bsd/ntp/dist/ntpdc/ntpdc.html patch external/bsd/ntp/dist/ntpdc/ntpdc.man.in patch external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in patch external/bsd/ntp/dist/ntpdc/ntpdc_ops.c patch external/bsd/ntp/dist/ntpq/Makefile.am patch external/bsd/ntp/dist/ntpq/Makefile.in patch external/bsd/ntp/dist/ntpq/invoke-ntpq.texi patch external/bsd/ntp/dist/ntpq/libntpq.c patch external/bsd/ntp/dist/ntpq/libntpq.h patch external/bsd/ntp/dist/ntpq/libntpq_subs.c patch external/bsd/ntp/dist/ntpq/ntpq-opts.c patch external/bsd/ntp/dist/ntpq/ntpq-opts.def patch external/bsd/ntp/dist/ntpq/ntpq-opts.h patch external/bsd/ntp/dist/ntpq/ntpq-subs.c patch external/bsd/ntp/dist/ntpq/ntpq.1ntpqman patch external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc patch external/bsd/ntp/dist/ntpq/ntpq.c patch external/bsd/ntp/dist/ntpq/ntpq.h patch external/bsd/ntp/dist/ntpq/ntpq.html patch external/bsd/ntp/dist/ntpq/ntpq.man.in patch external/bsd/ntp/dist/ntpq/ntpq.mdoc.in patch external/bsd/ntp/dist/ntpsnmpd/Makefile.am patch external/bsd/ntp/dist/ntpsnmpd/Makefile.in patch external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi patch external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c patch external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.c patch external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.h patch external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.def patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.c patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in patch external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in patch external/bsd/ntp/dist/parseutil/Makefile.in patch external/bsd/ntp/dist/parseutil/dcfd.c patch external/bsd/ntp/dist/parseutil/testdcf.c patch external/bsd/ntp/dist/scripts/Makefile.am patch external/bsd/ntp/dist/scripts/Makefile.in patch external/bsd/ntp/dist/scripts/invoke-plot_summary.texi patch external/bsd/ntp/dist/scripts/invoke-summary.texi patch external/bsd/ntp/dist/scripts/plot_summary-opts patch external/bsd/ntp/dist/scripts/plot_summary-opts.def patch external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman patch external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc patch external/bsd/ntp/dist/scripts/plot_summary.html patch external/bsd/ntp/dist/scripts/plot_summary.man.in patch external/bsd/ntp/dist/scripts/plot_summary.mdoc.in patch external/bsd/ntp/dist/scripts/summary-opts patch external/bsd/ntp/dist/scripts/summary-opts.def patch external/bsd/ntp/dist/scripts/summary.1summaryman patch external/bsd/ntp/dist/scripts/summary.1summarymdoc patch external/bsd/ntp/dist/scripts/summary.html patch external/bsd/ntp/dist/scripts/summary.man.in patch external/bsd/ntp/dist/scripts/summary.mdoc.in patch external/bsd/ntp/dist/scripts/build/Makefile.am patch external/bsd/ntp/dist/scripts/build/Makefile.in patch external/bsd/ntp/dist/scripts/build/VersionName patch external/bsd/ntp/dist/scripts/build/checkHtmlFileDates patch external/bsd/ntp/dist/scripts/build/updateBEDate patch external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.am patch external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in patch external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts patch external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts.def patch external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman patch external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc patch external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html patch external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in patch external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in patch external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi patch external/bsd/ntp/dist/scripts/lib/Makefile.in patch external/bsd/ntp/dist/scripts/lib/NTP/Util.pm patch external/bsd/ntp/dist/scripts/monitoring/ntp.pl patch external/bsd/ntp/dist/scripts/monitoring/ntptrap patch external/bsd/ntp/dist/scripts/ntp-wait/Makefile.am patch external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in patch external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi patch external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts patch external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts.def patch external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman patch external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc patch external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html patch external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in patch external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in patch external/bsd/ntp/dist/scripts/ntpsweep/Makefile.am patch external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in patch external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi patch external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts patch external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts.def patch external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman patch external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc patch external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html patch external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in patch external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in patch external/bsd/ntp/dist/scripts/ntptrace/Makefile.am patch external/bsd/ntp/dist/scripts/ntptrace/Makefile.in patch external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi patch external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts patch external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts.def patch external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman patch external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc patch external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html patch external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in patch external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in patch external/bsd/ntp/dist/sntp/COPYRIGHT patch external/bsd/ntp/dist/sntp/Makefile.am patch external/bsd/ntp/dist/sntp/Makefile.in patch external/bsd/ntp/dist/sntp/aclocal.m4 patch external/bsd/ntp/dist/sntp/configure patch external/bsd/ntp/dist/sntp/crypto.c patch external/bsd/ntp/dist/sntp/crypto.h patch external/bsd/ntp/dist/sntp/data_formats.h patch external/bsd/ntp/dist/sntp/invoke-sntp.texi patch external/bsd/ntp/dist/sntp/kod_management.c patch external/bsd/ntp/dist/sntp/kod_management.h patch external/bsd/ntp/dist/sntp/log.c patch external/bsd/ntp/dist/sntp/log.h patch external/bsd/ntp/dist/sntp/main.c patch external/bsd/ntp/dist/sntp/main.h patch external/bsd/ntp/dist/sntp/networking.c patch external/bsd/ntp/dist/sntp/networking.h patch external/bsd/ntp/dist/sntp/scm-rev patch external/bsd/ntp/dist/sntp/sntp-opts.c patch external/bsd/ntp/dist/sntp/sntp-opts.def patch external/bsd/ntp/dist/sntp/sntp-opts.h patch external/bsd/ntp/dist/sntp/sntp.1sntpman patch external/bsd/ntp/dist/sntp/sntp.1sntpmdoc patch external/bsd/ntp/dist/sntp/sntp.c patch external/bsd/ntp/dist/sntp/sntp.html patch external/bsd/ntp/dist/sntp/sntp.man.in patch external/bsd/ntp/dist/sntp/sntp.mdoc.in patch external/bsd/ntp/dist/sntp/tests_main.h patch external/bsd/ntp/dist/sntp/utilities.c patch external/bsd/ntp/dist/sntp/utilities.h patch external/bsd/ntp/dist/sntp/ag-tpl/Mdoc.pm patch external/bsd/ntp/dist/sntp/ag-tpl/agman-cmd.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/agmdoc-cmd.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/cmd-doc.tlib patch external/bsd/ntp/dist/sntp/ag-tpl/mdoc-synopsis.tlib patch external/bsd/ntp/dist/sntp/ag-tpl/mdoc2man patch external/bsd/ntp/dist/sntp/ag-tpl/mdoc2texi patch external/bsd/ntp/dist/sntp/ag-tpl/perlopt.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/0-old/Mdoc.pm patch external/bsd/ntp/dist/sntp/ag-tpl/0-old/agman-cmd.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/0-old/agmdoc-cmd.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/0-old/cmd-doc.tlib patch external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc-synopsis.tlib patch external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2man patch external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2texi patch external/bsd/ntp/dist/sntp/ag-tpl/0-old/perlopt.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/Old/agman-file.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/Old/agmdoc-file.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/Old/agtexi-cmd.tpl patch external/bsd/ntp/dist/sntp/ag-tpl/Old/cmd-doc.tlib patch external/bsd/ntp/dist/sntp/ag-tpl/Old/mdoc2man patch external/bsd/ntp/dist/sntp/include/Makefile.in patch external/bsd/ntp/dist/sntp/include/autogen-version.def patch external/bsd/ntp/dist/sntp/include/copyright.def patch external/bsd/ntp/dist/sntp/include/version.def patch external/bsd/ntp/dist/sntp/include/version.texi patch external/bsd/ntp/dist/sntp/libevent/ChangeLog patch external/bsd/ntp/dist/sntp/libevent/CommitLog patch external/bsd/ntp/dist/sntp/libevent/Makefile.am patch external/bsd/ntp/dist/sntp/libevent/Makefile.in patch external/bsd/ntp/dist/sntp/libevent/Makefile.nmake patch external/bsd/ntp/dist/sntp/libevent/arc4random.c patch external/bsd/ntp/dist/sntp/libevent/buffer.c patch external/bsd/ntp/dist/sntp/libevent/buffer_iocp.c patch external/bsd/ntp/dist/sntp/libevent/bufferevent-internal.h patch external/bsd/ntp/dist/sntp/libevent/bufferevent.c patch external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c patch external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c patch external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c patch external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c patch external/bsd/ntp/dist/sntp/libevent/bufferevent_ratelim.c patch external/bsd/ntp/dist/sntp/libevent/bufferevent_sock.c patch external/bsd/ntp/dist/sntp/libevent/changelist-internal.h patch external/bsd/ntp/dist/sntp/libevent/config.h.in patch external/bsd/ntp/dist/sntp/libevent/configure patch external/bsd/ntp/dist/sntp/libevent/configure.ac patch external/bsd/ntp/dist/sntp/libevent/defer-internal.h patch external/bsd/ntp/dist/sntp/libevent/devpoll.c patch external/bsd/ntp/dist/sntp/libevent/epoll.c patch external/bsd/ntp/dist/sntp/libevent/epoll_sub.c patch external/bsd/ntp/dist/sntp/libevent/epolltable-internal.h patch external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h patch external/bsd/ntp/dist/sntp/libevent/evconfig-private.h patch external/bsd/ntp/dist/sntp/libevent/evdns.3 patch external/bsd/ntp/dist/sntp/libevent/evdns.c patch external/bsd/ntp/dist/sntp/libevent/event-internal.h patch external/bsd/ntp/dist/sntp/libevent/event.3 patch external/bsd/ntp/dist/sntp/libevent/event.c patch external/bsd/ntp/dist/sntp/libevent/event_iocp.c patch external/bsd/ntp/dist/sntp/libevent/event_tagging.c patch external/bsd/ntp/dist/sntp/libevent/evmap-internal.h patch external/bsd/ntp/dist/sntp/libevent/evmap.c patch external/bsd/ntp/dist/sntp/libevent/evport.c patch external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h patch external/bsd/ntp/dist/sntp/libevent/evrpc.c patch external/bsd/ntp/dist/sntp/libevent/evsignal-internal.h patch external/bsd/ntp/dist/sntp/libevent/evthread-internal.h patch external/bsd/ntp/dist/sntp/libevent/evthread.c patch external/bsd/ntp/dist/sntp/libevent/evthread_pthread.c patch external/bsd/ntp/dist/sntp/libevent/evthread_win32.c patch external/bsd/ntp/dist/sntp/libevent/evutil.c patch external/bsd/ntp/dist/sntp/libevent/evutil_rand.c patch external/bsd/ntp/dist/sntp/libevent/evutil_time.c patch external/bsd/ntp/dist/sntp/libevent/ht-internal.h patch external/bsd/ntp/dist/sntp/libevent/http-internal.h patch external/bsd/ntp/dist/sntp/libevent/http.c patch external/bsd/ntp/dist/sntp/libevent/iocp-internal.h patch external/bsd/ntp/dist/sntp/libevent/ipv6-internal.h patch external/bsd/ntp/dist/sntp/libevent/kqueue-internal.h patch external/bsd/ntp/dist/sntp/libevent/kqueue.c patch external/bsd/ntp/dist/sntp/libevent/listener.c patch external/bsd/ntp/dist/sntp/libevent/log-internal.h patch external/bsd/ntp/dist/sntp/libevent/log.c patch external/bsd/ntp/dist/sntp/libevent/make_epoll_table.py patch external/bsd/ntp/dist/sntp/libevent/minheap-internal.h patch external/bsd/ntp/dist/sntp/libevent/mm-internal.h patch external/bsd/ntp/dist/sntp/libevent/poll.c patch external/bsd/ntp/dist/sntp/libevent/ratelim-internal.h patch external/bsd/ntp/dist/sntp/libevent/select.c patch external/bsd/ntp/dist/sntp/libevent/signal.c patch external/bsd/ntp/dist/sntp/libevent/strlcpy-internal.h patch external/bsd/ntp/dist/sntp/libevent/strlcpy.c patch external/bsd/ntp/dist/sntp/libevent/time-internal.h patch external/bsd/ntp/dist/sntp/libevent/util-internal.h patch external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt patch external/bsd/ntp/dist/sntp/libevent/win32select.c patch external/bsd/ntp/dist/sntp/libevent/WIN32-Code/evconfig-private.h patch external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h patch external/bsd/ntp/dist/sntp/libevent/WIN32-Code/event2/event-config.h patch external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/evconfig-private.h patch external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h patch external/bsd/ntp/dist/sntp/libevent/compat/sys/queue.h patch external/bsd/ntp/dist/sntp/libevent/include/Makefile.in patch external/bsd/ntp/dist/sntp/libevent/include/evdns.h patch external/bsd/ntp/dist/sntp/libevent/include/event.h patch external/bsd/ntp/dist/sntp/libevent/include/evhttp.h patch external/bsd/ntp/dist/sntp/libevent/include/evrpc.h patch external/bsd/ntp/dist/sntp/libevent/include/evutil.h patch external/bsd/ntp/dist/sntp/libevent/include/include.am patch external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/buffer_compat.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_compat.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_ssl.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_struct.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/dns_compat.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/dns_struct.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/event.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/event_compat.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/event_struct.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/http.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/http_compat.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/http_struct.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/keyvalq_struct.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/rpc.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_compat.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_struct.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/tag.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/tag_compat.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/thread.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/util.h patch external/bsd/ntp/dist/sntp/libevent/include/event2/visibility.h patch external/bsd/ntp/dist/sntp/libevent/m4/LICENSE-OPENLDAP patch external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4 patch external/bsd/ntp/dist/sntp/libevent/sample/Makefile.in patch external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c patch external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c patch external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c patch external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c patch external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h patch external/bsd/ntp/dist/sntp/libevent/sample/http-server.c patch external/bsd/ntp/dist/sntp/libevent/sample/https-client.c patch external/bsd/ntp/dist/sntp/libevent/sample/include.am patch external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c patch external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.c patch external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.h patch external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c patch external/bsd/ntp/dist/sntp/libevent/sample/time-test.c patch external/bsd/ntp/dist/sntp/libevent/test/Makefile.in patch external/bsd/ntp/dist/sntp/libevent/test/Makefile.nmake patch external/bsd/ntp/dist/sntp/libevent/test/bench.c patch external/bsd/ntp/dist/sntp/libevent/test/bench_cascade.c patch external/bsd/ntp/dist/sntp/libevent/test/bench_http.c patch external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c patch external/bsd/ntp/dist/sntp/libevent/test/include.am patch external/bsd/ntp/dist/sntp/libevent/test/print-winsock-errors.c patch external/bsd/ntp/dist/sntp/libevent/test/regress.c patch external/bsd/ntp/dist/sntp/libevent/test/regress.gen.c patch external/bsd/ntp/dist/sntp/libevent/test/regress.gen.h patch external/bsd/ntp/dist/sntp/libevent/test/regress.h patch external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_et.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_http.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_iocp.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_listener.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_main.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_rpc.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.h patch external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_thread.h patch external/bsd/ntp/dist/sntp/libevent/test/regress_util.c patch external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c patch external/bsd/ntp/dist/sntp/libevent/test/rpcgen_wrapper.sh patch external/bsd/ntp/dist/sntp/libevent/test/test-changelist.c patch external/bsd/ntp/dist/sntp/libevent/test/test-closed.c patch external/bsd/ntp/dist/sntp/libevent/test/test-dumpevents.c patch external/bsd/ntp/dist/sntp/libevent/test/test-eof.c patch external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c patch external/bsd/ntp/dist/sntp/libevent/test/test-init.c patch external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c patch external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.sh patch external/bsd/ntp/dist/sntp/libevent/test/test-time.c patch external/bsd/ntp/dist/sntp/libevent/test/test-weof.c patch external/bsd/ntp/dist/sntp/libevent/test/test.sh patch external/bsd/ntp/dist/sntp/libevent/test/tinytest.c patch external/bsd/ntp/dist/sntp/libevent/test/tinytest.h patch external/bsd/ntp/dist/sntp/libevent/test/tinytest_demo.c patch external/bsd/ntp/dist/sntp/libevent/test/tinytest_local.h patch external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h patch external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3 patch external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3 patch external/bsd/ntp/dist/sntp/libopts/Makefile.am patch external/bsd/ntp/dist/sntp/libopts/Makefile.in patch external/bsd/ntp/dist/sntp/libopts/README patch external/bsd/ntp/dist/sntp/libopts/ag-char-map.h patch external/bsd/ntp/dist/sntp/libopts/alias.c patch external/bsd/ntp/dist/sntp/libopts/ao-strs.c patch external/bsd/ntp/dist/sntp/libopts/ao-strs.h patch external/bsd/ntp/dist/sntp/libopts/autoopts.c patch external/bsd/ntp/dist/sntp/libopts/autoopts.h patch external/bsd/ntp/dist/sntp/libopts/boolean.c patch external/bsd/ntp/dist/sntp/libopts/check.c patch external/bsd/ntp/dist/sntp/libopts/configfile.c patch external/bsd/ntp/dist/sntp/libopts/cook.c patch external/bsd/ntp/dist/sntp/libopts/enum.c patch external/bsd/ntp/dist/sntp/libopts/env.c patch external/bsd/ntp/dist/sntp/libopts/file.c patch external/bsd/ntp/dist/sntp/libopts/find.c patch external/bsd/ntp/dist/sntp/libopts/genshell.c patch external/bsd/ntp/dist/sntp/libopts/genshell.h patch external/bsd/ntp/dist/sntp/libopts/gettext.h patch external/bsd/ntp/dist/sntp/libopts/init.c patch external/bsd/ntp/dist/sntp/libopts/intprops.h patch external/bsd/ntp/dist/sntp/libopts/libopts.c patch external/bsd/ntp/dist/sntp/libopts/load.c patch external/bsd/ntp/dist/sntp/libopts/makeshell.c patch external/bsd/ntp/dist/sntp/libopts/nested.c patch external/bsd/ntp/dist/sntp/libopts/numeric.c patch external/bsd/ntp/dist/sntp/libopts/option-value-type.c patch external/bsd/ntp/dist/sntp/libopts/option-value-type.h patch external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c patch external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h patch external/bsd/ntp/dist/sntp/libopts/parse-duration.c patch external/bsd/ntp/dist/sntp/libopts/parse-duration.h patch external/bsd/ntp/dist/sntp/libopts/pgusage.c patch external/bsd/ntp/dist/sntp/libopts/proto.h patch external/bsd/ntp/dist/sntp/libopts/putshell.c patch external/bsd/ntp/dist/sntp/libopts/reset.c patch external/bsd/ntp/dist/sntp/libopts/restore.c patch external/bsd/ntp/dist/sntp/libopts/save.c patch external/bsd/ntp/dist/sntp/libopts/sort.c patch external/bsd/ntp/dist/sntp/libopts/stack.c patch external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h patch external/bsd/ntp/dist/sntp/libopts/streqvcmp.c patch external/bsd/ntp/dist/sntp/libopts/text_mmap.c patch external/bsd/ntp/dist/sntp/libopts/time.c patch external/bsd/ntp/dist/sntp/libopts/tokenize.c patch external/bsd/ntp/dist/sntp/libopts/usage.c patch external/bsd/ntp/dist/sntp/libopts/version.c patch external/bsd/ntp/dist/sntp/libopts/autoopts/options.h patch external/bsd/ntp/dist/sntp/libopts/autoopts/project.h patch external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h patch external/bsd/ntp/dist/sntp/libopts/compat/_Noreturn.h patch external/bsd/ntp/dist/sntp/libopts/compat/compat.h patch external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c patch external/bsd/ntp/dist/sntp/libopts/compat/snprintf.c patch external/bsd/ntp/dist/sntp/libopts/compat/strchr.c patch external/bsd/ntp/dist/sntp/libopts/compat/strdup.c patch external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h patch external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4 patch external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4 patch external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4 patch external/bsd/ntp/dist/sntp/loc/README patch external/bsd/ntp/dist/sntp/loc/darwin patch external/bsd/ntp/dist/sntp/loc/debian patch external/bsd/ntp/dist/sntp/loc/freebsd patch external/bsd/ntp/dist/sntp/loc/legacy patch external/bsd/ntp/dist/sntp/loc/netbsd patch external/bsd/ntp/dist/sntp/loc/redhat patch external/bsd/ntp/dist/sntp/loc/solaris patch external/bsd/ntp/dist/sntp/m4/ntp_crypto_rand.m4 patch external/bsd/ntp/dist/sntp/m4/ntp_dir_sep.m4 patch external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4 patch external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4 patch external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4 patch external/bsd/ntp/dist/sntp/m4/version.m4 patch external/bsd/ntp/dist/sntp/scripts/Makefile.in patch external/bsd/ntp/dist/sntp/scripts/genLocInfo patch external/bsd/ntp/dist/sntp/tests/Makefile.in patch external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h patch external/bsd/ntp/dist/sntp/tests/sntptest.h patch external/bsd/ntp/dist/tests/Makefile.in patch external/bsd/ntp/dist/tests/libntp/Makefile.am patch external/bsd/ntp/dist/tests/libntp/Makefile.in patch external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp patch external/bsd/ntp/dist/tests/libntp/lfptest.h patch external/bsd/ntp/dist/tests/libntp/libntptest.h patch external/bsd/ntp/dist/tests/libntp/sockaddrtest.h patch external/bsd/ntp/dist/tests/libntp/timestructs.h patch external/bsd/ntp/dist/tests/libntp/vi64ops.cpp patch external/bsd/ntp/dist/tests/ntpd/Makefile.in patch external/bsd/ntp/dist/tests/ntpd/leapsec.cpp patch external/bsd/ntp/dist/tests/ntpd/ntpdtest.h patch external/bsd/ntp/dist/util/Makefile.am patch external/bsd/ntp/dist/util/Makefile.in patch external/bsd/ntp/dist/util/audio-pcm.c patch external/bsd/ntp/dist/util/byteorder.c patch external/bsd/ntp/dist/util/hist.c patch external/bsd/ntp/dist/util/invoke-ntp-keygen.texi patch external/bsd/ntp/dist/util/jitter.c patch external/bsd/ntp/dist/util/jitter.h patch external/bsd/ntp/dist/util/kern.c patch external/bsd/ntp/dist/util/longsize.c patch external/bsd/ntp/dist/util/ntp-keygen-opts.c patch external/bsd/ntp/dist/util/ntp-keygen-opts.def patch external/bsd/ntp/dist/util/ntp-keygen-opts.h patch external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman patch external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc patch external/bsd/ntp/dist/util/ntp-keygen.c patch external/bsd/ntp/dist/util/ntp-keygen.html patch external/bsd/ntp/dist/util/ntp-keygen.man.in patch external/bsd/ntp/dist/util/ntp-keygen.mdoc.in patch external/bsd/ntp/dist/util/ntptime.c patch external/bsd/ntp/dist/util/pps-api.c patch external/bsd/ntp/dist/util/precision.c patch external/bsd/ntp/dist/util/sht.c patch external/bsd/ntp/dist/util/testrs6000.c patch external/bsd/ntp/dist/util/tg.c patch external/bsd/ntp/dist/util/tg2.c patch external/bsd/ntp/dist/util/tickadj.c patch external/bsd/ntp/dist/util/timetrim.c patch external/bsd/ntp/include/config.h patch external/bsd/ntp/lib/libiscntp/Makefile patch external/bsd/ntp/lib/libntp/Makefile patch external/bsd/ntp/lib/libopts/Makefile patch external/bsd/ntp/scripts/mkver patch Update ntp to version 4.2.8. [christos, ticket #351] @ text @d44 1 a44 1 probably need to be recompiled against Libevent 2.1.3-alpha if you d149 1 a149 107 1.3. Event finalization [NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though it seems solid so far, its API might change between now and the first release candidate for Libevent 2.1.] 1.3.1. Why event finalization? Libevent 2.1 now supports an API for safely "finalizing" events that might be running in multiple threads, and provides a way to slightly change the semantics of event_del() to prevent deadlocks in multithreaded programs. To motivate this feature, consider the following code, in the context of a mulithreaded Libevent application: struct connection *conn = event_get_callback_arg(ev); event_del(ev); connection_free(conn); Suppose that the event's callback might be running in another thread, and using the value of "conn" concurrently. We wouldn't want to execute the connection_free() call until "conn" is no longer in use. How can we make this code safe? Libevent 2.0 answered that question by saying that the event_del() call should block if the event's callback is running in another thread. That way, we can be sure that event_del() has canceled the callback (if the callback hadn't started running yet), or has waited for the callback to finish. But now suppose that the data structure is protected by a lock, and we have the following code: void check_disable(struct connection *connection) { lock(connection); if (should_stop_reading(connection)) event_del(connection->read_event); unlock(connection); } What happens when we call check_disable() from a callback and from another thread? Let's say that the other thread gets the lock first. If it decides to call event_del(), it will wait for the callback to finish. But meanwhile, the callback will be waiting for the lock on the connection. Since each threads is waiting for the other one to release a resource, the program will deadlock. This bug showed up in multithreaded bufferevent programs in 2.1, particularly when freeing bufferevents. (For more information, see the "Deadlock when calling bufferevent_free from an other thread" thread on libevent-users starting on 6 August 2012 and running through February of 2013. You might also like to read my earlier writeup at http://archives.seul.org/libevent/users/Feb-2012/msg00053.html and the ensuing discussion.) 1.3.2. The EV_FINALIZE flag and avoiding deadlock To prevent the deadlock condition described above, Libevent 2.1.3-alpha adds a new flag, "EV_FINALIZE". You can pass it to event_new() and event_assign() along with EV_READ, EV_WRITE, and the other event flags. When an event is constructed with the EV_FINALIZE flag, event_del() will not block on that event, even when the event's callback is running in another thread. By using EV_FINALIZE, you are therefore promising not to use the "event_del(ev); free(event_get_callback_arg(ev));" pattern, but rather to use one of the finalization functions below to clean up the event. EV_FINALIZE has no effect on a single-threaded program, or on a program where events are only used from one thread. There are also two new variants of event_del() that you can use for more fine-grained control: event_del_noblock(ev) event_del_block(ev) The event_del_noblock() function will never block, even if the event callback is running in another thread and doesn't have the EV_FINALIZE flag. The event_del_block() function will _always_ block if the event callback is running in another thread, even if the event _does_ have the EV_FINALIZE flag. [A future version of Libevent may have a way to make the EV_FINALIZE flag the default.] 1.3.3. Safely finalizing events To safely tear down an event that may be running, Libevent 2.1.3-alpha introduces event_finalize() and event_free_finalize(). You call them on an event, and provide a finalizer callback to be run on the event and its callback argument once the event is definitely no longer running. With event_free_finalize(), the event is also freed once the finalizer callback has been invoked. A finalized event cannot be re-added or activated. The finalizer callback must not add events, activate events, or attempt to "resucitate" the event being finalized in any way. If any finalizer callbacks are pending as the event_base is being freed, they will be invoked. You can override this behavior with the new function event_base_free_nofinalize(). 1.4. New debugging features d161 1 a161 1 1.5. New evbuffer functions d201 1 a201 1 1.6. New functions and features: bufferevents d222 1 a222 1 1.7. New functions and features: evdns d230 1 a230 8 The evdns_base_new() function now has multiple possible values for its second (flags) argument. Using 1 and 0 have their old meanings, though the 1 flag now has a symbolic name of EVDNS_BASE_INITIALIZE_NAMESERVERS. A second flag is now supported too: the EVDNS_BASE_DISABLE_WHEN_INACTIVE flag, which tells the evdns_base that it should not prevent Libevent from exiting while it has no DNS requests in progress. 1.8. New functions and features: evconnlistener d248 1 a248 1 1.9. New functions and features: evhttp a276 5 There's a new kind of request callback for errors; you can set it with evhttp_request_set_error_cb(). It gets called when there's a request error, and actually reports the error code and lets you figure out which request failed. @ 1.1.1.1.6.2 log @Pull up following revision(s) (requested by christos in ticket #682): external/bsd/ntp/dist/COPYRIGHT: up to 1.1.1.5 external/bsd/ntp/dist/ChangeLog: up to 1.1.1.5 external/bsd/ntp/dist/CommitLog: up to 1.1.1.5 external/bsd/ntp/dist/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/NEWS: up to 1.1.1.5 external/bsd/ntp/dist/aclocal.m4: up to 1.1.1.5 external/bsd/ntp/dist/adjtimed/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/build: up to 1.1.1.5 external/bsd/ntp/dist/clockstuff/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/config.h.in: up to 1.1.1.5 external/bsd/ntp/dist/configure: up to 1.1.1.5 external/bsd/ntp/dist/configure.ac: up to 1.1.1.5 external/bsd/ntp/dist/html/build.html: up to 1.1.1.4 external/bsd/ntp/dist/html/confopt.html: up to 1.1.1.4 external/bsd/ntp/dist/html/copyright.html: up to 1.1.1.5 external/bsd/ntp/dist/html/drivers/driver28.html: up to 1.1.1.4 external/bsd/ntp/dist/html/miscopt.html: up to 1.1.1.4 external/bsd/ntp/dist/html/sntp.html: up to 1.1.1.4 external/bsd/ntp/dist/include/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/include/binio.h: up to 1.3 external/bsd/ntp/dist/include/isc/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/include/mbg_gps166.h: up to 1.3 external/bsd/ntp/dist/include/ntp.h: up to 1.3 external/bsd/ntp/dist/include/ntp_calendar.h: up to 1.3 external/bsd/ntp/dist/include/ntp_fp.h: up to 1.6 external/bsd/ntp/dist/include/ntp_md5.h: up to 1.3 external/bsd/ntp/dist/include/ntpd.h: up to 1.6 external/bsd/ntp/dist/include/parse.h: up to 1.3 external/bsd/ntp/dist/include/parse_conf.h: up to 1.3 external/bsd/ntp/dist/include/timepps-Solaris.h: up to 1.3 external/bsd/ntp/dist/kernel/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/kernel/sys/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/kernel/sys/parsestreams.h: up to 1.3 external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h: up to 1.3 external/bsd/ntp/dist/lib/isc/include/isc/socket.h: up to 1.3 external/bsd/ntp/dist/lib/isc/inet_ntop.c: up to 1.5 external/bsd/ntp/dist/lib/isc/log.c: up to 1.5 external/bsd/ntp/dist/lib/isc/result.c: up to 1.5 external/bsd/ntp/dist/lib/isc/unix/file.c: up to 1.5 external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c: up to 1.5 external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c: up to 1.3 external/bsd/ntp/dist/lib/isc/unix/net.c: up to 1.6 external/bsd/ntp/dist/libjsmn/jsmn.c: up to 1.3 external/bsd/ntp/dist/libntp/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/libntp/audio.c: up to 1.7 external/bsd/ntp/dist/libntp/ntp_calendar.c: up to 1.5 external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c: up to 1.3 external/bsd/ntp/dist/libntp/work_fork.c: up to 1.4 external/bsd/ntp/dist/libparse/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/libparse/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/libparse/clk_computime.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_dcf7000.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_hopf6021.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_meinberg.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_rawdcf.c: up to 1.5 external/bsd/ntp/dist/libparse/clk_rcc8000.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_schmid.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_sel240x.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_trimtaip.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_trimtsip.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_varitext.c: up to 1.3 external/bsd/ntp/dist/libparse/clk_wharton.c: up to 1.3 external/bsd/ntp/dist/libparse/data_mbg.c: up to 1.6 external/bsd/ntp/dist/libparse/gpstolfp.c: up to 1.3 external/bsd/ntp/dist/libparse/info_trimble.c: up to 1.5 external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed: up to 1.1.1.3 external/bsd/ntp/dist/libparse/mkinfo_scmd.sed: up to 1.1.1.3 external/bsd/ntp/dist/libparse/parse.c: up to 1.3 external/bsd/ntp/dist/libparse/parse_conf.c: up to 1.3 external/bsd/ntp/dist/libparse/parsesolaris.c: up to 1.3 external/bsd/ntp/dist/libparse/parsestreams.c: up to 1.3 external/bsd/ntp/dist/libparse/trim_info.c: up to 1.3 external/bsd/ntp/dist/ntpd/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/cmd_args.c: up to 1.3 external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/invoke-ntpd.texi: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/keyword-gen-utd: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/keyword-gen.c: up to 1.6 external/bsd/ntp/dist/ntpd/ntp.conf.5man: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.conf.def: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.conf.html: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.conf.man.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.keys.5man: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.keys.html: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.keys.man.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntp_config.c: up to 1.10 external/bsd/ntp/dist/ntpd/ntp_control.c: up to 1.11 external/bsd/ntp/dist/ntpd/ntp_crypto.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_io.c: up to 1.17 external/bsd/ntp/dist/ntpd/ntp_keyword.h: up to 1.7 external/bsd/ntp/dist/ntpd/ntp_leapsec.c: up to 1.3 external/bsd/ntp/dist/ntpd/ntp_loopfilter.c: up to 1.6 external/bsd/ntp/dist/ntpd/ntp_parser.y: up to 1.9 external/bsd/ntp/dist/ntpd/ntp_peer.c: up to 1.6 external/bsd/ntp/dist/ntpd/ntp_proto.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntp_util.c: up to 1.6 external/bsd/ntp/dist/ntpd/ntpd-opts.c: up to 1.3 external/bsd/ntp/dist/ntpd/ntpd-opts.h: up to 1.6 external/bsd/ntp/dist/ntpd/ntpd.1ntpdman: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntpd.c: up to 1.9 external/bsd/ntp/dist/ntpd/ntpd.html: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntpd.man.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntpd.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/ntpdbase-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c: up to 1.5 external/bsd/ntp/dist/ntpd/refclock_nmea.c: up to 1.8 external/bsd/ntp/dist/ntpd/refclock_palisade.c: up to 1.3 external/bsd/ntp/dist/ntpd/refclock_palisade.h: up to 1.3 external/bsd/ntp/dist/ntpd/refclock_parse.c: up to 1.15 external/bsd/ntp/dist/ntpd/refclock_shm.c: up to 1.5 external/bsd/ntp/dist/ntpdate/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi: up to 1.1.1.3 external/bsd/ntp/dist/ntpdc/ntpdc-opts.c: up to 1.3 external/bsd/ntp/dist/ntpdc/ntpdc-opts.h: up to 1.3 external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman: up to 1.1.1.3 external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc: up to 1.1.1.3 external/bsd/ntp/dist/ntpdc/ntpdc.html: up to 1.1.1.3 external/bsd/ntp/dist/ntpdc/ntpdc.man.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpq/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/invoke-ntpq.texi: up to 1.1.1.3 external/bsd/ntp/dist/ntpq/ntpq-opts.c: up to 1.3 external/bsd/ntp/dist/ntpq/ntpq-opts.h: up to 1.3 external/bsd/ntp/dist/ntpq/ntpq-subs.c: up to 1.9 external/bsd/ntp/dist/ntpq/ntpq.1ntpqman: up to 1.1.1.3 external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc: up to 1.1.1.3 external/bsd/ntp/dist/ntpq/ntpq.html: up to 1.1.1.3 external/bsd/ntp/dist/ntpq/ntpq.man.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpq/ntpq.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpsnmpd/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi: up to 1.1.1.3 external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c: up to 1.3 external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h: up to 1.3 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c: up to 1.3 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h: up to 1.3 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman: up to 1.1.1.3 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc: up to 1.1.1.3 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html: up to 1.1.1.3 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/packageinfo.sh: up to 1.1.1.5 external/bsd/ntp/dist/parseutil/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/parseutil/dcfd.c: up to 1.3 external/bsd/ntp/dist/parseutil/testdcf.c: up to 1.3 external/bsd/ntp/dist/readme.y2kfixes: up to 1.1.1.2 external/bsd/ntp/dist/scripts/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/scripts/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/build/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/build/UpdatePoint: up to 1.1.1.2 external/bsd/ntp/dist/scripts/build/VersionName: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/invoke-plot_summary.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/invoke-summary.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/lib/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/lib/NTP/Util.pm: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntptrace/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/plot_summary-opts: up to 1.1.1.3 external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/plot_summary.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/plot_summary.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/plot_summary.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/summary-opts: up to 1.1.1.3 external/bsd/ntp/dist/scripts/summary.1summaryman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/summary.1summarymdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/summary.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/summary.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/summary.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/Makefile.am: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/Makefile.in: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/invoke-update-leap.menu: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/invoke-update-leap.texi: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap-opts: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap-opts.def: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.1update-leapman: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.1update-leapmdoc: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.html: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.man.in: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.mdoc.in: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.texi: up to 1.1.1.1 external/bsd/ntp/dist/sntp/COPYRIGHT: up to 1.1.1.5 external/bsd/ntp/dist/sntp/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/sntp/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/aclocal.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/config.h.in: up to 1.1.1.4 external/bsd/ntp/dist/sntp/configure: up to 1.1.1.5 external/bsd/ntp/dist/sntp/configure.ac: up to 1.1.1.4 external/bsd/ntp/dist/sntp/include/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/copyright.def: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/ntp.lic: up to 1.1.1.2 external/bsd/ntp/dist/sntp/include/version.def: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/version.texi: up to 1.1.1.3 external/bsd/ntp/dist/sntp/invoke-sntp.texi: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/ChangeLog: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/Makefile.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/README: delete external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/aclocal.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libevent/buffer.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/bufferevent.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/config.h.in: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/configure: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/configure.ac: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/evdns.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/event.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/event_tagging.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/evthread-internal.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/evthread.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/evutil.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/evutil_time.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/ht-internal.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/http-internal.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/http.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/include/event2/event.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/include/event2/http.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/include/event2/util.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/kqueue.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/listener.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/m4/acx_pthread.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4: delete external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4: delete external/bsd/ntp/dist/sntp/libevent/sample/http-server.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/sample/https-client.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/sample/include.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/test/include.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/test/regress.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_http.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_main.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_util.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/test-time.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/tinytest.c: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/tinytest.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/time-internal.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/util-internal.h: up to 1.3 external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libopts/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/usage.c: up to 1.4 external/bsd/ntp/dist/sntp/loc/darwin: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/debian: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/freebsd: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/legacy: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/netbsd: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/solaris: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/ax_c99_struct_init.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/openldap-thread-check.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/openldap.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/version.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/main.c: up to 1.12 external/bsd/ntp/dist/sntp/networking.c: up to 1.10 external/bsd/ntp/dist/sntp/scripts/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/sntp/scripts/cvo.sh: up to 1.1.1.2 external/bsd/ntp/dist/sntp/sntp-opts.c: up to 1.4 external/bsd/ntp/dist/sntp/sntp-opts.def: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp-opts.h: up to 1.3 external/bsd/ntp/dist/sntp/sntp.1sntpman: up to 1.1.1.3 external/bsd/ntp/dist/sntp/sntp.1sntpmdoc: up to 1.1.1.3 external/bsd/ntp/dist/sntp/sntp.html: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.man.in: up to 1.1.1.3 external/bsd/ntp/dist/sntp/sntp.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/tests/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/tests/ntpd/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/util/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/util/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/util/invoke-ntp-keygen.texi: up to 1.1.1.3 external/bsd/ntp/dist/util/jitter.c: up to 1.3 external/bsd/ntp/dist/util/jitter.h: delete external/bsd/ntp/dist/util/ntp-keygen-opts.c: up to 1.8 external/bsd/ntp/dist/util/ntp-keygen-opts.h: up to 1.3 external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman: up to 1.1.1.3 external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc: up to 1.1.1.3 external/bsd/ntp/dist/util/ntp-keygen.c: up to 1.7 external/bsd/ntp/dist/util/ntp-keygen.html: up to 1.1.1.3 external/bsd/ntp/dist/util/ntp-keygen.man.in: up to 1.1.1.3 external/bsd/ntp/dist/util/ntp-keygen.mdoc.in: up to 1.1.1.3 external/bsd/ntp/importdate: up to 1.5 external/bsd/ntp/include/config.h: up to 1.11 external/bsd/ntp/ntp2netbsd: up to 1.5 external/bsd/ntp/scripts/mkver: up to 1.6 Update ntp to 4.2.8p2 @ text @d44 1 a44 1 probably need to be recompiled against Libevent 2.1.4-alpha if you a65 3 There is now an alternative cmake-based build process; cmake users should see the relevant sections in the README. a148 13 You can use the new event_base_get_num_events() function to find the number of events active or pending on an event_base. To find the largest number of events that there have been since the last call, use event_base_get_max_events(). You can now activate all the events waiting for a given fd or signal using the event_base_active_by_fd() and event_base_active_by_signal() APIs. On backends that support it (currently epoll), there is now an EV_CLOSED flag that programs can use to detect when a socket has closed without having to read all the bytes until receiving an EOF. a327 7 The function bufferevent_get_token_bucket_cfg() can retrieve the rate-limit settings for a bufferevent; bufferevent_getwatermark() can return a bufferevent's current watermark settings. You can manually trigger a bufferevent's callbacks via bufferevent_trigger() and bufferevent_trigger_event(). a342 3 There is a new evdns_base_clear_host_addresses() function to remove all the /etc/hosts addresses registered with an evdns instance. a394 25 You can navigate from an evhttp_connection back to its evhttp with the new evhttp_connection_get_server() function. You can override the default HTTP Content-Type with the new evhttp_set_default_content_type() function There's a new evhttp_connection_get_addr() API to return the peer address of an evhttp_connection. The new evhttp_send_reply_chunk_with_cb() is a variant of evhttp_send_reply_chunk() with a callback to be invoked when the chunk is sent. The evhttp_request_set_header_cb() facility adds a callback to be invoked while parsing headers. The evhttp_request_set_on_complete_cb() facility adds a callback to be invoked on request completion. 1.10. New functions and features: evutil There's a function "evutil_secure_rng_set_urandom_device_file()" that you can use to override the default file that Libevent uses to seed its (sort-of) secure RNG. @ 1.1.1.2 log @Import ntp 4.2.8 @ text @d44 1 a44 1 probably need to be recompiled against Libevent 2.1.3-alpha if you d149 1 a149 107 1.3. Event finalization [NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though it seems solid so far, its API might change between now and the first release candidate for Libevent 2.1.] 1.3.1. Why event finalization? Libevent 2.1 now supports an API for safely "finalizing" events that might be running in multiple threads, and provides a way to slightly change the semantics of event_del() to prevent deadlocks in multithreaded programs. To motivate this feature, consider the following code, in the context of a mulithreaded Libevent application: struct connection *conn = event_get_callback_arg(ev); event_del(ev); connection_free(conn); Suppose that the event's callback might be running in another thread, and using the value of "conn" concurrently. We wouldn't want to execute the connection_free() call until "conn" is no longer in use. How can we make this code safe? Libevent 2.0 answered that question by saying that the event_del() call should block if the event's callback is running in another thread. That way, we can be sure that event_del() has canceled the callback (if the callback hadn't started running yet), or has waited for the callback to finish. But now suppose that the data structure is protected by a lock, and we have the following code: void check_disable(struct connection *connection) { lock(connection); if (should_stop_reading(connection)) event_del(connection->read_event); unlock(connection); } What happens when we call check_disable() from a callback and from another thread? Let's say that the other thread gets the lock first. If it decides to call event_del(), it will wait for the callback to finish. But meanwhile, the callback will be waiting for the lock on the connection. Since each threads is waiting for the other one to release a resource, the program will deadlock. This bug showed up in multithreaded bufferevent programs in 2.1, particularly when freeing bufferevents. (For more information, see the "Deadlock when calling bufferevent_free from an other thread" thread on libevent-users starting on 6 August 2012 and running through February of 2013. You might also like to read my earlier writeup at http://archives.seul.org/libevent/users/Feb-2012/msg00053.html and the ensuing discussion.) 1.3.2. The EV_FINALIZE flag and avoiding deadlock To prevent the deadlock condition described above, Libevent 2.1.3-alpha adds a new flag, "EV_FINALIZE". You can pass it to event_new() and event_assign() along with EV_READ, EV_WRITE, and the other event flags. When an event is constructed with the EV_FINALIZE flag, event_del() will not block on that event, even when the event's callback is running in another thread. By using EV_FINALIZE, you are therefore promising not to use the "event_del(ev); free(event_get_callback_arg(ev));" pattern, but rather to use one of the finalization functions below to clean up the event. EV_FINALIZE has no effect on a single-threaded program, or on a program where events are only used from one thread. There are also two new variants of event_del() that you can use for more fine-grained control: event_del_noblock(ev) event_del_block(ev) The event_del_noblock() function will never block, even if the event callback is running in another thread and doesn't have the EV_FINALIZE flag. The event_del_block() function will _always_ block if the event callback is running in another thread, even if the event _does_ have the EV_FINALIZE flag. [A future version of Libevent may have a way to make the EV_FINALIZE flag the default.] 1.3.3. Safely finalizing events To safely tear down an event that may be running, Libevent 2.1.3-alpha introduces event_finalize() and event_free_finalize(). You call them on an event, and provide a finalizer callback to be run on the event and its callback argument once the event is definitely no longer running. With event_free_finalize(), the event is also freed once the finalizer callback has been invoked. A finalized event cannot be re-added or activated. The finalizer callback must not add events, activate events, or attempt to "resucitate" the event being finalized in any way. If any finalizer callbacks are pending as the event_base is being freed, they will be invoked. You can override this behavior with the new function event_base_free_nofinalize(). 1.4. New debugging features d161 1 a161 1 1.5. New evbuffer functions d201 1 a201 1 1.6. New functions and features: bufferevents d222 1 a222 1 1.7. New functions and features: evdns d230 1 a230 8 The evdns_base_new() function now has multiple possible values for its second (flags) argument. Using 1 and 0 have their old meanings, though the 1 flag now has a symbolic name of EVDNS_BASE_INITIALIZE_NAMESERVERS. A second flag is now supported too: the EVDNS_BASE_DISABLE_WHEN_INACTIVE flag, which tells the evdns_base that it should not prevent Libevent from exiting while it has no DNS requests in progress. 1.8. New functions and features: evconnlistener d248 1 a248 1 1.9. New functions and features: evhttp a276 5 There's a new kind of request callback for errors; you can set it with evhttp_request_set_error_cb(). It gets called when there's a request error, and actually reports the error code and lets you figure out which request failed. @ 1.1.1.3 log @--- (4.2.8p2) 2015/04/07 Released by Harlan Stenn (4.2.8p2-RC3) 2015/04/03 Released by Harlan Stenn * [Bug 2763] Fix for different thresholds for forward and backward steps. --- (4.2.8p2-RC2) 2015/04/03 Released by Harlan Stenn * [Bug 2592] FLAG_TSTAMP_PPS cleanup for refclock_parse.c. * [Bug 2769] New script: update-leap * [Bug 2769] cleannup for update-leap * [Bug 2788] New flag -G (force_step_once). * [Bug 2794] Clean up kernel clock status reports. * [Bug 2795] Cannot build without OpenSLL (on Win32). Provided a Win32 specific wrapper around libevent/arc4random.c. fixed some minor warnings. * [Bug 2796] ntp-keygen crashes in 'getclock()' on Win32. * [Bug 2797] ntp-keygen trapped in endless loop for MD5 keys on big-endian machines. * [Bug 2798] sntp should decode and display the leap indicator. * Simple cleanup to html/build.html --- (4.2.8p2-RC1) 2015/03/30 Released by Harlan Stenn * [Bug 2794] Don't let reports on normal kernel status changes look like errors. * [Bug 2788] New flag -G (force_step_once). * [Bug 2592] Account for PPS sources which can provide an accurate absolute time stamp, and status information. Fixed indention and removed trailing whitespace. * [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003. * [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument. * [Bug 2346] "graceful termination" signals do not do peer cleanup. * [Bug 2728] See if C99-style structure initialization works. * [Bug 2747] Upgrade libevent to 2.1.5-beta. * [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. . * [Bug 2751] jitter.h has stale copies of l_fp macros. * [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM. * [Bug 2757] Quiet compiler warnings. * [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq. * [Bug 2763] Allow different thresholds for forward and backward steps. * [Bug 2766] ntp-keygen output files should not be world-readable. * [Bug 2767] ntp-keygen -M should symlink to ntp.keys. * [Bug 2771] nonvolatile value is documented in wrong units. * [Bug 2773] Early leap announcement from Palisade/Thunderbolt * [Bug 2774] Unreasonably verbose printout - leap pending/warning * [Bug 2775] ntp-keygen.c fails to compile under Windows. * [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info. Removed non-ASCII characters from some copyright comments. Removed trailing whitespace. Updated definitions for Meinberg clocks from current Meinberg header files. Now use C99 fixed-width types and avoid non-ASCII characters in comments. Account for updated definitions pulled from Meinberg header files. Updated comments on Meinberg GPS receivers which are not only called GPS16x. Replaced some constant numbers by defines from ntp_calendar.h Modified creation of parse-specific variables for Meinberg devices in gps16x_message(). Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates. Modified mbg_tm_str() which now expexts an additional parameter controlling if the time status shall be printed. * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto. * [Sec 2781] Authentication doesn't protect symmetric associations against DoS attacks. * [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE. * [Bug 2789] Quiet compiler warnings from libevent. * [Bug 2790] If ntpd sets the Windows MM timer highest resolution pause briefly before measuring system clock precision to yield correct results. * Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer. * Use predefined function types for parse driver functions used to set up function pointers. Account for changed prototype of parse_inp_fnc_t functions. Cast parse conversion results to appropriate types to avoid compiler warnings. Let ioctl() for Windows accept a (void *) to avoid compiler warnings when called with pointers to different types. --- (4.2.8p1) 2015/02/04 Released by Harlan Stenn * Update the NEWS file. * [Sec 2671] vallen in extension fields are not validated. --- (4.2.8p1-RC2) 2015/01/29 Released by Harlan Stenn * [Bug 2627] shm refclock allows only two units with owner-only access rework: reverted sense of mode bit (so default reflects previous behaviour) and updated ducumentation. * [Bug 2732] - Leap second not handled correctly on Windows 8 use 'GetTickCount()' to get the true elapsed time of slew (This should work for all versions of Windows >= W2K) * [Bug 2738] Missing buffer initialization in refclocK_parse.c::parsestate(). * [Bug 2739] Parse driver with PPS enabled occasionally evaluates PPS timestamp with wrong sign. Removed some German umlauts. * [Bug 2740] Removed some obsolete code from the parse driver. * [Bug 2741] Incorrect buffer check in refclocK_parse.c::parsestatus(). --- (4.2.8p1-RC1) 2015/01/24 Released by Harlan Stenn * Start the RC for 4.2.8p1. * [Bug 2187] Update version number generation scripts. * [Bug 2617] Fix sntp Usage documentation section. * [Sec 2672] Code cleanup: On some OSes ::1 can be spoofed... * [Bug 2736] Show error message if we cannot open the config file. * Copyright update. * Fix the package name. --- (4.2.8p1-beta5) 2015/01/07 Released by Harlan Stenn * [Bug 2695] Windows build: __func__ not supported under Windows. * [Bug 2728] Work around C99-style structure initialization code for older compilers, specifically Visual Studio prior to VS2013. --- (4.2.8p1-beta4) 2015/01/04 Released by Harlan Stenn * [Bug 1084] PPSAPI for ntpd on Windows with DLL backends * [Bug 2695] Build problem on Windows (sys/socket.h). * [Bug 2715] mdnstries option for ntp.conf from NetBSD. * Fix a regression introduced to timepps-Solaris.h as part of: [Bug 1206] Required compiler changes for Windows (4.2.5p181) 2009/06/06 --- (4.2.8p1-beta3) 2015/01/02 Released by Harlan Stenn * [Bug 2627] shm refclock allows only two units with owner-only access Use mode bit 0 to select public access for units >= 2 (units 0 & 1 are always private. * [Bug 2681] Fix display of certificate EOValidity dates on 32-bit systems. * [Bug 2695] 4.2.8 does not build on Windows. * [bug 2700] mrulist stopped working in 4.2.8. * [Bug 2706] libparse/info_trimble.c build dependencies are broken. * [Bug 2713] variable type/cast, parameter name, general cleanup from NetBSD. * [Bug 2714] libevent may need to be built independently of any build of sntp. * [Bug 2715] mdnstries option for ntp.conf from NetBSD. --- (4.2.8p1-beta2) 2014/12/27 Released by Harlan Stenn * [Bug 2674] Install sntp in sbin on NetBSD. * [Bug 2693] ntp-keygen doesn't build without OpenSSL and sntp. * [Bug 2707] Avoid a C90 extension in libjsmn/jsmn.c. * [Bug 2709] see if we have a C99 compiler (not yet required). --- (4.2.8p1-beta1) 2014/12/23 Released by Harlan Stenn * [Sec 2672] On some OSes ::1 can be spoofed, bypassing source IP ACLs. * [Bug 2693] ntp-keygen doesn't build without OpenSSL. * [Bug 2697] IN6_IS_ADDR_LOOPBACK build problems on some OSes. * [Bug 2699] HAVE_SYS_SELECT_H is misspelled in refclock_gpsdjson.c. --- @ text @d44 1 a44 1 probably need to be recompiled against Libevent 2.1.4-alpha if you a65 3 There is now an alternative cmake-based build process; cmake users should see the relevant sections in the README. a148 13 You can use the new event_base_get_num_events() function to find the number of events active or pending on an event_base. To find the largest number of events that there have been since the last call, use event_base_get_max_events(). You can now activate all the events waiting for a given fd or signal using the event_base_active_by_fd() and event_base_active_by_signal() APIs. On backends that support it (currently epoll), there is now an EV_CLOSED flag that programs can use to detect when a socket has closed without having to read all the bytes until receiving an EOF. a327 7 The function bufferevent_get_token_bucket_cfg() can retrieve the rate-limit settings for a bufferevent; bufferevent_getwatermark() can return a bufferevent's current watermark settings. You can manually trigger a bufferevent's callbacks via bufferevent_trigger() and bufferevent_trigger_event(). a342 3 There is a new evdns_base_clear_host_addresses() function to remove all the /etc/hosts addresses registered with an evdns instance. a394 25 You can navigate from an evhttp_connection back to its evhttp with the new evhttp_connection_get_server() function. You can override the default HTTP Content-Type with the new evhttp_set_default_content_type() function There's a new evhttp_connection_get_addr() API to return the peer address of an evhttp_connection. The new evhttp_send_reply_chunk_with_cb() is a variant of evhttp_send_reply_chunk() with a callback to be invoked when the chunk is sent. The evhttp_request_set_header_cb() facility adds a callback to be invoked while parsing headers. The evhttp_request_set_on_complete_cb() facility adds a callback to be invoked on request completion. 1.10. New functions and features: evutil There's a function "evutil_secure_rng_set_urandom_device_file()" that you can use to override the default file that Libevent uses to seed its (sort-of) secure RNG. @ 1.1.1.3.28.1 log @Sync with HEAD @ text @d167 4 a322 3 There's a new evbuffer_set_flags()/evbuffer_clear_flags() that you can use to set EVBUFFER_FLAG_DRAINS_TO_FD. a350 11 Also you can manually increment/decrement reference for bufferevent with bufferevent_incref()/bufferevent_decref(), it is useful in situations where a user may reference the bufferevent somewhere else. Now bufferevent_openssl supports "dirty" shutdown (when the peer closes the TCP connection before closing the SSL channel), see bufferevent_openssl_get_allow_dirty_shutdown() and bufferevent_openssl_set_allow_dirty_shutdown(). And also libevent supports openssl 1.1. a368 3 Also there is evdns_base_get_nameserver_addr() for retrieve the address of the 'idx'th configured nameserver. a378 4 LEV_OPT_REUSEABLE_PORT -- Indicates that we ask to allow multiple servers to bind to the same port if they each set the option Ionly on Linux and >=3.9) a400 3 Also there is evhttp_connection_set_initial_retry_tv() to change initial retry timeout. a439 25 You can add linger-close for http server by passing EVHTTP_SERVER_LINGERING_CLOSE to evhttp_set_flags(), with this flag server read all the clients body, and only after this respond with an error if the clients body exceed max_body_size (since some clients cannot read response otherwise). The evhttp_connection_set_family() can bypass family hint to evdns. There are some flags available for connections, which can be installed with evhttp_connection_set_flags(): - EVHTTP_CON_REUSE_CONNECTED_ADDR -- reuse connection address on retry (avoid extra DNS request). - EVHTTP_CON_READ_ON_WRITE_ERROR - try read error, since server may already close the connection. The evhttp_connection_free_on_completion() can be used to tell libevent to free the connection object after the last request has completed or failed. There is evhttp_request_get_response_code_line() if evhttp_request_get_response_code() is not enough for you. There are *evhttp_uri_parse_with_flags() that accepts EVHTTP_URI_NONCONFORMANT to tolerate URIs that do not conform to RFC3986. The evhttp_uri_set_flags() can changes the flags on URI. a445 16 The evutil_date_rfc1123() returns date in RFC1123 There are new API to work with monotonic timer -- monotonic time is guaranteed never to run in reverse, but is not necessarily epoch-based. Use it to make reliable measurements of elapsed time between events even when the system time may be changed: - evutil_monotonic_timer_new()/evutil_monotonic_timer_free() - evutil_configure_monotonic_time() - evutil_gettime_monotonic() Use evutil_make_listen_socket_reuseable_port() to set SO_REUSEPORT (linux >= 3.9) The evutil_make_tcp_listen_socket_deferred() can make a tcp listener socket defer accept()s until there is data to read (TCP_DEFER_ACCEPT). d689 1 a689 2 we still have over 80% line coverage in our tests on Linux, FreeBSD, NetBSD, Windows, OSX. a690 16 And now we have CI: - https://travis-ci.org/libevent/libevent - https://ci.appveyor.com/project/nmathewson/libevent And code coverage: - https://coveralls.io/github/libevent/libevent Plus there is vagrant boxes if you what to test it on more OS'es then travis-ci allows, and there is a wrapper (in python) that will parse logs and provide report: - https://github.com/libevent/libevent-extras/blob/master/tools/vagrant-tests.py 6. Contributing From now we have contributing guide and checkpatch.sh. @ 1.1.1.4 log @Import ntp-4.2.8p18 (previous was ntp-4.2.8p15 --- (4.2.8p18) 2024/05/25 Released by Harlan Stenn * [Bug 3918] Tweak openssl header/library handling. * [Bug 3914] Spurious "Unexpected origin timestamp" logged after time stepped. * [Bug 3913] Avoid duplicate IPv6 link-local manycast associations. * [Bug 3912] Avoid rare math errors in ntptrace. * [Bug 3910] Memory leak using openssl-3 * [Bug 3909] Do not select multicast local address for unicast peer. * [Bug 3903] lib/isc/win32/strerror.c NTstrerror() is not thread-safe. * [Bug 3901] LIB_GETBUF isn't thread-safe. * [Bug 3900] fast_xmit() selects wrong local addr responding to mcast on Windows. * [Bug 3888] ntpd with multiple same-subnet IPs using manycastclient creates duplicate associations. * [Bug 3872] Ignore restrict mask for hostname. * [Bug 3871] 4.2.8p17 build without hopf6021 refclock enabled fails. Reported by Hans Mayer. Moved NONEMPTY_TRANSLATION_UNIT declaration from ntp_types.h to config.h. * [Bug 3870] Server drops client packets with ppoll < 4. * [Bug 3869] Remove long-gone "calldelay" & "crypto sign" from docs. Reported by PoolMUC@@web.de. * [Bug 3868] Cannot restrict a pool peer. Thanks to Edward McGuire for tracking down the deficiency. * [Bug 3864] ntpd IPv6 refid different for big-endian and little-endian. * [Bug 3859] Use NotifyIpInterfaceChange on Windows ntpd. * [Bug 3856] Enable Edit & Continue debugging with Visual Studio. * [Bug 3855] ntpq lacks an equivalent to ntpdc's delrestrict. * [Bug 3854] ntpd 4.2.8p17 corrupts rawstats file with space in refid. * [Bug 3853] Clean up warnings with modern compilers. * [Bug 3852] check-libntp.mf and friends are not triggering rebuilds as intended. * [Bug 3851] Drop pool server when no local address can reach it. * [Bug 3850] ntpq -c apeers breaks column formatting s2 w/refclock refid. * [Bug 3849] ntpd --wait-sync times out. * [Bug 3847] SSL detection in configure should run-test if runpath is needed. * [Bug 3846] Use -Wno-format-truncation by default. * [Bug 3845] accelerate pool clock_sync when IPv6 has only link-local access. * [Bug 3842] Windows ntpd PPSAPI DLL load failure crashes. * [Bug 3841] 4.2.8p17 build break w/ gcc 12 -Wformat-security without -Wformat Need to remove --Wformat-security when removing -Wformat to silence numerous libopts warnings. * [Bug 3837] NULL pointer deref crash when ntpd deletes last interface. Reported by renmingshuai. Correct UNLINK_EXPR_SLIST() when the list is empty. * [Bug 3835] NTP_HARD_*FLAGS not used by libevent tearoff. * [Bug 3831] pollskewlist zeroed on runtime configuration. * [Bug 3830] configure libevent check intersperses output with answer. * [Bug 3828] BK should ignore a git repo in the same directory. * [Bug 3827] Fix build in case CLOCK_HOPF6021 or CLOCK_WHARTON_400A is disabled. * [Bug 3825] Don't touch HTML files unless building inside a BK repo. Fix the script checkHtmlFileDates. * [Bug 3756] Improve OpenSSL library/header detection. * [Bug 3753] ntpd fails to start with FIPS-enabled OpenSSL 3. * [Bug 2734] TEST3 prevents initial interleave sync. Fix from * Log failures to allocate receive buffers. * Remove extraneous */ from libparse/ieee754io.c * Fix .datecheck target line in Makefile.am. * Update the copyright year. * Update ntp.conf documentation to add "delrestrict" and correct information about KoD rate limiting. * html/clockopt.html cleanup. * util/lsf-times - added. * Add DSA, DSA-SHA, and SHA to tests/libntp/digests.c. * Provide ntpd thread names to debugger on Windows. * Remove dead code libntp/numtohost.c and its unit tests. * Remove class A, B, C IPv4 distinctions in netof(). * Use @@configure_input@@ in various *.in files to include a comment that the file is generated from another pointing to the *.in. * Correct underquoting, indents in ntp_facilitynames.m4. * Clean up a few warnings seen building with older gcc. * Fix build on older FreeBSD lacking sys/procctl.h. * Disable [Bug 3627] workaround on newer FreeBSD which has the kernel fix that makes it unnecessary, re-enabling ASLR stack gap. * Use NONEMPTY_COMPILATION_UNIT in more conditionally-compiled files. * Remove useless pointer to Windows Help from system error messages. * Avoid newlines within Windows error messages. * Ensure unique association IDs if wrapped. * Simplify calc_addr_distance(). * Clamp min/maxpoll in edge cases in newpeer(). * Quiet local addr change logging when unpeering. * Correct missing arg for %s printf specifier in send_blocking_resp_internal(). * Suppress OpenSSL 3 deprecation warning clutter. * Correct OpenSSL usage in Autokey code to avoid warnings about discarding const qualifiers with OpenSSL 3. * Display KoD refid as text in recently added message. * Avoid running checkHtmlFileDates script repeatedly when no html/*.html files have changed. * Abort configure if --enable-crypto-rand given & unavailable. * Add configure --enable-verbose-ssl to trace SSL detection. * Add build test coverage for --disable-saveconfig to flock-build script. * Remove deprecated configure --with-arlib option. * Remove configure support for ISC UNIX ca. 1998. * Move NTP_OPENSSL and NTP_CRYPTO_RAND invocations from configure.ac files to NTP_LIBNTP. * Remove dead code: HAVE_U_INT32_ONLY_WITH_DNS. * Eliminate [v]snprintf redefinition warnings on macOS. * Fix clang 14 cast increases alignment warning on Linux. * Move ENABLE_CMAC to ntp_openssl.m4, reviving sntp/tests CMAC unit tests. * Use NTP_HARD_CPPFLAGS in libopts tearoff. * wire in --enable-build-framework-help --- (4.2.8p17) 2023/06/06 Released by Harlan Stenn * [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at event_sync. Reported by Edward McGuire. * [Bug 3822] ntpd significantly delays first poll of servers specified by name. Miroslav Lichvar identified regression in 4.2.8p16. * [Bug 3821] 4.2.8p16 misreads hex authentication keys, won't interop with 4.2.8p15 or earlier. Reported by Matt Nordhoff, thanks to Miroslav Lichvar and Matt for rapid testing and identifying the problem. * Add tests/libntp/digests.c to catch regressions reading keys file or with symmetric authentication digest output. --- (4.2.8p16) 2023/05/31 Released by Harlan Stenn * [Sec 3808] Assertion failure in ntpq on malformed RT-11 date * [Sec 3807] praecis_parse() in the Palisade refclock driver has a hypothetical input buffer overflow. Reported by ... stenn@@ * [Sec 3806] libntp/mstolfp.c needs bounds checking - solved numerically instead of using string manipulation * [Sec 3767] An OOB KoD RATE value triggers an assertion when debug is enabled. * [Bug 3819] Updated libopts/Makefile.am was missing NTP_HARD_* values. * [Bug 3817] Bounds-check "tos floor" configuration. * [Bug 3814] First poll delay of new or cleared associations miscalculated. * [Bug 3802] ntp-keygen -I default identity modulus bits too small for OpenSSL 3. Reported by rmsh1216@@163.com * [Bug 3801] gpsdjson refclock gps_open() device name mishandled. * [Bug 3800] libopts-42.1.17 does not compile with Microsoft C. * [Bug 3799] Enable libopts noreturn compiler advice for MSC. * [Bug 3797] Windows getaddrinfo w/AI_ADDRCONFIG fails for localhost when disconnected, breaking ntpq and ntpdc. * [Bug 3795] pollskewlist documentation uses | when it shouldn't. - ntp.conf manual page and miscopt.html corrections. * [Bug 3793] Wrong variable type passed to record_raw_stats(). - Report and patch by Yuezhen LUAN . * [Bug 3786] Timer starvation on high-load Windows ntpd. * [Bug 3784] high-load ntpd on Windows deaf after enough ICMP TTL exceeded. * [Bug 3781] log "Unable to listen for broadcasts" for IPv4 * [Bug 3774] mode 6 packets corrupted in rawstats file - Reported by Edward McGuire, fix identified by . * [Bug 3758] Provide a 'device' config statement for refclocks * [Bug 3757] Improve handling of Linux-PPS in NTPD * [Bug 3741] 4.2.8p15 can't build with glibc 2.34 * [Bug 3725] Make copyright of clk_wharton.c compatible with Debian. Philippe De Muyter * [Bug 3724] ntp-keygen with openSSL 1.1.1 fails on Windows - openssl applink needed again for openSSL-1.1.1 * [Bug 3719] configure.ac checks for closefrom() and getdtablesize() missing. Reported by Brian Utterback, broken in 2010 by * [Bug 3699] Problems handling drift file and restoring previous drifts - command line options override config statements where applicable - make initial frequency settings idempotent and reversible - make sure kernel PLL gets a recovered drift componsation * [Bug 3695] Fix memory leak with ntpq on Windows Server 2019 * [Bug 3694] NMEA refclock seems to unnecessarily require location in messages - misleading title; essentially a request to ignore the receiver status. Added a mode bit for this. * [Bug 3693] Improvement of error handling key lengths - original patch by Richard Schmidt, with mods & unit test fixes * [Bug 3692] /dev/gpsN requirement prevents KPPS - implement/wrap 'realpath()' to resolve symlinks in device names * [Bug 3691] Buffer Overflow reading GPSD output - original patch by matt - increased max PDU size to 4k to avoid truncation * [Bug 3690] newline in ntp clock variable (parse) - patch by Frank Kardel * [Bug 3689] Extension for MD5, SHA-1 and other keys - ntp{q,dc} now use the same password processing as ntpd does in the key file, so having a binary secret >= 11 bytes is possible for all keys. (This is a different approach to the problem than suggested) * [Bug 3688] GCC 10 build errors in testsuite * [Bug 3687] ntp_crypto_rand RNG status not known - patch by Gerry Garvey * [Bug 3682] Fixes for warnings when compiled without OpenSSL - original patch by Gerry Garvey * [Bug 3677] additional peer events not decoded in associations listing - original patch by Gerry Garvey * [Bug 3676] compiler warnings (CMAC, interrupt_buf, typo, fallthrough) - applied patches by Gerry Garvey * [Bug 3675] ntpq ccmds[] stores pointer to non-persistent storage * [Bug 3674] ntpq command 'execute only' using '~' prefix - idea+patch by Gerry Garvey * [Bug 3672] fix biased selection in median cut * [Bug 3666] avoid unlimited receive buffer allocation - follow-up: fix inverted sense in check, reset shortfall counter * [Bug 3660] Revert 4.2.8p15 change to manycast. * [Bug 3640] document "discard monitor" and fix the code. - fixed bug identified by Edward McGuire * [Bug 3626] (SNTP) UTC offset calculation needs dst flag - applied patch by Gerry Garvey * [Bug 3428] ntpd spinning consuming CPU on Linux router with full table. Reported by Israel G. Lugo. * [Bug 3103] libopts zsave_warn format string too few arguments * [Bug 2990] multicastclient incorrectly causes bind to broadcast address. Integrated patch from Brian Utterback. * [Bug 2525] Turn on automake subdir-objects across the project. * [Bug 2410] syslog an error message on panic exceeded. * Use correct rounding in mstolfp(). perlinger/hart * M_ADDF should use u_int32. * Only define tv_fmt_libbuf() if we will use it. * Use recv_buffer instead of the longer recv_space.X_recv_buffer. hart/stenn * Make sure the value returned by refid_str() prints cleanly. * If DEBUG is enabled, the startup banner now says that debug assertions are in force and that ntpd will abort if any are violated. * syslog valid incoming KoDs. * Rename a poorly-named variable. * Disable "embedded NUL in string" messages in libopts, when we can. * Use https in the AC_INIT URLs in configure.ac. * Implement NTP_FUNC_REALPATH. * Lose a gmake construct in ntpd/Makefile.am. * upgrade to: autogen-5.18.16 * upgrade to: libopts-42.1.17 * upgrade to: autoconf-2.71 * upgrade to: automake-1.16.15 * Upgrade to libevent-2.1.12-stable * Support OpenSSL-3.0 @ text @d167 4 a322 3 There's a new evbuffer_set_flags()/evbuffer_clear_flags() that you can use to set EVBUFFER_FLAG_DRAINS_TO_FD. a350 11 Also you can manually increment/decrement reference for bufferevent with bufferevent_incref()/bufferevent_decref(), it is useful in situations where a user may reference the bufferevent somewhere else. Now bufferevent_openssl supports "dirty" shutdown (when the peer closes the TCP connection before closing the SSL channel), see bufferevent_openssl_get_allow_dirty_shutdown() and bufferevent_openssl_set_allow_dirty_shutdown(). And also libevent supports openssl 1.1. a368 3 Also there is evdns_base_get_nameserver_addr() for retrieve the address of the 'idx'th configured nameserver. a378 4 LEV_OPT_REUSEABLE_PORT -- Indicates that we ask to allow multiple servers to bind to the same port if they each set the option Ionly on Linux and >=3.9) a400 3 Also there is evhttp_connection_set_initial_retry_tv() to change initial retry timeout. a439 25 You can add linger-close for http server by passing EVHTTP_SERVER_LINGERING_CLOSE to evhttp_set_flags(), with this flag server read all the clients body, and only after this respond with an error if the clients body exceed max_body_size (since some clients cannot read response otherwise). The evhttp_connection_set_family() can bypass family hint to evdns. There are some flags available for connections, which can be installed with evhttp_connection_set_flags(): - EVHTTP_CON_REUSE_CONNECTED_ADDR -- reuse connection address on retry (avoid extra DNS request). - EVHTTP_CON_READ_ON_WRITE_ERROR - try read error, since server may already close the connection. The evhttp_connection_free_on_completion() can be used to tell libevent to free the connection object after the last request has completed or failed. There is evhttp_request_get_response_code_line() if evhttp_request_get_response_code() is not enough for you. There are *evhttp_uri_parse_with_flags() that accepts EVHTTP_URI_NONCONFORMANT to tolerate URIs that do not conform to RFC3986. The evhttp_uri_set_flags() can changes the flags on URI. a445 16 The evutil_date_rfc1123() returns date in RFC1123 There are new API to work with monotonic timer -- monotonic time is guaranteed never to run in reverse, but is not necessarily epoch-based. Use it to make reliable measurements of elapsed time between events even when the system time may be changed: - evutil_monotonic_timer_new()/evutil_monotonic_timer_free() - evutil_configure_monotonic_time() - evutil_gettime_monotonic() Use evutil_make_listen_socket_reuseable_port() to set SO_REUSEPORT (linux >= 3.9) The evutil_make_tcp_listen_socket_deferred() can make a tcp listener socket defer accept()s until there is data to read (TCP_DEFER_ACCEPT). d689 1 a689 2 we still have over 80% line coverage in our tests on Linux, FreeBSD, NetBSD, Windows, OSX. a690 16 And now we have CI: - https://travis-ci.org/libevent/libevent - https://ci.appveyor.com/project/nmathewson/libevent And code coverage: - https://coveralls.io/github/libevent/libevent Plus there is vagrant boxes if you what to test it on more OS'es then travis-ci allows, and there is a wrapper (in python) that will parse logs and provide report: - https://github.com/libevent/libevent-extras/blob/master/tools/vagrant-tests.py 6. Contributing From now we have contributing guide and checkpatch.sh. @ 1.1.1.2.12.1 log @file whatsnew-2.1.txt was added on branch netbsd-5-1 on 2015-01-07 12:13:36 +0000 @ text @d1 639 @ 1.1.1.2.12.2 log @Pullup the following revision (requested by he in ticket #1938): dist/ntp/COPYRIGHT delete dist/ntp/ChangeLog delete dist/ntp/CommitLog delete dist/ntp/CommitLog-4.1.0 delete dist/ntp/INSTALL delete dist/ntp/Makefile.am delete dist/ntp/Makefile.in delete dist/ntp/NEWS delete dist/ntp/NOTES.y2kfixes delete dist/ntp/README delete dist/ntp/README.bk delete dist/ntp/README.hackers delete dist/ntp/README.patches delete dist/ntp/README.refclocks delete dist/ntp/README.versions delete dist/ntp/TODO delete dist/ntp/WHERE-TO-START delete dist/ntp/aclocal.m4 delete dist/ntp/bincheck.mf delete dist/ntp/bootstrap delete dist/ntp/build delete dist/ntp/compile delete dist/ntp/config.guess delete dist/ntp/config.h.in delete dist/ntp/config.sub delete dist/ntp/configure delete dist/ntp/configure.ac delete dist/ntp/depcomp delete dist/ntp/dot.emacs delete dist/ntp/excludes delete dist/ntp/flock-build delete dist/ntp/install-sh delete dist/ntp/ltmain.sh delete dist/ntp/missing delete dist/ntp/ntp-html2mdoc.pl delete dist/ntp/ntp2netbsd delete dist/ntp/packageinfo.sh delete dist/ntp/readme.y2kfixes delete dist/ntp/results.y2kfixes delete dist/ntp/version delete dist/ntp/version.m4 delete dist/ntp/ElectricFence/CHANGES delete dist/ntp/ElectricFence/COPYING delete dist/ntp/ElectricFence/Makefile.am delete dist/ntp/ElectricFence/Makefile.in delete dist/ntp/ElectricFence/README delete dist/ntp/ElectricFence/efence.c delete dist/ntp/ElectricFence/efence.h delete dist/ntp/ElectricFence/eftest.c delete dist/ntp/ElectricFence/libefence.3 delete dist/ntp/ElectricFence/page.c delete dist/ntp/ElectricFence/print.c delete dist/ntp/ElectricFence/tstheap.c delete dist/ntp/adjtimed/Makefile.am delete dist/ntp/adjtimed/Makefile.in delete dist/ntp/adjtimed/README delete dist/ntp/adjtimed/adjtimed.c delete dist/ntp/arlib/COPYING delete dist/ntp/arlib/INSTALL delete dist/ntp/arlib/Makefile.am delete dist/ntp/arlib/Makefile.in delete dist/ntp/arlib/README delete dist/ntp/arlib/UNSHAR.HDR delete dist/ntp/arlib/aclocal.m4 delete dist/ntp/arlib/arlib.3 delete dist/ntp/arlib/arlib.c delete dist/ntp/arlib/arlib.h delete dist/ntp/arlib/arplib.h delete dist/ntp/arlib/configure delete dist/ntp/arlib/configure.in delete dist/ntp/arlib/depcomp delete dist/ntp/arlib/install-sh delete dist/ntp/arlib/missing delete dist/ntp/arlib/sample.c delete dist/ntp/clockstuff/Makefile.am delete dist/ntp/clockstuff/Makefile.in delete dist/ntp/clockstuff/README delete dist/ntp/clockstuff/chutest.c delete dist/ntp/clockstuff/clktest.c delete dist/ntp/clockstuff/propdelay.c delete dist/ntp/conf/README delete dist/ntp/conf/baldwin.conf delete dist/ntp/conf/beauregard.conf delete dist/ntp/conf/grundoon.conf delete dist/ntp/conf/malarky.conf delete dist/ntp/conf/pogo.conf delete dist/ntp/conf/rackety.conf delete dist/ntp/html/accopt.html delete dist/ntp/html/assoc.html delete dist/ntp/html/audio.html delete dist/ntp/html/authopt.html delete dist/ntp/html/clockopt.html delete dist/ntp/html/confopt.html delete dist/ntp/html/copyright.html delete dist/ntp/html/debug.html delete dist/ntp/html/extern.html delete dist/ntp/html/gadget.html delete dist/ntp/html/groups.html delete dist/ntp/html/howto.html delete dist/ntp/html/index.html delete dist/ntp/html/kern.html delete dist/ntp/html/keygen.html delete dist/ntp/html/ldisc.html delete dist/ntp/html/manyopt.html delete dist/ntp/html/measure.html delete dist/ntp/html/miscopt.html delete dist/ntp/html/monopt.html delete dist/ntp/html/msyslog.html delete dist/ntp/html/mx4200data.html delete dist/ntp/html/notes.html delete dist/ntp/html/ntp_conf.html delete dist/ntp/html/ntpd.html delete dist/ntp/html/ntpdate.html delete dist/ntp/html/ntpdc.html delete dist/ntp/html/ntpdsim.html delete dist/ntp/html/ntpdsim_new.html delete dist/ntp/html/ntpq.html delete dist/ntp/html/ntptime.html delete dist/ntp/html/ntptrace.html delete dist/ntp/html/parsedata.html delete dist/ntp/html/parsenew.html delete dist/ntp/html/pps.html delete dist/ntp/html/prefer.html delete dist/ntp/html/rdebug.html delete dist/ntp/html/refclock.html delete dist/ntp/html/release.html delete dist/ntp/html/sntp.html delete dist/ntp/html/tickadj.html delete dist/ntp/html/build/build.html delete dist/ntp/html/build/config.html delete dist/ntp/html/build/hints.html delete dist/ntp/html/build/patches.html delete dist/ntp/html/build/porting.html delete dist/ntp/html/build/quick.html delete dist/ntp/html/build/hints/a-ux delete dist/ntp/html/build/hints/aix delete dist/ntp/html/build/hints/bsdi delete dist/ntp/html/build/hints/changes delete dist/ntp/html/build/hints/decosf1 delete dist/ntp/html/build/hints/decosf2 delete dist/ntp/html/build/hints/freebsd delete dist/ntp/html/build/hints/hpux delete dist/ntp/html/build/hints/linux delete dist/ntp/html/build/hints/mpeix delete dist/ntp/html/build/hints/netbsd delete dist/ntp/html/build/hints/notes-xntp-v3 delete dist/ntp/html/build/hints/parse delete dist/ntp/html/build/hints/refclocks delete dist/ntp/html/build/hints/rs6000 delete dist/ntp/html/build/hints/sco.html delete dist/ntp/html/build/hints/sgi delete dist/ntp/html/build/hints/solaris-dosynctodr.html delete dist/ntp/html/build/hints/solaris.html delete dist/ntp/html/build/hints/solaris.xtra.4023118 delete dist/ntp/html/build/hints/solaris.xtra.4095849 delete dist/ntp/html/build/hints/solaris.xtra.S99ntpd delete dist/ntp/html/build/hints/solaris.xtra.patchfreq delete dist/ntp/html/build/hints/sun4 delete dist/ntp/html/build/hints/svr4-dell delete dist/ntp/html/build/hints/svr4_package delete dist/ntp/html/build/hints/todo delete dist/ntp/html/build/hints/vxworks.html delete dist/ntp/html/build/hints/winnt.html delete dist/ntp/html/build/scripts/footer.txt delete dist/ntp/html/build/scripts/links10.txt delete dist/ntp/html/build/scripts/links11.txt delete dist/ntp/html/build/scripts/links12.txt delete dist/ntp/html/build/scripts/links7.txt delete dist/ntp/html/build/scripts/links8.txt delete dist/ntp/html/build/scripts/links9.txt delete dist/ntp/html/build/scripts/style.css delete dist/ntp/html/drivers/driver1.html delete dist/ntp/html/drivers/driver10.html delete dist/ntp/html/drivers/driver11.html delete dist/ntp/html/drivers/driver12.html delete dist/ntp/html/drivers/driver16.html delete dist/ntp/html/drivers/driver18.html delete dist/ntp/html/drivers/driver19.html delete dist/ntp/html/drivers/driver2.html delete dist/ntp/html/drivers/driver20.html delete dist/ntp/html/drivers/driver22.html delete dist/ntp/html/drivers/driver26.html delete dist/ntp/html/drivers/driver27.html delete dist/ntp/html/drivers/driver28.html delete dist/ntp/html/drivers/driver29.html delete dist/ntp/html/drivers/driver3.html delete dist/ntp/html/drivers/driver30.html delete dist/ntp/html/drivers/driver31.html delete dist/ntp/html/drivers/driver32.html delete dist/ntp/html/drivers/driver33.html delete dist/ntp/html/drivers/driver34.html delete dist/ntp/html/drivers/driver35.html delete dist/ntp/html/drivers/driver36.html delete dist/ntp/html/drivers/driver37.html delete dist/ntp/html/drivers/driver38.html delete dist/ntp/html/drivers/driver39.html delete dist/ntp/html/drivers/driver4.html delete dist/ntp/html/drivers/driver40.html delete dist/ntp/html/drivers/driver42.html delete dist/ntp/html/drivers/driver43.html delete dist/ntp/html/drivers/driver44.html delete dist/ntp/html/drivers/driver5.html delete dist/ntp/html/drivers/driver6.html delete dist/ntp/html/drivers/driver7.html delete dist/ntp/html/drivers/driver8.html delete dist/ntp/html/drivers/driver9.html delete dist/ntp/html/drivers/oncore-shmem.html delete dist/ntp/html/drivers/tf582_4.html delete dist/ntp/html/drivers/icons/home.gif delete dist/ntp/html/drivers/icons/mail2.gif delete dist/ntp/html/drivers/scripts/footer.txt delete dist/ntp/html/drivers/scripts/style.css delete dist/ntp/html/icons/home.gif delete dist/ntp/html/icons/mail2.gif delete dist/ntp/html/scripts/footer.txt delete dist/ntp/html/scripts/links10.txt delete dist/ntp/html/scripts/links11.txt delete dist/ntp/html/scripts/links12.txt delete dist/ntp/html/scripts/links7.txt delete dist/ntp/html/scripts/links8.txt delete dist/ntp/html/scripts/links9.txt delete dist/ntp/html/scripts/style.css delete dist/ntp/include/Makefile.am delete dist/ntp/include/Makefile.in delete dist/ntp/include/README delete dist/ntp/include/adjtime.h delete dist/ntp/include/ascii.h delete dist/ntp/include/audio.h delete dist/ntp/include/autogen-version.def delete dist/ntp/include/binio.h delete dist/ntp/include/copyright.def delete dist/ntp/include/debug-opt.def delete dist/ntp/include/global.h delete dist/ntp/include/gps.h delete dist/ntp/include/homerc.def delete dist/ntp/include/hopf6039.h delete dist/ntp/include/icom.h delete dist/ntp/include/ieee754io.h delete dist/ntp/include/iosignal.h delete dist/ntp/include/l_stdlib.h delete dist/ntp/include/mbg_gps166.h delete dist/ntp/include/mx4200.h delete dist/ntp/include/ntif.h delete dist/ntp/include/ntp.h delete dist/ntp/include/ntp_calendar.h delete dist/ntp/include/ntp_cmdargs.h delete dist/ntp/include/ntp_config.h delete dist/ntp/include/ntp_control.h delete dist/ntp/include/ntp_crypto.h delete dist/ntp/include/ntp_datum.h delete dist/ntp/include/ntp_debug.h delete dist/ntp/include/ntp_filegen.h delete dist/ntp/include/ntp_fp.h delete dist/ntp/include/ntp_if.h delete dist/ntp/include/ntp_io.h delete dist/ntp/include/ntp_machine.h delete dist/ntp/include/ntp_malloc.h delete dist/ntp/include/ntp_md5.h delete dist/ntp/include/ntp_proto.h delete dist/ntp/include/ntp_random.h delete dist/ntp/include/ntp_refclock.h delete dist/ntp/include/ntp_request.h delete dist/ntp/include/ntp_rfc2553.h delete dist/ntp/include/ntp_select.h delete dist/ntp/include/ntp_sprintf.h delete dist/ntp/include/ntp_stdlib.h delete dist/ntp/include/ntp_string.h delete dist/ntp/include/ntp_syscall.h delete dist/ntp/include/ntp_syslog.h delete dist/ntp/include/ntp_tty.h delete dist/ntp/include/ntp_types.h delete dist/ntp/include/ntp_unixtime.h delete dist/ntp/include/ntpd.h delete dist/ntp/include/ntpsim.h delete dist/ntp/include/parse.h delete dist/ntp/include/parse_conf.h delete dist/ntp/include/recvbuff.h delete dist/ntp/include/rsa_md5.h delete dist/ntp/include/timepps-SCO.h delete dist/ntp/include/timepps-Solaris.h delete dist/ntp/include/timepps-SunOS.h delete dist/ntp/include/trimble.h delete dist/ntp/include/version.def delete dist/ntp/include/isc/Makefile.am delete dist/ntp/include/isc/Makefile.in delete dist/ntp/include/isc/app.h delete dist/ntp/include/isc/assertions.h delete dist/ntp/include/isc/boolean.h delete dist/ntp/include/isc/buffer.h delete dist/ntp/include/isc/error.h delete dist/ntp/include/isc/formatcheck.h delete dist/ntp/include/isc/int.h delete dist/ntp/include/isc/interfaceiter.h delete dist/ntp/include/isc/ipv6.h delete dist/ntp/include/isc/lang.h delete dist/ntp/include/isc/lib.h delete dist/ntp/include/isc/list.h delete dist/ntp/include/isc/magic.h delete dist/ntp/include/isc/mem.h delete dist/ntp/include/isc/msgcat.h delete dist/ntp/include/isc/msgs.h delete dist/ntp/include/isc/mutex.h delete dist/ntp/include/isc/net.h delete dist/ntp/include/isc/netaddr.h delete dist/ntp/include/isc/netscope.h delete dist/ntp/include/isc/offset.h delete dist/ntp/include/isc/once.h delete dist/ntp/include/isc/platform.h delete dist/ntp/include/isc/print.h delete dist/ntp/include/isc/region.h delete dist/ntp/include/isc/result.h delete dist/ntp/include/isc/sockaddr.h delete dist/ntp/include/isc/strerror.h delete dist/ntp/include/isc/string.h delete dist/ntp/include/isc/types.h delete dist/ntp/include/isc/util.h delete dist/ntp/kernel/Makefile.am delete dist/ntp/kernel/Makefile.in delete dist/ntp/kernel/README delete dist/ntp/kernel/chuinit.c delete dist/ntp/kernel/clkinit.c delete dist/ntp/kernel/tty_chu.c delete dist/ntp/kernel/tty_chu_STREAMS.c delete dist/ntp/kernel/tty_clk.c delete dist/ntp/kernel/tty_clk_STREAMS.c delete dist/ntp/kernel/sys/Makefile.am delete dist/ntp/kernel/sys/Makefile.in delete dist/ntp/kernel/sys/README delete dist/ntp/kernel/sys/bsd_audioirig.h delete dist/ntp/kernel/sys/chudefs.h delete dist/ntp/kernel/sys/clkdefs.h delete dist/ntp/kernel/sys/i8253.h delete dist/ntp/kernel/sys/parsestreams.h delete dist/ntp/kernel/sys/pcl720.h delete dist/ntp/kernel/sys/ppsclock.h delete dist/ntp/kernel/sys/timex.h delete dist/ntp/kernel/sys/tpro.h delete dist/ntp/kernel/sys/tt560_api.h delete dist/ntp/libisc/assertions.c delete dist/ntp/libisc/error.c delete dist/ntp/libisc/ifiter_getifaddrs.c delete dist/ntp/libisc/ifiter_ioctl.c delete dist/ntp/libisc/ifiter_sysctl.c delete dist/ntp/libisc/inet_aton.c delete dist/ntp/libisc/inet_ntop.c delete dist/ntp/libisc/inet_pton.c delete dist/ntp/libisc/interfaceiter.c delete dist/ntp/libisc/isc_strerror.c delete dist/ntp/libisc/lib.c delete dist/ntp/libisc/mem.c delete dist/ntp/libisc/msgcat.c delete dist/ntp/libisc/net.c delete dist/ntp/libisc/netaddr.c delete dist/ntp/libisc/netscope.c delete dist/ntp/libisc/sockaddr.c delete dist/ntp/libisc/strerror.c delete dist/ntp/libntp/Makefile.am delete dist/ntp/libntp/Makefile.in delete dist/ntp/libntp/README delete dist/ntp/libntp/a_md5encrypt.c delete dist/ntp/libntp/adjtime.c delete dist/ntp/libntp/adjtimex.c delete dist/ntp/libntp/atoint.c delete dist/ntp/libntp/atolfp.c delete dist/ntp/libntp/atouint.c delete dist/ntp/libntp/audio.c delete dist/ntp/libntp/authkeys.c delete dist/ntp/libntp/authreadkeys.c delete dist/ntp/libntp/authusekey.c delete dist/ntp/libntp/buftvtots.c delete dist/ntp/libntp/caljulian.c delete dist/ntp/libntp/caltontp.c delete dist/ntp/libntp/calyearstart.c delete dist/ntp/libntp/clocktime.c delete dist/ntp/libntp/clocktypes.c delete dist/ntp/libntp/decodenetnum.c delete dist/ntp/libntp/dofptoa.c delete dist/ntp/libntp/dolfptoa.c delete dist/ntp/libntp/emalloc.c delete dist/ntp/libntp/findconfig.c delete dist/ntp/libntp/fptoa.c delete dist/ntp/libntp/fptoms.c delete dist/ntp/libntp/getopt.c delete dist/ntp/libntp/hextoint.c delete dist/ntp/libntp/hextolfp.c delete dist/ntp/libntp/humandate.c delete dist/ntp/libntp/icom.c delete dist/ntp/libntp/inttoa.c delete dist/ntp/libntp/iosignal.c delete dist/ntp/libntp/lib_strbuf.c delete dist/ntp/libntp/lib_strbuf.h delete dist/ntp/libntp/machines.c delete dist/ntp/libntp/md5c.c delete dist/ntp/libntp/memmove.c delete dist/ntp/libntp/mfptoa.c delete dist/ntp/libntp/mfptoms.c delete dist/ntp/libntp/mktime.c delete dist/ntp/libntp/modetoa.c delete dist/ntp/libntp/mstolfp.c delete dist/ntp/libntp/msutotsf.c delete dist/ntp/libntp/msyslog.c delete dist/ntp/libntp/netof.c delete dist/ntp/libntp/ntp_random.c delete dist/ntp/libntp/ntp_rfc2553.c delete dist/ntp/libntp/numtoa.c delete dist/ntp/libntp/numtohost.c delete dist/ntp/libntp/octtoint.c delete dist/ntp/libntp/prettydate.c delete dist/ntp/libntp/recvbuff.c delete dist/ntp/libntp/refnumtoa.c delete dist/ntp/libntp/snprintf.c delete dist/ntp/libntp/socktoa.c delete dist/ntp/libntp/socktohost.c delete dist/ntp/libntp/statestr.c delete dist/ntp/libntp/strdup.c delete dist/ntp/libntp/strerror.c delete dist/ntp/libntp/strstr.c delete dist/ntp/libntp/syssignal.c delete dist/ntp/libntp/systime.c delete dist/ntp/libntp/systime_s.c delete dist/ntp/libntp/tsftomsu.c delete dist/ntp/libntp/tstotv.c delete dist/ntp/libntp/tvtoa.c delete dist/ntp/libntp/tvtots.c delete dist/ntp/libntp/uglydate.c delete dist/ntp/libntp/uinttoa.c delete dist/ntp/libntp/utvtoa.c delete dist/ntp/libntp/ymd2yd.c delete dist/ntp/libopts/COPYING.lgpl delete dist/ntp/libopts/COPYING.mbsd delete dist/ntp/libopts/MakeDefs.inc delete dist/ntp/libopts/Makefile.am delete dist/ntp/libopts/Makefile.in delete dist/ntp/libopts/README delete dist/ntp/libopts/autoopts.c delete dist/ntp/libopts/autoopts.h delete dist/ntp/libopts/boolean.c delete dist/ntp/libopts/configfile.c delete dist/ntp/libopts/cook.c delete dist/ntp/libopts/enumeration.c delete dist/ntp/libopts/environment.c delete dist/ntp/libopts/genshell.c delete dist/ntp/libopts/genshell.h delete dist/ntp/libopts/libopts.c delete dist/ntp/libopts/load.c delete dist/ntp/libopts/makeshell.c delete dist/ntp/libopts/nested.c delete dist/ntp/libopts/numeric.c delete dist/ntp/libopts/pgusage.c delete dist/ntp/libopts/proto.h delete dist/ntp/libopts/putshell.c delete dist/ntp/libopts/restore.c delete dist/ntp/libopts/save.c delete dist/ntp/libopts/sort.c delete dist/ntp/libopts/stack.c delete dist/ntp/libopts/streqvcmp.c delete dist/ntp/libopts/text_mmap.c delete dist/ntp/libopts/tokenize.c delete dist/ntp/libopts/usage.c delete dist/ntp/libopts/version.c delete dist/ntp/libopts/autoopts/options.h delete dist/ntp/libopts/autoopts/usage-txt.h delete dist/ntp/libopts/compat/compat.h delete dist/ntp/libopts/compat/pathfind.c delete dist/ntp/libopts/compat/snprintf.c delete dist/ntp/libopts/compat/strchr.c delete dist/ntp/libopts/compat/strdup.c delete dist/ntp/libopts/compat/windows-config.h delete dist/ntp/libopts/m4/libopts.m4 delete dist/ntp/libopts/m4/liboptschk.m4 delete dist/ntp/libparse/Makefile.am delete dist/ntp/libparse/Makefile.in delete dist/ntp/libparse/README delete dist/ntp/libparse/binio.c delete dist/ntp/libparse/clk_computime.c delete dist/ntp/libparse/clk_dcf7000.c delete dist/ntp/libparse/clk_hopf6021.c delete dist/ntp/libparse/clk_meinberg.c delete dist/ntp/libparse/clk_rawdcf.c delete dist/ntp/libparse/clk_rcc8000.c delete dist/ntp/libparse/clk_schmid.c delete dist/ntp/libparse/clk_trimtaip.c delete dist/ntp/libparse/clk_trimtsip.c delete dist/ntp/libparse/clk_varitext.c delete dist/ntp/libparse/clk_wharton.c delete dist/ntp/libparse/data_mbg.c delete dist/ntp/libparse/gpstolfp.c delete dist/ntp/libparse/ieee754io.c delete dist/ntp/libparse/info_trimble.c delete dist/ntp/libparse/mfp_mul.c delete dist/ntp/libparse/mkinfo_rcmd.sed delete dist/ntp/libparse/mkinfo_scmd.sed delete dist/ntp/libparse/parse.c delete dist/ntp/libparse/parse_conf.c delete dist/ntp/libparse/parsesolaris.c delete dist/ntp/libparse/parsestreams.c delete dist/ntp/libparse/trim_info.c delete dist/ntp/m4/define_dir.m4 delete dist/ntp/m4/hs_ulong_const.m4 delete dist/ntp/m4/os_cflags.m4 delete dist/ntp/ntpd/Makefile.am delete dist/ntp/ntpd/Makefile.in delete dist/ntp/ntpd/check_y2k.c delete dist/ntp/ntpd/cmd_args.c delete dist/ntp/ntpd/jupiter.h delete dist/ntp/ntpd/ntp_config.c delete dist/ntp/ntpd/ntp_control.c delete dist/ntp/ntpd/ntp_crypto.c delete dist/ntp/ntpd/ntp_filegen.c delete dist/ntp/ntpd/ntp_intres.c delete dist/ntp/ntpd/ntp_io.c delete dist/ntp/ntpd/ntp_loopfilter.c delete dist/ntp/ntpd/ntp_monitor.c delete dist/ntp/ntpd/ntp_peer.c delete dist/ntp/ntpd/ntp_proto.c delete dist/ntp/ntpd/ntp_refclock.c delete dist/ntp/ntpd/ntp_request.c delete dist/ntp/ntpd/ntp_restrict.c delete dist/ntp/ntpd/ntp_timer.c delete dist/ntp/ntpd/ntp_util.c delete dist/ntp/ntpd/ntpd-opts.c delete dist/ntp/ntpd/ntpd-opts.def delete dist/ntp/ntpd/ntpd-opts.h delete dist/ntp/ntpd/ntpd-opts.menu delete dist/ntp/ntpd/ntpd-opts.texi delete dist/ntp/ntpd/ntpd.1 delete dist/ntp/ntpd/ntpd.c delete dist/ntp/ntpd/ntpdbase-opts.def delete dist/ntp/ntpd/ntpdsim-opts.c delete dist/ntp/ntpd/ntpdsim-opts.def delete dist/ntp/ntpd/ntpdsim-opts.h delete dist/ntp/ntpd/ntpdsim-opts.menu delete dist/ntp/ntpd/ntpdsim-opts.texi delete dist/ntp/ntpd/ntpdsim.1 delete dist/ntp/ntpd/ntpsim.c delete dist/ntp/ntpd/ppsapi_timepps.h delete dist/ntp/ntpd/refclock_acts.c delete dist/ntp/ntpd/refclock_arbiter.c delete dist/ntp/ntpd/refclock_arc.c delete dist/ntp/ntpd/refclock_as2201.c delete dist/ntp/ntpd/refclock_atom.c delete dist/ntp/ntpd/refclock_bancomm.c delete dist/ntp/ntpd/refclock_chronolog.c delete dist/ntp/ntpd/refclock_chu.c delete dist/ntp/ntpd/refclock_conf.c delete dist/ntp/ntpd/refclock_datum.c delete dist/ntp/ntpd/refclock_dumbclock.c delete dist/ntp/ntpd/refclock_fg.c delete dist/ntp/ntpd/refclock_gpsvme.c delete dist/ntp/ntpd/refclock_heath.c delete dist/ntp/ntpd/refclock_hopfpci.c delete dist/ntp/ntpd/refclock_hopfser.c delete dist/ntp/ntpd/refclock_hpgps.c delete dist/ntp/ntpd/refclock_irig.c delete dist/ntp/ntpd/refclock_jjy.c delete dist/ntp/ntpd/refclock_jupiter.c delete dist/ntp/ntpd/refclock_leitch.c delete dist/ntp/ntpd/refclock_local.c delete dist/ntp/ntpd/refclock_msfees.c delete dist/ntp/ntpd/refclock_mx4200.c delete dist/ntp/ntpd/refclock_neoclock4x.c delete dist/ntp/ntpd/refclock_nmea.c delete dist/ntp/ntpd/refclock_oncore.c delete dist/ntp/ntpd/refclock_palisade.c delete dist/ntp/ntpd/refclock_palisade.h delete dist/ntp/ntpd/refclock_parse.c delete dist/ntp/ntpd/refclock_pcf.c delete dist/ntp/ntpd/refclock_pst.c delete dist/ntp/ntpd/refclock_ripencc.c delete dist/ntp/ntpd/refclock_shm.c delete dist/ntp/ntpd/refclock_tpro.c delete dist/ntp/ntpd/refclock_trak.c delete dist/ntp/ntpd/refclock_true.c delete dist/ntp/ntpd/refclock_tt560.c delete dist/ntp/ntpd/refclock_ulink.c delete dist/ntp/ntpd/refclock_wwv.c delete dist/ntp/ntpd/refclock_wwvb.c delete dist/ntp/ntpd/refclock_zyfer.c delete dist/ntp/ntpdate/Makefile.am delete dist/ntp/ntpdate/Makefile.in delete dist/ntp/ntpdate/README delete dist/ntp/ntpdate/ntpdate.c delete dist/ntp/ntpdate/ntpdate.h delete dist/ntp/ntpdate/ntptime_config.c delete dist/ntp/ntpdate/ntptimeset.c delete dist/ntp/ntpdc/Makefile.am delete dist/ntp/ntpdc/Makefile.in delete dist/ntp/ntpdc/README delete dist/ntp/ntpdc/layout.std delete dist/ntp/ntpdc/nl.pl delete dist/ntp/ntpdc/nl.pl.in delete dist/ntp/ntpdc/nl_in.c delete dist/ntp/ntpdc/ntpdc-layout.c delete dist/ntp/ntpdc/ntpdc-opts.c delete dist/ntp/ntpdc/ntpdc-opts.def delete dist/ntp/ntpdc/ntpdc-opts.h delete dist/ntp/ntpdc/ntpdc-opts.menu delete dist/ntp/ntpdc/ntpdc-opts.texi delete dist/ntp/ntpdc/ntpdc.1 delete dist/ntp/ntpdc/ntpdc.c delete dist/ntp/ntpdc/ntpdc.h delete dist/ntp/ntpdc/ntpdc_ops.c delete dist/ntp/ntpq/Makefile.am delete dist/ntp/ntpq/Makefile.in delete dist/ntp/ntpq/README delete dist/ntp/ntpq/ntpq-opts.c delete dist/ntp/ntpq/ntpq-opts.def delete dist/ntp/ntpq/ntpq-opts.h delete dist/ntp/ntpq/ntpq-opts.menu delete dist/ntp/ntpq/ntpq-opts.texi delete dist/ntp/ntpq/ntpq-subs.c delete dist/ntp/ntpq/ntpq.1 delete dist/ntp/ntpq/ntpq.c delete dist/ntp/ntpq/ntpq.h delete dist/ntp/parseutil/Makefile.am delete dist/ntp/parseutil/Makefile.in delete dist/ntp/parseutil/README delete dist/ntp/parseutil/dcfd.c delete dist/ntp/parseutil/testdcf.c delete dist/ntp/scripts/Makefile.am delete dist/ntp/scripts/Makefile.in delete dist/ntp/scripts/README delete dist/ntp/scripts/VersionName delete dist/ntp/scripts/calc_tickadj.in delete dist/ntp/scripts/checktime.in delete dist/ntp/scripts/fixautomakedepsmagic delete dist/ntp/scripts/freq_adj.in delete dist/ntp/scripts/genCommitLog delete dist/ntp/scripts/genver delete dist/ntp/scripts/hpadjtime.sh delete dist/ntp/scripts/html2man.in delete dist/ntp/scripts/mkver.in delete dist/ntp/scripts/ntp-close delete dist/ntp/scripts/ntp-groper delete dist/ntp/scripts/ntp-restart delete dist/ntp/scripts/ntp-status delete dist/ntp/scripts/ntp-wait.in delete dist/ntp/scripts/ntpsweep.in delete dist/ntp/scripts/ntptrace.in delete dist/ntp/scripts/ntpver.in delete dist/ntp/scripts/plot_summary.in delete dist/ntp/scripts/summary.in delete dist/ntp/scripts/monitoring/README delete dist/ntp/scripts/monitoring/loopwatch.config.SAMPLE delete dist/ntp/scripts/monitoring/lr.pl delete dist/ntp/scripts/monitoring/ntp.pl delete dist/ntp/scripts/monitoring/ntploopstat delete dist/ntp/scripts/monitoring/ntploopwatch delete dist/ntp/scripts/monitoring/ntptrap delete dist/ntp/scripts/monitoring/timelocal.pl delete dist/ntp/scripts/rc1/postinstall delete dist/ntp/scripts/rc1/preinstall delete dist/ntp/scripts/rc1/preremove delete dist/ntp/scripts/rc1/prototype delete dist/ntp/scripts/rc1/xntp delete dist/ntp/scripts/rc2/local.ntpd delete dist/ntp/scripts/stats/README delete dist/ntp/scripts/stats/README.stats delete dist/ntp/scripts/stats/README.timecodes delete dist/ntp/scripts/stats/clock.awk delete dist/ntp/scripts/stats/dupe.awk delete dist/ntp/scripts/stats/ensemble.S delete dist/ntp/scripts/stats/ensemble.awk delete dist/ntp/scripts/stats/etf.S delete dist/ntp/scripts/stats/etf.awk delete dist/ntp/scripts/stats/itf.S delete dist/ntp/scripts/stats/itf.awk delete dist/ntp/scripts/stats/loop.S delete dist/ntp/scripts/stats/loop.awk delete dist/ntp/scripts/stats/loop_summary delete dist/ntp/scripts/stats/peer.awk delete dist/ntp/scripts/stats/psummary.awk delete dist/ntp/scripts/stats/summary.sh delete dist/ntp/scripts/stats/tdata.S delete dist/ntp/scripts/stats/tdata.awk delete dist/ntp/sntp/COPYRIGHT delete dist/ntp/sntp/Makefile.am delete dist/ntp/sntp/Makefile.in delete dist/ntp/sntp/README delete dist/ntp/sntp/aclocal.m4 delete dist/ntp/sntp/autogen-version.def delete dist/ntp/sntp/bincheck.mf delete dist/ntp/sntp/compile delete dist/ntp/sntp/config.guess delete dist/ntp/sntp/config.h.in delete dist/ntp/sntp/config.sub delete dist/ntp/sntp/configure delete dist/ntp/sntp/configure.ac delete dist/ntp/sntp/depcomp delete dist/ntp/sntp/header.h delete dist/ntp/sntp/install-sh delete dist/ntp/sntp/internet.c delete dist/ntp/sntp/internet.h delete dist/ntp/sntp/kludges.h delete dist/ntp/sntp/ltmain.sh delete dist/ntp/sntp/main.c delete dist/ntp/sntp/missing delete dist/ntp/sntp/sntp-opts.c delete dist/ntp/sntp/sntp-opts.def delete dist/ntp/sntp/sntp-opts.h delete dist/ntp/sntp/sntp-opts.menu delete dist/ntp/sntp/sntp-opts.texi delete dist/ntp/sntp/sntp.1 delete dist/ntp/sntp/socket.c delete dist/ntp/sntp/timing.c delete dist/ntp/sntp/unix.c delete dist/ntp/sntp/version.def delete dist/ntp/sntp/libopts/COPYING.lgpl delete dist/ntp/sntp/libopts/COPYING.mbsd delete dist/ntp/sntp/libopts/MakeDefs.inc delete dist/ntp/sntp/libopts/Makefile.am delete dist/ntp/sntp/libopts/Makefile.in delete dist/ntp/sntp/libopts/README delete dist/ntp/sntp/libopts/autoopts.c delete dist/ntp/sntp/libopts/autoopts.h delete dist/ntp/sntp/libopts/boolean.c delete dist/ntp/sntp/libopts/configfile.c delete dist/ntp/sntp/libopts/cook.c delete dist/ntp/sntp/libopts/enumeration.c delete dist/ntp/sntp/libopts/environment.c delete dist/ntp/sntp/libopts/genshell.c delete dist/ntp/sntp/libopts/genshell.h delete dist/ntp/sntp/libopts/libopts.c delete dist/ntp/sntp/libopts/load.c delete dist/ntp/sntp/libopts/makeshell.c delete dist/ntp/sntp/libopts/nested.c delete dist/ntp/sntp/libopts/numeric.c delete dist/ntp/sntp/libopts/pgusage.c delete dist/ntp/sntp/libopts/proto.h delete dist/ntp/sntp/libopts/putshell.c delete dist/ntp/sntp/libopts/restore.c delete dist/ntp/sntp/libopts/save.c delete dist/ntp/sntp/libopts/sort.c delete dist/ntp/sntp/libopts/stack.c delete dist/ntp/sntp/libopts/streqvcmp.c delete dist/ntp/sntp/libopts/text_mmap.c delete dist/ntp/sntp/libopts/tokenize.c delete dist/ntp/sntp/libopts/usage.c delete dist/ntp/sntp/libopts/version.c delete dist/ntp/sntp/libopts/autoopts/options.h delete dist/ntp/sntp/libopts/autoopts/usage-txt.h delete dist/ntp/sntp/libopts/compat/compat.h delete dist/ntp/sntp/libopts/compat/pathfind.c delete dist/ntp/sntp/libopts/compat/snprintf.c delete dist/ntp/sntp/libopts/compat/strchr.c delete dist/ntp/sntp/libopts/compat/strdup.c delete dist/ntp/sntp/libopts/compat/windows-config.h delete dist/ntp/sntp/libopts/m4/libopts.m4 delete dist/ntp/sntp/libopts/m4/liboptschk.m4 delete dist/ntp/util/Makefile.am delete dist/ntp/util/Makefile.in delete dist/ntp/util/README delete dist/ntp/util/ansi2knr.1 delete dist/ntp/util/ansi2knr.c delete dist/ntp/util/audio-pcm.c delete dist/ntp/util/byteorder.c delete dist/ntp/util/hist.c delete dist/ntp/util/jitter.c delete dist/ntp/util/jitter.h delete dist/ntp/util/kern.c delete dist/ntp/util/longsize.c delete dist/ntp/util/ntp-keygen-opts.c delete dist/ntp/util/ntp-keygen-opts.def delete dist/ntp/util/ntp-keygen-opts.h delete dist/ntp/util/ntp-keygen-opts.menu delete dist/ntp/util/ntp-keygen-opts.texi delete dist/ntp/util/ntp-keygen.1 delete dist/ntp/util/ntp-keygen.c delete dist/ntp/util/ntptime.c delete dist/ntp/util/pps-api.c delete dist/ntp/util/precision.c delete dist/ntp/util/sht.c delete dist/ntp/util/testrs6000.c delete dist/ntp/util/tg.c delete dist/ntp/util/tickadj.c delete dist/ntp/util/timetrim.c delete distrib/sets/lists/man/mi patch distrib/sets/lists/misc/mi patch external/bsd/Makefile patch external/bsd/ntp/Makefile new external/bsd/ntp/Makefile.inc new external/bsd/ntp/importdate new external/bsd/ntp/ntp2netbsd new external/bsd/ntp/bin/Makefile new external/bsd/ntp/bin/Makefile.inc new external/bsd/ntp/bin/ntp-keygen/Makefile new external/bsd/ntp/bin/ntp-keygen/ntp-keygen.8 new external/bsd/ntp/bin/ntpd/Makefile new external/bsd/ntp/bin/ntpd/ntp.conf.5 new external/bsd/ntp/bin/ntpd/ntp.keys.5 new external/bsd/ntp/bin/ntpd/ntpd.8 new external/bsd/ntp/bin/ntpdate/Makefile new external/bsd/ntp/bin/ntpdate/ntpdate.8 new external/bsd/ntp/bin/ntpdc/Makefile new external/bsd/ntp/bin/ntpdc/ntpdc.8 new external/bsd/ntp/bin/ntpq/Makefile new external/bsd/ntp/bin/ntpq/ntpq.8 new external/bsd/ntp/bin/ntptime/Makefile new external/bsd/ntp/bin/ntptime/ntptime.8 new external/bsd/ntp/bin/ntptrace/Makefile new external/bsd/ntp/bin/ntptrace/ntptrace.8 new external/bsd/ntp/bin/ntptrace/ntptrace.awk new external/bsd/ntp/bin/sntp/Makefile new external/bsd/ntp/bin/sntp/sntp.1 new external/bsd/ntp/dist/COPYRIGHT new external/bsd/ntp/dist/ChangeLog new external/bsd/ntp/dist/CommitLog new external/bsd/ntp/dist/CommitLog-4.1.0 new external/bsd/ntp/dist/INSTALL new external/bsd/ntp/dist/Makefile.am new external/bsd/ntp/dist/Makefile.in new external/bsd/ntp/dist/NEWS new external/bsd/ntp/dist/NOTES.y2kfixes new external/bsd/ntp/dist/README new external/bsd/ntp/dist/README.bk new external/bsd/ntp/dist/README.hackers new external/bsd/ntp/dist/README.patches new external/bsd/ntp/dist/README.refclocks new external/bsd/ntp/dist/README.versions new external/bsd/ntp/dist/TODO new external/bsd/ntp/dist/WHERE-TO-START new external/bsd/ntp/dist/aclocal.m4 new external/bsd/ntp/dist/bincheck.mf new external/bsd/ntp/dist/bootstrap new external/bsd/ntp/dist/build new external/bsd/ntp/dist/check-libopts.mf new external/bsd/ntp/dist/config.h.in new external/bsd/ntp/dist/configure new external/bsd/ntp/dist/configure.ac new external/bsd/ntp/dist/deps-ver new external/bsd/ntp/dist/depsver.mf new external/bsd/ntp/dist/dot.emacs new external/bsd/ntp/dist/flock-build new external/bsd/ntp/dist/includes.mf new external/bsd/ntp/dist/install-sh new external/bsd/ntp/dist/packageinfo.sh new external/bsd/ntp/dist/readme.y2kfixes new external/bsd/ntp/dist/results.y2kfixes new external/bsd/ntp/dist/adjtimed/Makefile.am new external/bsd/ntp/dist/adjtimed/Makefile.in new external/bsd/ntp/dist/adjtimed/README new external/bsd/ntp/dist/adjtimed/adjtimed.c new external/bsd/ntp/dist/clockstuff/Makefile.am new external/bsd/ntp/dist/clockstuff/Makefile.in new external/bsd/ntp/dist/clockstuff/README new external/bsd/ntp/dist/clockstuff/chutest.c new external/bsd/ntp/dist/clockstuff/propdelay.c new external/bsd/ntp/dist/conf/README new external/bsd/ntp/dist/conf/baldwin.conf new external/bsd/ntp/dist/conf/beauregard.conf new external/bsd/ntp/dist/conf/grundoon.conf new external/bsd/ntp/dist/conf/malarky.conf new external/bsd/ntp/dist/conf/pogo.conf new external/bsd/ntp/dist/conf/rackety.conf new external/bsd/ntp/dist/html/access.html new external/bsd/ntp/dist/html/accopt.html new external/bsd/ntp/dist/html/assoc.html new external/bsd/ntp/dist/html/audio.html new external/bsd/ntp/dist/html/authentic.html new external/bsd/ntp/dist/html/authopt.html new external/bsd/ntp/dist/html/autokey.html new external/bsd/ntp/dist/html/bugs.html new external/bsd/ntp/dist/html/build.html new external/bsd/ntp/dist/html/clock.html new external/bsd/ntp/dist/html/clockopt.html new external/bsd/ntp/dist/html/cluster.html new external/bsd/ntp/dist/html/comdex.html new external/bsd/ntp/dist/html/config.html new external/bsd/ntp/dist/html/confopt.html new external/bsd/ntp/dist/html/copyright.html new external/bsd/ntp/dist/html/debug.html new external/bsd/ntp/dist/html/decode.html new external/bsd/ntp/dist/html/discipline.html new external/bsd/ntp/dist/html/discover.html new external/bsd/ntp/dist/html/extern.html new external/bsd/ntp/dist/html/filter.html new external/bsd/ntp/dist/html/hints.html new external/bsd/ntp/dist/html/history.html new external/bsd/ntp/dist/html/howto.html new external/bsd/ntp/dist/html/huffpuff.html new external/bsd/ntp/dist/html/index.html new external/bsd/ntp/dist/html/kern.html new external/bsd/ntp/dist/html/kernpps.html new external/bsd/ntp/dist/html/keygen.html new external/bsd/ntp/dist/html/leap.html new external/bsd/ntp/dist/html/miscopt.html new external/bsd/ntp/dist/html/monopt.html new external/bsd/ntp/dist/html/msyslog.html new external/bsd/ntp/dist/html/ntp-wait.html new external/bsd/ntp/dist/html/ntp_conf.html new external/bsd/ntp/dist/html/ntpd.html new external/bsd/ntp/dist/html/ntpdate.html new external/bsd/ntp/dist/html/ntpdc.html new external/bsd/ntp/dist/html/ntpdsim.html new external/bsd/ntp/dist/html/ntpdsim_new.html new external/bsd/ntp/dist/html/ntpq.html new external/bsd/ntp/dist/html/ntptime.html new external/bsd/ntp/dist/html/ntptrace.html new external/bsd/ntp/dist/html/orphan.html new external/bsd/ntp/dist/html/parsedata.html new external/bsd/ntp/dist/html/parsenew.html new external/bsd/ntp/dist/html/poll.html new external/bsd/ntp/dist/html/pps.html new external/bsd/ntp/dist/html/prefer.html new external/bsd/ntp/dist/html/quick.html new external/bsd/ntp/dist/html/rate.html new external/bsd/ntp/dist/html/rdebug.html new external/bsd/ntp/dist/html/refclock.html new external/bsd/ntp/dist/html/release.html new external/bsd/ntp/dist/html/select.html new external/bsd/ntp/dist/html/sitemap.html new external/bsd/ntp/dist/html/sntp.html new external/bsd/ntp/dist/html/stats.html new external/bsd/ntp/dist/html/tickadj.html new external/bsd/ntp/dist/html/warp.html new external/bsd/ntp/dist/html/xleave.html new external/bsd/ntp/dist/html/drivers/driver1.html new external/bsd/ntp/dist/html/drivers/driver10.html new external/bsd/ntp/dist/html/drivers/driver11.html new external/bsd/ntp/dist/html/drivers/driver12.html new external/bsd/ntp/dist/html/drivers/driver16.html new external/bsd/ntp/dist/html/drivers/driver18.html new external/bsd/ntp/dist/html/drivers/driver19.html new external/bsd/ntp/dist/html/drivers/driver20.html new external/bsd/ntp/dist/html/drivers/driver22.html new external/bsd/ntp/dist/html/drivers/driver26.html new external/bsd/ntp/dist/html/drivers/driver27.html new external/bsd/ntp/dist/html/drivers/driver28.html new external/bsd/ntp/dist/html/drivers/driver29.html new external/bsd/ntp/dist/html/drivers/driver3.html new external/bsd/ntp/dist/html/drivers/driver30.html new external/bsd/ntp/dist/html/drivers/driver31.html new external/bsd/ntp/dist/html/drivers/driver32.html new external/bsd/ntp/dist/html/drivers/driver33.html new external/bsd/ntp/dist/html/drivers/driver34.html new external/bsd/ntp/dist/html/drivers/driver35.html new external/bsd/ntp/dist/html/drivers/driver36.html new external/bsd/ntp/dist/html/drivers/driver37.html new external/bsd/ntp/dist/html/drivers/driver38.html new external/bsd/ntp/dist/html/drivers/driver39.html new external/bsd/ntp/dist/html/drivers/driver4.html new external/bsd/ntp/dist/html/drivers/driver40.html new external/bsd/ntp/dist/html/drivers/driver42.html new external/bsd/ntp/dist/html/drivers/driver43.html new external/bsd/ntp/dist/html/drivers/driver44.html new external/bsd/ntp/dist/html/drivers/driver45.html new external/bsd/ntp/dist/html/drivers/driver46.html new external/bsd/ntp/dist/html/drivers/driver5.html new external/bsd/ntp/dist/html/drivers/driver6.html new external/bsd/ntp/dist/html/drivers/driver7.html new external/bsd/ntp/dist/html/drivers/driver8.html new external/bsd/ntp/dist/html/drivers/driver9.html new external/bsd/ntp/dist/html/drivers/mx4200data.html new external/bsd/ntp/dist/html/drivers/oncore-shmem.html new external/bsd/ntp/dist/html/drivers/tf582_4.html new external/bsd/ntp/dist/html/drivers/icons/home.gif new external/bsd/ntp/dist/html/drivers/icons/mail2.gif new external/bsd/ntp/dist/html/drivers/scripts/footer.txt new external/bsd/ntp/dist/html/drivers/scripts/style.css new external/bsd/ntp/dist/html/hints/a-ux new external/bsd/ntp/dist/html/hints/aix new external/bsd/ntp/dist/html/hints/bsdi new external/bsd/ntp/dist/html/hints/changes new external/bsd/ntp/dist/html/hints/decosf1 new external/bsd/ntp/dist/html/hints/decosf2 new external/bsd/ntp/dist/html/hints/freebsd new external/bsd/ntp/dist/html/hints/hpux new external/bsd/ntp/dist/html/hints/linux new external/bsd/ntp/dist/html/hints/mpeix new external/bsd/ntp/dist/html/hints/notes-xntp-v3 new external/bsd/ntp/dist/html/hints/parse new external/bsd/ntp/dist/html/hints/refclocks new external/bsd/ntp/dist/html/hints/rs6000 new external/bsd/ntp/dist/html/hints/sco.html new external/bsd/ntp/dist/html/hints/sgi new external/bsd/ntp/dist/html/hints/solaris-dosynctodr.html new external/bsd/ntp/dist/html/hints/solaris.html new external/bsd/ntp/dist/html/hints/solaris.xtra.4023118 new external/bsd/ntp/dist/html/hints/solaris.xtra.4095849 new external/bsd/ntp/dist/html/hints/solaris.xtra.S99ntpd new external/bsd/ntp/dist/html/hints/solaris.xtra.patchfreq new external/bsd/ntp/dist/html/hints/sun4 new external/bsd/ntp/dist/html/hints/svr4-dell new external/bsd/ntp/dist/html/hints/svr4_package new external/bsd/ntp/dist/html/hints/todo new external/bsd/ntp/dist/html/hints/vxworks.html new external/bsd/ntp/dist/html/hints/winnt.html new external/bsd/ntp/dist/html/icons/home.gif new external/bsd/ntp/dist/html/icons/mail2.gif new external/bsd/ntp/dist/html/icons/sitemap.png new external/bsd/ntp/dist/html/scripts/accopt.txt new external/bsd/ntp/dist/html/scripts/audio.txt new external/bsd/ntp/dist/html/scripts/authopt.txt new external/bsd/ntp/dist/html/scripts/clockopt.txt new external/bsd/ntp/dist/html/scripts/command.txt new external/bsd/ntp/dist/html/scripts/config.txt new external/bsd/ntp/dist/html/scripts/confopt.txt new external/bsd/ntp/dist/html/scripts/external.txt new external/bsd/ntp/dist/html/scripts/footer.txt new external/bsd/ntp/dist/html/scripts/hand.txt new external/bsd/ntp/dist/html/scripts/install.txt new external/bsd/ntp/dist/html/scripts/manual.txt new external/bsd/ntp/dist/html/scripts/misc.txt new external/bsd/ntp/dist/html/scripts/miscopt.txt new external/bsd/ntp/dist/html/scripts/monopt.txt new external/bsd/ntp/dist/html/scripts/refclock.txt new external/bsd/ntp/dist/html/scripts/special.txt new external/bsd/ntp/dist/html/scripts/style.css new external/bsd/ntp/dist/include/Makefile.am new external/bsd/ntp/dist/include/Makefile.in new external/bsd/ntp/dist/include/README new external/bsd/ntp/dist/include/adjtime.h new external/bsd/ntp/dist/include/ascii.h new external/bsd/ntp/dist/include/audio.h new external/bsd/ntp/dist/include/binio.h new external/bsd/ntp/dist/include/declcond.h new external/bsd/ntp/dist/include/gps.h new external/bsd/ntp/dist/include/hopf6039.h new external/bsd/ntp/dist/include/icom.h new external/bsd/ntp/dist/include/ieee754io.h new external/bsd/ntp/dist/include/intreswork.h new external/bsd/ntp/dist/include/iosignal.h new external/bsd/ntp/dist/include/l_stdlib.h new external/bsd/ntp/dist/include/lib_strbuf.h new external/bsd/ntp/dist/include/libntp.h new external/bsd/ntp/dist/include/mbg_gps166.h new external/bsd/ntp/dist/include/mx4200.h new external/bsd/ntp/dist/include/ntif.h new external/bsd/ntp/dist/include/ntp.h new external/bsd/ntp/dist/include/ntp_assert.h new external/bsd/ntp/dist/include/ntp_calendar.h new external/bsd/ntp/dist/include/ntp_cmdargs.h new external/bsd/ntp/dist/include/ntp_config.h new external/bsd/ntp/dist/include/ntp_control.h new external/bsd/ntp/dist/include/ntp_crypto.h new external/bsd/ntp/dist/include/ntp_datum.h new external/bsd/ntp/dist/include/ntp_debug.h new external/bsd/ntp/dist/include/ntp_filegen.h new external/bsd/ntp/dist/include/ntp_fp.h new external/bsd/ntp/dist/include/ntp_if.h new external/bsd/ntp/dist/include/ntp_intres.h new external/bsd/ntp/dist/include/ntp_io.h new external/bsd/ntp/dist/include/ntp_libopts.h new external/bsd/ntp/dist/include/ntp_lineedit.h new external/bsd/ntp/dist/include/ntp_lists.h new external/bsd/ntp/dist/include/ntp_machine.h new external/bsd/ntp/dist/include/ntp_malloc.h new external/bsd/ntp/dist/include/ntp_md5.h new external/bsd/ntp/dist/include/ntp_net.h new external/bsd/ntp/dist/include/ntp_prio_q.h new external/bsd/ntp/dist/include/ntp_proto.h new external/bsd/ntp/dist/include/ntp_random.h new external/bsd/ntp/dist/include/ntp_refclock.h new external/bsd/ntp/dist/include/ntp_request.h new external/bsd/ntp/dist/include/ntp_rfc2553.h new external/bsd/ntp/dist/include/ntp_select.h new external/bsd/ntp/dist/include/ntp_stdlib.h new external/bsd/ntp/dist/include/ntp_string.h new external/bsd/ntp/dist/include/ntp_syscall.h new external/bsd/ntp/dist/include/ntp_syslog.h new external/bsd/ntp/dist/include/ntp_tty.h new external/bsd/ntp/dist/include/ntp_types.h new external/bsd/ntp/dist/include/ntp_unixtime.h new external/bsd/ntp/dist/include/ntp_worker.h new external/bsd/ntp/dist/include/ntp_workimpl.h new external/bsd/ntp/dist/include/ntpd.h new external/bsd/ntp/dist/include/ntpsim.h new external/bsd/ntp/dist/include/parse.h new external/bsd/ntp/dist/include/parse_conf.h new external/bsd/ntp/dist/include/recvbuff.h new external/bsd/ntp/dist/include/refclock_atom.h new external/bsd/ntp/dist/include/ssl_applink.c new external/bsd/ntp/dist/include/timepps-SCO.h new external/bsd/ntp/dist/include/timepps-Solaris.h new external/bsd/ntp/dist/include/timepps-SunOS.h new external/bsd/ntp/dist/include/timespecops.h new external/bsd/ntp/dist/include/timetoa.h new external/bsd/ntp/dist/include/timevalops.h new external/bsd/ntp/dist/include/trimble.h new external/bsd/ntp/dist/include/vint64ops.h new external/bsd/ntp/dist/include/isc/Makefile.am new external/bsd/ntp/dist/include/isc/Makefile.in new external/bsd/ntp/dist/include/isc/mem.h new external/bsd/ntp/dist/kernel/Makefile.am new external/bsd/ntp/dist/kernel/Makefile.in new external/bsd/ntp/dist/kernel/sys/Makefile.am new external/bsd/ntp/dist/kernel/sys/Makefile.in new external/bsd/ntp/dist/kernel/sys/README new external/bsd/ntp/dist/kernel/sys/bsd_audioirig.h new external/bsd/ntp/dist/kernel/sys/i8253.h new external/bsd/ntp/dist/kernel/sys/parsestreams.h new external/bsd/ntp/dist/kernel/sys/pcl720.h new external/bsd/ntp/dist/kernel/sys/ppsclock.h new external/bsd/ntp/dist/kernel/sys/timex.h new external/bsd/ntp/dist/kernel/sys/tpro.h new external/bsd/ntp/dist/kernel/sys/tt560_api.h new external/bsd/ntp/dist/lib/isc/Atffile new external/bsd/ntp/dist/lib/isc/api new external/bsd/ntp/dist/lib/isc/app_api.c new external/bsd/ntp/dist/lib/isc/assertions.c new external/bsd/ntp/dist/lib/isc/backtrace-emptytbl.c new external/bsd/ntp/dist/lib/isc/backtrace.c new external/bsd/ntp/dist/lib/isc/base32.c new external/bsd/ntp/dist/lib/isc/base64.c new external/bsd/ntp/dist/lib/isc/bitstring.c new external/bsd/ntp/dist/lib/isc/buffer.c new external/bsd/ntp/dist/lib/isc/bufferlist.c new external/bsd/ntp/dist/lib/isc/commandline.c new external/bsd/ntp/dist/lib/isc/entropy.c new external/bsd/ntp/dist/lib/isc/error.c new external/bsd/ntp/dist/lib/isc/event.c new external/bsd/ntp/dist/lib/isc/fsaccess.c new external/bsd/ntp/dist/lib/isc/hash.c new external/bsd/ntp/dist/lib/isc/heap.c new external/bsd/ntp/dist/lib/isc/hex.c new external/bsd/ntp/dist/lib/isc/hmacmd5.c new external/bsd/ntp/dist/lib/isc/hmacsha.c new external/bsd/ntp/dist/lib/isc/httpd.c new external/bsd/ntp/dist/lib/isc/inet_aton.c new external/bsd/ntp/dist/lib/isc/inet_ntop.c new external/bsd/ntp/dist/lib/isc/inet_pton.c new external/bsd/ntp/dist/lib/isc/iterated_hash.c new external/bsd/ntp/dist/lib/isc/lex.c new external/bsd/ntp/dist/lib/isc/lfsr.c new external/bsd/ntp/dist/lib/isc/lib.c new external/bsd/ntp/dist/lib/isc/log.c new external/bsd/ntp/dist/lib/isc/md5.c new external/bsd/ntp/dist/lib/isc/mem.c new external/bsd/ntp/dist/lib/isc/mem_api.c new external/bsd/ntp/dist/lib/isc/mutexblock.c new external/bsd/ntp/dist/lib/isc/netaddr.c new external/bsd/ntp/dist/lib/isc/netscope.c new external/bsd/ntp/dist/lib/isc/ondestroy.c new external/bsd/ntp/dist/lib/isc/parseint.c new external/bsd/ntp/dist/lib/isc/portset.c new external/bsd/ntp/dist/lib/isc/print.c new external/bsd/ntp/dist/lib/isc/quota.c new external/bsd/ntp/dist/lib/isc/radix.c new external/bsd/ntp/dist/lib/isc/random.c new external/bsd/ntp/dist/lib/isc/ratelimiter.c new external/bsd/ntp/dist/lib/isc/refcount.c new external/bsd/ntp/dist/lib/isc/region.c new external/bsd/ntp/dist/lib/isc/result.c new external/bsd/ntp/dist/lib/isc/rwlock.c new external/bsd/ntp/dist/lib/isc/serial.c new external/bsd/ntp/dist/lib/isc/sha1.c new external/bsd/ntp/dist/lib/isc/sha2.c new external/bsd/ntp/dist/lib/isc/sockaddr.c new external/bsd/ntp/dist/lib/isc/socket_api.c new external/bsd/ntp/dist/lib/isc/stats.c new external/bsd/ntp/dist/lib/isc/string.c new external/bsd/ntp/dist/lib/isc/strtoul.c new external/bsd/ntp/dist/lib/isc/symtab.c new external/bsd/ntp/dist/lib/isc/task.c new external/bsd/ntp/dist/lib/isc/task_api.c new external/bsd/ntp/dist/lib/isc/task_p.h new external/bsd/ntp/dist/lib/isc/taskpool.c new external/bsd/ntp/dist/lib/isc/timer.c new external/bsd/ntp/dist/lib/isc/timer_api.c new external/bsd/ntp/dist/lib/isc/timer_p.h new external/bsd/ntp/dist/lib/isc/version.c new external/bsd/ntp/dist/lib/isc/alpha/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/ia64/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/include/isc/app.h new external/bsd/ntp/dist/lib/isc/include/isc/assertions.h new external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h new external/bsd/ntp/dist/lib/isc/include/isc/base32.h new external/bsd/ntp/dist/lib/isc/include/isc/base64.h new external/bsd/ntp/dist/lib/isc/include/isc/bind9.h new external/bsd/ntp/dist/lib/isc/include/isc/bitstring.h new external/bsd/ntp/dist/lib/isc/include/isc/boolean.h new external/bsd/ntp/dist/lib/isc/include/isc/buffer.h new external/bsd/ntp/dist/lib/isc/include/isc/bufferlist.h new external/bsd/ntp/dist/lib/isc/include/isc/commandline.h new external/bsd/ntp/dist/lib/isc/include/isc/entropy.h new external/bsd/ntp/dist/lib/isc/include/isc/error.h new external/bsd/ntp/dist/lib/isc/include/isc/event.h new external/bsd/ntp/dist/lib/isc/include/isc/eventclass.h new external/bsd/ntp/dist/lib/isc/include/isc/file.h new external/bsd/ntp/dist/lib/isc/include/isc/formatcheck.h new external/bsd/ntp/dist/lib/isc/include/isc/fsaccess.h new external/bsd/ntp/dist/lib/isc/include/isc/hash.h new external/bsd/ntp/dist/lib/isc/include/isc/heap.h new external/bsd/ntp/dist/lib/isc/include/isc/hex.h new external/bsd/ntp/dist/lib/isc/include/isc/hmacmd5.h new external/bsd/ntp/dist/lib/isc/include/isc/hmacsha.h new external/bsd/ntp/dist/lib/isc/include/isc/httpd.h new external/bsd/ntp/dist/lib/isc/include/isc/interfaceiter.h new external/bsd/ntp/dist/lib/isc/include/isc/ipv6.h new external/bsd/ntp/dist/lib/isc/include/isc/iterated_hash.h new external/bsd/ntp/dist/lib/isc/include/isc/lang.h new external/bsd/ntp/dist/lib/isc/include/isc/lex.h new external/bsd/ntp/dist/lib/isc/include/isc/lfsr.h new external/bsd/ntp/dist/lib/isc/include/isc/lib.h new external/bsd/ntp/dist/lib/isc/include/isc/list.h new external/bsd/ntp/dist/lib/isc/include/isc/log.h new external/bsd/ntp/dist/lib/isc/include/isc/magic.h new external/bsd/ntp/dist/lib/isc/include/isc/md5.h new external/bsd/ntp/dist/lib/isc/include/isc/mem.h new external/bsd/ntp/dist/lib/isc/include/isc/msgcat.h new external/bsd/ntp/dist/lib/isc/include/isc/msgs.h new external/bsd/ntp/dist/lib/isc/include/isc/mutexblock.h new external/bsd/ntp/dist/lib/isc/include/isc/namespace.h new external/bsd/ntp/dist/lib/isc/include/isc/netaddr.h new external/bsd/ntp/dist/lib/isc/include/isc/netscope.h new external/bsd/ntp/dist/lib/isc/include/isc/ondestroy.h new external/bsd/ntp/dist/lib/isc/include/isc/os.h new external/bsd/ntp/dist/lib/isc/include/isc/parseint.h new external/bsd/ntp/dist/lib/isc/include/isc/platform.h new external/bsd/ntp/dist/lib/isc/include/isc/platform.h.in new external/bsd/ntp/dist/lib/isc/include/isc/portset.h new external/bsd/ntp/dist/lib/isc/include/isc/print.h new external/bsd/ntp/dist/lib/isc/include/isc/queue.h new external/bsd/ntp/dist/lib/isc/include/isc/quota.h new external/bsd/ntp/dist/lib/isc/include/isc/radix.h new external/bsd/ntp/dist/lib/isc/include/isc/random.h new external/bsd/ntp/dist/lib/isc/include/isc/ratelimiter.h new external/bsd/ntp/dist/lib/isc/include/isc/refcount.h new external/bsd/ntp/dist/lib/isc/include/isc/region.h new external/bsd/ntp/dist/lib/isc/include/isc/resource.h new external/bsd/ntp/dist/lib/isc/include/isc/result.h new external/bsd/ntp/dist/lib/isc/include/isc/resultclass.h new external/bsd/ntp/dist/lib/isc/include/isc/rwlock.h new external/bsd/ntp/dist/lib/isc/include/isc/serial.h new external/bsd/ntp/dist/lib/isc/include/isc/sha1.h new external/bsd/ntp/dist/lib/isc/include/isc/sha2.h new external/bsd/ntp/dist/lib/isc/include/isc/sockaddr.h new external/bsd/ntp/dist/lib/isc/include/isc/socket.h new external/bsd/ntp/dist/lib/isc/include/isc/stats.h new external/bsd/ntp/dist/lib/isc/include/isc/stdio.h new external/bsd/ntp/dist/lib/isc/include/isc/stdlib.h new external/bsd/ntp/dist/lib/isc/include/isc/string.h new external/bsd/ntp/dist/lib/isc/include/isc/symtab.h new external/bsd/ntp/dist/lib/isc/include/isc/task.h new external/bsd/ntp/dist/lib/isc/include/isc/taskpool.h new external/bsd/ntp/dist/lib/isc/include/isc/timer.h new external/bsd/ntp/dist/lib/isc/include/isc/types.h new external/bsd/ntp/dist/lib/isc/include/isc/util.h new external/bsd/ntp/dist/lib/isc/include/isc/version.h new external/bsd/ntp/dist/lib/isc/include/isc/xml.h new external/bsd/ntp/dist/lib/isc/mips/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/nls/msgcat.c new external/bsd/ntp/dist/lib/isc/noatomic/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/nothreads/condition.c new external/bsd/ntp/dist/lib/isc/nothreads/mutex.c new external/bsd/ntp/dist/lib/isc/nothreads/thread.c new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/once.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/powerpc/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/pthreads/condition.c new external/bsd/ntp/dist/lib/isc/pthreads/mutex.c new external/bsd/ntp/dist/lib/isc/pthreads/thread.c new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/once.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/sparc64/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/tests/Atffile new external/bsd/ntp/dist/lib/isc/tests/hash_test.c new external/bsd/ntp/dist/lib/isc/tests/isctest.c new external/bsd/ntp/dist/lib/isc/tests/isctest.h new external/bsd/ntp/dist/lib/isc/tests/queue_test.c new external/bsd/ntp/dist/lib/isc/tests/socket_test.c new external/bsd/ntp/dist/lib/isc/tests/symtab_test.c new external/bsd/ntp/dist/lib/isc/tests/task_test.c new external/bsd/ntp/dist/lib/isc/tests/taskpool_test.c new external/bsd/ntp/dist/lib/isc/unix/app.c new external/bsd/ntp/dist/lib/isc/unix/dir.c new external/bsd/ntp/dist/lib/isc/unix/entropy.c new external/bsd/ntp/dist/lib/isc/unix/errno2result.c new external/bsd/ntp/dist/lib/isc/unix/errno2result.h new external/bsd/ntp/dist/lib/isc/unix/file.c new external/bsd/ntp/dist/lib/isc/unix/fsaccess.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_sysctl.c new external/bsd/ntp/dist/lib/isc/unix/interfaceiter.c new external/bsd/ntp/dist/lib/isc/unix/ipv6.c new external/bsd/ntp/dist/lib/isc/unix/keyboard.c new external/bsd/ntp/dist/lib/isc/unix/net.c new external/bsd/ntp/dist/lib/isc/unix/os.c new external/bsd/ntp/dist/lib/isc/unix/resource.c new external/bsd/ntp/dist/lib/isc/unix/socket.c new external/bsd/ntp/dist/lib/isc/unix/socket_p.h new external/bsd/ntp/dist/lib/isc/unix/stdio.c new external/bsd/ntp/dist/lib/isc/unix/stdtime.c new external/bsd/ntp/dist/lib/isc/unix/strerror.c new external/bsd/ntp/dist/lib/isc/unix/syslog.c new external/bsd/ntp/dist/lib/isc/unix/time.c new external/bsd/ntp/dist/lib/isc/unix/include/isc/dir.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/int.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/keyboard.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/net.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/netdb.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/offset.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/stat.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/stdtime.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/strerror.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/syslog.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/time.h new external/bsd/ntp/dist/lib/isc/win32/DLLMain.c new external/bsd/ntp/dist/lib/isc/win32/app.c new external/bsd/ntp/dist/lib/isc/win32/condition.c new external/bsd/ntp/dist/lib/isc/win32/dir.c new external/bsd/ntp/dist/lib/isc/win32/entropy.c new external/bsd/ntp/dist/lib/isc/win32/errno2result.c new external/bsd/ntp/dist/lib/isc/win32/errno2result.h new external/bsd/ntp/dist/lib/isc/win32/file.c new external/bsd/ntp/dist/lib/isc/win32/fsaccess.c new external/bsd/ntp/dist/lib/isc/win32/interfaceiter.c new external/bsd/ntp/dist/lib/isc/win32/ipv6.c new external/bsd/ntp/dist/lib/isc/win32/keyboard.c new external/bsd/ntp/dist/lib/isc/win32/libgen.h new external/bsd/ntp/dist/lib/isc/win32/libisc.def new external/bsd/ntp/dist/lib/isc/win32/libisc.dsp new external/bsd/ntp/dist/lib/isc/win32/libisc.dsw new external/bsd/ntp/dist/lib/isc/win32/libisc.mak new external/bsd/ntp/dist/lib/isc/win32/net.c new external/bsd/ntp/dist/lib/isc/win32/netdb.h new external/bsd/ntp/dist/lib/isc/win32/ntgroups.c new external/bsd/ntp/dist/lib/isc/win32/ntpaths.c new external/bsd/ntp/dist/lib/isc/win32/once.c new external/bsd/ntp/dist/lib/isc/win32/os.c new external/bsd/ntp/dist/lib/isc/win32/resource.c new external/bsd/ntp/dist/lib/isc/win32/socket.c new external/bsd/ntp/dist/lib/isc/win32/stdio.c new external/bsd/ntp/dist/lib/isc/win32/stdtime.c new external/bsd/ntp/dist/lib/isc/win32/strerror.c new external/bsd/ntp/dist/lib/isc/win32/syslog.c new external/bsd/ntp/dist/lib/isc/win32/syslog.h new external/bsd/ntp/dist/lib/isc/win32/thread.c new external/bsd/ntp/dist/lib/isc/win32/time.c new external/bsd/ntp/dist/lib/isc/win32/unistd.h new external/bsd/ntp/dist/lib/isc/win32/version.c new external/bsd/ntp/dist/lib/isc/win32/win32os.c new external/bsd/ntp/dist/lib/isc/win32/include/isc/bind_registry.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/bindevt.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/dir.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/int.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ipv6.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/keyboard.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/net.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/netdb.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ntgroups.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ntpaths.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/offset.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/once.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/platform.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/stat.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/stdtime.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/strerror.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/syslog.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/time.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/win32os.h new external/bsd/ntp/dist/lib/isc/x86_32/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/x86_64/include/isc/atomic.h new external/bsd/ntp/dist/libjsmn/LICENSE new external/bsd/ntp/dist/libjsmn/Makefile new external/bsd/ntp/dist/libjsmn/README.md new external/bsd/ntp/dist/libjsmn/jsmn.c new external/bsd/ntp/dist/libjsmn/jsmn.h new external/bsd/ntp/dist/libjsmn/jsmn_test.c new external/bsd/ntp/dist/libntp/Makefile.am new external/bsd/ntp/dist/libntp/Makefile.in new external/bsd/ntp/dist/libntp/README new external/bsd/ntp/dist/libntp/a_md5encrypt.c new external/bsd/ntp/dist/libntp/adjtime.c new external/bsd/ntp/dist/libntp/adjtimex.c new external/bsd/ntp/dist/libntp/atoint.c new external/bsd/ntp/dist/libntp/atolfp.c new external/bsd/ntp/dist/libntp/atouint.c new external/bsd/ntp/dist/libntp/audio.c new external/bsd/ntp/dist/libntp/authkeys.c new external/bsd/ntp/dist/libntp/authreadkeys.c new external/bsd/ntp/dist/libntp/authusekey.c new external/bsd/ntp/dist/libntp/bsd_strerror.c new external/bsd/ntp/dist/libntp/buftvtots.c new external/bsd/ntp/dist/libntp/caljulian.c new external/bsd/ntp/dist/libntp/caltontp.c new external/bsd/ntp/dist/libntp/calyearstart.c new external/bsd/ntp/dist/libntp/clocktime.c new external/bsd/ntp/dist/libntp/clocktypes.c new external/bsd/ntp/dist/libntp/decodenetnum.c new external/bsd/ntp/dist/libntp/dofptoa.c new external/bsd/ntp/dist/libntp/dolfptoa.c new external/bsd/ntp/dist/libntp/emalloc.c new external/bsd/ntp/dist/libntp/findconfig.c new external/bsd/ntp/dist/libntp/getopt.c new external/bsd/ntp/dist/libntp/hextoint.c new external/bsd/ntp/dist/libntp/hextolfp.c new external/bsd/ntp/dist/libntp/humandate.c new external/bsd/ntp/dist/libntp/icom.c new external/bsd/ntp/dist/libntp/iosignal.c new external/bsd/ntp/dist/libntp/lib_strbuf.c new external/bsd/ntp/dist/libntp/machines.c new external/bsd/ntp/dist/libntp/mktime.c new external/bsd/ntp/dist/libntp/modetoa.c new external/bsd/ntp/dist/libntp/mstolfp.c new external/bsd/ntp/dist/libntp/msyslog.c new external/bsd/ntp/dist/libntp/netof.c new external/bsd/ntp/dist/libntp/ntp_calendar.c new external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c new external/bsd/ntp/dist/libntp/ntp_intres.c new external/bsd/ntp/dist/libntp/ntp_libopts.c new external/bsd/ntp/dist/libntp/ntp_lineedit.c new external/bsd/ntp/dist/libntp/ntp_random.c new external/bsd/ntp/dist/libntp/ntp_rfc2553.c new external/bsd/ntp/dist/libntp/ntp_worker.c new external/bsd/ntp/dist/libntp/numtoa.c new external/bsd/ntp/dist/libntp/numtohost.c new external/bsd/ntp/dist/libntp/octtoint.c new external/bsd/ntp/dist/libntp/prettydate.c new external/bsd/ntp/dist/libntp/recvbuff.c new external/bsd/ntp/dist/libntp/refnumtoa.c new external/bsd/ntp/dist/libntp/snprintf.c new external/bsd/ntp/dist/libntp/socket.c new external/bsd/ntp/dist/libntp/socktoa.c new external/bsd/ntp/dist/libntp/socktohost.c new external/bsd/ntp/dist/libntp/ssl_init.c new external/bsd/ntp/dist/libntp/statestr.c new external/bsd/ntp/dist/libntp/strdup.c new external/bsd/ntp/dist/libntp/strl_obsd.c new external/bsd/ntp/dist/libntp/syssignal.c new external/bsd/ntp/dist/libntp/systime.c new external/bsd/ntp/dist/libntp/systime_s.c new external/bsd/ntp/dist/libntp/timetoa.c new external/bsd/ntp/dist/libntp/timevalops.c new external/bsd/ntp/dist/libntp/uglydate.c new external/bsd/ntp/dist/libntp/vint64ops.c new external/bsd/ntp/dist/libntp/work_fork.c new external/bsd/ntp/dist/libntp/work_thread.c new external/bsd/ntp/dist/libntp/ymd2yd.c new external/bsd/ntp/dist/libparse/Makefile.am new external/bsd/ntp/dist/libparse/Makefile.in new external/bsd/ntp/dist/libparse/README new external/bsd/ntp/dist/libparse/binio.c new external/bsd/ntp/dist/libparse/clk_computime.c new external/bsd/ntp/dist/libparse/clk_dcf7000.c new external/bsd/ntp/dist/libparse/clk_hopf6021.c new external/bsd/ntp/dist/libparse/clk_meinberg.c new external/bsd/ntp/dist/libparse/clk_rawdcf.c new external/bsd/ntp/dist/libparse/clk_rcc8000.c new external/bsd/ntp/dist/libparse/clk_schmid.c new external/bsd/ntp/dist/libparse/clk_sel240x.c new external/bsd/ntp/dist/libparse/clk_trimtaip.c new external/bsd/ntp/dist/libparse/clk_trimtsip.c new external/bsd/ntp/dist/libparse/clk_varitext.c new external/bsd/ntp/dist/libparse/clk_wharton.c new external/bsd/ntp/dist/libparse/data_mbg.c new external/bsd/ntp/dist/libparse/gpstolfp.c new external/bsd/ntp/dist/libparse/ieee754io.c new external/bsd/ntp/dist/libparse/info_trimble.c new external/bsd/ntp/dist/libparse/mfp_mul.c new external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed new external/bsd/ntp/dist/libparse/mkinfo_scmd.sed new external/bsd/ntp/dist/libparse/parse.c new external/bsd/ntp/dist/libparse/parse_conf.c new external/bsd/ntp/dist/libparse/parsesolaris.c new external/bsd/ntp/dist/libparse/parsestreams.c new external/bsd/ntp/dist/libparse/trim_info.c new external/bsd/ntp/dist/ntpd/Makefile.am new external/bsd/ntp/dist/ntpd/Makefile.in new external/bsd/ntp/dist/ntpd/check_y2k.c new external/bsd/ntp/dist/ntpd/cmd_args.c new external/bsd/ntp/dist/ntpd/complete.conf.in new external/bsd/ntp/dist/ntpd/declcond.h new external/bsd/ntp/dist/ntpd/invoke-ntp.conf.menu new external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi new external/bsd/ntp/dist/ntpd/invoke-ntp.keys.menu new external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi new external/bsd/ntp/dist/ntpd/invoke-ntpd.menu new external/bsd/ntp/dist/ntpd/invoke-ntpd.texi new external/bsd/ntp/dist/ntpd/jupiter.h new external/bsd/ntp/dist/ntpd/keyword-gen-utd new external/bsd/ntp/dist/ntpd/keyword-gen.c new external/bsd/ntp/dist/ntpd/ntp.conf.5man new external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc new external/bsd/ntp/dist/ntpd/ntp.conf.def new external/bsd/ntp/dist/ntpd/ntp.conf.html new external/bsd/ntp/dist/ntpd/ntp.conf.man.in new external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in new external/bsd/ntp/dist/ntpd/ntp.conf.texi new external/bsd/ntp/dist/ntpd/ntp.keys.5man new external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc new external/bsd/ntp/dist/ntpd/ntp.keys.def new external/bsd/ntp/dist/ntpd/ntp.keys.html new external/bsd/ntp/dist/ntpd/ntp.keys.man.in new external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in new external/bsd/ntp/dist/ntpd/ntp.keys.texi new external/bsd/ntp/dist/ntpd/ntp_config.c new external/bsd/ntp/dist/ntpd/ntp_control.c new external/bsd/ntp/dist/ntpd/ntp_crypto.c new external/bsd/ntp/dist/ntpd/ntp_filegen.c new external/bsd/ntp/dist/ntpd/ntp_io.c new external/bsd/ntp/dist/ntpd/ntp_keyword.h new external/bsd/ntp/dist/ntpd/ntp_leapsec.c new external/bsd/ntp/dist/ntpd/ntp_leapsec.h new external/bsd/ntp/dist/ntpd/ntp_loopfilter.c new external/bsd/ntp/dist/ntpd/ntp_monitor.c new external/bsd/ntp/dist/ntpd/ntp_parser.c new external/bsd/ntp/dist/ntpd/ntp_parser.h new external/bsd/ntp/dist/ntpd/ntp_parser.y new external/bsd/ntp/dist/ntpd/ntp_peer.c new external/bsd/ntp/dist/ntpd/ntp_prio_q.c new external/bsd/ntp/dist/ntpd/ntp_proto.c new external/bsd/ntp/dist/ntpd/ntp_refclock.c new external/bsd/ntp/dist/ntpd/ntp_request.c new external/bsd/ntp/dist/ntpd/ntp_restrict.c new external/bsd/ntp/dist/ntpd/ntp_scanner.c new external/bsd/ntp/dist/ntpd/ntp_scanner.h new external/bsd/ntp/dist/ntpd/ntp_signd.c new external/bsd/ntp/dist/ntpd/ntp_timer.c new external/bsd/ntp/dist/ntpd/ntp_util.c new external/bsd/ntp/dist/ntpd/ntpd-opts.c new external/bsd/ntp/dist/ntpd/ntpd-opts.def new external/bsd/ntp/dist/ntpd/ntpd-opts.h new external/bsd/ntp/dist/ntpd/ntpd.1ntpdman new external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc new external/bsd/ntp/dist/ntpd/ntpd.c new external/bsd/ntp/dist/ntpd/ntpd.html new external/bsd/ntp/dist/ntpd/ntpd.man.in new external/bsd/ntp/dist/ntpd/ntpd.mdoc.in new external/bsd/ntp/dist/ntpd/ntpd.texi new external/bsd/ntp/dist/ntpd/ntpdbase-opts.def new external/bsd/ntp/dist/ntpd/ntpsim.c new external/bsd/ntp/dist/ntpd/ppsapi_timepps.h new external/bsd/ntp/dist/ntpd/refclock_acts.c new external/bsd/ntp/dist/ntpd/refclock_arbiter.c new external/bsd/ntp/dist/ntpd/refclock_arc.c new external/bsd/ntp/dist/ntpd/refclock_as2201.c new external/bsd/ntp/dist/ntpd/refclock_atom.c new external/bsd/ntp/dist/ntpd/refclock_bancomm.c new external/bsd/ntp/dist/ntpd/refclock_chronolog.c new external/bsd/ntp/dist/ntpd/refclock_chu.c new external/bsd/ntp/dist/ntpd/refclock_conf.c new external/bsd/ntp/dist/ntpd/refclock_datum.c new external/bsd/ntp/dist/ntpd/refclock_dumbclock.c new external/bsd/ntp/dist/ntpd/refclock_fg.c new external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c new external/bsd/ntp/dist/ntpd/refclock_gpsvme.c new external/bsd/ntp/dist/ntpd/refclock_heath.c new external/bsd/ntp/dist/ntpd/refclock_hopfpci.c new external/bsd/ntp/dist/ntpd/refclock_hopfser.c new external/bsd/ntp/dist/ntpd/refclock_hpgps.c new external/bsd/ntp/dist/ntpd/refclock_irig.c new external/bsd/ntp/dist/ntpd/refclock_jjy.c new external/bsd/ntp/dist/ntpd/refclock_jupiter.c new external/bsd/ntp/dist/ntpd/refclock_leitch.c new external/bsd/ntp/dist/ntpd/refclock_local.c new external/bsd/ntp/dist/ntpd/refclock_msfees.c new external/bsd/ntp/dist/ntpd/refclock_mx4200.c new external/bsd/ntp/dist/ntpd/refclock_neoclock4x.c new external/bsd/ntp/dist/ntpd/refclock_nmea.c new external/bsd/ntp/dist/ntpd/refclock_oncore.c new external/bsd/ntp/dist/ntpd/refclock_palisade.c new external/bsd/ntp/dist/ntpd/refclock_palisade.h new external/bsd/ntp/dist/ntpd/refclock_parse.c new external/bsd/ntp/dist/ntpd/refclock_pcf.c new external/bsd/ntp/dist/ntpd/refclock_pst.c new external/bsd/ntp/dist/ntpd/refclock_ripencc.c new external/bsd/ntp/dist/ntpd/refclock_shm.c new external/bsd/ntp/dist/ntpd/refclock_tpro.c new external/bsd/ntp/dist/ntpd/refclock_true.c new external/bsd/ntp/dist/ntpd/refclock_tsyncpci.c new external/bsd/ntp/dist/ntpd/refclock_tt560.c new external/bsd/ntp/dist/ntpd/refclock_ulink.c new external/bsd/ntp/dist/ntpd/refclock_wwv.c new external/bsd/ntp/dist/ntpd/refclock_wwvb.c new external/bsd/ntp/dist/ntpd/refclock_zyfer.c new external/bsd/ntp/dist/ntpdate/Makefile.am new external/bsd/ntp/dist/ntpdate/Makefile.in new external/bsd/ntp/dist/ntpdate/README new external/bsd/ntp/dist/ntpdate/ntpdate.c new external/bsd/ntp/dist/ntpdate/ntpdate.h new external/bsd/ntp/dist/ntpdc/Makefile.am new external/bsd/ntp/dist/ntpdc/Makefile.in new external/bsd/ntp/dist/ntpdc/README new external/bsd/ntp/dist/ntpdc/invoke-ntpdc.menu new external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi new external/bsd/ntp/dist/ntpdc/layout.std new external/bsd/ntp/dist/ntpdc/nl.pl new external/bsd/ntp/dist/ntpdc/nl.pl.in new external/bsd/ntp/dist/ntpdc/nl_in.c new external/bsd/ntp/dist/ntpdc/ntpdc-layout.c new external/bsd/ntp/dist/ntpdc/ntpdc-opts.c new external/bsd/ntp/dist/ntpdc/ntpdc-opts.def new external/bsd/ntp/dist/ntpdc/ntpdc-opts.h new external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman new external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc new external/bsd/ntp/dist/ntpdc/ntpdc.c new external/bsd/ntp/dist/ntpdc/ntpdc.h new external/bsd/ntp/dist/ntpdc/ntpdc.html new external/bsd/ntp/dist/ntpdc/ntpdc.man.in new external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in new external/bsd/ntp/dist/ntpdc/ntpdc.texi new external/bsd/ntp/dist/ntpdc/ntpdc_ops.c new external/bsd/ntp/dist/ntpq/Makefile.am new external/bsd/ntp/dist/ntpq/Makefile.in new external/bsd/ntp/dist/ntpq/README new external/bsd/ntp/dist/ntpq/invoke-ntpq.menu new external/bsd/ntp/dist/ntpq/invoke-ntpq.texi new external/bsd/ntp/dist/ntpq/libntpq.c new external/bsd/ntp/dist/ntpq/libntpq.h new external/bsd/ntp/dist/ntpq/libntpq_subs.c new external/bsd/ntp/dist/ntpq/ntpq-opts.c new external/bsd/ntp/dist/ntpq/ntpq-opts.def new external/bsd/ntp/dist/ntpq/ntpq-opts.h new external/bsd/ntp/dist/ntpq/ntpq-subs.c new external/bsd/ntp/dist/ntpq/ntpq.1ntpqman new external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc new external/bsd/ntp/dist/ntpq/ntpq.c new external/bsd/ntp/dist/ntpq/ntpq.h new external/bsd/ntp/dist/ntpq/ntpq.html new external/bsd/ntp/dist/ntpq/ntpq.man.in new external/bsd/ntp/dist/ntpq/ntpq.mdoc.in new external/bsd/ntp/dist/ntpq/ntpq.texi new external/bsd/ntp/dist/ntpsnmpd/Makefile.am new external/bsd/ntp/dist/ntpsnmpd/Makefile.in new external/bsd/ntp/dist/ntpsnmpd/README new external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.menu new external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi new external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c new external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.c new external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.h new external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.def new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.c new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.texi new external/bsd/ntp/dist/ntpsnmpd/ntpv4-mib.mib new external/bsd/ntp/dist/parseutil/Makefile.am new external/bsd/ntp/dist/parseutil/Makefile.in new external/bsd/ntp/dist/parseutil/README new external/bsd/ntp/dist/parseutil/dcfd.c new external/bsd/ntp/dist/parseutil/testdcf.c new external/bsd/ntp/dist/scripts/Makefile.am new external/bsd/ntp/dist/scripts/Makefile.in new external/bsd/ntp/dist/scripts/README new external/bsd/ntp/dist/scripts/invoke-plot_summary.menu new external/bsd/ntp/dist/scripts/invoke-plot_summary.texi new external/bsd/ntp/dist/scripts/invoke-summary.menu new external/bsd/ntp/dist/scripts/invoke-summary.texi new external/bsd/ntp/dist/scripts/ntpver.in new external/bsd/ntp/dist/scripts/plot_summary-opts new external/bsd/ntp/dist/scripts/plot_summary-opts.def new external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman new external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc new external/bsd/ntp/dist/scripts/plot_summary.html new external/bsd/ntp/dist/scripts/plot_summary.in new external/bsd/ntp/dist/scripts/plot_summary.man.in new external/bsd/ntp/dist/scripts/plot_summary.mdoc.in new external/bsd/ntp/dist/scripts/plot_summary.texi new external/bsd/ntp/dist/scripts/summary-opts new external/bsd/ntp/dist/scripts/summary-opts.def new external/bsd/ntp/dist/scripts/summary.1summaryman new external/bsd/ntp/dist/scripts/summary.1summarymdoc new external/bsd/ntp/dist/scripts/summary.html new external/bsd/ntp/dist/scripts/summary.in new external/bsd/ntp/dist/scripts/summary.man.in new external/bsd/ntp/dist/scripts/summary.mdoc.in new external/bsd/ntp/dist/scripts/summary.texi new external/bsd/ntp/dist/scripts/build/Makefile.am new external/bsd/ntp/dist/scripts/build/Makefile.in new external/bsd/ntp/dist/scripts/build/UpdatePoint new external/bsd/ntp/dist/scripts/build/VersionName new external/bsd/ntp/dist/scripts/build/check--help new external/bsd/ntp/dist/scripts/build/checkChangeLog new external/bsd/ntp/dist/scripts/build/checkHtmlFileDates new external/bsd/ntp/dist/scripts/build/fixautomakedepsmagic new external/bsd/ntp/dist/scripts/build/genCommitLog new external/bsd/ntp/dist/scripts/build/genver new external/bsd/ntp/dist/scripts/build/mkver.in new external/bsd/ntp/dist/scripts/build/updateBEDate new external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.am new external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts.def new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmannew external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.texi new external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.menu new external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi new external/bsd/ntp/dist/scripts/deprecated/freq_adj.in new external/bsd/ntp/dist/scripts/deprecated/hpadjtime.sh new external/bsd/ntp/dist/scripts/deprecated/html2man.in new external/bsd/ntp/dist/scripts/deprecated/ntp-close new external/bsd/ntp/dist/scripts/deprecated/ntp-groper new external/bsd/ntp/dist/scripts/deprecated/ntp-restart new external/bsd/ntp/dist/scripts/deprecated/ntp-status new external/bsd/ntp/dist/scripts/lib/Makefile.am new external/bsd/ntp/dist/scripts/lib/Makefile.in new external/bsd/ntp/dist/scripts/lib/NTP/Util.pm new external/bsd/ntp/dist/scripts/monitoring/README new external/bsd/ntp/dist/scripts/monitoring/loopwatch.config.SAMPLE new external/bsd/ntp/dist/scripts/monitoring/lr.pl new external/bsd/ntp/dist/scripts/monitoring/ntp.pl new external/bsd/ntp/dist/scripts/monitoring/ntploopstat new external/bsd/ntp/dist/scripts/monitoring/ntploopwatch new external/bsd/ntp/dist/scripts/monitoring/ntptrap new external/bsd/ntp/dist/scripts/monitoring/timelocal.pl new external/bsd/ntp/dist/scripts/ntp-wait/Makefile.am new external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in new external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.menu new external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts.def new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.texi new external/bsd/ntp/dist/scripts/ntpsweep/Makefile.am new external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in new external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.menu new external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts.def new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.texi new external/bsd/ntp/dist/scripts/ntptrace/Makefile.am new external/bsd/ntp/dist/scripts/ntptrace/Makefile.in new external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.menu new external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi new external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts new external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts.def new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.texi new external/bsd/ntp/dist/scripts/rc/README new external/bsd/ntp/dist/scripts/rc/ntpd new external/bsd/ntp/dist/scripts/rc/ntpwait new external/bsd/ntp/dist/scripts/rc/rc.d/TIMESYNC new external/bsd/ntp/dist/scripts/rc/rc.d/ntpd new external/bsd/ntp/dist/scripts/rc/rc.d/ntpwait new external/bsd/ntp/dist/scripts/stats/README new external/bsd/ntp/dist/scripts/stats/README.stats new external/bsd/ntp/dist/scripts/stats/README.timecodes new external/bsd/ntp/dist/scripts/stats/clock.awk new external/bsd/ntp/dist/scripts/stats/dupe.awk new external/bsd/ntp/dist/scripts/stats/ensemble.S new external/bsd/ntp/dist/scripts/stats/ensemble.awk new external/bsd/ntp/dist/scripts/stats/etf.S new external/bsd/ntp/dist/scripts/stats/etf.awk new external/bsd/ntp/dist/scripts/stats/itf.S new external/bsd/ntp/dist/scripts/stats/itf.awk new external/bsd/ntp/dist/scripts/stats/loop.S new external/bsd/ntp/dist/scripts/stats/loop.awk new external/bsd/ntp/dist/scripts/stats/loop_summary new external/bsd/ntp/dist/scripts/stats/peer.awk new external/bsd/ntp/dist/scripts/stats/psummary.awk new external/bsd/ntp/dist/scripts/stats/summary.sh new external/bsd/ntp/dist/scripts/stats/tdata.S new external/bsd/ntp/dist/scripts/stats/tdata.awk new external/bsd/ntp/dist/sntp/COPYRIGHT new external/bsd/ntp/dist/sntp/Makefile.am new external/bsd/ntp/dist/sntp/Makefile.in new external/bsd/ntp/dist/sntp/aclocal.m4 new external/bsd/ntp/dist/sntp/bincheck.mf new external/bsd/ntp/dist/sntp/check-libntp.mf new external/bsd/ntp/dist/sntp/check-libopts.mf new external/bsd/ntp/dist/sntp/config.h.in new external/bsd/ntp/dist/sntp/configure new external/bsd/ntp/dist/sntp/configure.ac new external/bsd/ntp/dist/sntp/crypto.c new external/bsd/ntp/dist/sntp/crypto.h new external/bsd/ntp/dist/sntp/data_formats.h new external/bsd/ntp/dist/sntp/deps-ver new external/bsd/ntp/dist/sntp/depsver.mf new external/bsd/ntp/dist/sntp/evlog.c new external/bsd/ntp/dist/sntp/includes.mf new external/bsd/ntp/dist/sntp/install-sh new external/bsd/ntp/dist/sntp/invoke-sntp.menu new external/bsd/ntp/dist/sntp/invoke-sntp.texi new external/bsd/ntp/dist/sntp/kod_management.c new external/bsd/ntp/dist/sntp/kod_management.h new external/bsd/ntp/dist/sntp/log.c new external/bsd/ntp/dist/sntp/log.h new external/bsd/ntp/dist/sntp/main.c new external/bsd/ntp/dist/sntp/main.h new external/bsd/ntp/dist/sntp/networking.c new external/bsd/ntp/dist/sntp/networking.h new external/bsd/ntp/dist/sntp/scm-rev new external/bsd/ntp/dist/sntp/sntp-opts.c new external/bsd/ntp/dist/sntp/sntp-opts.def new external/bsd/ntp/dist/sntp/sntp-opts.h new external/bsd/ntp/dist/sntp/sntp.1sntpman new external/bsd/ntp/dist/sntp/sntp.1sntpmdoc new external/bsd/ntp/dist/sntp/sntp.c new external/bsd/ntp/dist/sntp/sntp.html new external/bsd/ntp/dist/sntp/sntp.man.in new external/bsd/ntp/dist/sntp/sntp.mdoc.in new external/bsd/ntp/dist/sntp/sntp.texi new external/bsd/ntp/dist/sntp/tests_main.cpp new external/bsd/ntp/dist/sntp/tests_main.h new external/bsd/ntp/dist/sntp/utilities.c new external/bsd/ntp/dist/sntp/utilities.h new external/bsd/ntp/dist/sntp/ag-tpl/0-old/Mdoc.pm new external/bsd/ntp/dist/sntp/ag-tpl/0-old/agman-cmd.tpl new external/bsd/ntp/dist/sntp/ag-tpl/0-old/agmdoc-cmd.tpl new external/bsd/ntp/dist/sntp/ag-tpl/0-old/cmd-doc.tlib new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc-synopsis.tlib new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2man new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2texi new external/bsd/ntp/dist/sntp/ag-tpl/0-old/perlopt.tpl new external/bsd/ntp/dist/sntp/event2/event-config.h new external/bsd/ntp/dist/sntp/include/Makefile.am new external/bsd/ntp/dist/sntp/include/Makefile.in new external/bsd/ntp/dist/sntp/include/autogen-version.def new external/bsd/ntp/dist/sntp/include/copyright.def new external/bsd/ntp/dist/sntp/include/debug-opt.def new external/bsd/ntp/dist/sntp/include/homerc.def new external/bsd/ntp/dist/sntp/include/ntp.lic new external/bsd/ntp/dist/sntp/include/version.def new external/bsd/ntp/dist/sntp/include/version.texi new external/bsd/ntp/dist/sntp/libevent/ChangeLog new external/bsd/ntp/dist/sntp/libevent/ChangeLog-1.4 new external/bsd/ntp/dist/sntp/libevent/ChangeLog-2.0 new external/bsd/ntp/dist/sntp/libevent/Doxyfile new external/bsd/ntp/dist/sntp/libevent/LICENSE new external/bsd/ntp/dist/sntp/libevent/Makefile.am new external/bsd/ntp/dist/sntp/libevent/Makefile.in new external/bsd/ntp/dist/sntp/libevent/Makefile.nmake new external/bsd/ntp/dist/sntp/libevent/README new external/bsd/ntp/dist/sntp/libevent/aclocal.m4 new external/bsd/ntp/dist/sntp/libevent/arc4random.c new external/bsd/ntp/dist/sntp/libevent/autogen.sh new external/bsd/ntp/dist/sntp/libevent/buffer.c new external/bsd/ntp/dist/sntp/libevent/buffer_iocp.c new external/bsd/ntp/dist/sntp/libevent/bufferevent-internal.h new external/bsd/ntp/dist/sntp/libevent/bufferevent.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_ratelim.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_sock.c new external/bsd/ntp/dist/sntp/libevent/changelist-internal.h new external/bsd/ntp/dist/sntp/libevent/config.h.in new external/bsd/ntp/dist/sntp/libevent/configure new external/bsd/ntp/dist/sntp/libevent/configure.ac new external/bsd/ntp/dist/sntp/libevent/defer-internal.h new external/bsd/ntp/dist/sntp/libevent/devpoll.c new external/bsd/ntp/dist/sntp/libevent/epoll.c new external/bsd/ntp/dist/sntp/libevent/epoll_sub.c new external/bsd/ntp/dist/sntp/libevent/epolltable-internal.h new external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h new external/bsd/ntp/dist/sntp/libevent/evconfig-private.h new external/bsd/ntp/dist/sntp/libevent/evconfig-private.h.in new external/bsd/ntp/dist/sntp/libevent/evdns.c new external/bsd/ntp/dist/sntp/libevent/event-internal.h new external/bsd/ntp/dist/sntp/libevent/event.c new external/bsd/ntp/dist/sntp/libevent/event_iocp.c new external/bsd/ntp/dist/sntp/libevent/event_rpcgen.py new external/bsd/ntp/dist/sntp/libevent/event_tagging.c new external/bsd/ntp/dist/sntp/libevent/evmap-internal.h new external/bsd/ntp/dist/sntp/libevent/evmap.c new external/bsd/ntp/dist/sntp/libevent/evport.c new external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h new external/bsd/ntp/dist/sntp/libevent/evrpc.c new external/bsd/ntp/dist/sntp/libevent/evsignal-internal.h new external/bsd/ntp/dist/sntp/libevent/evthread-internal.h new external/bsd/ntp/dist/sntp/libevent/evthread.c new external/bsd/ntp/dist/sntp/libevent/evthread_pthread.c new external/bsd/ntp/dist/sntp/libevent/evthread_win32.c new external/bsd/ntp/dist/sntp/libevent/evutil.c new external/bsd/ntp/dist/sntp/libevent/evutil_rand.c new external/bsd/ntp/dist/sntp/libevent/evutil_time.c new external/bsd/ntp/dist/sntp/libevent/ht-internal.h new external/bsd/ntp/dist/sntp/libevent/http-internal.h new external/bsd/ntp/dist/sntp/libevent/http.c new external/bsd/ntp/dist/sntp/libevent/iocp-internal.h new external/bsd/ntp/dist/sntp/libevent/ipv6-internal.h new external/bsd/ntp/dist/sntp/libevent/kqueue-internal.h new external/bsd/ntp/dist/sntp/libevent/kqueue.c new external/bsd/ntp/dist/sntp/libevent/libevent.pc.in new external/bsd/ntp/dist/sntp/libevent/libevent_openssl.pc.in new external/bsd/ntp/dist/sntp/libevent/libevent_pthreads.pc.in new external/bsd/ntp/dist/sntp/libevent/listener.c new external/bsd/ntp/dist/sntp/libevent/log-internal.h new external/bsd/ntp/dist/sntp/libevent/log.c new external/bsd/ntp/dist/sntp/libevent/make-event-config.sed new external/bsd/ntp/dist/sntp/libevent/minheap-internal.h new external/bsd/ntp/dist/sntp/libevent/mm-internal.h new external/bsd/ntp/dist/sntp/libevent/poll.c new external/bsd/ntp/dist/sntp/libevent/ratelim-internal.h new external/bsd/ntp/dist/sntp/libevent/select.c new external/bsd/ntp/dist/sntp/libevent/signal.c new external/bsd/ntp/dist/sntp/libevent/strlcpy-internal.h new external/bsd/ntp/dist/sntp/libevent/strlcpy.c new external/bsd/ntp/dist/sntp/libevent/time-internal.h new external/bsd/ntp/dist/sntp/libevent/util-internal.h new external/bsd/ntp/dist/sntp/libevent/whatsnew-2.0.txt new external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt new external/bsd/ntp/dist/sntp/libevent/win32select.c new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/evconfig-private.h new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h new external/bsd/ntp/dist/sntp/libevent/build-aux/compile new external/bsd/ntp/dist/sntp/libevent/build-aux/config.guess new external/bsd/ntp/dist/sntp/libevent/build-aux/config.sub new external/bsd/ntp/dist/sntp/libevent/build-aux/depcomp new external/bsd/ntp/dist/sntp/libevent/build-aux/install-sh new external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh new external/bsd/ntp/dist/sntp/libevent/build-aux/missing new external/bsd/ntp/dist/sntp/libevent/build-aux/ylwrap new external/bsd/ntp/dist/sntp/libevent/compat/sys/queue.h new external/bsd/ntp/dist/sntp/libevent/include/evdns.h new external/bsd/ntp/dist/sntp/libevent/include/event.h new external/bsd/ntp/dist/sntp/libevent/include/evhttp.h new external/bsd/ntp/dist/sntp/libevent/include/evrpc.h new external/bsd/ntp/dist/sntp/libevent/include/evutil.h new external/bsd/ntp/dist/sntp/libevent/include/include.am new external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h new external/bsd/ntp/dist/sntp/libevent/include/event2/buffer_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_ssl.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/keyvalq_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/tag.h new external/bsd/ntp/dist/sntp/libevent/include/event2/tag_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/thread.h new external/bsd/ntp/dist/sntp/libevent/include/event2/util.h new external/bsd/ntp/dist/sntp/libevent/include/event2/visibility.h new external/bsd/ntp/dist/sntp/libevent/m4/ac_backport_259_ssizet.m4 new external/bsd/ntp/dist/sntp/libevent/m4/libevent_openssl.m4 new external/bsd/ntp/dist/sntp/libevent/m4/libtool.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltoptions.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltsugar.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4 new external/bsd/ntp/dist/sntp/libevent/m4/lt~obsolete.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ntp_pkg_config.m4 new external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4 new external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4 new external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c new external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c new external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c new external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c new external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h new external/bsd/ntp/dist/sntp/libevent/sample/http-server.c new external/bsd/ntp/dist/sntp/libevent/sample/https-client.c new external/bsd/ntp/dist/sntp/libevent/sample/include.am new external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c new external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.c new external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.h new external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c new external/bsd/ntp/dist/sntp/libevent/sample/time-test.c new external/bsd/ntp/dist/sntp/libevent/test/Makefile.nmake new external/bsd/ntp/dist/sntp/libevent/test/bench.c new external/bsd/ntp/dist/sntp/libevent/test/bench_cascade.c new external/bsd/ntp/dist/sntp/libevent/test/bench_http.c new external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c new external/bsd/ntp/dist/sntp/libevent/test/check-dumpevents.py new external/bsd/ntp/dist/sntp/libevent/test/include.am new external/bsd/ntp/dist/sntp/libevent/test/regress.c new external/bsd/ntp/dist/sntp/libevent/test/regress.gen.c new external/bsd/ntp/dist/sntp/libevent/test/regress.gen.h new external/bsd/ntp/dist/sntp/libevent/test/regress.h new external/bsd/ntp/dist/sntp/libevent/test/regress.rpc new external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c new external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c new external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c new external/bsd/ntp/dist/sntp/libevent/test/regress_et.c new external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c new external/bsd/ntp/dist/sntp/libevent/test/regress_http.c new external/bsd/ntp/dist/sntp/libevent/test/regress_iocp.c new external/bsd/ntp/dist/sntp/libevent/test/regress_listener.c new external/bsd/ntp/dist/sntp/libevent/test/regress_main.c new external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c new external/bsd/ntp/dist/sntp/libevent/test/regress_rpc.c new external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c new external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.c new external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.h new external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c new external/bsd/ntp/dist/sntp/libevent/test/regress_thread.h new external/bsd/ntp/dist/sntp/libevent/test/regress_util.c new external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c new external/bsd/ntp/dist/sntp/libevent/test/rpcgen_wrapper.sh new external/bsd/ntp/dist/sntp/libevent/test/test-changelist.c new external/bsd/ntp/dist/sntp/libevent/test/test-closed.c new external/bsd/ntp/dist/sntp/libevent/test/test-dumpevents.c new external/bsd/ntp/dist/sntp/libevent/test/test-eof.c new external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c new external/bsd/ntp/dist/sntp/libevent/test/test-init.c new external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c new external/bsd/ntp/dist/sntp/libevent/test/test-time.c new external/bsd/ntp/dist/sntp/libevent/test/test-weof.c new external/bsd/ntp/dist/sntp/libevent/test/test.sh new external/bsd/ntp/dist/sntp/libevent/test/tinytest.c new external/bsd/ntp/dist/sntp/libevent/test/tinytest.h new external/bsd/ntp/dist/sntp/libevent/test/tinytest_local.h new external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h new external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3 new external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3 new external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd new external/bsd/ntp/dist/sntp/libopts/MakeDefs.inc new external/bsd/ntp/dist/sntp/libopts/Makefile.am new external/bsd/ntp/dist/sntp/libopts/Makefile.in new external/bsd/ntp/dist/sntp/libopts/README new external/bsd/ntp/dist/sntp/libopts/ag-char-map.h new external/bsd/ntp/dist/sntp/libopts/alias.c new external/bsd/ntp/dist/sntp/libopts/ao-strs.c new external/bsd/ntp/dist/sntp/libopts/ao-strs.h new external/bsd/ntp/dist/sntp/libopts/autoopts.c new external/bsd/ntp/dist/sntp/libopts/autoopts.h new external/bsd/ntp/dist/sntp/libopts/boolean.c new external/bsd/ntp/dist/sntp/libopts/check.c new external/bsd/ntp/dist/sntp/libopts/configfile.c new external/bsd/ntp/dist/sntp/libopts/cook.c new external/bsd/ntp/dist/sntp/libopts/enum.c new external/bsd/ntp/dist/sntp/libopts/env.c new external/bsd/ntp/dist/sntp/libopts/file.c new external/bsd/ntp/dist/sntp/libopts/find.c new external/bsd/ntp/dist/sntp/libopts/genshell.c new external/bsd/ntp/dist/sntp/libopts/genshell.h new external/bsd/ntp/dist/sntp/libopts/gettext.h new external/bsd/ntp/dist/sntp/libopts/init.c new external/bsd/ntp/dist/sntp/libopts/intprops.h new external/bsd/ntp/dist/sntp/libopts/libopts.c new external/bsd/ntp/dist/sntp/libopts/load.c new external/bsd/ntp/dist/sntp/libopts/makeshell.c new external/bsd/ntp/dist/sntp/libopts/nested.c new external/bsd/ntp/dist/sntp/libopts/numeric.c new external/bsd/ntp/dist/sntp/libopts/option-value-type.c new external/bsd/ntp/dist/sntp/libopts/option-value-type.h new external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c new external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h new external/bsd/ntp/dist/sntp/libopts/parse-duration.c new external/bsd/ntp/dist/sntp/libopts/parse-duration.h new external/bsd/ntp/dist/sntp/libopts/pgusage.c new external/bsd/ntp/dist/sntp/libopts/proto.h new external/bsd/ntp/dist/sntp/libopts/putshell.c new external/bsd/ntp/dist/sntp/libopts/reset.c new external/bsd/ntp/dist/sntp/libopts/restore.c new external/bsd/ntp/dist/sntp/libopts/save.c new external/bsd/ntp/dist/sntp/libopts/sort.c new external/bsd/ntp/dist/sntp/libopts/stack.c new external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h new external/bsd/ntp/dist/sntp/libopts/streqvcmp.c new external/bsd/ntp/dist/sntp/libopts/text_mmap.c new external/bsd/ntp/dist/sntp/libopts/time.c new external/bsd/ntp/dist/sntp/libopts/tokenize.c new external/bsd/ntp/dist/sntp/libopts/usage.c new external/bsd/ntp/dist/sntp/libopts/version.c new external/bsd/ntp/dist/sntp/libopts/autoopts/options.h new external/bsd/ntp/dist/sntp/libopts/autoopts/project.h new external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h new external/bsd/ntp/dist/sntp/libopts/compat/_Noreturn.h new external/bsd/ntp/dist/sntp/libopts/compat/compat.h new external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c new external/bsd/ntp/dist/sntp/libopts/compat/snprintf.c new external/bsd/ntp/dist/sntp/libopts/compat/strchr.c new external/bsd/ntp/dist/sntp/libopts/compat/strdup.c new external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h new external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4 new external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4 new external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4 new external/bsd/ntp/dist/sntp/loc/README new external/bsd/ntp/dist/sntp/loc/darwin new external/bsd/ntp/dist/sntp/loc/debian new external/bsd/ntp/dist/sntp/loc/freebsd new external/bsd/ntp/dist/sntp/loc/legacy new external/bsd/ntp/dist/sntp/loc/netbsd new external/bsd/ntp/dist/sntp/loc/redhat new external/bsd/ntp/dist/sntp/loc/solaris new external/bsd/ntp/dist/sntp/m4/define_dir.m4 new external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4 new external/bsd/ntp/dist/sntp/m4/libtool.m4 new external/bsd/ntp/dist/sntp/m4/ltoptions.m4 new external/bsd/ntp/dist/sntp/m4/ltsugar.m4 new external/bsd/ntp/dist/sntp/m4/ltversion.m4 new external/bsd/ntp/dist/sntp/m4/lt~obsolete.m4 new external/bsd/ntp/dist/sntp/m4/ntp_cacheversion.m4 new external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4 new external/bsd/ntp/dist/sntp/m4/ntp_crosscompile.m4 new external/bsd/ntp/dist/sntp/m4/ntp_crypto_rand.m4 new external/bsd/ntp/dist/sntp/m4/ntp_debug.m4 new external/bsd/ntp/dist/sntp/m4/ntp_dir_sep.m4 new external/bsd/ntp/dist/sntp/m4/ntp_facilitynames.m4 new external/bsd/ntp/dist/sntp/m4/ntp_googletest.m4 new external/bsd/ntp/dist/sntp/m4/ntp_ipv6.m4 new external/bsd/ntp/dist/sntp/m4/ntp_lib_m.m4 new external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4 new external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4 new external/bsd/ntp/dist/sntp/m4/ntp_lineeditlibs.m4 new external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4 new external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4 new external/bsd/ntp/dist/sntp/m4/ntp_pkg_config.m4 new external/bsd/ntp/dist/sntp/m4/ntp_prog_cc.m4 new external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4 new external/bsd/ntp/dist/sntp/m4/ntp_sntp.m4 new external/bsd/ntp/dist/sntp/m4/ntp_sysexits.m4 new external/bsd/ntp/dist/sntp/m4/ntp_ver_suffix.m4 new external/bsd/ntp/dist/sntp/m4/ntp_vpathhack.m4 new external/bsd/ntp/dist/sntp/m4/os_cflags.m4 new external/bsd/ntp/dist/sntp/m4/snprintf.m4 new external/bsd/ntp/dist/sntp/m4/version.m4 new external/bsd/ntp/dist/sntp/scripts/Makefile.am new external/bsd/ntp/dist/sntp/scripts/Makefile.in new external/bsd/ntp/dist/sntp/scripts/cvo.sh new external/bsd/ntp/dist/sntp/scripts/genLocInfo new external/bsd/ntp/dist/sntp/scripts/mansec2subst.sed new external/bsd/ntp/dist/sntp/tests/Makefile.am new external/bsd/ntp/dist/sntp/tests/Makefile.in new external/bsd/ntp/dist/sntp/tests/crypto.cpp new external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h new external/bsd/ntp/dist/sntp/tests/keyFile.cpp new external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp new external/bsd/ntp/dist/sntp/tests/kodFile.cpp new external/bsd/ntp/dist/sntp/tests/networking.cpp new external/bsd/ntp/dist/sntp/tests/packetHandling.cpp new external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp new external/bsd/ntp/dist/sntp/tests/sntptest.h new external/bsd/ntp/dist/sntp/tests/tests-runner new external/bsd/ntp/dist/sntp/tests/utilities.cpp new external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-bin new external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-dec new external/bsd/ntp/dist/sntp/tests/data/debug-input-pkt new external/bsd/ntp/dist/sntp/tests/data/key-test-ascii new external/bsd/ntp/dist/sntp/tests/data/key-test-comments new external/bsd/ntp/dist/sntp/tests/data/key-test-empty new external/bsd/ntp/dist/sntp/tests/data/key-test-hex new external/bsd/ntp/dist/sntp/tests/data/key-test-invalid-hex new external/bsd/ntp/dist/sntp/tests/data/kod-expected-multiple new external/bsd/ntp/dist/sntp/tests/data/kod-expected-single new external/bsd/ntp/dist/sntp/tests/data/kod-test-blanks new external/bsd/ntp/dist/sntp/tests/data/kod-test-correct new external/bsd/ntp/dist/sntp/tests/data/kod-test-empty new external/bsd/ntp/dist/tests/Makefile.am new external/bsd/ntp/dist/tests/Makefile.in new external/bsd/ntp/dist/tests/libntp/Makefile.am new external/bsd/ntp/dist/tests/libntp/Makefile.in new external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp new external/bsd/ntp/dist/tests/libntp/atoint.cpp new external/bsd/ntp/dist/tests/libntp/atouint.cpp new external/bsd/ntp/dist/tests/libntp/authkeys.cpp new external/bsd/ntp/dist/tests/libntp/buftvtots.cpp new external/bsd/ntp/dist/tests/libntp/calendar.cpp new external/bsd/ntp/dist/tests/libntp/caljulian.cpp new external/bsd/ntp/dist/tests/libntp/caltontp.cpp new external/bsd/ntp/dist/tests/libntp/calyearstart.cpp new external/bsd/ntp/dist/tests/libntp/clocktime.cpp new external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp new external/bsd/ntp/dist/tests/libntp/hextoint.cpp new external/bsd/ntp/dist/tests/libntp/hextolfp.cpp new external/bsd/ntp/dist/tests/libntp/humandate.cpp new external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp new external/bsd/ntp/dist/tests/libntp/lfptest.h new external/bsd/ntp/dist/tests/libntp/lfptostr.cpp new external/bsd/ntp/dist/tests/libntp/libntptest.cpp new external/bsd/ntp/dist/tests/libntp/libntptest.h new external/bsd/ntp/dist/tests/libntp/modetoa.cpp new external/bsd/ntp/dist/tests/libntp/msyslog.cpp new external/bsd/ntp/dist/tests/libntp/netof.cpp new external/bsd/ntp/dist/tests/libntp/numtoa.cpp new external/bsd/ntp/dist/tests/libntp/numtohost.cpp new external/bsd/ntp/dist/tests/libntp/octtoint.cpp new external/bsd/ntp/dist/tests/libntp/prettydate.cpp new external/bsd/ntp/dist/tests/libntp/recvbuff.cpp new external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp new external/bsd/ntp/dist/tests/libntp/sfptostr.cpp new external/bsd/ntp/dist/tests/libntp/sockaddrtest.h new external/bsd/ntp/dist/tests/libntp/socktoa.cpp new external/bsd/ntp/dist/tests/libntp/ssl_init.cpp new external/bsd/ntp/dist/tests/libntp/statestr.cpp new external/bsd/ntp/dist/tests/libntp/strtolfp.cpp new external/bsd/ntp/dist/tests/libntp/timespecops.cpp new external/bsd/ntp/dist/tests/libntp/timestructs.cpp new external/bsd/ntp/dist/tests/libntp/timestructs.h new external/bsd/ntp/dist/tests/libntp/timevalops.cpp new external/bsd/ntp/dist/tests/libntp/tstotv.cpp new external/bsd/ntp/dist/tests/libntp/tvtots.cpp new external/bsd/ntp/dist/tests/libntp/uglydate.cpp new external/bsd/ntp/dist/tests/libntp/vi64ops.cpp new external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp new external/bsd/ntp/dist/tests/ntpd/Makefile.am new external/bsd/ntp/dist/tests/ntpd/Makefile.in new external/bsd/ntp/dist/tests/ntpd/leapsec.cpp new external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp new external/bsd/ntp/dist/tests/ntpd/ntpdtest.h new external/bsd/ntp/dist/util/Makefile.am new external/bsd/ntp/dist/util/Makefile.in new external/bsd/ntp/dist/util/README new external/bsd/ntp/dist/util/audio-pcm.c new external/bsd/ntp/dist/util/byteorder.c new external/bsd/ntp/dist/util/hist.c new external/bsd/ntp/dist/util/invoke-ntp-keygen.menu new external/bsd/ntp/dist/util/invoke-ntp-keygen.texi new external/bsd/ntp/dist/util/jitter.c new external/bsd/ntp/dist/util/jitter.h new external/bsd/ntp/dist/util/kern.c new external/bsd/ntp/dist/util/longsize.c new external/bsd/ntp/dist/util/ntp-keygen-opts.c new external/bsd/ntp/dist/util/ntp-keygen-opts.def new external/bsd/ntp/dist/util/ntp-keygen-opts.h new external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman new external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc new external/bsd/ntp/dist/util/ntp-keygen.c new external/bsd/ntp/dist/util/ntp-keygen.html new external/bsd/ntp/dist/util/ntp-keygen.man.in new external/bsd/ntp/dist/util/ntp-keygen.mdoc.in new external/bsd/ntp/dist/util/ntp-keygen.texi new external/bsd/ntp/dist/util/ntptime.c new external/bsd/ntp/dist/util/pps-api.c new external/bsd/ntp/dist/util/precision.c new external/bsd/ntp/dist/util/sht.c new external/bsd/ntp/dist/util/testrs6000.c new external/bsd/ntp/dist/util/tg.c new external/bsd/ntp/dist/util/tg2.c new external/bsd/ntp/dist/util/tickadj.c new external/bsd/ntp/dist/util/timetrim.c new external/bsd/ntp/html/Makefile new external/bsd/ntp/include/config.h new external/bsd/ntp/lib/Makefile new external/bsd/ntp/lib/Makefile.inc new external/bsd/ntp/lib/libiscntp/Makefile new external/bsd/ntp/lib/libntp/Makefile new external/bsd/ntp/lib/libopts/Makefile new external/bsd/ntp/lib/libparse/Makefile new external/bsd/ntp/scripts/mkver new usr.sbin/Makefile patch usr.sbin/ntp/Makefile delete usr.sbin/ntp/Makefile.inc delete usr.sbin/ntp/importdate delete usr.sbin/ntp/html/Makefile delete usr.sbin/ntp/include/config.h delete usr.sbin/ntp/libisc/Makefile delete usr.sbin/ntp/libntp/Makefile delete usr.sbin/ntp/libopts/Makefile delete usr.sbin/ntp/libparse/Makefile delete usr.sbin/ntp/ntp-keygen/Makefile delete usr.sbin/ntp/ntp-keygen/ntp-keygen.8 delete usr.sbin/ntp/ntpd/Makefile delete usr.sbin/ntp/ntpd/ntpd.8 delete usr.sbin/ntp/ntpdate/Makefile delete usr.sbin/ntp/ntpdate/ntpdate.8 delete usr.sbin/ntp/ntpdc/Makefile delete usr.sbin/ntp/ntpdc/ntpdc.8 delete usr.sbin/ntp/ntpq/Makefile delete usr.sbin/ntp/ntpq/ntpq.8 delete usr.sbin/ntp/ntptime/Makefile delete usr.sbin/ntp/ntptime/ntptime.8 delete usr.sbin/ntp/ntptrace/Makefile delete usr.sbin/ntp/ntptrace/ntptrace.8 delete usr.sbin/ntp/ntptrace/ntptrace.awk delete usr.sbin/ntp/scripts/mkver delete usr.sbin/sntp/Makefile delete usr.sbin/sntp/sntp.1 delete Update ntp to 4.2.8. This pullup syncs with -current as of 2014/01/06. CVE-2014-9293, CVE-2014-9294, CVE-2014-9295 and CVE-2014-9296. @ text @a0 639 What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.3-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. Event finalization [NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though it seems solid so far, its API might change between now and the first release candidate for Libevent 2.1.] 1.3.1. Why event finalization? Libevent 2.1 now supports an API for safely "finalizing" events that might be running in multiple threads, and provides a way to slightly change the semantics of event_del() to prevent deadlocks in multithreaded programs. To motivate this feature, consider the following code, in the context of a mulithreaded Libevent application: struct connection *conn = event_get_callback_arg(ev); event_del(ev); connection_free(conn); Suppose that the event's callback might be running in another thread, and using the value of "conn" concurrently. We wouldn't want to execute the connection_free() call until "conn" is no longer in use. How can we make this code safe? Libevent 2.0 answered that question by saying that the event_del() call should block if the event's callback is running in another thread. That way, we can be sure that event_del() has canceled the callback (if the callback hadn't started running yet), or has waited for the callback to finish. But now suppose that the data structure is protected by a lock, and we have the following code: void check_disable(struct connection *connection) { lock(connection); if (should_stop_reading(connection)) event_del(connection->read_event); unlock(connection); } What happens when we call check_disable() from a callback and from another thread? Let's say that the other thread gets the lock first. If it decides to call event_del(), it will wait for the callback to finish. But meanwhile, the callback will be waiting for the lock on the connection. Since each threads is waiting for the other one to release a resource, the program will deadlock. This bug showed up in multithreaded bufferevent programs in 2.1, particularly when freeing bufferevents. (For more information, see the "Deadlock when calling bufferevent_free from an other thread" thread on libevent-users starting on 6 August 2012 and running through February of 2013. You might also like to read my earlier writeup at http://archives.seul.org/libevent/users/Feb-2012/msg00053.html and the ensuing discussion.) 1.3.2. The EV_FINALIZE flag and avoiding deadlock To prevent the deadlock condition described above, Libevent 2.1.3-alpha adds a new flag, "EV_FINALIZE". You can pass it to event_new() and event_assign() along with EV_READ, EV_WRITE, and the other event flags. When an event is constructed with the EV_FINALIZE flag, event_del() will not block on that event, even when the event's callback is running in another thread. By using EV_FINALIZE, you are therefore promising not to use the "event_del(ev); free(event_get_callback_arg(ev));" pattern, but rather to use one of the finalization functions below to clean up the event. EV_FINALIZE has no effect on a single-threaded program, or on a program where events are only used from one thread. There are also two new variants of event_del() that you can use for more fine-grained control: event_del_noblock(ev) event_del_block(ev) The event_del_noblock() function will never block, even if the event callback is running in another thread and doesn't have the EV_FINALIZE flag. The event_del_block() function will _always_ block if the event callback is running in another thread, even if the event _does_ have the EV_FINALIZE flag. [A future version of Libevent may have a way to make the EV_FINALIZE flag the default.] 1.3.3. Safely finalizing events To safely tear down an event that may be running, Libevent 2.1.3-alpha introduces event_finalize() and event_free_finalize(). You call them on an event, and provide a finalizer callback to be run on the event and its callback argument once the event is definitely no longer running. With event_free_finalize(), the event is also freed once the finalizer callback has been invoked. A finalized event cannot be re-added or activated. The finalizer callback must not add events, activate events, or attempt to "resucitate" the event being finalized in any way. If any finalizer callbacks are pending as the event_base is being freed, they will be invoked. You can override this behavior with the new function event_base_free_nofinalize(). 1.4. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.5. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.6. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.7. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. The evdns_base_new() function now has multiple possible values for its second (flags) argument. Using 1 and 0 have their old meanings, though the 1 flag now has a symbolic name of EVDNS_BASE_INITIALIZE_NAMESERVERS. A second flag is now supported too: the EVDNS_BASE_DISABLE_WHEN_INACTIVE flag, which tells the evdns_base that it should not prevent Libevent from exiting while it has no DNS requests in progress. 1.8. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.9. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. There's a new kind of request callback for errors; you can set it with evhttp_request_set_error_cb(). It gets called when there's a request error, and actually reports the error code and lets you figure out which request failed. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @ 1.1.1.2.10.1 log @file whatsnew-2.1.txt was added on branch netbsd-5-2 on 2015-01-07 10:10:22 +0000 @ text @d1 639 @ 1.1.1.2.10.2 log @Pullup the following revision (requested by he in ticket #1938): dist/ntp/COPYRIGHT delete dist/ntp/ChangeLog delete dist/ntp/CommitLog delete dist/ntp/CommitLog-4.1.0 delete dist/ntp/INSTALL delete dist/ntp/Makefile.am delete dist/ntp/Makefile.in delete dist/ntp/NEWS delete dist/ntp/NOTES.y2kfixes delete dist/ntp/README delete dist/ntp/README.bk delete dist/ntp/README.hackers delete dist/ntp/README.patches delete dist/ntp/README.refclocks delete dist/ntp/README.versions delete dist/ntp/TODO delete dist/ntp/WHERE-TO-START delete dist/ntp/aclocal.m4 delete dist/ntp/bincheck.mf delete dist/ntp/bootstrap delete dist/ntp/build delete dist/ntp/compile delete dist/ntp/config.guess delete dist/ntp/config.h.in delete dist/ntp/config.sub delete dist/ntp/configure delete dist/ntp/configure.ac delete dist/ntp/depcomp delete dist/ntp/dot.emacs delete dist/ntp/excludes delete dist/ntp/flock-build delete dist/ntp/install-sh delete dist/ntp/ltmain.sh delete dist/ntp/missing delete dist/ntp/ntp-html2mdoc.pl delete dist/ntp/ntp2netbsd delete dist/ntp/packageinfo.sh delete dist/ntp/readme.y2kfixes delete dist/ntp/results.y2kfixes delete dist/ntp/version delete dist/ntp/version.m4 delete dist/ntp/ElectricFence/CHANGES delete dist/ntp/ElectricFence/COPYING delete dist/ntp/ElectricFence/Makefile.am delete dist/ntp/ElectricFence/Makefile.in delete dist/ntp/ElectricFence/README delete dist/ntp/ElectricFence/efence.c delete dist/ntp/ElectricFence/efence.h delete dist/ntp/ElectricFence/eftest.c delete dist/ntp/ElectricFence/libefence.3 delete dist/ntp/ElectricFence/page.c delete dist/ntp/ElectricFence/print.c delete dist/ntp/ElectricFence/tstheap.c delete dist/ntp/adjtimed/Makefile.am delete dist/ntp/adjtimed/Makefile.in delete dist/ntp/adjtimed/README delete dist/ntp/adjtimed/adjtimed.c delete dist/ntp/arlib/COPYING delete dist/ntp/arlib/INSTALL delete dist/ntp/arlib/Makefile.am delete dist/ntp/arlib/Makefile.in delete dist/ntp/arlib/README delete dist/ntp/arlib/UNSHAR.HDR delete dist/ntp/arlib/aclocal.m4 delete dist/ntp/arlib/arlib.3 delete dist/ntp/arlib/arlib.c delete dist/ntp/arlib/arlib.h delete dist/ntp/arlib/arplib.h delete dist/ntp/arlib/configure delete dist/ntp/arlib/configure.in delete dist/ntp/arlib/depcomp delete dist/ntp/arlib/install-sh delete dist/ntp/arlib/missing delete dist/ntp/arlib/sample.c delete dist/ntp/clockstuff/Makefile.am delete dist/ntp/clockstuff/Makefile.in delete dist/ntp/clockstuff/README delete dist/ntp/clockstuff/chutest.c delete dist/ntp/clockstuff/clktest.c delete dist/ntp/clockstuff/propdelay.c delete dist/ntp/conf/README delete dist/ntp/conf/baldwin.conf delete dist/ntp/conf/beauregard.conf delete dist/ntp/conf/grundoon.conf delete dist/ntp/conf/malarky.conf delete dist/ntp/conf/pogo.conf delete dist/ntp/conf/rackety.conf delete dist/ntp/html/accopt.html delete dist/ntp/html/assoc.html delete dist/ntp/html/audio.html delete dist/ntp/html/authopt.html delete dist/ntp/html/clockopt.html delete dist/ntp/html/confopt.html delete dist/ntp/html/copyright.html delete dist/ntp/html/debug.html delete dist/ntp/html/extern.html delete dist/ntp/html/gadget.html delete dist/ntp/html/groups.html delete dist/ntp/html/howto.html delete dist/ntp/html/index.html delete dist/ntp/html/kern.html delete dist/ntp/html/keygen.html delete dist/ntp/html/ldisc.html delete dist/ntp/html/manyopt.html delete dist/ntp/html/measure.html delete dist/ntp/html/miscopt.html delete dist/ntp/html/monopt.html delete dist/ntp/html/msyslog.html delete dist/ntp/html/mx4200data.html delete dist/ntp/html/notes.html delete dist/ntp/html/ntp_conf.html delete dist/ntp/html/ntpd.html delete dist/ntp/html/ntpdate.html delete dist/ntp/html/ntpdc.html delete dist/ntp/html/ntpdsim.html delete dist/ntp/html/ntpdsim_new.html delete dist/ntp/html/ntpq.html delete dist/ntp/html/ntptime.html delete dist/ntp/html/ntptrace.html delete dist/ntp/html/parsedata.html delete dist/ntp/html/parsenew.html delete dist/ntp/html/pps.html delete dist/ntp/html/prefer.html delete dist/ntp/html/rdebug.html delete dist/ntp/html/refclock.html delete dist/ntp/html/release.html delete dist/ntp/html/sntp.html delete dist/ntp/html/tickadj.html delete dist/ntp/html/build/build.html delete dist/ntp/html/build/config.html delete dist/ntp/html/build/hints.html delete dist/ntp/html/build/patches.html delete dist/ntp/html/build/porting.html delete dist/ntp/html/build/quick.html delete dist/ntp/html/build/hints/a-ux delete dist/ntp/html/build/hints/aix delete dist/ntp/html/build/hints/bsdi delete dist/ntp/html/build/hints/changes delete dist/ntp/html/build/hints/decosf1 delete dist/ntp/html/build/hints/decosf2 delete dist/ntp/html/build/hints/freebsd delete dist/ntp/html/build/hints/hpux delete dist/ntp/html/build/hints/linux delete dist/ntp/html/build/hints/mpeix delete dist/ntp/html/build/hints/netbsd delete dist/ntp/html/build/hints/notes-xntp-v3 delete dist/ntp/html/build/hints/parse delete dist/ntp/html/build/hints/refclocks delete dist/ntp/html/build/hints/rs6000 delete dist/ntp/html/build/hints/sco.html delete dist/ntp/html/build/hints/sgi delete dist/ntp/html/build/hints/solaris-dosynctodr.html delete dist/ntp/html/build/hints/solaris.html delete dist/ntp/html/build/hints/solaris.xtra.4023118 delete dist/ntp/html/build/hints/solaris.xtra.4095849 delete dist/ntp/html/build/hints/solaris.xtra.S99ntpd delete dist/ntp/html/build/hints/solaris.xtra.patchfreq delete dist/ntp/html/build/hints/sun4 delete dist/ntp/html/build/hints/svr4-dell delete dist/ntp/html/build/hints/svr4_package delete dist/ntp/html/build/hints/todo delete dist/ntp/html/build/hints/vxworks.html delete dist/ntp/html/build/hints/winnt.html delete dist/ntp/html/build/scripts/footer.txt delete dist/ntp/html/build/scripts/links10.txt delete dist/ntp/html/build/scripts/links11.txt delete dist/ntp/html/build/scripts/links12.txt delete dist/ntp/html/build/scripts/links7.txt delete dist/ntp/html/build/scripts/links8.txt delete dist/ntp/html/build/scripts/links9.txt delete dist/ntp/html/build/scripts/style.css delete dist/ntp/html/drivers/driver1.html delete dist/ntp/html/drivers/driver10.html delete dist/ntp/html/drivers/driver11.html delete dist/ntp/html/drivers/driver12.html delete dist/ntp/html/drivers/driver16.html delete dist/ntp/html/drivers/driver18.html delete dist/ntp/html/drivers/driver19.html delete dist/ntp/html/drivers/driver2.html delete dist/ntp/html/drivers/driver20.html delete dist/ntp/html/drivers/driver22.html delete dist/ntp/html/drivers/driver26.html delete dist/ntp/html/drivers/driver27.html delete dist/ntp/html/drivers/driver28.html delete dist/ntp/html/drivers/driver29.html delete dist/ntp/html/drivers/driver3.html delete dist/ntp/html/drivers/driver30.html delete dist/ntp/html/drivers/driver31.html delete dist/ntp/html/drivers/driver32.html delete dist/ntp/html/drivers/driver33.html delete dist/ntp/html/drivers/driver34.html delete dist/ntp/html/drivers/driver35.html delete dist/ntp/html/drivers/driver36.html delete dist/ntp/html/drivers/driver37.html delete dist/ntp/html/drivers/driver38.html delete dist/ntp/html/drivers/driver39.html delete dist/ntp/html/drivers/driver4.html delete dist/ntp/html/drivers/driver40.html delete dist/ntp/html/drivers/driver42.html delete dist/ntp/html/drivers/driver43.html delete dist/ntp/html/drivers/driver44.html delete dist/ntp/html/drivers/driver5.html delete dist/ntp/html/drivers/driver6.html delete dist/ntp/html/drivers/driver7.html delete dist/ntp/html/drivers/driver8.html delete dist/ntp/html/drivers/driver9.html delete dist/ntp/html/drivers/oncore-shmem.html delete dist/ntp/html/drivers/tf582_4.html delete dist/ntp/html/drivers/icons/home.gif delete dist/ntp/html/drivers/icons/mail2.gif delete dist/ntp/html/drivers/scripts/footer.txt delete dist/ntp/html/drivers/scripts/style.css delete dist/ntp/html/icons/home.gif delete dist/ntp/html/icons/mail2.gif delete dist/ntp/html/scripts/footer.txt delete dist/ntp/html/scripts/links10.txt delete dist/ntp/html/scripts/links11.txt delete dist/ntp/html/scripts/links12.txt delete dist/ntp/html/scripts/links7.txt delete dist/ntp/html/scripts/links8.txt delete dist/ntp/html/scripts/links9.txt delete dist/ntp/html/scripts/style.css delete dist/ntp/include/Makefile.am delete dist/ntp/include/Makefile.in delete dist/ntp/include/README delete dist/ntp/include/adjtime.h delete dist/ntp/include/ascii.h delete dist/ntp/include/audio.h delete dist/ntp/include/autogen-version.def delete dist/ntp/include/binio.h delete dist/ntp/include/copyright.def delete dist/ntp/include/debug-opt.def delete dist/ntp/include/global.h delete dist/ntp/include/gps.h delete dist/ntp/include/homerc.def delete dist/ntp/include/hopf6039.h delete dist/ntp/include/icom.h delete dist/ntp/include/ieee754io.h delete dist/ntp/include/iosignal.h delete dist/ntp/include/l_stdlib.h delete dist/ntp/include/mbg_gps166.h delete dist/ntp/include/mx4200.h delete dist/ntp/include/ntif.h delete dist/ntp/include/ntp.h delete dist/ntp/include/ntp_calendar.h delete dist/ntp/include/ntp_cmdargs.h delete dist/ntp/include/ntp_config.h delete dist/ntp/include/ntp_control.h delete dist/ntp/include/ntp_crypto.h delete dist/ntp/include/ntp_datum.h delete dist/ntp/include/ntp_debug.h delete dist/ntp/include/ntp_filegen.h delete dist/ntp/include/ntp_fp.h delete dist/ntp/include/ntp_if.h delete dist/ntp/include/ntp_io.h delete dist/ntp/include/ntp_machine.h delete dist/ntp/include/ntp_malloc.h delete dist/ntp/include/ntp_md5.h delete dist/ntp/include/ntp_proto.h delete dist/ntp/include/ntp_random.h delete dist/ntp/include/ntp_refclock.h delete dist/ntp/include/ntp_request.h delete dist/ntp/include/ntp_rfc2553.h delete dist/ntp/include/ntp_select.h delete dist/ntp/include/ntp_sprintf.h delete dist/ntp/include/ntp_stdlib.h delete dist/ntp/include/ntp_string.h delete dist/ntp/include/ntp_syscall.h delete dist/ntp/include/ntp_syslog.h delete dist/ntp/include/ntp_tty.h delete dist/ntp/include/ntp_types.h delete dist/ntp/include/ntp_unixtime.h delete dist/ntp/include/ntpd.h delete dist/ntp/include/ntpsim.h delete dist/ntp/include/parse.h delete dist/ntp/include/parse_conf.h delete dist/ntp/include/recvbuff.h delete dist/ntp/include/rsa_md5.h delete dist/ntp/include/timepps-SCO.h delete dist/ntp/include/timepps-Solaris.h delete dist/ntp/include/timepps-SunOS.h delete dist/ntp/include/trimble.h delete dist/ntp/include/version.def delete dist/ntp/include/isc/Makefile.am delete dist/ntp/include/isc/Makefile.in delete dist/ntp/include/isc/app.h delete dist/ntp/include/isc/assertions.h delete dist/ntp/include/isc/boolean.h delete dist/ntp/include/isc/buffer.h delete dist/ntp/include/isc/error.h delete dist/ntp/include/isc/formatcheck.h delete dist/ntp/include/isc/int.h delete dist/ntp/include/isc/interfaceiter.h delete dist/ntp/include/isc/ipv6.h delete dist/ntp/include/isc/lang.h delete dist/ntp/include/isc/lib.h delete dist/ntp/include/isc/list.h delete dist/ntp/include/isc/magic.h delete dist/ntp/include/isc/mem.h delete dist/ntp/include/isc/msgcat.h delete dist/ntp/include/isc/msgs.h delete dist/ntp/include/isc/mutex.h delete dist/ntp/include/isc/net.h delete dist/ntp/include/isc/netaddr.h delete dist/ntp/include/isc/netscope.h delete dist/ntp/include/isc/offset.h delete dist/ntp/include/isc/once.h delete dist/ntp/include/isc/platform.h delete dist/ntp/include/isc/print.h delete dist/ntp/include/isc/region.h delete dist/ntp/include/isc/result.h delete dist/ntp/include/isc/sockaddr.h delete dist/ntp/include/isc/strerror.h delete dist/ntp/include/isc/string.h delete dist/ntp/include/isc/types.h delete dist/ntp/include/isc/util.h delete dist/ntp/kernel/Makefile.am delete dist/ntp/kernel/Makefile.in delete dist/ntp/kernel/README delete dist/ntp/kernel/chuinit.c delete dist/ntp/kernel/clkinit.c delete dist/ntp/kernel/tty_chu.c delete dist/ntp/kernel/tty_chu_STREAMS.c delete dist/ntp/kernel/tty_clk.c delete dist/ntp/kernel/tty_clk_STREAMS.c delete dist/ntp/kernel/sys/Makefile.am delete dist/ntp/kernel/sys/Makefile.in delete dist/ntp/kernel/sys/README delete dist/ntp/kernel/sys/bsd_audioirig.h delete dist/ntp/kernel/sys/chudefs.h delete dist/ntp/kernel/sys/clkdefs.h delete dist/ntp/kernel/sys/i8253.h delete dist/ntp/kernel/sys/parsestreams.h delete dist/ntp/kernel/sys/pcl720.h delete dist/ntp/kernel/sys/ppsclock.h delete dist/ntp/kernel/sys/timex.h delete dist/ntp/kernel/sys/tpro.h delete dist/ntp/kernel/sys/tt560_api.h delete dist/ntp/libisc/assertions.c delete dist/ntp/libisc/error.c delete dist/ntp/libisc/ifiter_getifaddrs.c delete dist/ntp/libisc/ifiter_ioctl.c delete dist/ntp/libisc/ifiter_sysctl.c delete dist/ntp/libisc/inet_aton.c delete dist/ntp/libisc/inet_ntop.c delete dist/ntp/libisc/inet_pton.c delete dist/ntp/libisc/interfaceiter.c delete dist/ntp/libisc/isc_strerror.c delete dist/ntp/libisc/lib.c delete dist/ntp/libisc/mem.c delete dist/ntp/libisc/msgcat.c delete dist/ntp/libisc/net.c delete dist/ntp/libisc/netaddr.c delete dist/ntp/libisc/netscope.c delete dist/ntp/libisc/sockaddr.c delete dist/ntp/libisc/strerror.c delete dist/ntp/libntp/Makefile.am delete dist/ntp/libntp/Makefile.in delete dist/ntp/libntp/README delete dist/ntp/libntp/a_md5encrypt.c delete dist/ntp/libntp/adjtime.c delete dist/ntp/libntp/adjtimex.c delete dist/ntp/libntp/atoint.c delete dist/ntp/libntp/atolfp.c delete dist/ntp/libntp/atouint.c delete dist/ntp/libntp/audio.c delete dist/ntp/libntp/authkeys.c delete dist/ntp/libntp/authreadkeys.c delete dist/ntp/libntp/authusekey.c delete dist/ntp/libntp/buftvtots.c delete dist/ntp/libntp/caljulian.c delete dist/ntp/libntp/caltontp.c delete dist/ntp/libntp/calyearstart.c delete dist/ntp/libntp/clocktime.c delete dist/ntp/libntp/clocktypes.c delete dist/ntp/libntp/decodenetnum.c delete dist/ntp/libntp/dofptoa.c delete dist/ntp/libntp/dolfptoa.c delete dist/ntp/libntp/emalloc.c delete dist/ntp/libntp/findconfig.c delete dist/ntp/libntp/fptoa.c delete dist/ntp/libntp/fptoms.c delete dist/ntp/libntp/getopt.c delete dist/ntp/libntp/hextoint.c delete dist/ntp/libntp/hextolfp.c delete dist/ntp/libntp/humandate.c delete dist/ntp/libntp/icom.c delete dist/ntp/libntp/inttoa.c delete dist/ntp/libntp/iosignal.c delete dist/ntp/libntp/lib_strbuf.c delete dist/ntp/libntp/lib_strbuf.h delete dist/ntp/libntp/machines.c delete dist/ntp/libntp/md5c.c delete dist/ntp/libntp/memmove.c delete dist/ntp/libntp/mfptoa.c delete dist/ntp/libntp/mfptoms.c delete dist/ntp/libntp/mktime.c delete dist/ntp/libntp/modetoa.c delete dist/ntp/libntp/mstolfp.c delete dist/ntp/libntp/msutotsf.c delete dist/ntp/libntp/msyslog.c delete dist/ntp/libntp/netof.c delete dist/ntp/libntp/ntp_random.c delete dist/ntp/libntp/ntp_rfc2553.c delete dist/ntp/libntp/numtoa.c delete dist/ntp/libntp/numtohost.c delete dist/ntp/libntp/octtoint.c delete dist/ntp/libntp/prettydate.c delete dist/ntp/libntp/recvbuff.c delete dist/ntp/libntp/refnumtoa.c delete dist/ntp/libntp/snprintf.c delete dist/ntp/libntp/socktoa.c delete dist/ntp/libntp/socktohost.c delete dist/ntp/libntp/statestr.c delete dist/ntp/libntp/strdup.c delete dist/ntp/libntp/strerror.c delete dist/ntp/libntp/strstr.c delete dist/ntp/libntp/syssignal.c delete dist/ntp/libntp/systime.c delete dist/ntp/libntp/systime_s.c delete dist/ntp/libntp/tsftomsu.c delete dist/ntp/libntp/tstotv.c delete dist/ntp/libntp/tvtoa.c delete dist/ntp/libntp/tvtots.c delete dist/ntp/libntp/uglydate.c delete dist/ntp/libntp/uinttoa.c delete dist/ntp/libntp/utvtoa.c delete dist/ntp/libntp/ymd2yd.c delete dist/ntp/libopts/COPYING.lgpl delete dist/ntp/libopts/COPYING.mbsd delete dist/ntp/libopts/MakeDefs.inc delete dist/ntp/libopts/Makefile.am delete dist/ntp/libopts/Makefile.in delete dist/ntp/libopts/README delete dist/ntp/libopts/autoopts.c delete dist/ntp/libopts/autoopts.h delete dist/ntp/libopts/boolean.c delete dist/ntp/libopts/configfile.c delete dist/ntp/libopts/cook.c delete dist/ntp/libopts/enumeration.c delete dist/ntp/libopts/environment.c delete dist/ntp/libopts/genshell.c delete dist/ntp/libopts/genshell.h delete dist/ntp/libopts/libopts.c delete dist/ntp/libopts/load.c delete dist/ntp/libopts/makeshell.c delete dist/ntp/libopts/nested.c delete dist/ntp/libopts/numeric.c delete dist/ntp/libopts/pgusage.c delete dist/ntp/libopts/proto.h delete dist/ntp/libopts/putshell.c delete dist/ntp/libopts/restore.c delete dist/ntp/libopts/save.c delete dist/ntp/libopts/sort.c delete dist/ntp/libopts/stack.c delete dist/ntp/libopts/streqvcmp.c delete dist/ntp/libopts/text_mmap.c delete dist/ntp/libopts/tokenize.c delete dist/ntp/libopts/usage.c delete dist/ntp/libopts/version.c delete dist/ntp/libopts/autoopts/options.h delete dist/ntp/libopts/autoopts/usage-txt.h delete dist/ntp/libopts/compat/compat.h delete dist/ntp/libopts/compat/pathfind.c delete dist/ntp/libopts/compat/snprintf.c delete dist/ntp/libopts/compat/strchr.c delete dist/ntp/libopts/compat/strdup.c delete dist/ntp/libopts/compat/windows-config.h delete dist/ntp/libopts/m4/libopts.m4 delete dist/ntp/libopts/m4/liboptschk.m4 delete dist/ntp/libparse/Makefile.am delete dist/ntp/libparse/Makefile.in delete dist/ntp/libparse/README delete dist/ntp/libparse/binio.c delete dist/ntp/libparse/clk_computime.c delete dist/ntp/libparse/clk_dcf7000.c delete dist/ntp/libparse/clk_hopf6021.c delete dist/ntp/libparse/clk_meinberg.c delete dist/ntp/libparse/clk_rawdcf.c delete dist/ntp/libparse/clk_rcc8000.c delete dist/ntp/libparse/clk_schmid.c delete dist/ntp/libparse/clk_trimtaip.c delete dist/ntp/libparse/clk_trimtsip.c delete dist/ntp/libparse/clk_varitext.c delete dist/ntp/libparse/clk_wharton.c delete dist/ntp/libparse/data_mbg.c delete dist/ntp/libparse/gpstolfp.c delete dist/ntp/libparse/ieee754io.c delete dist/ntp/libparse/info_trimble.c delete dist/ntp/libparse/mfp_mul.c delete dist/ntp/libparse/mkinfo_rcmd.sed delete dist/ntp/libparse/mkinfo_scmd.sed delete dist/ntp/libparse/parse.c delete dist/ntp/libparse/parse_conf.c delete dist/ntp/libparse/parsesolaris.c delete dist/ntp/libparse/parsestreams.c delete dist/ntp/libparse/trim_info.c delete dist/ntp/m4/define_dir.m4 delete dist/ntp/m4/hs_ulong_const.m4 delete dist/ntp/m4/os_cflags.m4 delete dist/ntp/ntpd/Makefile.am delete dist/ntp/ntpd/Makefile.in delete dist/ntp/ntpd/check_y2k.c delete dist/ntp/ntpd/cmd_args.c delete dist/ntp/ntpd/jupiter.h delete dist/ntp/ntpd/ntp_config.c delete dist/ntp/ntpd/ntp_control.c delete dist/ntp/ntpd/ntp_crypto.c delete dist/ntp/ntpd/ntp_filegen.c delete dist/ntp/ntpd/ntp_intres.c delete dist/ntp/ntpd/ntp_io.c delete dist/ntp/ntpd/ntp_loopfilter.c delete dist/ntp/ntpd/ntp_monitor.c delete dist/ntp/ntpd/ntp_peer.c delete dist/ntp/ntpd/ntp_proto.c delete dist/ntp/ntpd/ntp_refclock.c delete dist/ntp/ntpd/ntp_request.c delete dist/ntp/ntpd/ntp_restrict.c delete dist/ntp/ntpd/ntp_timer.c delete dist/ntp/ntpd/ntp_util.c delete dist/ntp/ntpd/ntpd-opts.c delete dist/ntp/ntpd/ntpd-opts.def delete dist/ntp/ntpd/ntpd-opts.h delete dist/ntp/ntpd/ntpd-opts.menu delete dist/ntp/ntpd/ntpd-opts.texi delete dist/ntp/ntpd/ntpd.1 delete dist/ntp/ntpd/ntpd.c delete dist/ntp/ntpd/ntpdbase-opts.def delete dist/ntp/ntpd/ntpdsim-opts.c delete dist/ntp/ntpd/ntpdsim-opts.def delete dist/ntp/ntpd/ntpdsim-opts.h delete dist/ntp/ntpd/ntpdsim-opts.menu delete dist/ntp/ntpd/ntpdsim-opts.texi delete dist/ntp/ntpd/ntpdsim.1 delete dist/ntp/ntpd/ntpsim.c delete dist/ntp/ntpd/ppsapi_timepps.h delete dist/ntp/ntpd/refclock_acts.c delete dist/ntp/ntpd/refclock_arbiter.c delete dist/ntp/ntpd/refclock_arc.c delete dist/ntp/ntpd/refclock_as2201.c delete dist/ntp/ntpd/refclock_atom.c delete dist/ntp/ntpd/refclock_bancomm.c delete dist/ntp/ntpd/refclock_chronolog.c delete dist/ntp/ntpd/refclock_chu.c delete dist/ntp/ntpd/refclock_conf.c delete dist/ntp/ntpd/refclock_datum.c delete dist/ntp/ntpd/refclock_dumbclock.c delete dist/ntp/ntpd/refclock_fg.c delete dist/ntp/ntpd/refclock_gpsvme.c delete dist/ntp/ntpd/refclock_heath.c delete dist/ntp/ntpd/refclock_hopfpci.c delete dist/ntp/ntpd/refclock_hopfser.c delete dist/ntp/ntpd/refclock_hpgps.c delete dist/ntp/ntpd/refclock_irig.c delete dist/ntp/ntpd/refclock_jjy.c delete dist/ntp/ntpd/refclock_jupiter.c delete dist/ntp/ntpd/refclock_leitch.c delete dist/ntp/ntpd/refclock_local.c delete dist/ntp/ntpd/refclock_msfees.c delete dist/ntp/ntpd/refclock_mx4200.c delete dist/ntp/ntpd/refclock_neoclock4x.c delete dist/ntp/ntpd/refclock_nmea.c delete dist/ntp/ntpd/refclock_oncore.c delete dist/ntp/ntpd/refclock_palisade.c delete dist/ntp/ntpd/refclock_palisade.h delete dist/ntp/ntpd/refclock_parse.c delete dist/ntp/ntpd/refclock_pcf.c delete dist/ntp/ntpd/refclock_pst.c delete dist/ntp/ntpd/refclock_ripencc.c delete dist/ntp/ntpd/refclock_shm.c delete dist/ntp/ntpd/refclock_tpro.c delete dist/ntp/ntpd/refclock_trak.c delete dist/ntp/ntpd/refclock_true.c delete dist/ntp/ntpd/refclock_tt560.c delete dist/ntp/ntpd/refclock_ulink.c delete dist/ntp/ntpd/refclock_wwv.c delete dist/ntp/ntpd/refclock_wwvb.c delete dist/ntp/ntpd/refclock_zyfer.c delete dist/ntp/ntpdate/Makefile.am delete dist/ntp/ntpdate/Makefile.in delete dist/ntp/ntpdate/README delete dist/ntp/ntpdate/ntpdate.c delete dist/ntp/ntpdate/ntpdate.h delete dist/ntp/ntpdate/ntptime_config.c delete dist/ntp/ntpdate/ntptimeset.c delete dist/ntp/ntpdc/Makefile.am delete dist/ntp/ntpdc/Makefile.in delete dist/ntp/ntpdc/README delete dist/ntp/ntpdc/layout.std delete dist/ntp/ntpdc/nl.pl delete dist/ntp/ntpdc/nl.pl.in delete dist/ntp/ntpdc/nl_in.c delete dist/ntp/ntpdc/ntpdc-layout.c delete dist/ntp/ntpdc/ntpdc-opts.c delete dist/ntp/ntpdc/ntpdc-opts.def delete dist/ntp/ntpdc/ntpdc-opts.h delete dist/ntp/ntpdc/ntpdc-opts.menu delete dist/ntp/ntpdc/ntpdc-opts.texi delete dist/ntp/ntpdc/ntpdc.1 delete dist/ntp/ntpdc/ntpdc.c delete dist/ntp/ntpdc/ntpdc.h delete dist/ntp/ntpdc/ntpdc_ops.c delete dist/ntp/ntpq/Makefile.am delete dist/ntp/ntpq/Makefile.in delete dist/ntp/ntpq/README delete dist/ntp/ntpq/ntpq-opts.c delete dist/ntp/ntpq/ntpq-opts.def delete dist/ntp/ntpq/ntpq-opts.h delete dist/ntp/ntpq/ntpq-opts.menu delete dist/ntp/ntpq/ntpq-opts.texi delete dist/ntp/ntpq/ntpq-subs.c delete dist/ntp/ntpq/ntpq.1 delete dist/ntp/ntpq/ntpq.c delete dist/ntp/ntpq/ntpq.h delete dist/ntp/parseutil/Makefile.am delete dist/ntp/parseutil/Makefile.in delete dist/ntp/parseutil/README delete dist/ntp/parseutil/dcfd.c delete dist/ntp/parseutil/testdcf.c delete dist/ntp/scripts/Makefile.am delete dist/ntp/scripts/Makefile.in delete dist/ntp/scripts/README delete dist/ntp/scripts/VersionName delete dist/ntp/scripts/calc_tickadj.in delete dist/ntp/scripts/checktime.in delete dist/ntp/scripts/fixautomakedepsmagic delete dist/ntp/scripts/freq_adj.in delete dist/ntp/scripts/genCommitLog delete dist/ntp/scripts/genver delete dist/ntp/scripts/hpadjtime.sh delete dist/ntp/scripts/html2man.in delete dist/ntp/scripts/mkver.in delete dist/ntp/scripts/ntp-close delete dist/ntp/scripts/ntp-groper delete dist/ntp/scripts/ntp-restart delete dist/ntp/scripts/ntp-status delete dist/ntp/scripts/ntp-wait.in delete dist/ntp/scripts/ntpsweep.in delete dist/ntp/scripts/ntptrace.in delete dist/ntp/scripts/ntpver.in delete dist/ntp/scripts/plot_summary.in delete dist/ntp/scripts/summary.in delete dist/ntp/scripts/monitoring/README delete dist/ntp/scripts/monitoring/loopwatch.config.SAMPLE delete dist/ntp/scripts/monitoring/lr.pl delete dist/ntp/scripts/monitoring/ntp.pl delete dist/ntp/scripts/monitoring/ntploopstat delete dist/ntp/scripts/monitoring/ntploopwatch delete dist/ntp/scripts/monitoring/ntptrap delete dist/ntp/scripts/monitoring/timelocal.pl delete dist/ntp/scripts/rc1/postinstall delete dist/ntp/scripts/rc1/preinstall delete dist/ntp/scripts/rc1/preremove delete dist/ntp/scripts/rc1/prototype delete dist/ntp/scripts/rc1/xntp delete dist/ntp/scripts/rc2/local.ntpd delete dist/ntp/scripts/stats/README delete dist/ntp/scripts/stats/README.stats delete dist/ntp/scripts/stats/README.timecodes delete dist/ntp/scripts/stats/clock.awk delete dist/ntp/scripts/stats/dupe.awk delete dist/ntp/scripts/stats/ensemble.S delete dist/ntp/scripts/stats/ensemble.awk delete dist/ntp/scripts/stats/etf.S delete dist/ntp/scripts/stats/etf.awk delete dist/ntp/scripts/stats/itf.S delete dist/ntp/scripts/stats/itf.awk delete dist/ntp/scripts/stats/loop.S delete dist/ntp/scripts/stats/loop.awk delete dist/ntp/scripts/stats/loop_summary delete dist/ntp/scripts/stats/peer.awk delete dist/ntp/scripts/stats/psummary.awk delete dist/ntp/scripts/stats/summary.sh delete dist/ntp/scripts/stats/tdata.S delete dist/ntp/scripts/stats/tdata.awk delete dist/ntp/sntp/COPYRIGHT delete dist/ntp/sntp/Makefile.am delete dist/ntp/sntp/Makefile.in delete dist/ntp/sntp/README delete dist/ntp/sntp/aclocal.m4 delete dist/ntp/sntp/autogen-version.def delete dist/ntp/sntp/bincheck.mf delete dist/ntp/sntp/compile delete dist/ntp/sntp/config.guess delete dist/ntp/sntp/config.h.in delete dist/ntp/sntp/config.sub delete dist/ntp/sntp/configure delete dist/ntp/sntp/configure.ac delete dist/ntp/sntp/depcomp delete dist/ntp/sntp/header.h delete dist/ntp/sntp/install-sh delete dist/ntp/sntp/internet.c delete dist/ntp/sntp/internet.h delete dist/ntp/sntp/kludges.h delete dist/ntp/sntp/ltmain.sh delete dist/ntp/sntp/main.c delete dist/ntp/sntp/missing delete dist/ntp/sntp/sntp-opts.c delete dist/ntp/sntp/sntp-opts.def delete dist/ntp/sntp/sntp-opts.h delete dist/ntp/sntp/sntp-opts.menu delete dist/ntp/sntp/sntp-opts.texi delete dist/ntp/sntp/sntp.1 delete dist/ntp/sntp/socket.c delete dist/ntp/sntp/timing.c delete dist/ntp/sntp/unix.c delete dist/ntp/sntp/version.def delete dist/ntp/sntp/libopts/COPYING.lgpl delete dist/ntp/sntp/libopts/COPYING.mbsd delete dist/ntp/sntp/libopts/MakeDefs.inc delete dist/ntp/sntp/libopts/Makefile.am delete dist/ntp/sntp/libopts/Makefile.in delete dist/ntp/sntp/libopts/README delete dist/ntp/sntp/libopts/autoopts.c delete dist/ntp/sntp/libopts/autoopts.h delete dist/ntp/sntp/libopts/boolean.c delete dist/ntp/sntp/libopts/configfile.c delete dist/ntp/sntp/libopts/cook.c delete dist/ntp/sntp/libopts/enumeration.c delete dist/ntp/sntp/libopts/environment.c delete dist/ntp/sntp/libopts/genshell.c delete dist/ntp/sntp/libopts/genshell.h delete dist/ntp/sntp/libopts/libopts.c delete dist/ntp/sntp/libopts/load.c delete dist/ntp/sntp/libopts/makeshell.c delete dist/ntp/sntp/libopts/nested.c delete dist/ntp/sntp/libopts/numeric.c delete dist/ntp/sntp/libopts/pgusage.c delete dist/ntp/sntp/libopts/proto.h delete dist/ntp/sntp/libopts/putshell.c delete dist/ntp/sntp/libopts/restore.c delete dist/ntp/sntp/libopts/save.c delete dist/ntp/sntp/libopts/sort.c delete dist/ntp/sntp/libopts/stack.c delete dist/ntp/sntp/libopts/streqvcmp.c delete dist/ntp/sntp/libopts/text_mmap.c delete dist/ntp/sntp/libopts/tokenize.c delete dist/ntp/sntp/libopts/usage.c delete dist/ntp/sntp/libopts/version.c delete dist/ntp/sntp/libopts/autoopts/options.h delete dist/ntp/sntp/libopts/autoopts/usage-txt.h delete dist/ntp/sntp/libopts/compat/compat.h delete dist/ntp/sntp/libopts/compat/pathfind.c delete dist/ntp/sntp/libopts/compat/snprintf.c delete dist/ntp/sntp/libopts/compat/strchr.c delete dist/ntp/sntp/libopts/compat/strdup.c delete dist/ntp/sntp/libopts/compat/windows-config.h delete dist/ntp/sntp/libopts/m4/libopts.m4 delete dist/ntp/sntp/libopts/m4/liboptschk.m4 delete dist/ntp/util/Makefile.am delete dist/ntp/util/Makefile.in delete dist/ntp/util/README delete dist/ntp/util/ansi2knr.1 delete dist/ntp/util/ansi2knr.c delete dist/ntp/util/audio-pcm.c delete dist/ntp/util/byteorder.c delete dist/ntp/util/hist.c delete dist/ntp/util/jitter.c delete dist/ntp/util/jitter.h delete dist/ntp/util/kern.c delete dist/ntp/util/longsize.c delete dist/ntp/util/ntp-keygen-opts.c delete dist/ntp/util/ntp-keygen-opts.def delete dist/ntp/util/ntp-keygen-opts.h delete dist/ntp/util/ntp-keygen-opts.menu delete dist/ntp/util/ntp-keygen-opts.texi delete dist/ntp/util/ntp-keygen.1 delete dist/ntp/util/ntp-keygen.c delete dist/ntp/util/ntptime.c delete dist/ntp/util/pps-api.c delete dist/ntp/util/precision.c delete dist/ntp/util/sht.c delete dist/ntp/util/testrs6000.c delete dist/ntp/util/tg.c delete dist/ntp/util/tickadj.c delete dist/ntp/util/timetrim.c delete distrib/sets/lists/man/mi patch distrib/sets/lists/misc/mi patch external/bsd/Makefile patch external/bsd/ntp/Makefile new external/bsd/ntp/Makefile.inc new external/bsd/ntp/importdate new external/bsd/ntp/ntp2netbsd new external/bsd/ntp/bin/Makefile new external/bsd/ntp/bin/Makefile.inc new external/bsd/ntp/bin/ntp-keygen/Makefile new external/bsd/ntp/bin/ntp-keygen/ntp-keygen.8 new external/bsd/ntp/bin/ntpd/Makefile new external/bsd/ntp/bin/ntpd/ntp.conf.5 new external/bsd/ntp/bin/ntpd/ntp.keys.5 new external/bsd/ntp/bin/ntpd/ntpd.8 new external/bsd/ntp/bin/ntpdate/Makefile new external/bsd/ntp/bin/ntpdate/ntpdate.8 new external/bsd/ntp/bin/ntpdc/Makefile new external/bsd/ntp/bin/ntpdc/ntpdc.8 new external/bsd/ntp/bin/ntpq/Makefile new external/bsd/ntp/bin/ntpq/ntpq.8 new external/bsd/ntp/bin/ntptime/Makefile new external/bsd/ntp/bin/ntptime/ntptime.8 new external/bsd/ntp/bin/ntptrace/Makefile new external/bsd/ntp/bin/ntptrace/ntptrace.8 new external/bsd/ntp/bin/ntptrace/ntptrace.awk new external/bsd/ntp/bin/sntp/Makefile new external/bsd/ntp/bin/sntp/sntp.1 new external/bsd/ntp/dist/COPYRIGHT new external/bsd/ntp/dist/ChangeLog new external/bsd/ntp/dist/CommitLog new external/bsd/ntp/dist/CommitLog-4.1.0 new external/bsd/ntp/dist/INSTALL new external/bsd/ntp/dist/Makefile.am new external/bsd/ntp/dist/Makefile.in new external/bsd/ntp/dist/NEWS new external/bsd/ntp/dist/NOTES.y2kfixes new external/bsd/ntp/dist/README new external/bsd/ntp/dist/README.bk new external/bsd/ntp/dist/README.hackers new external/bsd/ntp/dist/README.patches new external/bsd/ntp/dist/README.refclocks new external/bsd/ntp/dist/README.versions new external/bsd/ntp/dist/TODO new external/bsd/ntp/dist/WHERE-TO-START new external/bsd/ntp/dist/aclocal.m4 new external/bsd/ntp/dist/bincheck.mf new external/bsd/ntp/dist/bootstrap new external/bsd/ntp/dist/build new external/bsd/ntp/dist/check-libopts.mf new external/bsd/ntp/dist/config.h.in new external/bsd/ntp/dist/configure new external/bsd/ntp/dist/configure.ac new external/bsd/ntp/dist/deps-ver new external/bsd/ntp/dist/depsver.mf new external/bsd/ntp/dist/dot.emacs new external/bsd/ntp/dist/flock-build new external/bsd/ntp/dist/includes.mf new external/bsd/ntp/dist/install-sh new external/bsd/ntp/dist/packageinfo.sh new external/bsd/ntp/dist/readme.y2kfixes new external/bsd/ntp/dist/results.y2kfixes new external/bsd/ntp/dist/adjtimed/Makefile.am new external/bsd/ntp/dist/adjtimed/Makefile.in new external/bsd/ntp/dist/adjtimed/README new external/bsd/ntp/dist/adjtimed/adjtimed.c new external/bsd/ntp/dist/clockstuff/Makefile.am new external/bsd/ntp/dist/clockstuff/Makefile.in new external/bsd/ntp/dist/clockstuff/README new external/bsd/ntp/dist/clockstuff/chutest.c new external/bsd/ntp/dist/clockstuff/propdelay.c new external/bsd/ntp/dist/conf/README new external/bsd/ntp/dist/conf/baldwin.conf new external/bsd/ntp/dist/conf/beauregard.conf new external/bsd/ntp/dist/conf/grundoon.conf new external/bsd/ntp/dist/conf/malarky.conf new external/bsd/ntp/dist/conf/pogo.conf new external/bsd/ntp/dist/conf/rackety.conf new external/bsd/ntp/dist/html/access.html new external/bsd/ntp/dist/html/accopt.html new external/bsd/ntp/dist/html/assoc.html new external/bsd/ntp/dist/html/audio.html new external/bsd/ntp/dist/html/authentic.html new external/bsd/ntp/dist/html/authopt.html new external/bsd/ntp/dist/html/autokey.html new external/bsd/ntp/dist/html/bugs.html new external/bsd/ntp/dist/html/build.html new external/bsd/ntp/dist/html/clock.html new external/bsd/ntp/dist/html/clockopt.html new external/bsd/ntp/dist/html/cluster.html new external/bsd/ntp/dist/html/comdex.html new external/bsd/ntp/dist/html/config.html new external/bsd/ntp/dist/html/confopt.html new external/bsd/ntp/dist/html/copyright.html new external/bsd/ntp/dist/html/debug.html new external/bsd/ntp/dist/html/decode.html new external/bsd/ntp/dist/html/discipline.html new external/bsd/ntp/dist/html/discover.html new external/bsd/ntp/dist/html/extern.html new external/bsd/ntp/dist/html/filter.html new external/bsd/ntp/dist/html/hints.html new external/bsd/ntp/dist/html/history.html new external/bsd/ntp/dist/html/howto.html new external/bsd/ntp/dist/html/huffpuff.html new external/bsd/ntp/dist/html/index.html new external/bsd/ntp/dist/html/kern.html new external/bsd/ntp/dist/html/kernpps.html new external/bsd/ntp/dist/html/keygen.html new external/bsd/ntp/dist/html/leap.html new external/bsd/ntp/dist/html/miscopt.html new external/bsd/ntp/dist/html/monopt.html new external/bsd/ntp/dist/html/msyslog.html new external/bsd/ntp/dist/html/ntp-wait.html new external/bsd/ntp/dist/html/ntp_conf.html new external/bsd/ntp/dist/html/ntpd.html new external/bsd/ntp/dist/html/ntpdate.html new external/bsd/ntp/dist/html/ntpdc.html new external/bsd/ntp/dist/html/ntpdsim.html new external/bsd/ntp/dist/html/ntpdsim_new.html new external/bsd/ntp/dist/html/ntpq.html new external/bsd/ntp/dist/html/ntptime.html new external/bsd/ntp/dist/html/ntptrace.html new external/bsd/ntp/dist/html/orphan.html new external/bsd/ntp/dist/html/parsedata.html new external/bsd/ntp/dist/html/parsenew.html new external/bsd/ntp/dist/html/poll.html new external/bsd/ntp/dist/html/pps.html new external/bsd/ntp/dist/html/prefer.html new external/bsd/ntp/dist/html/quick.html new external/bsd/ntp/dist/html/rate.html new external/bsd/ntp/dist/html/rdebug.html new external/bsd/ntp/dist/html/refclock.html new external/bsd/ntp/dist/html/release.html new external/bsd/ntp/dist/html/select.html new external/bsd/ntp/dist/html/sitemap.html new external/bsd/ntp/dist/html/sntp.html new external/bsd/ntp/dist/html/stats.html new external/bsd/ntp/dist/html/tickadj.html new external/bsd/ntp/dist/html/warp.html new external/bsd/ntp/dist/html/xleave.html new external/bsd/ntp/dist/html/drivers/driver1.html new external/bsd/ntp/dist/html/drivers/driver10.html new external/bsd/ntp/dist/html/drivers/driver11.html new external/bsd/ntp/dist/html/drivers/driver12.html new external/bsd/ntp/dist/html/drivers/driver16.html new external/bsd/ntp/dist/html/drivers/driver18.html new external/bsd/ntp/dist/html/drivers/driver19.html new external/bsd/ntp/dist/html/drivers/driver20.html new external/bsd/ntp/dist/html/drivers/driver22.html new external/bsd/ntp/dist/html/drivers/driver26.html new external/bsd/ntp/dist/html/drivers/driver27.html new external/bsd/ntp/dist/html/drivers/driver28.html new external/bsd/ntp/dist/html/drivers/driver29.html new external/bsd/ntp/dist/html/drivers/driver3.html new external/bsd/ntp/dist/html/drivers/driver30.html new external/bsd/ntp/dist/html/drivers/driver31.html new external/bsd/ntp/dist/html/drivers/driver32.html new external/bsd/ntp/dist/html/drivers/driver33.html new external/bsd/ntp/dist/html/drivers/driver34.html new external/bsd/ntp/dist/html/drivers/driver35.html new external/bsd/ntp/dist/html/drivers/driver36.html new external/bsd/ntp/dist/html/drivers/driver37.html new external/bsd/ntp/dist/html/drivers/driver38.html new external/bsd/ntp/dist/html/drivers/driver39.html new external/bsd/ntp/dist/html/drivers/driver4.html new external/bsd/ntp/dist/html/drivers/driver40.html new external/bsd/ntp/dist/html/drivers/driver42.html new external/bsd/ntp/dist/html/drivers/driver43.html new external/bsd/ntp/dist/html/drivers/driver44.html new external/bsd/ntp/dist/html/drivers/driver45.html new external/bsd/ntp/dist/html/drivers/driver46.html new external/bsd/ntp/dist/html/drivers/driver5.html new external/bsd/ntp/dist/html/drivers/driver6.html new external/bsd/ntp/dist/html/drivers/driver7.html new external/bsd/ntp/dist/html/drivers/driver8.html new external/bsd/ntp/dist/html/drivers/driver9.html new external/bsd/ntp/dist/html/drivers/mx4200data.html new external/bsd/ntp/dist/html/drivers/oncore-shmem.html new external/bsd/ntp/dist/html/drivers/tf582_4.html new external/bsd/ntp/dist/html/drivers/icons/home.gif new external/bsd/ntp/dist/html/drivers/icons/mail2.gif new external/bsd/ntp/dist/html/drivers/scripts/footer.txt new external/bsd/ntp/dist/html/drivers/scripts/style.css new external/bsd/ntp/dist/html/hints/a-ux new external/bsd/ntp/dist/html/hints/aix new external/bsd/ntp/dist/html/hints/bsdi new external/bsd/ntp/dist/html/hints/changes new external/bsd/ntp/dist/html/hints/decosf1 new external/bsd/ntp/dist/html/hints/decosf2 new external/bsd/ntp/dist/html/hints/freebsd new external/bsd/ntp/dist/html/hints/hpux new external/bsd/ntp/dist/html/hints/linux new external/bsd/ntp/dist/html/hints/mpeix new external/bsd/ntp/dist/html/hints/notes-xntp-v3 new external/bsd/ntp/dist/html/hints/parse new external/bsd/ntp/dist/html/hints/refclocks new external/bsd/ntp/dist/html/hints/rs6000 new external/bsd/ntp/dist/html/hints/sco.html new external/bsd/ntp/dist/html/hints/sgi new external/bsd/ntp/dist/html/hints/solaris-dosynctodr.html new external/bsd/ntp/dist/html/hints/solaris.html new external/bsd/ntp/dist/html/hints/solaris.xtra.4023118 new external/bsd/ntp/dist/html/hints/solaris.xtra.4095849 new external/bsd/ntp/dist/html/hints/solaris.xtra.S99ntpd new external/bsd/ntp/dist/html/hints/solaris.xtra.patchfreq new external/bsd/ntp/dist/html/hints/sun4 new external/bsd/ntp/dist/html/hints/svr4-dell new external/bsd/ntp/dist/html/hints/svr4_package new external/bsd/ntp/dist/html/hints/todo new external/bsd/ntp/dist/html/hints/vxworks.html new external/bsd/ntp/dist/html/hints/winnt.html new external/bsd/ntp/dist/html/icons/home.gif new external/bsd/ntp/dist/html/icons/mail2.gif new external/bsd/ntp/dist/html/icons/sitemap.png new external/bsd/ntp/dist/html/scripts/accopt.txt new external/bsd/ntp/dist/html/scripts/audio.txt new external/bsd/ntp/dist/html/scripts/authopt.txt new external/bsd/ntp/dist/html/scripts/clockopt.txt new external/bsd/ntp/dist/html/scripts/command.txt new external/bsd/ntp/dist/html/scripts/config.txt new external/bsd/ntp/dist/html/scripts/confopt.txt new external/bsd/ntp/dist/html/scripts/external.txt new external/bsd/ntp/dist/html/scripts/footer.txt new external/bsd/ntp/dist/html/scripts/hand.txt new external/bsd/ntp/dist/html/scripts/install.txt new external/bsd/ntp/dist/html/scripts/manual.txt new external/bsd/ntp/dist/html/scripts/misc.txt new external/bsd/ntp/dist/html/scripts/miscopt.txt new external/bsd/ntp/dist/html/scripts/monopt.txt new external/bsd/ntp/dist/html/scripts/refclock.txt new external/bsd/ntp/dist/html/scripts/special.txt new external/bsd/ntp/dist/html/scripts/style.css new external/bsd/ntp/dist/include/Makefile.am new external/bsd/ntp/dist/include/Makefile.in new external/bsd/ntp/dist/include/README new external/bsd/ntp/dist/include/adjtime.h new external/bsd/ntp/dist/include/ascii.h new external/bsd/ntp/dist/include/audio.h new external/bsd/ntp/dist/include/binio.h new external/bsd/ntp/dist/include/declcond.h new external/bsd/ntp/dist/include/gps.h new external/bsd/ntp/dist/include/hopf6039.h new external/bsd/ntp/dist/include/icom.h new external/bsd/ntp/dist/include/ieee754io.h new external/bsd/ntp/dist/include/intreswork.h new external/bsd/ntp/dist/include/iosignal.h new external/bsd/ntp/dist/include/l_stdlib.h new external/bsd/ntp/dist/include/lib_strbuf.h new external/bsd/ntp/dist/include/libntp.h new external/bsd/ntp/dist/include/mbg_gps166.h new external/bsd/ntp/dist/include/mx4200.h new external/bsd/ntp/dist/include/ntif.h new external/bsd/ntp/dist/include/ntp.h new external/bsd/ntp/dist/include/ntp_assert.h new external/bsd/ntp/dist/include/ntp_calendar.h new external/bsd/ntp/dist/include/ntp_cmdargs.h new external/bsd/ntp/dist/include/ntp_config.h new external/bsd/ntp/dist/include/ntp_control.h new external/bsd/ntp/dist/include/ntp_crypto.h new external/bsd/ntp/dist/include/ntp_datum.h new external/bsd/ntp/dist/include/ntp_debug.h new external/bsd/ntp/dist/include/ntp_filegen.h new external/bsd/ntp/dist/include/ntp_fp.h new external/bsd/ntp/dist/include/ntp_if.h new external/bsd/ntp/dist/include/ntp_intres.h new external/bsd/ntp/dist/include/ntp_io.h new external/bsd/ntp/dist/include/ntp_libopts.h new external/bsd/ntp/dist/include/ntp_lineedit.h new external/bsd/ntp/dist/include/ntp_lists.h new external/bsd/ntp/dist/include/ntp_machine.h new external/bsd/ntp/dist/include/ntp_malloc.h new external/bsd/ntp/dist/include/ntp_md5.h new external/bsd/ntp/dist/include/ntp_net.h new external/bsd/ntp/dist/include/ntp_prio_q.h new external/bsd/ntp/dist/include/ntp_proto.h new external/bsd/ntp/dist/include/ntp_random.h new external/bsd/ntp/dist/include/ntp_refclock.h new external/bsd/ntp/dist/include/ntp_request.h new external/bsd/ntp/dist/include/ntp_rfc2553.h new external/bsd/ntp/dist/include/ntp_select.h new external/bsd/ntp/dist/include/ntp_stdlib.h new external/bsd/ntp/dist/include/ntp_string.h new external/bsd/ntp/dist/include/ntp_syscall.h new external/bsd/ntp/dist/include/ntp_syslog.h new external/bsd/ntp/dist/include/ntp_tty.h new external/bsd/ntp/dist/include/ntp_types.h new external/bsd/ntp/dist/include/ntp_unixtime.h new external/bsd/ntp/dist/include/ntp_worker.h new external/bsd/ntp/dist/include/ntp_workimpl.h new external/bsd/ntp/dist/include/ntpd.h new external/bsd/ntp/dist/include/ntpsim.h new external/bsd/ntp/dist/include/parse.h new external/bsd/ntp/dist/include/parse_conf.h new external/bsd/ntp/dist/include/recvbuff.h new external/bsd/ntp/dist/include/refclock_atom.h new external/bsd/ntp/dist/include/ssl_applink.c new external/bsd/ntp/dist/include/timepps-SCO.h new external/bsd/ntp/dist/include/timepps-Solaris.h new external/bsd/ntp/dist/include/timepps-SunOS.h new external/bsd/ntp/dist/include/timespecops.h new external/bsd/ntp/dist/include/timetoa.h new external/bsd/ntp/dist/include/timevalops.h new external/bsd/ntp/dist/include/trimble.h new external/bsd/ntp/dist/include/vint64ops.h new external/bsd/ntp/dist/include/isc/Makefile.am new external/bsd/ntp/dist/include/isc/Makefile.in new external/bsd/ntp/dist/include/isc/mem.h new external/bsd/ntp/dist/kernel/Makefile.am new external/bsd/ntp/dist/kernel/Makefile.in new external/bsd/ntp/dist/kernel/sys/Makefile.am new external/bsd/ntp/dist/kernel/sys/Makefile.in new external/bsd/ntp/dist/kernel/sys/README new external/bsd/ntp/dist/kernel/sys/bsd_audioirig.h new external/bsd/ntp/dist/kernel/sys/i8253.h new external/bsd/ntp/dist/kernel/sys/parsestreams.h new external/bsd/ntp/dist/kernel/sys/pcl720.h new external/bsd/ntp/dist/kernel/sys/ppsclock.h new external/bsd/ntp/dist/kernel/sys/timex.h new external/bsd/ntp/dist/kernel/sys/tpro.h new external/bsd/ntp/dist/kernel/sys/tt560_api.h new external/bsd/ntp/dist/lib/isc/Atffile new external/bsd/ntp/dist/lib/isc/api new external/bsd/ntp/dist/lib/isc/app_api.c new external/bsd/ntp/dist/lib/isc/assertions.c new external/bsd/ntp/dist/lib/isc/backtrace-emptytbl.c new external/bsd/ntp/dist/lib/isc/backtrace.c new external/bsd/ntp/dist/lib/isc/base32.c new external/bsd/ntp/dist/lib/isc/base64.c new external/bsd/ntp/dist/lib/isc/bitstring.c new external/bsd/ntp/dist/lib/isc/buffer.c new external/bsd/ntp/dist/lib/isc/bufferlist.c new external/bsd/ntp/dist/lib/isc/commandline.c new external/bsd/ntp/dist/lib/isc/entropy.c new external/bsd/ntp/dist/lib/isc/error.c new external/bsd/ntp/dist/lib/isc/event.c new external/bsd/ntp/dist/lib/isc/fsaccess.c new external/bsd/ntp/dist/lib/isc/hash.c new external/bsd/ntp/dist/lib/isc/heap.c new external/bsd/ntp/dist/lib/isc/hex.c new external/bsd/ntp/dist/lib/isc/hmacmd5.c new external/bsd/ntp/dist/lib/isc/hmacsha.c new external/bsd/ntp/dist/lib/isc/httpd.c new external/bsd/ntp/dist/lib/isc/inet_aton.c new external/bsd/ntp/dist/lib/isc/inet_ntop.c new external/bsd/ntp/dist/lib/isc/inet_pton.c new external/bsd/ntp/dist/lib/isc/iterated_hash.c new external/bsd/ntp/dist/lib/isc/lex.c new external/bsd/ntp/dist/lib/isc/lfsr.c new external/bsd/ntp/dist/lib/isc/lib.c new external/bsd/ntp/dist/lib/isc/log.c new external/bsd/ntp/dist/lib/isc/md5.c new external/bsd/ntp/dist/lib/isc/mem.c new external/bsd/ntp/dist/lib/isc/mem_api.c new external/bsd/ntp/dist/lib/isc/mutexblock.c new external/bsd/ntp/dist/lib/isc/netaddr.c new external/bsd/ntp/dist/lib/isc/netscope.c new external/bsd/ntp/dist/lib/isc/ondestroy.c new external/bsd/ntp/dist/lib/isc/parseint.c new external/bsd/ntp/dist/lib/isc/portset.c new external/bsd/ntp/dist/lib/isc/print.c new external/bsd/ntp/dist/lib/isc/quota.c new external/bsd/ntp/dist/lib/isc/radix.c new external/bsd/ntp/dist/lib/isc/random.c new external/bsd/ntp/dist/lib/isc/ratelimiter.c new external/bsd/ntp/dist/lib/isc/refcount.c new external/bsd/ntp/dist/lib/isc/region.c new external/bsd/ntp/dist/lib/isc/result.c new external/bsd/ntp/dist/lib/isc/rwlock.c new external/bsd/ntp/dist/lib/isc/serial.c new external/bsd/ntp/dist/lib/isc/sha1.c new external/bsd/ntp/dist/lib/isc/sha2.c new external/bsd/ntp/dist/lib/isc/sockaddr.c new external/bsd/ntp/dist/lib/isc/socket_api.c new external/bsd/ntp/dist/lib/isc/stats.c new external/bsd/ntp/dist/lib/isc/string.c new external/bsd/ntp/dist/lib/isc/strtoul.c new external/bsd/ntp/dist/lib/isc/symtab.c new external/bsd/ntp/dist/lib/isc/task.c new external/bsd/ntp/dist/lib/isc/task_api.c new external/bsd/ntp/dist/lib/isc/task_p.h new external/bsd/ntp/dist/lib/isc/taskpool.c new external/bsd/ntp/dist/lib/isc/timer.c new external/bsd/ntp/dist/lib/isc/timer_api.c new external/bsd/ntp/dist/lib/isc/timer_p.h new external/bsd/ntp/dist/lib/isc/version.c new external/bsd/ntp/dist/lib/isc/alpha/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/ia64/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/include/isc/app.h new external/bsd/ntp/dist/lib/isc/include/isc/assertions.h new external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h new external/bsd/ntp/dist/lib/isc/include/isc/base32.h new external/bsd/ntp/dist/lib/isc/include/isc/base64.h new external/bsd/ntp/dist/lib/isc/include/isc/bind9.h new external/bsd/ntp/dist/lib/isc/include/isc/bitstring.h new external/bsd/ntp/dist/lib/isc/include/isc/boolean.h new external/bsd/ntp/dist/lib/isc/include/isc/buffer.h new external/bsd/ntp/dist/lib/isc/include/isc/bufferlist.h new external/bsd/ntp/dist/lib/isc/include/isc/commandline.h new external/bsd/ntp/dist/lib/isc/include/isc/entropy.h new external/bsd/ntp/dist/lib/isc/include/isc/error.h new external/bsd/ntp/dist/lib/isc/include/isc/event.h new external/bsd/ntp/dist/lib/isc/include/isc/eventclass.h new external/bsd/ntp/dist/lib/isc/include/isc/file.h new external/bsd/ntp/dist/lib/isc/include/isc/formatcheck.h new external/bsd/ntp/dist/lib/isc/include/isc/fsaccess.h new external/bsd/ntp/dist/lib/isc/include/isc/hash.h new external/bsd/ntp/dist/lib/isc/include/isc/heap.h new external/bsd/ntp/dist/lib/isc/include/isc/hex.h new external/bsd/ntp/dist/lib/isc/include/isc/hmacmd5.h new external/bsd/ntp/dist/lib/isc/include/isc/hmacsha.h new external/bsd/ntp/dist/lib/isc/include/isc/httpd.h new external/bsd/ntp/dist/lib/isc/include/isc/interfaceiter.h new external/bsd/ntp/dist/lib/isc/include/isc/ipv6.h new external/bsd/ntp/dist/lib/isc/include/isc/iterated_hash.h new external/bsd/ntp/dist/lib/isc/include/isc/lang.h new external/bsd/ntp/dist/lib/isc/include/isc/lex.h new external/bsd/ntp/dist/lib/isc/include/isc/lfsr.h new external/bsd/ntp/dist/lib/isc/include/isc/lib.h new external/bsd/ntp/dist/lib/isc/include/isc/list.h new external/bsd/ntp/dist/lib/isc/include/isc/log.h new external/bsd/ntp/dist/lib/isc/include/isc/magic.h new external/bsd/ntp/dist/lib/isc/include/isc/md5.h new external/bsd/ntp/dist/lib/isc/include/isc/mem.h new external/bsd/ntp/dist/lib/isc/include/isc/msgcat.h new external/bsd/ntp/dist/lib/isc/include/isc/msgs.h new external/bsd/ntp/dist/lib/isc/include/isc/mutexblock.h new external/bsd/ntp/dist/lib/isc/include/isc/namespace.h new external/bsd/ntp/dist/lib/isc/include/isc/netaddr.h new external/bsd/ntp/dist/lib/isc/include/isc/netscope.h new external/bsd/ntp/dist/lib/isc/include/isc/ondestroy.h new external/bsd/ntp/dist/lib/isc/include/isc/os.h new external/bsd/ntp/dist/lib/isc/include/isc/parseint.h new external/bsd/ntp/dist/lib/isc/include/isc/platform.h new external/bsd/ntp/dist/lib/isc/include/isc/platform.h.in new external/bsd/ntp/dist/lib/isc/include/isc/portset.h new external/bsd/ntp/dist/lib/isc/include/isc/print.h new external/bsd/ntp/dist/lib/isc/include/isc/queue.h new external/bsd/ntp/dist/lib/isc/include/isc/quota.h new external/bsd/ntp/dist/lib/isc/include/isc/radix.h new external/bsd/ntp/dist/lib/isc/include/isc/random.h new external/bsd/ntp/dist/lib/isc/include/isc/ratelimiter.h new external/bsd/ntp/dist/lib/isc/include/isc/refcount.h new external/bsd/ntp/dist/lib/isc/include/isc/region.h new external/bsd/ntp/dist/lib/isc/include/isc/resource.h new external/bsd/ntp/dist/lib/isc/include/isc/result.h new external/bsd/ntp/dist/lib/isc/include/isc/resultclass.h new external/bsd/ntp/dist/lib/isc/include/isc/rwlock.h new external/bsd/ntp/dist/lib/isc/include/isc/serial.h new external/bsd/ntp/dist/lib/isc/include/isc/sha1.h new external/bsd/ntp/dist/lib/isc/include/isc/sha2.h new external/bsd/ntp/dist/lib/isc/include/isc/sockaddr.h new external/bsd/ntp/dist/lib/isc/include/isc/socket.h new external/bsd/ntp/dist/lib/isc/include/isc/stats.h new external/bsd/ntp/dist/lib/isc/include/isc/stdio.h new external/bsd/ntp/dist/lib/isc/include/isc/stdlib.h new external/bsd/ntp/dist/lib/isc/include/isc/string.h new external/bsd/ntp/dist/lib/isc/include/isc/symtab.h new external/bsd/ntp/dist/lib/isc/include/isc/task.h new external/bsd/ntp/dist/lib/isc/include/isc/taskpool.h new external/bsd/ntp/dist/lib/isc/include/isc/timer.h new external/bsd/ntp/dist/lib/isc/include/isc/types.h new external/bsd/ntp/dist/lib/isc/include/isc/util.h new external/bsd/ntp/dist/lib/isc/include/isc/version.h new external/bsd/ntp/dist/lib/isc/include/isc/xml.h new external/bsd/ntp/dist/lib/isc/mips/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/nls/msgcat.c new external/bsd/ntp/dist/lib/isc/noatomic/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/nothreads/condition.c new external/bsd/ntp/dist/lib/isc/nothreads/mutex.c new external/bsd/ntp/dist/lib/isc/nothreads/thread.c new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/once.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/powerpc/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/pthreads/condition.c new external/bsd/ntp/dist/lib/isc/pthreads/mutex.c new external/bsd/ntp/dist/lib/isc/pthreads/thread.c new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/once.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/sparc64/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/tests/Atffile new external/bsd/ntp/dist/lib/isc/tests/hash_test.c new external/bsd/ntp/dist/lib/isc/tests/isctest.c new external/bsd/ntp/dist/lib/isc/tests/isctest.h new external/bsd/ntp/dist/lib/isc/tests/queue_test.c new external/bsd/ntp/dist/lib/isc/tests/socket_test.c new external/bsd/ntp/dist/lib/isc/tests/symtab_test.c new external/bsd/ntp/dist/lib/isc/tests/task_test.c new external/bsd/ntp/dist/lib/isc/tests/taskpool_test.c new external/bsd/ntp/dist/lib/isc/unix/app.c new external/bsd/ntp/dist/lib/isc/unix/dir.c new external/bsd/ntp/dist/lib/isc/unix/entropy.c new external/bsd/ntp/dist/lib/isc/unix/errno2result.c new external/bsd/ntp/dist/lib/isc/unix/errno2result.h new external/bsd/ntp/dist/lib/isc/unix/file.c new external/bsd/ntp/dist/lib/isc/unix/fsaccess.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_sysctl.c new external/bsd/ntp/dist/lib/isc/unix/interfaceiter.c new external/bsd/ntp/dist/lib/isc/unix/ipv6.c new external/bsd/ntp/dist/lib/isc/unix/keyboard.c new external/bsd/ntp/dist/lib/isc/unix/net.c new external/bsd/ntp/dist/lib/isc/unix/os.c new external/bsd/ntp/dist/lib/isc/unix/resource.c new external/bsd/ntp/dist/lib/isc/unix/socket.c new external/bsd/ntp/dist/lib/isc/unix/socket_p.h new external/bsd/ntp/dist/lib/isc/unix/stdio.c new external/bsd/ntp/dist/lib/isc/unix/stdtime.c new external/bsd/ntp/dist/lib/isc/unix/strerror.c new external/bsd/ntp/dist/lib/isc/unix/syslog.c new external/bsd/ntp/dist/lib/isc/unix/time.c new external/bsd/ntp/dist/lib/isc/unix/include/isc/dir.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/int.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/keyboard.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/net.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/netdb.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/offset.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/stat.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/stdtime.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/strerror.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/syslog.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/time.h new external/bsd/ntp/dist/lib/isc/win32/DLLMain.c new external/bsd/ntp/dist/lib/isc/win32/app.c new external/bsd/ntp/dist/lib/isc/win32/condition.c new external/bsd/ntp/dist/lib/isc/win32/dir.c new external/bsd/ntp/dist/lib/isc/win32/entropy.c new external/bsd/ntp/dist/lib/isc/win32/errno2result.c new external/bsd/ntp/dist/lib/isc/win32/errno2result.h new external/bsd/ntp/dist/lib/isc/win32/file.c new external/bsd/ntp/dist/lib/isc/win32/fsaccess.c new external/bsd/ntp/dist/lib/isc/win32/interfaceiter.c new external/bsd/ntp/dist/lib/isc/win32/ipv6.c new external/bsd/ntp/dist/lib/isc/win32/keyboard.c new external/bsd/ntp/dist/lib/isc/win32/libgen.h new external/bsd/ntp/dist/lib/isc/win32/libisc.def new external/bsd/ntp/dist/lib/isc/win32/libisc.dsp new external/bsd/ntp/dist/lib/isc/win32/libisc.dsw new external/bsd/ntp/dist/lib/isc/win32/libisc.mak new external/bsd/ntp/dist/lib/isc/win32/net.c new external/bsd/ntp/dist/lib/isc/win32/netdb.h new external/bsd/ntp/dist/lib/isc/win32/ntgroups.c new external/bsd/ntp/dist/lib/isc/win32/ntpaths.c new external/bsd/ntp/dist/lib/isc/win32/once.c new external/bsd/ntp/dist/lib/isc/win32/os.c new external/bsd/ntp/dist/lib/isc/win32/resource.c new external/bsd/ntp/dist/lib/isc/win32/socket.c new external/bsd/ntp/dist/lib/isc/win32/stdio.c new external/bsd/ntp/dist/lib/isc/win32/stdtime.c new external/bsd/ntp/dist/lib/isc/win32/strerror.c new external/bsd/ntp/dist/lib/isc/win32/syslog.c new external/bsd/ntp/dist/lib/isc/win32/syslog.h new external/bsd/ntp/dist/lib/isc/win32/thread.c new external/bsd/ntp/dist/lib/isc/win32/time.c new external/bsd/ntp/dist/lib/isc/win32/unistd.h new external/bsd/ntp/dist/lib/isc/win32/version.c new external/bsd/ntp/dist/lib/isc/win32/win32os.c new external/bsd/ntp/dist/lib/isc/win32/include/isc/bind_registry.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/bindevt.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/dir.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/int.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ipv6.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/keyboard.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/net.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/netdb.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ntgroups.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ntpaths.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/offset.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/once.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/platform.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/stat.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/stdtime.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/strerror.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/syslog.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/time.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/win32os.h new external/bsd/ntp/dist/lib/isc/x86_32/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/x86_64/include/isc/atomic.h new external/bsd/ntp/dist/libjsmn/LICENSE new external/bsd/ntp/dist/libjsmn/Makefile new external/bsd/ntp/dist/libjsmn/README.md new external/bsd/ntp/dist/libjsmn/jsmn.c new external/bsd/ntp/dist/libjsmn/jsmn.h new external/bsd/ntp/dist/libjsmn/jsmn_test.c new external/bsd/ntp/dist/libntp/Makefile.am new external/bsd/ntp/dist/libntp/Makefile.in new external/bsd/ntp/dist/libntp/README new external/bsd/ntp/dist/libntp/a_md5encrypt.c new external/bsd/ntp/dist/libntp/adjtime.c new external/bsd/ntp/dist/libntp/adjtimex.c new external/bsd/ntp/dist/libntp/atoint.c new external/bsd/ntp/dist/libntp/atolfp.c new external/bsd/ntp/dist/libntp/atouint.c new external/bsd/ntp/dist/libntp/audio.c new external/bsd/ntp/dist/libntp/authkeys.c new external/bsd/ntp/dist/libntp/authreadkeys.c new external/bsd/ntp/dist/libntp/authusekey.c new external/bsd/ntp/dist/libntp/bsd_strerror.c new external/bsd/ntp/dist/libntp/buftvtots.c new external/bsd/ntp/dist/libntp/caljulian.c new external/bsd/ntp/dist/libntp/caltontp.c new external/bsd/ntp/dist/libntp/calyearstart.c new external/bsd/ntp/dist/libntp/clocktime.c new external/bsd/ntp/dist/libntp/clocktypes.c new external/bsd/ntp/dist/libntp/decodenetnum.c new external/bsd/ntp/dist/libntp/dofptoa.c new external/bsd/ntp/dist/libntp/dolfptoa.c new external/bsd/ntp/dist/libntp/emalloc.c new external/bsd/ntp/dist/libntp/findconfig.c new external/bsd/ntp/dist/libntp/getopt.c new external/bsd/ntp/dist/libntp/hextoint.c new external/bsd/ntp/dist/libntp/hextolfp.c new external/bsd/ntp/dist/libntp/humandate.c new external/bsd/ntp/dist/libntp/icom.c new external/bsd/ntp/dist/libntp/iosignal.c new external/bsd/ntp/dist/libntp/lib_strbuf.c new external/bsd/ntp/dist/libntp/machines.c new external/bsd/ntp/dist/libntp/mktime.c new external/bsd/ntp/dist/libntp/modetoa.c new external/bsd/ntp/dist/libntp/mstolfp.c new external/bsd/ntp/dist/libntp/msyslog.c new external/bsd/ntp/dist/libntp/netof.c new external/bsd/ntp/dist/libntp/ntp_calendar.c new external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c new external/bsd/ntp/dist/libntp/ntp_intres.c new external/bsd/ntp/dist/libntp/ntp_libopts.c new external/bsd/ntp/dist/libntp/ntp_lineedit.c new external/bsd/ntp/dist/libntp/ntp_random.c new external/bsd/ntp/dist/libntp/ntp_rfc2553.c new external/bsd/ntp/dist/libntp/ntp_worker.c new external/bsd/ntp/dist/libntp/numtoa.c new external/bsd/ntp/dist/libntp/numtohost.c new external/bsd/ntp/dist/libntp/octtoint.c new external/bsd/ntp/dist/libntp/prettydate.c new external/bsd/ntp/dist/libntp/recvbuff.c new external/bsd/ntp/dist/libntp/refnumtoa.c new external/bsd/ntp/dist/libntp/snprintf.c new external/bsd/ntp/dist/libntp/socket.c new external/bsd/ntp/dist/libntp/socktoa.c new external/bsd/ntp/dist/libntp/socktohost.c new external/bsd/ntp/dist/libntp/ssl_init.c new external/bsd/ntp/dist/libntp/statestr.c new external/bsd/ntp/dist/libntp/strdup.c new external/bsd/ntp/dist/libntp/strl_obsd.c new external/bsd/ntp/dist/libntp/syssignal.c new external/bsd/ntp/dist/libntp/systime.c new external/bsd/ntp/dist/libntp/systime_s.c new external/bsd/ntp/dist/libntp/timetoa.c new external/bsd/ntp/dist/libntp/timevalops.c new external/bsd/ntp/dist/libntp/uglydate.c new external/bsd/ntp/dist/libntp/vint64ops.c new external/bsd/ntp/dist/libntp/work_fork.c new external/bsd/ntp/dist/libntp/work_thread.c new external/bsd/ntp/dist/libntp/ymd2yd.c new external/bsd/ntp/dist/libparse/Makefile.am new external/bsd/ntp/dist/libparse/Makefile.in new external/bsd/ntp/dist/libparse/README new external/bsd/ntp/dist/libparse/binio.c new external/bsd/ntp/dist/libparse/clk_computime.c new external/bsd/ntp/dist/libparse/clk_dcf7000.c new external/bsd/ntp/dist/libparse/clk_hopf6021.c new external/bsd/ntp/dist/libparse/clk_meinberg.c new external/bsd/ntp/dist/libparse/clk_rawdcf.c new external/bsd/ntp/dist/libparse/clk_rcc8000.c new external/bsd/ntp/dist/libparse/clk_schmid.c new external/bsd/ntp/dist/libparse/clk_sel240x.c new external/bsd/ntp/dist/libparse/clk_trimtaip.c new external/bsd/ntp/dist/libparse/clk_trimtsip.c new external/bsd/ntp/dist/libparse/clk_varitext.c new external/bsd/ntp/dist/libparse/clk_wharton.c new external/bsd/ntp/dist/libparse/data_mbg.c new external/bsd/ntp/dist/libparse/gpstolfp.c new external/bsd/ntp/dist/libparse/ieee754io.c new external/bsd/ntp/dist/libparse/info_trimble.c new external/bsd/ntp/dist/libparse/mfp_mul.c new external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed new external/bsd/ntp/dist/libparse/mkinfo_scmd.sed new external/bsd/ntp/dist/libparse/parse.c new external/bsd/ntp/dist/libparse/parse_conf.c new external/bsd/ntp/dist/libparse/parsesolaris.c new external/bsd/ntp/dist/libparse/parsestreams.c new external/bsd/ntp/dist/libparse/trim_info.c new external/bsd/ntp/dist/ntpd/Makefile.am new external/bsd/ntp/dist/ntpd/Makefile.in new external/bsd/ntp/dist/ntpd/check_y2k.c new external/bsd/ntp/dist/ntpd/cmd_args.c new external/bsd/ntp/dist/ntpd/complete.conf.in new external/bsd/ntp/dist/ntpd/declcond.h new external/bsd/ntp/dist/ntpd/invoke-ntp.conf.menu new external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi new external/bsd/ntp/dist/ntpd/invoke-ntp.keys.menu new external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi new external/bsd/ntp/dist/ntpd/invoke-ntpd.menu new external/bsd/ntp/dist/ntpd/invoke-ntpd.texi new external/bsd/ntp/dist/ntpd/jupiter.h new external/bsd/ntp/dist/ntpd/keyword-gen-utd new external/bsd/ntp/dist/ntpd/keyword-gen.c new external/bsd/ntp/dist/ntpd/ntp.conf.5man new external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc new external/bsd/ntp/dist/ntpd/ntp.conf.def new external/bsd/ntp/dist/ntpd/ntp.conf.html new external/bsd/ntp/dist/ntpd/ntp.conf.man.in new external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in new external/bsd/ntp/dist/ntpd/ntp.conf.texi new external/bsd/ntp/dist/ntpd/ntp.keys.5man new external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc new external/bsd/ntp/dist/ntpd/ntp.keys.def new external/bsd/ntp/dist/ntpd/ntp.keys.html new external/bsd/ntp/dist/ntpd/ntp.keys.man.in new external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in new external/bsd/ntp/dist/ntpd/ntp.keys.texi new external/bsd/ntp/dist/ntpd/ntp_config.c new external/bsd/ntp/dist/ntpd/ntp_control.c new external/bsd/ntp/dist/ntpd/ntp_crypto.c new external/bsd/ntp/dist/ntpd/ntp_filegen.c new external/bsd/ntp/dist/ntpd/ntp_io.c new external/bsd/ntp/dist/ntpd/ntp_keyword.h new external/bsd/ntp/dist/ntpd/ntp_leapsec.c new external/bsd/ntp/dist/ntpd/ntp_leapsec.h new external/bsd/ntp/dist/ntpd/ntp_loopfilter.c new external/bsd/ntp/dist/ntpd/ntp_monitor.c new external/bsd/ntp/dist/ntpd/ntp_parser.c new external/bsd/ntp/dist/ntpd/ntp_parser.h new external/bsd/ntp/dist/ntpd/ntp_parser.y new external/bsd/ntp/dist/ntpd/ntp_peer.c new external/bsd/ntp/dist/ntpd/ntp_prio_q.c new external/bsd/ntp/dist/ntpd/ntp_proto.c new external/bsd/ntp/dist/ntpd/ntp_refclock.c new external/bsd/ntp/dist/ntpd/ntp_request.c new external/bsd/ntp/dist/ntpd/ntp_restrict.c new external/bsd/ntp/dist/ntpd/ntp_scanner.c new external/bsd/ntp/dist/ntpd/ntp_scanner.h new external/bsd/ntp/dist/ntpd/ntp_signd.c new external/bsd/ntp/dist/ntpd/ntp_timer.c new external/bsd/ntp/dist/ntpd/ntp_util.c new external/bsd/ntp/dist/ntpd/ntpd-opts.c new external/bsd/ntp/dist/ntpd/ntpd-opts.def new external/bsd/ntp/dist/ntpd/ntpd-opts.h new external/bsd/ntp/dist/ntpd/ntpd.1ntpdman new external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc new external/bsd/ntp/dist/ntpd/ntpd.c new external/bsd/ntp/dist/ntpd/ntpd.html new external/bsd/ntp/dist/ntpd/ntpd.man.in new external/bsd/ntp/dist/ntpd/ntpd.mdoc.in new external/bsd/ntp/dist/ntpd/ntpd.texi new external/bsd/ntp/dist/ntpd/ntpdbase-opts.def new external/bsd/ntp/dist/ntpd/ntpsim.c new external/bsd/ntp/dist/ntpd/ppsapi_timepps.h new external/bsd/ntp/dist/ntpd/refclock_acts.c new external/bsd/ntp/dist/ntpd/refclock_arbiter.c new external/bsd/ntp/dist/ntpd/refclock_arc.c new external/bsd/ntp/dist/ntpd/refclock_as2201.c new external/bsd/ntp/dist/ntpd/refclock_atom.c new external/bsd/ntp/dist/ntpd/refclock_bancomm.c new external/bsd/ntp/dist/ntpd/refclock_chronolog.c new external/bsd/ntp/dist/ntpd/refclock_chu.c new external/bsd/ntp/dist/ntpd/refclock_conf.c new external/bsd/ntp/dist/ntpd/refclock_datum.c new external/bsd/ntp/dist/ntpd/refclock_dumbclock.c new external/bsd/ntp/dist/ntpd/refclock_fg.c new external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c new external/bsd/ntp/dist/ntpd/refclock_gpsvme.c new external/bsd/ntp/dist/ntpd/refclock_heath.c new external/bsd/ntp/dist/ntpd/refclock_hopfpci.c new external/bsd/ntp/dist/ntpd/refclock_hopfser.c new external/bsd/ntp/dist/ntpd/refclock_hpgps.c new external/bsd/ntp/dist/ntpd/refclock_irig.c new external/bsd/ntp/dist/ntpd/refclock_jjy.c new external/bsd/ntp/dist/ntpd/refclock_jupiter.c new external/bsd/ntp/dist/ntpd/refclock_leitch.c new external/bsd/ntp/dist/ntpd/refclock_local.c new external/bsd/ntp/dist/ntpd/refclock_msfees.c new external/bsd/ntp/dist/ntpd/refclock_mx4200.c new external/bsd/ntp/dist/ntpd/refclock_neoclock4x.c new external/bsd/ntp/dist/ntpd/refclock_nmea.c new external/bsd/ntp/dist/ntpd/refclock_oncore.c new external/bsd/ntp/dist/ntpd/refclock_palisade.c new external/bsd/ntp/dist/ntpd/refclock_palisade.h new external/bsd/ntp/dist/ntpd/refclock_parse.c new external/bsd/ntp/dist/ntpd/refclock_pcf.c new external/bsd/ntp/dist/ntpd/refclock_pst.c new external/bsd/ntp/dist/ntpd/refclock_ripencc.c new external/bsd/ntp/dist/ntpd/refclock_shm.c new external/bsd/ntp/dist/ntpd/refclock_tpro.c new external/bsd/ntp/dist/ntpd/refclock_true.c new external/bsd/ntp/dist/ntpd/refclock_tsyncpci.c new external/bsd/ntp/dist/ntpd/refclock_tt560.c new external/bsd/ntp/dist/ntpd/refclock_ulink.c new external/bsd/ntp/dist/ntpd/refclock_wwv.c new external/bsd/ntp/dist/ntpd/refclock_wwvb.c new external/bsd/ntp/dist/ntpd/refclock_zyfer.c new external/bsd/ntp/dist/ntpdate/Makefile.am new external/bsd/ntp/dist/ntpdate/Makefile.in new external/bsd/ntp/dist/ntpdate/README new external/bsd/ntp/dist/ntpdate/ntpdate.c new external/bsd/ntp/dist/ntpdate/ntpdate.h new external/bsd/ntp/dist/ntpdc/Makefile.am new external/bsd/ntp/dist/ntpdc/Makefile.in new external/bsd/ntp/dist/ntpdc/README new external/bsd/ntp/dist/ntpdc/invoke-ntpdc.menu new external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi new external/bsd/ntp/dist/ntpdc/layout.std new external/bsd/ntp/dist/ntpdc/nl.pl new external/bsd/ntp/dist/ntpdc/nl.pl.in new external/bsd/ntp/dist/ntpdc/nl_in.c new external/bsd/ntp/dist/ntpdc/ntpdc-layout.c new external/bsd/ntp/dist/ntpdc/ntpdc-opts.c new external/bsd/ntp/dist/ntpdc/ntpdc-opts.def new external/bsd/ntp/dist/ntpdc/ntpdc-opts.h new external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman new external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc new external/bsd/ntp/dist/ntpdc/ntpdc.c new external/bsd/ntp/dist/ntpdc/ntpdc.h new external/bsd/ntp/dist/ntpdc/ntpdc.html new external/bsd/ntp/dist/ntpdc/ntpdc.man.in new external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in new external/bsd/ntp/dist/ntpdc/ntpdc.texi new external/bsd/ntp/dist/ntpdc/ntpdc_ops.c new external/bsd/ntp/dist/ntpq/Makefile.am new external/bsd/ntp/dist/ntpq/Makefile.in new external/bsd/ntp/dist/ntpq/README new external/bsd/ntp/dist/ntpq/invoke-ntpq.menu new external/bsd/ntp/dist/ntpq/invoke-ntpq.texi new external/bsd/ntp/dist/ntpq/libntpq.c new external/bsd/ntp/dist/ntpq/libntpq.h new external/bsd/ntp/dist/ntpq/libntpq_subs.c new external/bsd/ntp/dist/ntpq/ntpq-opts.c new external/bsd/ntp/dist/ntpq/ntpq-opts.def new external/bsd/ntp/dist/ntpq/ntpq-opts.h new external/bsd/ntp/dist/ntpq/ntpq-subs.c new external/bsd/ntp/dist/ntpq/ntpq.1ntpqman new external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc new external/bsd/ntp/dist/ntpq/ntpq.c new external/bsd/ntp/dist/ntpq/ntpq.h new external/bsd/ntp/dist/ntpq/ntpq.html new external/bsd/ntp/dist/ntpq/ntpq.man.in new external/bsd/ntp/dist/ntpq/ntpq.mdoc.in new external/bsd/ntp/dist/ntpq/ntpq.texi new external/bsd/ntp/dist/ntpsnmpd/Makefile.am new external/bsd/ntp/dist/ntpsnmpd/Makefile.in new external/bsd/ntp/dist/ntpsnmpd/README new external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.menu new external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi new external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c new external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.c new external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.h new external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.def new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.c new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.texi new external/bsd/ntp/dist/ntpsnmpd/ntpv4-mib.mib new external/bsd/ntp/dist/parseutil/Makefile.am new external/bsd/ntp/dist/parseutil/Makefile.in new external/bsd/ntp/dist/parseutil/README new external/bsd/ntp/dist/parseutil/dcfd.c new external/bsd/ntp/dist/parseutil/testdcf.c new external/bsd/ntp/dist/scripts/Makefile.am new external/bsd/ntp/dist/scripts/Makefile.in new external/bsd/ntp/dist/scripts/README new external/bsd/ntp/dist/scripts/invoke-plot_summary.menu new external/bsd/ntp/dist/scripts/invoke-plot_summary.texi new external/bsd/ntp/dist/scripts/invoke-summary.menu new external/bsd/ntp/dist/scripts/invoke-summary.texi new external/bsd/ntp/dist/scripts/ntpver.in new external/bsd/ntp/dist/scripts/plot_summary-opts new external/bsd/ntp/dist/scripts/plot_summary-opts.def new external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman new external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc new external/bsd/ntp/dist/scripts/plot_summary.html new external/bsd/ntp/dist/scripts/plot_summary.in new external/bsd/ntp/dist/scripts/plot_summary.man.in new external/bsd/ntp/dist/scripts/plot_summary.mdoc.in new external/bsd/ntp/dist/scripts/plot_summary.texi new external/bsd/ntp/dist/scripts/summary-opts new external/bsd/ntp/dist/scripts/summary-opts.def new external/bsd/ntp/dist/scripts/summary.1summaryman new external/bsd/ntp/dist/scripts/summary.1summarymdoc new external/bsd/ntp/dist/scripts/summary.html new external/bsd/ntp/dist/scripts/summary.in new external/bsd/ntp/dist/scripts/summary.man.in new external/bsd/ntp/dist/scripts/summary.mdoc.in new external/bsd/ntp/dist/scripts/summary.texi new external/bsd/ntp/dist/scripts/build/Makefile.am new external/bsd/ntp/dist/scripts/build/Makefile.in new external/bsd/ntp/dist/scripts/build/UpdatePoint new external/bsd/ntp/dist/scripts/build/VersionName new external/bsd/ntp/dist/scripts/build/check--help new external/bsd/ntp/dist/scripts/build/checkChangeLog new external/bsd/ntp/dist/scripts/build/checkHtmlFileDates new external/bsd/ntp/dist/scripts/build/fixautomakedepsmagic new external/bsd/ntp/dist/scripts/build/genCommitLog new external/bsd/ntp/dist/scripts/build/genver new external/bsd/ntp/dist/scripts/build/mkver.in new external/bsd/ntp/dist/scripts/build/updateBEDate new external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.am new external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts.def new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmannew external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.texi new external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.menu new external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi new external/bsd/ntp/dist/scripts/deprecated/freq_adj.in new external/bsd/ntp/dist/scripts/deprecated/hpadjtime.sh new external/bsd/ntp/dist/scripts/deprecated/html2man.in new external/bsd/ntp/dist/scripts/deprecated/ntp-close new external/bsd/ntp/dist/scripts/deprecated/ntp-groper new external/bsd/ntp/dist/scripts/deprecated/ntp-restart new external/bsd/ntp/dist/scripts/deprecated/ntp-status new external/bsd/ntp/dist/scripts/lib/Makefile.am new external/bsd/ntp/dist/scripts/lib/Makefile.in new external/bsd/ntp/dist/scripts/lib/NTP/Util.pm new external/bsd/ntp/dist/scripts/monitoring/README new external/bsd/ntp/dist/scripts/monitoring/loopwatch.config.SAMPLE new external/bsd/ntp/dist/scripts/monitoring/lr.pl new external/bsd/ntp/dist/scripts/monitoring/ntp.pl new external/bsd/ntp/dist/scripts/monitoring/ntploopstat new external/bsd/ntp/dist/scripts/monitoring/ntploopwatch new external/bsd/ntp/dist/scripts/monitoring/ntptrap new external/bsd/ntp/dist/scripts/monitoring/timelocal.pl new external/bsd/ntp/dist/scripts/ntp-wait/Makefile.am new external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in new external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.menu new external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts.def new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.texi new external/bsd/ntp/dist/scripts/ntpsweep/Makefile.am new external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in new external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.menu new external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts.def new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.texi new external/bsd/ntp/dist/scripts/ntptrace/Makefile.am new external/bsd/ntp/dist/scripts/ntptrace/Makefile.in new external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.menu new external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi new external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts new external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts.def new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.texi new external/bsd/ntp/dist/scripts/rc/README new external/bsd/ntp/dist/scripts/rc/ntpd new external/bsd/ntp/dist/scripts/rc/ntpwait new external/bsd/ntp/dist/scripts/rc/rc.d/TIMESYNC new external/bsd/ntp/dist/scripts/rc/rc.d/ntpd new external/bsd/ntp/dist/scripts/rc/rc.d/ntpwait new external/bsd/ntp/dist/scripts/stats/README new external/bsd/ntp/dist/scripts/stats/README.stats new external/bsd/ntp/dist/scripts/stats/README.timecodes new external/bsd/ntp/dist/scripts/stats/clock.awk new external/bsd/ntp/dist/scripts/stats/dupe.awk new external/bsd/ntp/dist/scripts/stats/ensemble.S new external/bsd/ntp/dist/scripts/stats/ensemble.awk new external/bsd/ntp/dist/scripts/stats/etf.S new external/bsd/ntp/dist/scripts/stats/etf.awk new external/bsd/ntp/dist/scripts/stats/itf.S new external/bsd/ntp/dist/scripts/stats/itf.awk new external/bsd/ntp/dist/scripts/stats/loop.S new external/bsd/ntp/dist/scripts/stats/loop.awk new external/bsd/ntp/dist/scripts/stats/loop_summary new external/bsd/ntp/dist/scripts/stats/peer.awk new external/bsd/ntp/dist/scripts/stats/psummary.awk new external/bsd/ntp/dist/scripts/stats/summary.sh new external/bsd/ntp/dist/scripts/stats/tdata.S new external/bsd/ntp/dist/scripts/stats/tdata.awk new external/bsd/ntp/dist/sntp/COPYRIGHT new external/bsd/ntp/dist/sntp/Makefile.am new external/bsd/ntp/dist/sntp/Makefile.in new external/bsd/ntp/dist/sntp/aclocal.m4 new external/bsd/ntp/dist/sntp/bincheck.mf new external/bsd/ntp/dist/sntp/check-libntp.mf new external/bsd/ntp/dist/sntp/check-libopts.mf new external/bsd/ntp/dist/sntp/config.h.in new external/bsd/ntp/dist/sntp/configure new external/bsd/ntp/dist/sntp/configure.ac new external/bsd/ntp/dist/sntp/crypto.c new external/bsd/ntp/dist/sntp/crypto.h new external/bsd/ntp/dist/sntp/data_formats.h new external/bsd/ntp/dist/sntp/deps-ver new external/bsd/ntp/dist/sntp/depsver.mf new external/bsd/ntp/dist/sntp/evlog.c new external/bsd/ntp/dist/sntp/includes.mf new external/bsd/ntp/dist/sntp/install-sh new external/bsd/ntp/dist/sntp/invoke-sntp.menu new external/bsd/ntp/dist/sntp/invoke-sntp.texi new external/bsd/ntp/dist/sntp/kod_management.c new external/bsd/ntp/dist/sntp/kod_management.h new external/bsd/ntp/dist/sntp/log.c new external/bsd/ntp/dist/sntp/log.h new external/bsd/ntp/dist/sntp/main.c new external/bsd/ntp/dist/sntp/main.h new external/bsd/ntp/dist/sntp/networking.c new external/bsd/ntp/dist/sntp/networking.h new external/bsd/ntp/dist/sntp/scm-rev new external/bsd/ntp/dist/sntp/sntp-opts.c new external/bsd/ntp/dist/sntp/sntp-opts.def new external/bsd/ntp/dist/sntp/sntp-opts.h new external/bsd/ntp/dist/sntp/sntp.1sntpman new external/bsd/ntp/dist/sntp/sntp.1sntpmdoc new external/bsd/ntp/dist/sntp/sntp.c new external/bsd/ntp/dist/sntp/sntp.html new external/bsd/ntp/dist/sntp/sntp.man.in new external/bsd/ntp/dist/sntp/sntp.mdoc.in new external/bsd/ntp/dist/sntp/sntp.texi new external/bsd/ntp/dist/sntp/tests_main.cpp new external/bsd/ntp/dist/sntp/tests_main.h new external/bsd/ntp/dist/sntp/utilities.c new external/bsd/ntp/dist/sntp/utilities.h new external/bsd/ntp/dist/sntp/ag-tpl/0-old/Mdoc.pm new external/bsd/ntp/dist/sntp/ag-tpl/0-old/agman-cmd.tpl new external/bsd/ntp/dist/sntp/ag-tpl/0-old/agmdoc-cmd.tpl new external/bsd/ntp/dist/sntp/ag-tpl/0-old/cmd-doc.tlib new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc-synopsis.tlib new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2man new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2texi new external/bsd/ntp/dist/sntp/ag-tpl/0-old/perlopt.tpl new external/bsd/ntp/dist/sntp/event2/event-config.h new external/bsd/ntp/dist/sntp/include/Makefile.am new external/bsd/ntp/dist/sntp/include/Makefile.in new external/bsd/ntp/dist/sntp/include/autogen-version.def new external/bsd/ntp/dist/sntp/include/copyright.def new external/bsd/ntp/dist/sntp/include/debug-opt.def new external/bsd/ntp/dist/sntp/include/homerc.def new external/bsd/ntp/dist/sntp/include/ntp.lic new external/bsd/ntp/dist/sntp/include/version.def new external/bsd/ntp/dist/sntp/include/version.texi new external/bsd/ntp/dist/sntp/libevent/ChangeLog new external/bsd/ntp/dist/sntp/libevent/ChangeLog-1.4 new external/bsd/ntp/dist/sntp/libevent/ChangeLog-2.0 new external/bsd/ntp/dist/sntp/libevent/Doxyfile new external/bsd/ntp/dist/sntp/libevent/LICENSE new external/bsd/ntp/dist/sntp/libevent/Makefile.am new external/bsd/ntp/dist/sntp/libevent/Makefile.in new external/bsd/ntp/dist/sntp/libevent/Makefile.nmake new external/bsd/ntp/dist/sntp/libevent/README new external/bsd/ntp/dist/sntp/libevent/aclocal.m4 new external/bsd/ntp/dist/sntp/libevent/arc4random.c new external/bsd/ntp/dist/sntp/libevent/autogen.sh new external/bsd/ntp/dist/sntp/libevent/buffer.c new external/bsd/ntp/dist/sntp/libevent/buffer_iocp.c new external/bsd/ntp/dist/sntp/libevent/bufferevent-internal.h new external/bsd/ntp/dist/sntp/libevent/bufferevent.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_ratelim.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_sock.c new external/bsd/ntp/dist/sntp/libevent/changelist-internal.h new external/bsd/ntp/dist/sntp/libevent/config.h.in new external/bsd/ntp/dist/sntp/libevent/configure new external/bsd/ntp/dist/sntp/libevent/configure.ac new external/bsd/ntp/dist/sntp/libevent/defer-internal.h new external/bsd/ntp/dist/sntp/libevent/devpoll.c new external/bsd/ntp/dist/sntp/libevent/epoll.c new external/bsd/ntp/dist/sntp/libevent/epoll_sub.c new external/bsd/ntp/dist/sntp/libevent/epolltable-internal.h new external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h new external/bsd/ntp/dist/sntp/libevent/evconfig-private.h new external/bsd/ntp/dist/sntp/libevent/evconfig-private.h.in new external/bsd/ntp/dist/sntp/libevent/evdns.c new external/bsd/ntp/dist/sntp/libevent/event-internal.h new external/bsd/ntp/dist/sntp/libevent/event.c new external/bsd/ntp/dist/sntp/libevent/event_iocp.c new external/bsd/ntp/dist/sntp/libevent/event_rpcgen.py new external/bsd/ntp/dist/sntp/libevent/event_tagging.c new external/bsd/ntp/dist/sntp/libevent/evmap-internal.h new external/bsd/ntp/dist/sntp/libevent/evmap.c new external/bsd/ntp/dist/sntp/libevent/evport.c new external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h new external/bsd/ntp/dist/sntp/libevent/evrpc.c new external/bsd/ntp/dist/sntp/libevent/evsignal-internal.h new external/bsd/ntp/dist/sntp/libevent/evthread-internal.h new external/bsd/ntp/dist/sntp/libevent/evthread.c new external/bsd/ntp/dist/sntp/libevent/evthread_pthread.c new external/bsd/ntp/dist/sntp/libevent/evthread_win32.c new external/bsd/ntp/dist/sntp/libevent/evutil.c new external/bsd/ntp/dist/sntp/libevent/evutil_rand.c new external/bsd/ntp/dist/sntp/libevent/evutil_time.c new external/bsd/ntp/dist/sntp/libevent/ht-internal.h new external/bsd/ntp/dist/sntp/libevent/http-internal.h new external/bsd/ntp/dist/sntp/libevent/http.c new external/bsd/ntp/dist/sntp/libevent/iocp-internal.h new external/bsd/ntp/dist/sntp/libevent/ipv6-internal.h new external/bsd/ntp/dist/sntp/libevent/kqueue-internal.h new external/bsd/ntp/dist/sntp/libevent/kqueue.c new external/bsd/ntp/dist/sntp/libevent/libevent.pc.in new external/bsd/ntp/dist/sntp/libevent/libevent_openssl.pc.in new external/bsd/ntp/dist/sntp/libevent/libevent_pthreads.pc.in new external/bsd/ntp/dist/sntp/libevent/listener.c new external/bsd/ntp/dist/sntp/libevent/log-internal.h new external/bsd/ntp/dist/sntp/libevent/log.c new external/bsd/ntp/dist/sntp/libevent/make-event-config.sed new external/bsd/ntp/dist/sntp/libevent/minheap-internal.h new external/bsd/ntp/dist/sntp/libevent/mm-internal.h new external/bsd/ntp/dist/sntp/libevent/poll.c new external/bsd/ntp/dist/sntp/libevent/ratelim-internal.h new external/bsd/ntp/dist/sntp/libevent/select.c new external/bsd/ntp/dist/sntp/libevent/signal.c new external/bsd/ntp/dist/sntp/libevent/strlcpy-internal.h new external/bsd/ntp/dist/sntp/libevent/strlcpy.c new external/bsd/ntp/dist/sntp/libevent/time-internal.h new external/bsd/ntp/dist/sntp/libevent/util-internal.h new external/bsd/ntp/dist/sntp/libevent/whatsnew-2.0.txt new external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt new external/bsd/ntp/dist/sntp/libevent/win32select.c new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/evconfig-private.h new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h new external/bsd/ntp/dist/sntp/libevent/build-aux/compile new external/bsd/ntp/dist/sntp/libevent/build-aux/config.guess new external/bsd/ntp/dist/sntp/libevent/build-aux/config.sub new external/bsd/ntp/dist/sntp/libevent/build-aux/depcomp new external/bsd/ntp/dist/sntp/libevent/build-aux/install-sh new external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh new external/bsd/ntp/dist/sntp/libevent/build-aux/missing new external/bsd/ntp/dist/sntp/libevent/build-aux/ylwrap new external/bsd/ntp/dist/sntp/libevent/compat/sys/queue.h new external/bsd/ntp/dist/sntp/libevent/include/evdns.h new external/bsd/ntp/dist/sntp/libevent/include/event.h new external/bsd/ntp/dist/sntp/libevent/include/evhttp.h new external/bsd/ntp/dist/sntp/libevent/include/evrpc.h new external/bsd/ntp/dist/sntp/libevent/include/evutil.h new external/bsd/ntp/dist/sntp/libevent/include/include.am new external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h new external/bsd/ntp/dist/sntp/libevent/include/event2/buffer_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_ssl.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/keyvalq_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/tag.h new external/bsd/ntp/dist/sntp/libevent/include/event2/tag_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/thread.h new external/bsd/ntp/dist/sntp/libevent/include/event2/util.h new external/bsd/ntp/dist/sntp/libevent/include/event2/visibility.h new external/bsd/ntp/dist/sntp/libevent/m4/ac_backport_259_ssizet.m4 new external/bsd/ntp/dist/sntp/libevent/m4/libevent_openssl.m4 new external/bsd/ntp/dist/sntp/libevent/m4/libtool.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltoptions.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltsugar.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4 new external/bsd/ntp/dist/sntp/libevent/m4/lt~obsolete.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ntp_pkg_config.m4 new external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4 new external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4 new external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c new external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c new external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c new external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c new external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h new external/bsd/ntp/dist/sntp/libevent/sample/http-server.c new external/bsd/ntp/dist/sntp/libevent/sample/https-client.c new external/bsd/ntp/dist/sntp/libevent/sample/include.am new external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c new external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.cnew external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.hnew external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c new external/bsd/ntp/dist/sntp/libevent/sample/time-test.c new external/bsd/ntp/dist/sntp/libevent/test/Makefile.nmake new external/bsd/ntp/dist/sntp/libevent/test/bench.c new external/bsd/ntp/dist/sntp/libevent/test/bench_cascade.c new external/bsd/ntp/dist/sntp/libevent/test/bench_http.c new external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c new external/bsd/ntp/dist/sntp/libevent/test/check-dumpevents.py new external/bsd/ntp/dist/sntp/libevent/test/include.am new external/bsd/ntp/dist/sntp/libevent/test/regress.c new external/bsd/ntp/dist/sntp/libevent/test/regress.gen.c new external/bsd/ntp/dist/sntp/libevent/test/regress.gen.h new external/bsd/ntp/dist/sntp/libevent/test/regress.h new external/bsd/ntp/dist/sntp/libevent/test/regress.rpc new external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c new external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c new external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c new external/bsd/ntp/dist/sntp/libevent/test/regress_et.c new external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c new external/bsd/ntp/dist/sntp/libevent/test/regress_http.c new external/bsd/ntp/dist/sntp/libevent/test/regress_iocp.c new external/bsd/ntp/dist/sntp/libevent/test/regress_listener.c new external/bsd/ntp/dist/sntp/libevent/test/regress_main.c new external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c new external/bsd/ntp/dist/sntp/libevent/test/regress_rpc.c new external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c new external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.c new external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.h new external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c new external/bsd/ntp/dist/sntp/libevent/test/regress_thread.h new external/bsd/ntp/dist/sntp/libevent/test/regress_util.c new external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c new external/bsd/ntp/dist/sntp/libevent/test/rpcgen_wrapper.sh new external/bsd/ntp/dist/sntp/libevent/test/test-changelist.c new external/bsd/ntp/dist/sntp/libevent/test/test-closed.c new external/bsd/ntp/dist/sntp/libevent/test/test-dumpevents.c new external/bsd/ntp/dist/sntp/libevent/test/test-eof.c new external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c new external/bsd/ntp/dist/sntp/libevent/test/test-init.c new external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c new external/bsd/ntp/dist/sntp/libevent/test/test-time.c new external/bsd/ntp/dist/sntp/libevent/test/test-weof.c new external/bsd/ntp/dist/sntp/libevent/test/test.sh new external/bsd/ntp/dist/sntp/libevent/test/tinytest.c new external/bsd/ntp/dist/sntp/libevent/test/tinytest.h new external/bsd/ntp/dist/sntp/libevent/test/tinytest_local.h new external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h new external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3 new external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3 new external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd new external/bsd/ntp/dist/sntp/libopts/MakeDefs.inc new external/bsd/ntp/dist/sntp/libopts/Makefile.am new external/bsd/ntp/dist/sntp/libopts/Makefile.in new external/bsd/ntp/dist/sntp/libopts/README new external/bsd/ntp/dist/sntp/libopts/ag-char-map.h new external/bsd/ntp/dist/sntp/libopts/alias.c new external/bsd/ntp/dist/sntp/libopts/ao-strs.c new external/bsd/ntp/dist/sntp/libopts/ao-strs.h new external/bsd/ntp/dist/sntp/libopts/autoopts.c new external/bsd/ntp/dist/sntp/libopts/autoopts.h new external/bsd/ntp/dist/sntp/libopts/boolean.c new external/bsd/ntp/dist/sntp/libopts/check.c new external/bsd/ntp/dist/sntp/libopts/configfile.c new external/bsd/ntp/dist/sntp/libopts/cook.c new external/bsd/ntp/dist/sntp/libopts/enum.c new external/bsd/ntp/dist/sntp/libopts/env.c new external/bsd/ntp/dist/sntp/libopts/file.c new external/bsd/ntp/dist/sntp/libopts/find.c new external/bsd/ntp/dist/sntp/libopts/genshell.c new external/bsd/ntp/dist/sntp/libopts/genshell.h new external/bsd/ntp/dist/sntp/libopts/gettext.h new external/bsd/ntp/dist/sntp/libopts/init.c new external/bsd/ntp/dist/sntp/libopts/intprops.h new external/bsd/ntp/dist/sntp/libopts/libopts.c new external/bsd/ntp/dist/sntp/libopts/load.c new external/bsd/ntp/dist/sntp/libopts/makeshell.c new external/bsd/ntp/dist/sntp/libopts/nested.c new external/bsd/ntp/dist/sntp/libopts/numeric.c new external/bsd/ntp/dist/sntp/libopts/option-value-type.c new external/bsd/ntp/dist/sntp/libopts/option-value-type.h new external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c new external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h new external/bsd/ntp/dist/sntp/libopts/parse-duration.c new external/bsd/ntp/dist/sntp/libopts/parse-duration.h new external/bsd/ntp/dist/sntp/libopts/pgusage.c new external/bsd/ntp/dist/sntp/libopts/proto.h new external/bsd/ntp/dist/sntp/libopts/putshell.c new external/bsd/ntp/dist/sntp/libopts/reset.c new external/bsd/ntp/dist/sntp/libopts/restore.c new external/bsd/ntp/dist/sntp/libopts/save.c new external/bsd/ntp/dist/sntp/libopts/sort.c new external/bsd/ntp/dist/sntp/libopts/stack.c new external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h new external/bsd/ntp/dist/sntp/libopts/streqvcmp.c new external/bsd/ntp/dist/sntp/libopts/text_mmap.c new external/bsd/ntp/dist/sntp/libopts/time.c new external/bsd/ntp/dist/sntp/libopts/tokenize.c new external/bsd/ntp/dist/sntp/libopts/usage.c new external/bsd/ntp/dist/sntp/libopts/version.c new external/bsd/ntp/dist/sntp/libopts/autoopts/options.h new external/bsd/ntp/dist/sntp/libopts/autoopts/project.h new external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h new external/bsd/ntp/dist/sntp/libopts/compat/_Noreturn.h new external/bsd/ntp/dist/sntp/libopts/compat/compat.h new external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c new external/bsd/ntp/dist/sntp/libopts/compat/snprintf.c new external/bsd/ntp/dist/sntp/libopts/compat/strchr.c new external/bsd/ntp/dist/sntp/libopts/compat/strdup.c new external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h new external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4 new external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4 new external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4 new external/bsd/ntp/dist/sntp/loc/README new external/bsd/ntp/dist/sntp/loc/darwin new external/bsd/ntp/dist/sntp/loc/debian new external/bsd/ntp/dist/sntp/loc/freebsd new external/bsd/ntp/dist/sntp/loc/legacy new external/bsd/ntp/dist/sntp/loc/netbsd new external/bsd/ntp/dist/sntp/loc/redhat new external/bsd/ntp/dist/sntp/loc/solaris new external/bsd/ntp/dist/sntp/m4/define_dir.m4 new external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4 new external/bsd/ntp/dist/sntp/m4/libtool.m4 new external/bsd/ntp/dist/sntp/m4/ltoptions.m4 new external/bsd/ntp/dist/sntp/m4/ltsugar.m4 new external/bsd/ntp/dist/sntp/m4/ltversion.m4 new external/bsd/ntp/dist/sntp/m4/lt~obsolete.m4 new external/bsd/ntp/dist/sntp/m4/ntp_cacheversion.m4 new external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4 new external/bsd/ntp/dist/sntp/m4/ntp_crosscompile.m4 new external/bsd/ntp/dist/sntp/m4/ntp_crypto_rand.m4 new external/bsd/ntp/dist/sntp/m4/ntp_debug.m4 new external/bsd/ntp/dist/sntp/m4/ntp_dir_sep.m4 new external/bsd/ntp/dist/sntp/m4/ntp_facilitynames.m4 new external/bsd/ntp/dist/sntp/m4/ntp_googletest.m4 new external/bsd/ntp/dist/sntp/m4/ntp_ipv6.m4 new external/bsd/ntp/dist/sntp/m4/ntp_lib_m.m4 new external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4 new external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4 new external/bsd/ntp/dist/sntp/m4/ntp_lineeditlibs.m4 new external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4 new external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4 new external/bsd/ntp/dist/sntp/m4/ntp_pkg_config.m4 new external/bsd/ntp/dist/sntp/m4/ntp_prog_cc.m4 new external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4 new external/bsd/ntp/dist/sntp/m4/ntp_sntp.m4 new external/bsd/ntp/dist/sntp/m4/ntp_sysexits.m4 new external/bsd/ntp/dist/sntp/m4/ntp_ver_suffix.m4 new external/bsd/ntp/dist/sntp/m4/ntp_vpathhack.m4 new external/bsd/ntp/dist/sntp/m4/os_cflags.m4 new external/bsd/ntp/dist/sntp/m4/snprintf.m4 new external/bsd/ntp/dist/sntp/m4/version.m4 new external/bsd/ntp/dist/sntp/scripts/Makefile.am new external/bsd/ntp/dist/sntp/scripts/Makefile.in new external/bsd/ntp/dist/sntp/scripts/cvo.sh new external/bsd/ntp/dist/sntp/scripts/genLocInfo new external/bsd/ntp/dist/sntp/scripts/mansec2subst.sed new external/bsd/ntp/dist/sntp/tests/Makefile.am new external/bsd/ntp/dist/sntp/tests/Makefile.in new external/bsd/ntp/dist/sntp/tests/crypto.cpp new external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h new external/bsd/ntp/dist/sntp/tests/keyFile.cpp new external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp new external/bsd/ntp/dist/sntp/tests/kodFile.cpp new external/bsd/ntp/dist/sntp/tests/networking.cpp new external/bsd/ntp/dist/sntp/tests/packetHandling.cpp new external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp new external/bsd/ntp/dist/sntp/tests/sntptest.h new external/bsd/ntp/dist/sntp/tests/tests-runner new external/bsd/ntp/dist/sntp/tests/utilities.cpp new external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-bin new external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-dec new external/bsd/ntp/dist/sntp/tests/data/debug-input-pkt new external/bsd/ntp/dist/sntp/tests/data/key-test-ascii new external/bsd/ntp/dist/sntp/tests/data/key-test-comments new external/bsd/ntp/dist/sntp/tests/data/key-test-empty new external/bsd/ntp/dist/sntp/tests/data/key-test-hex new external/bsd/ntp/dist/sntp/tests/data/key-test-invalid-hex new external/bsd/ntp/dist/sntp/tests/data/kod-expected-multiple new external/bsd/ntp/dist/sntp/tests/data/kod-expected-single new external/bsd/ntp/dist/sntp/tests/data/kod-test-blanks new external/bsd/ntp/dist/sntp/tests/data/kod-test-correct new external/bsd/ntp/dist/sntp/tests/data/kod-test-empty new external/bsd/ntp/dist/tests/Makefile.am new external/bsd/ntp/dist/tests/Makefile.in new external/bsd/ntp/dist/tests/libntp/Makefile.am new external/bsd/ntp/dist/tests/libntp/Makefile.in new external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp new external/bsd/ntp/dist/tests/libntp/atoint.cpp new external/bsd/ntp/dist/tests/libntp/atouint.cpp new external/bsd/ntp/dist/tests/libntp/authkeys.cpp new external/bsd/ntp/dist/tests/libntp/buftvtots.cpp new external/bsd/ntp/dist/tests/libntp/calendar.cpp new external/bsd/ntp/dist/tests/libntp/caljulian.cpp new external/bsd/ntp/dist/tests/libntp/caltontp.cpp new external/bsd/ntp/dist/tests/libntp/calyearstart.cpp new external/bsd/ntp/dist/tests/libntp/clocktime.cpp new external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp new external/bsd/ntp/dist/tests/libntp/hextoint.cpp new external/bsd/ntp/dist/tests/libntp/hextolfp.cpp new external/bsd/ntp/dist/tests/libntp/humandate.cpp new external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp new external/bsd/ntp/dist/tests/libntp/lfptest.h new external/bsd/ntp/dist/tests/libntp/lfptostr.cpp new external/bsd/ntp/dist/tests/libntp/libntptest.cpp new external/bsd/ntp/dist/tests/libntp/libntptest.h new external/bsd/ntp/dist/tests/libntp/modetoa.cpp new external/bsd/ntp/dist/tests/libntp/msyslog.cpp new external/bsd/ntp/dist/tests/libntp/netof.cpp new external/bsd/ntp/dist/tests/libntp/numtoa.cpp new external/bsd/ntp/dist/tests/libntp/numtohost.cpp new external/bsd/ntp/dist/tests/libntp/octtoint.cpp new external/bsd/ntp/dist/tests/libntp/prettydate.cpp new external/bsd/ntp/dist/tests/libntp/recvbuff.cpp new external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp new external/bsd/ntp/dist/tests/libntp/sfptostr.cpp new external/bsd/ntp/dist/tests/libntp/sockaddrtest.h new external/bsd/ntp/dist/tests/libntp/socktoa.cpp new external/bsd/ntp/dist/tests/libntp/ssl_init.cpp new external/bsd/ntp/dist/tests/libntp/statestr.cpp new external/bsd/ntp/dist/tests/libntp/strtolfp.cpp new external/bsd/ntp/dist/tests/libntp/timespecops.cpp new external/bsd/ntp/dist/tests/libntp/timestructs.cpp new external/bsd/ntp/dist/tests/libntp/timestructs.h new external/bsd/ntp/dist/tests/libntp/timevalops.cpp new external/bsd/ntp/dist/tests/libntp/tstotv.cpp new external/bsd/ntp/dist/tests/libntp/tvtots.cpp new external/bsd/ntp/dist/tests/libntp/uglydate.cpp new external/bsd/ntp/dist/tests/libntp/vi64ops.cpp new external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp new external/bsd/ntp/dist/tests/ntpd/Makefile.am new external/bsd/ntp/dist/tests/ntpd/Makefile.in new external/bsd/ntp/dist/tests/ntpd/leapsec.cpp new external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp new external/bsd/ntp/dist/tests/ntpd/ntpdtest.h new external/bsd/ntp/dist/util/Makefile.am new external/bsd/ntp/dist/util/Makefile.in new external/bsd/ntp/dist/util/README new external/bsd/ntp/dist/util/audio-pcm.c new external/bsd/ntp/dist/util/byteorder.c new external/bsd/ntp/dist/util/hist.c new external/bsd/ntp/dist/util/invoke-ntp-keygen.menu new external/bsd/ntp/dist/util/invoke-ntp-keygen.texi new external/bsd/ntp/dist/util/jitter.c new external/bsd/ntp/dist/util/jitter.h new external/bsd/ntp/dist/util/kern.c new external/bsd/ntp/dist/util/longsize.c new external/bsd/ntp/dist/util/ntp-keygen-opts.c new external/bsd/ntp/dist/util/ntp-keygen-opts.def new external/bsd/ntp/dist/util/ntp-keygen-opts.h new external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman new external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc new external/bsd/ntp/dist/util/ntp-keygen.c new external/bsd/ntp/dist/util/ntp-keygen.html new external/bsd/ntp/dist/util/ntp-keygen.man.in new external/bsd/ntp/dist/util/ntp-keygen.mdoc.in new external/bsd/ntp/dist/util/ntp-keygen.texi new external/bsd/ntp/dist/util/ntptime.c new external/bsd/ntp/dist/util/pps-api.c new external/bsd/ntp/dist/util/precision.c new external/bsd/ntp/dist/util/sht.c new external/bsd/ntp/dist/util/testrs6000.c new external/bsd/ntp/dist/util/tg.c new external/bsd/ntp/dist/util/tg2.c new external/bsd/ntp/dist/util/tickadj.c new external/bsd/ntp/dist/util/timetrim.c new external/bsd/ntp/html/Makefile new external/bsd/ntp/include/config.h new external/bsd/ntp/lib/Makefile new external/bsd/ntp/lib/Makefile.inc new external/bsd/ntp/lib/libiscntp/Makefile new external/bsd/ntp/lib/libntp/Makefile new external/bsd/ntp/lib/libopts/Makefile new external/bsd/ntp/lib/libparse/Makefile new external/bsd/ntp/scripts/mkver new usr.sbin/Makefile patch usr.sbin/ntp/Makefile delete usr.sbin/ntp/Makefile.inc delete usr.sbin/ntp/importdate delete usr.sbin/ntp/html/Makefile delete usr.sbin/ntp/include/config.h delete usr.sbin/ntp/libisc/Makefile delete usr.sbin/ntp/libntp/Makefile delete usr.sbin/ntp/libopts/Makefile delete usr.sbin/ntp/libparse/Makefile delete usr.sbin/ntp/ntp-keygen/Makefile delete usr.sbin/ntp/ntp-keygen/ntp-keygen.8 delete usr.sbin/ntp/ntpd/Makefile delete usr.sbin/ntp/ntpd/ntpd.8 delete usr.sbin/ntp/ntpdate/Makefile delete usr.sbin/ntp/ntpdate/ntpdate.8 delete usr.sbin/ntp/ntpdc/Makefile delete usr.sbin/ntp/ntpdc/ntpdc.8 delete usr.sbin/ntp/ntpq/Makefile delete usr.sbin/ntp/ntpq/ntpq.8 delete usr.sbin/ntp/ntptime/Makefile delete usr.sbin/ntp/ntptime/ntptime.8 delete usr.sbin/ntp/ntptrace/Makefile delete usr.sbin/ntp/ntptrace/ntptrace.8 delete usr.sbin/ntp/ntptrace/ntptrace.awk delete usr.sbin/ntp/scripts/mkver delete usr.sbin/sntp/Makefile delete usr.sbin/sntp/sntp.1 delete Update ntp to 4.2.8. CVE-2014-9293, CVE-2014-9294, CVE-2014-9295, and CVE-2014-9296. [he, ticket #1938] @ text @a0 639 What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.3-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. Event finalization [NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though it seems solid so far, its API might change between now and the first release candidate for Libevent 2.1.] 1.3.1. Why event finalization? Libevent 2.1 now supports an API for safely "finalizing" events that might be running in multiple threads, and provides a way to slightly change the semantics of event_del() to prevent deadlocks in multithreaded programs. To motivate this feature, consider the following code, in the context of a mulithreaded Libevent application: struct connection *conn = event_get_callback_arg(ev); event_del(ev); connection_free(conn); Suppose that the event's callback might be running in another thread, and using the value of "conn" concurrently. We wouldn't want to execute the connection_free() call until "conn" is no longer in use. How can we make this code safe? Libevent 2.0 answered that question by saying that the event_del() call should block if the event's callback is running in another thread. That way, we can be sure that event_del() has canceled the callback (if the callback hadn't started running yet), or has waited for the callback to finish. But now suppose that the data structure is protected by a lock, and we have the following code: void check_disable(struct connection *connection) { lock(connection); if (should_stop_reading(connection)) event_del(connection->read_event); unlock(connection); } What happens when we call check_disable() from a callback and from another thread? Let's say that the other thread gets the lock first. If it decides to call event_del(), it will wait for the callback to finish. But meanwhile, the callback will be waiting for the lock on the connection. Since each threads is waiting for the other one to release a resource, the program will deadlock. This bug showed up in multithreaded bufferevent programs in 2.1, particularly when freeing bufferevents. (For more information, see the "Deadlock when calling bufferevent_free from an other thread" thread on libevent-users starting on 6 August 2012 and running through February of 2013. You might also like to read my earlier writeup at http://archives.seul.org/libevent/users/Feb-2012/msg00053.html and the ensuing discussion.) 1.3.2. The EV_FINALIZE flag and avoiding deadlock To prevent the deadlock condition described above, Libevent 2.1.3-alpha adds a new flag, "EV_FINALIZE". You can pass it to event_new() and event_assign() along with EV_READ, EV_WRITE, and the other event flags. When an event is constructed with the EV_FINALIZE flag, event_del() will not block on that event, even when the event's callback is running in another thread. By using EV_FINALIZE, you are therefore promising not to use the "event_del(ev); free(event_get_callback_arg(ev));" pattern, but rather to use one of the finalization functions below to clean up the event. EV_FINALIZE has no effect on a single-threaded program, or on a program where events are only used from one thread. There are also two new variants of event_del() that you can use for more fine-grained control: event_del_noblock(ev) event_del_block(ev) The event_del_noblock() function will never block, even if the event callback is running in another thread and doesn't have the EV_FINALIZE flag. The event_del_block() function will _always_ block if the event callback is running in another thread, even if the event _does_ have the EV_FINALIZE flag. [A future version of Libevent may have a way to make the EV_FINALIZE flag the default.] 1.3.3. Safely finalizing events To safely tear down an event that may be running, Libevent 2.1.3-alpha introduces event_finalize() and event_free_finalize(). You call them on an event, and provide a finalizer callback to be run on the event and its callback argument once the event is definitely no longer running. With event_free_finalize(), the event is also freed once the finalizer callback has been invoked. A finalized event cannot be re-added or activated. The finalizer callback must not add events, activate events, or attempt to "resucitate" the event being finalized in any way. If any finalizer callbacks are pending as the event_base is being freed, they will be invoked. You can override this behavior with the new function event_base_free_nofinalize(). 1.4. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.5. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.6. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.7. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. The evdns_base_new() function now has multiple possible values for its second (flags) argument. Using 1 and 0 have their old meanings, though the 1 flag now has a symbolic name of EVDNS_BASE_INITIALIZE_NAMESERVERS. A second flag is now supported too: the EVDNS_BASE_DISABLE_WHEN_INACTIVE flag, which tells the evdns_base that it should not prevent Libevent from exiting while it has no DNS requests in progress. 1.8. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.9. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. There's a new kind of request callback for errors; you can set it with evhttp_request_set_error_cb(). It gets called when there's a request error, and actually reports the error code and lets you figure out which request failed. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @ 1.1.1.2.8.1 log @file whatsnew-2.1.txt was added on branch netbsd-5 on 2015-01-07 04:45:37 +0000 @ text @d1 639 @ 1.1.1.2.8.2 log @Pullup the following revision (requested by he in ticket #1938): distrib/sets/lists/man/mi patch distrib/sets/lists/misc/mi patch external/bsd/Makefile patch external/bsd/ntp/Makefile new external/bsd/ntp/Makefile.inc new external/bsd/ntp/importdate new external/bsd/ntp/ntp2netbsd new external/bsd/ntp/bin/Makefile new external/bsd/ntp/bin/Makefile.inc new external/bsd/ntp/bin/ntp-keygen/Makefile new external/bsd/ntp/bin/ntp-keygen/ntp-keygen.8 new external/bsd/ntp/bin/ntpd/Makefile new external/bsd/ntp/bin/ntpd/ntp.conf.5 new external/bsd/ntp/bin/ntpd/ntp.keys.5 new external/bsd/ntp/bin/ntpd/ntpd.8 new external/bsd/ntp/bin/ntpdate/Makefile new external/bsd/ntp/bin/ntpdate/ntpdate.8 new external/bsd/ntp/bin/ntpdc/Makefile new external/bsd/ntp/bin/ntpdc/ntpdc.8 new external/bsd/ntp/bin/ntpq/Makefile new external/bsd/ntp/bin/ntpq/ntpq.8 new external/bsd/ntp/bin/ntptime/Makefile new external/bsd/ntp/bin/ntptime/ntptime.8 new external/bsd/ntp/bin/ntptrace/Makefile new external/bsd/ntp/bin/ntptrace/ntptrace.8 new external/bsd/ntp/bin/ntptrace/ntptrace.awk new external/bsd/ntp/bin/sntp/Makefile new external/bsd/ntp/bin/sntp/sntp.1 new external/bsd/ntp/dist/COPYRIGHT new external/bsd/ntp/dist/ChangeLog new external/bsd/ntp/dist/CommitLog new external/bsd/ntp/dist/CommitLog-4.1.0 new external/bsd/ntp/dist/INSTALL new external/bsd/ntp/dist/Makefile.am new external/bsd/ntp/dist/Makefile.in new external/bsd/ntp/dist/NEWS new external/bsd/ntp/dist/NOTES.y2kfixes new external/bsd/ntp/dist/README new external/bsd/ntp/dist/README.bk new external/bsd/ntp/dist/README.hackers new external/bsd/ntp/dist/README.patches new external/bsd/ntp/dist/README.refclocks new external/bsd/ntp/dist/README.versions new external/bsd/ntp/dist/TODO new external/bsd/ntp/dist/WHERE-TO-START new external/bsd/ntp/dist/aclocal.m4 new external/bsd/ntp/dist/bincheck.mf new external/bsd/ntp/dist/bootstrap new external/bsd/ntp/dist/build new external/bsd/ntp/dist/check-libopts.mf new external/bsd/ntp/dist/config.h.in new external/bsd/ntp/dist/configure new external/bsd/ntp/dist/configure.ac new external/bsd/ntp/dist/deps-ver new external/bsd/ntp/dist/depsver.mf new external/bsd/ntp/dist/dot.emacs new external/bsd/ntp/dist/flock-build new external/bsd/ntp/dist/includes.mf new external/bsd/ntp/dist/install-sh new external/bsd/ntp/dist/packageinfo.sh new external/bsd/ntp/dist/readme.y2kfixes new external/bsd/ntp/dist/results.y2kfixes new external/bsd/ntp/dist/adjtimed/Makefile.am new external/bsd/ntp/dist/adjtimed/Makefile.in new external/bsd/ntp/dist/adjtimed/README new external/bsd/ntp/dist/adjtimed/adjtimed.c new external/bsd/ntp/dist/clockstuff/Makefile.am new external/bsd/ntp/dist/clockstuff/Makefile.in new external/bsd/ntp/dist/clockstuff/README new external/bsd/ntp/dist/clockstuff/chutest.c new external/bsd/ntp/dist/clockstuff/propdelay.c new external/bsd/ntp/dist/conf/README new external/bsd/ntp/dist/conf/baldwin.conf new external/bsd/ntp/dist/conf/beauregard.conf new external/bsd/ntp/dist/conf/grundoon.conf new external/bsd/ntp/dist/conf/malarky.conf new external/bsd/ntp/dist/conf/pogo.conf new external/bsd/ntp/dist/conf/rackety.conf new external/bsd/ntp/dist/html/access.html new external/bsd/ntp/dist/html/accopt.html new external/bsd/ntp/dist/html/assoc.html new external/bsd/ntp/dist/html/audio.html new external/bsd/ntp/dist/html/authentic.html new external/bsd/ntp/dist/html/authopt.html new external/bsd/ntp/dist/html/autokey.html new external/bsd/ntp/dist/html/bugs.html new external/bsd/ntp/dist/html/build.html new external/bsd/ntp/dist/html/clock.html new external/bsd/ntp/dist/html/clockopt.html new external/bsd/ntp/dist/html/cluster.html new external/bsd/ntp/dist/html/comdex.html new external/bsd/ntp/dist/html/config.html new external/bsd/ntp/dist/html/confopt.html new external/bsd/ntp/dist/html/copyright.html new external/bsd/ntp/dist/html/debug.html new external/bsd/ntp/dist/html/decode.html new external/bsd/ntp/dist/html/discipline.html new external/bsd/ntp/dist/html/discover.html new external/bsd/ntp/dist/html/extern.html new external/bsd/ntp/dist/html/filter.html new external/bsd/ntp/dist/html/hints.html new external/bsd/ntp/dist/html/history.html new external/bsd/ntp/dist/html/howto.html new external/bsd/ntp/dist/html/huffpuff.html new external/bsd/ntp/dist/html/index.html new external/bsd/ntp/dist/html/kern.html new external/bsd/ntp/dist/html/kernpps.html new external/bsd/ntp/dist/html/keygen.html new external/bsd/ntp/dist/html/leap.html new external/bsd/ntp/dist/html/miscopt.html new external/bsd/ntp/dist/html/monopt.html new external/bsd/ntp/dist/html/msyslog.html new external/bsd/ntp/dist/html/ntp-wait.html new external/bsd/ntp/dist/html/ntp_conf.html new external/bsd/ntp/dist/html/ntpd.html new external/bsd/ntp/dist/html/ntpdate.html new external/bsd/ntp/dist/html/ntpdc.html new external/bsd/ntp/dist/html/ntpdsim.html new external/bsd/ntp/dist/html/ntpdsim_new.html new external/bsd/ntp/dist/html/ntpq.html new external/bsd/ntp/dist/html/ntptime.html new external/bsd/ntp/dist/html/ntptrace.html new external/bsd/ntp/dist/html/orphan.html new external/bsd/ntp/dist/html/parsedata.html new external/bsd/ntp/dist/html/parsenew.html new external/bsd/ntp/dist/html/poll.html new external/bsd/ntp/dist/html/pps.html new external/bsd/ntp/dist/html/prefer.html new external/bsd/ntp/dist/html/quick.html new external/bsd/ntp/dist/html/rate.html new external/bsd/ntp/dist/html/rdebug.html new external/bsd/ntp/dist/html/refclock.html new external/bsd/ntp/dist/html/release.html new external/bsd/ntp/dist/html/select.html new external/bsd/ntp/dist/html/sitemap.html new external/bsd/ntp/dist/html/sntp.html new external/bsd/ntp/dist/html/stats.html new external/bsd/ntp/dist/html/tickadj.html new external/bsd/ntp/dist/html/warp.html new external/bsd/ntp/dist/html/xleave.html new external/bsd/ntp/dist/html/drivers/driver1.html new external/bsd/ntp/dist/html/drivers/driver10.html new external/bsd/ntp/dist/html/drivers/driver11.html new external/bsd/ntp/dist/html/drivers/driver12.html new external/bsd/ntp/dist/html/drivers/driver16.html new external/bsd/ntp/dist/html/drivers/driver18.html new external/bsd/ntp/dist/html/drivers/driver19.html new external/bsd/ntp/dist/html/drivers/driver20.html new external/bsd/ntp/dist/html/drivers/driver22.html new external/bsd/ntp/dist/html/drivers/driver26.html new external/bsd/ntp/dist/html/drivers/driver27.html new external/bsd/ntp/dist/html/drivers/driver28.html new external/bsd/ntp/dist/html/drivers/driver29.html new external/bsd/ntp/dist/html/drivers/driver3.html new external/bsd/ntp/dist/html/drivers/driver30.html new external/bsd/ntp/dist/html/drivers/driver31.html new external/bsd/ntp/dist/html/drivers/driver32.html new external/bsd/ntp/dist/html/drivers/driver33.html new external/bsd/ntp/dist/html/drivers/driver34.html new external/bsd/ntp/dist/html/drivers/driver35.html new external/bsd/ntp/dist/html/drivers/driver36.html new external/bsd/ntp/dist/html/drivers/driver37.html new external/bsd/ntp/dist/html/drivers/driver38.html new external/bsd/ntp/dist/html/drivers/driver39.html new external/bsd/ntp/dist/html/drivers/driver4.html new external/bsd/ntp/dist/html/drivers/driver40.html new external/bsd/ntp/dist/html/drivers/driver42.html new external/bsd/ntp/dist/html/drivers/driver43.html new external/bsd/ntp/dist/html/drivers/driver44.html new external/bsd/ntp/dist/html/drivers/driver45.html new external/bsd/ntp/dist/html/drivers/driver46.html new external/bsd/ntp/dist/html/drivers/driver5.html new external/bsd/ntp/dist/html/drivers/driver6.html new external/bsd/ntp/dist/html/drivers/driver7.html new external/bsd/ntp/dist/html/drivers/driver8.html new external/bsd/ntp/dist/html/drivers/driver9.html new external/bsd/ntp/dist/html/drivers/mx4200data.html new external/bsd/ntp/dist/html/drivers/oncore-shmem.html new external/bsd/ntp/dist/html/drivers/tf582_4.html new external/bsd/ntp/dist/html/drivers/icons/home.gif new external/bsd/ntp/dist/html/drivers/icons/mail2.gif new external/bsd/ntp/dist/html/drivers/scripts/footer.txt new external/bsd/ntp/dist/html/drivers/scripts/style.css new external/bsd/ntp/dist/html/hints/a-ux new external/bsd/ntp/dist/html/hints/aix new external/bsd/ntp/dist/html/hints/bsdi new external/bsd/ntp/dist/html/hints/changes new external/bsd/ntp/dist/html/hints/decosf1 new external/bsd/ntp/dist/html/hints/decosf2 new external/bsd/ntp/dist/html/hints/freebsd new external/bsd/ntp/dist/html/hints/hpux new external/bsd/ntp/dist/html/hints/linux new external/bsd/ntp/dist/html/hints/mpeix new external/bsd/ntp/dist/html/hints/notes-xntp-v3 new external/bsd/ntp/dist/html/hints/parse new external/bsd/ntp/dist/html/hints/refclocks new external/bsd/ntp/dist/html/hints/rs6000 new external/bsd/ntp/dist/html/hints/sco.html new external/bsd/ntp/dist/html/hints/sgi new external/bsd/ntp/dist/html/hints/solaris-dosynctodr.html new external/bsd/ntp/dist/html/hints/solaris.html new external/bsd/ntp/dist/html/hints/solaris.xtra.4023118 new external/bsd/ntp/dist/html/hints/solaris.xtra.4095849 new external/bsd/ntp/dist/html/hints/solaris.xtra.S99ntpd new external/bsd/ntp/dist/html/hints/solaris.xtra.patchfreq new external/bsd/ntp/dist/html/hints/sun4 new external/bsd/ntp/dist/html/hints/svr4-dell new external/bsd/ntp/dist/html/hints/svr4_package new external/bsd/ntp/dist/html/hints/todo new external/bsd/ntp/dist/html/hints/vxworks.html new external/bsd/ntp/dist/html/hints/winnt.html new external/bsd/ntp/dist/html/icons/home.gif new external/bsd/ntp/dist/html/icons/mail2.gif new external/bsd/ntp/dist/html/icons/sitemap.png new external/bsd/ntp/dist/html/scripts/accopt.txt new external/bsd/ntp/dist/html/scripts/audio.txt new external/bsd/ntp/dist/html/scripts/authopt.txt new external/bsd/ntp/dist/html/scripts/clockopt.txt new external/bsd/ntp/dist/html/scripts/command.txt new external/bsd/ntp/dist/html/scripts/config.txt new external/bsd/ntp/dist/html/scripts/confopt.txt new external/bsd/ntp/dist/html/scripts/external.txt new external/bsd/ntp/dist/html/scripts/footer.txt new external/bsd/ntp/dist/html/scripts/hand.txt new external/bsd/ntp/dist/html/scripts/install.txt new external/bsd/ntp/dist/html/scripts/manual.txt new external/bsd/ntp/dist/html/scripts/misc.txt new external/bsd/ntp/dist/html/scripts/miscopt.txt new external/bsd/ntp/dist/html/scripts/monopt.txt new external/bsd/ntp/dist/html/scripts/refclock.txt new external/bsd/ntp/dist/html/scripts/special.txt new external/bsd/ntp/dist/html/scripts/style.css new external/bsd/ntp/dist/include/Makefile.am new external/bsd/ntp/dist/include/Makefile.in new external/bsd/ntp/dist/include/README new external/bsd/ntp/dist/include/adjtime.h new external/bsd/ntp/dist/include/ascii.h new external/bsd/ntp/dist/include/audio.h new external/bsd/ntp/dist/include/binio.h new external/bsd/ntp/dist/include/declcond.h new external/bsd/ntp/dist/include/gps.h new external/bsd/ntp/dist/include/hopf6039.h new external/bsd/ntp/dist/include/icom.h new external/bsd/ntp/dist/include/ieee754io.h new external/bsd/ntp/dist/include/intreswork.h new external/bsd/ntp/dist/include/iosignal.h new external/bsd/ntp/dist/include/l_stdlib.h new external/bsd/ntp/dist/include/lib_strbuf.h new external/bsd/ntp/dist/include/libntp.h new external/bsd/ntp/dist/include/mbg_gps166.h new external/bsd/ntp/dist/include/mx4200.h new external/bsd/ntp/dist/include/ntif.h new external/bsd/ntp/dist/include/ntp.h new external/bsd/ntp/dist/include/ntp_assert.h new external/bsd/ntp/dist/include/ntp_calendar.h new external/bsd/ntp/dist/include/ntp_cmdargs.h new external/bsd/ntp/dist/include/ntp_config.h new external/bsd/ntp/dist/include/ntp_control.h new external/bsd/ntp/dist/include/ntp_crypto.h new external/bsd/ntp/dist/include/ntp_datum.h new external/bsd/ntp/dist/include/ntp_debug.h new external/bsd/ntp/dist/include/ntp_filegen.h new external/bsd/ntp/dist/include/ntp_fp.h new external/bsd/ntp/dist/include/ntp_if.h new external/bsd/ntp/dist/include/ntp_intres.h new external/bsd/ntp/dist/include/ntp_io.h new external/bsd/ntp/dist/include/ntp_libopts.h new external/bsd/ntp/dist/include/ntp_lineedit.h new external/bsd/ntp/dist/include/ntp_lists.h new external/bsd/ntp/dist/include/ntp_machine.h new external/bsd/ntp/dist/include/ntp_malloc.h new external/bsd/ntp/dist/include/ntp_md5.h new external/bsd/ntp/dist/include/ntp_net.h new external/bsd/ntp/dist/include/ntp_prio_q.h new external/bsd/ntp/dist/include/ntp_proto.h new external/bsd/ntp/dist/include/ntp_random.h new external/bsd/ntp/dist/include/ntp_refclock.h new external/bsd/ntp/dist/include/ntp_request.h new external/bsd/ntp/dist/include/ntp_rfc2553.h new external/bsd/ntp/dist/include/ntp_select.h new external/bsd/ntp/dist/include/ntp_stdlib.h new external/bsd/ntp/dist/include/ntp_string.h new external/bsd/ntp/dist/include/ntp_syscall.h new external/bsd/ntp/dist/include/ntp_syslog.h new external/bsd/ntp/dist/include/ntp_tty.h new external/bsd/ntp/dist/include/ntp_types.h new external/bsd/ntp/dist/include/ntp_unixtime.h new external/bsd/ntp/dist/include/ntp_worker.h new external/bsd/ntp/dist/include/ntp_workimpl.h new external/bsd/ntp/dist/include/ntpd.h new external/bsd/ntp/dist/include/ntpsim.h new external/bsd/ntp/dist/include/parse.h new external/bsd/ntp/dist/include/parse_conf.h new external/bsd/ntp/dist/include/recvbuff.h new external/bsd/ntp/dist/include/refclock_atom.h new external/bsd/ntp/dist/include/ssl_applink.c new external/bsd/ntp/dist/include/timepps-SCO.h new external/bsd/ntp/dist/include/timepps-Solaris.h new external/bsd/ntp/dist/include/timepps-SunOS.h new external/bsd/ntp/dist/include/timespecops.h new external/bsd/ntp/dist/include/timetoa.h new external/bsd/ntp/dist/include/timevalops.h new external/bsd/ntp/dist/include/trimble.h new external/bsd/ntp/dist/include/vint64ops.h new external/bsd/ntp/dist/include/isc/Makefile.am new external/bsd/ntp/dist/include/isc/Makefile.in new external/bsd/ntp/dist/include/isc/mem.h new external/bsd/ntp/dist/kernel/Makefile.am new external/bsd/ntp/dist/kernel/Makefile.in new external/bsd/ntp/dist/kernel/sys/Makefile.am new external/bsd/ntp/dist/kernel/sys/Makefile.in new external/bsd/ntp/dist/kernel/sys/README new external/bsd/ntp/dist/kernel/sys/bsd_audioirig.h new external/bsd/ntp/dist/kernel/sys/i8253.h new external/bsd/ntp/dist/kernel/sys/parsestreams.h new external/bsd/ntp/dist/kernel/sys/pcl720.h new external/bsd/ntp/dist/kernel/sys/ppsclock.h new external/bsd/ntp/dist/kernel/sys/timex.h new external/bsd/ntp/dist/kernel/sys/tpro.h new external/bsd/ntp/dist/kernel/sys/tt560_api.h new external/bsd/ntp/dist/lib/isc/Atffile new external/bsd/ntp/dist/lib/isc/api new external/bsd/ntp/dist/lib/isc/app_api.c new external/bsd/ntp/dist/lib/isc/assertions.c new external/bsd/ntp/dist/lib/isc/backtrace-emptytbl.c new external/bsd/ntp/dist/lib/isc/backtrace.c new external/bsd/ntp/dist/lib/isc/base32.c new external/bsd/ntp/dist/lib/isc/base64.c new external/bsd/ntp/dist/lib/isc/bitstring.c new external/bsd/ntp/dist/lib/isc/buffer.c new external/bsd/ntp/dist/lib/isc/bufferlist.c new external/bsd/ntp/dist/lib/isc/commandline.c new external/bsd/ntp/dist/lib/isc/entropy.c new external/bsd/ntp/dist/lib/isc/error.c new external/bsd/ntp/dist/lib/isc/event.c new external/bsd/ntp/dist/lib/isc/fsaccess.c new external/bsd/ntp/dist/lib/isc/hash.c new external/bsd/ntp/dist/lib/isc/heap.c new external/bsd/ntp/dist/lib/isc/hex.c new external/bsd/ntp/dist/lib/isc/hmacmd5.c new external/bsd/ntp/dist/lib/isc/hmacsha.c new external/bsd/ntp/dist/lib/isc/httpd.c new external/bsd/ntp/dist/lib/isc/inet_aton.c new external/bsd/ntp/dist/lib/isc/inet_ntop.c new external/bsd/ntp/dist/lib/isc/inet_pton.c new external/bsd/ntp/dist/lib/isc/iterated_hash.c new external/bsd/ntp/dist/lib/isc/lex.c new external/bsd/ntp/dist/lib/isc/lfsr.c new external/bsd/ntp/dist/lib/isc/lib.c new external/bsd/ntp/dist/lib/isc/log.c new external/bsd/ntp/dist/lib/isc/md5.c new external/bsd/ntp/dist/lib/isc/mem.c new external/bsd/ntp/dist/lib/isc/mem_api.c new external/bsd/ntp/dist/lib/isc/mutexblock.c new external/bsd/ntp/dist/lib/isc/netaddr.c new external/bsd/ntp/dist/lib/isc/netscope.c new external/bsd/ntp/dist/lib/isc/ondestroy.c new external/bsd/ntp/dist/lib/isc/parseint.c new external/bsd/ntp/dist/lib/isc/portset.c new external/bsd/ntp/dist/lib/isc/print.c new external/bsd/ntp/dist/lib/isc/quota.c new external/bsd/ntp/dist/lib/isc/radix.c new external/bsd/ntp/dist/lib/isc/random.c new external/bsd/ntp/dist/lib/isc/ratelimiter.c new external/bsd/ntp/dist/lib/isc/refcount.c new external/bsd/ntp/dist/lib/isc/region.c new external/bsd/ntp/dist/lib/isc/result.c new external/bsd/ntp/dist/lib/isc/rwlock.c new external/bsd/ntp/dist/lib/isc/serial.c new external/bsd/ntp/dist/lib/isc/sha1.c new external/bsd/ntp/dist/lib/isc/sha2.c new external/bsd/ntp/dist/lib/isc/sockaddr.c new external/bsd/ntp/dist/lib/isc/socket_api.c new external/bsd/ntp/dist/lib/isc/stats.c new external/bsd/ntp/dist/lib/isc/string.c new external/bsd/ntp/dist/lib/isc/strtoul.c new external/bsd/ntp/dist/lib/isc/symtab.c new external/bsd/ntp/dist/lib/isc/task.c new external/bsd/ntp/dist/lib/isc/task_api.c new external/bsd/ntp/dist/lib/isc/task_p.h new external/bsd/ntp/dist/lib/isc/taskpool.c new external/bsd/ntp/dist/lib/isc/timer.c new external/bsd/ntp/dist/lib/isc/timer_api.c new external/bsd/ntp/dist/lib/isc/timer_p.h new external/bsd/ntp/dist/lib/isc/version.c new external/bsd/ntp/dist/lib/isc/alpha/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/ia64/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/include/isc/app.h new external/bsd/ntp/dist/lib/isc/include/isc/assertions.h new external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h new external/bsd/ntp/dist/lib/isc/include/isc/base32.h new external/bsd/ntp/dist/lib/isc/include/isc/base64.h new external/bsd/ntp/dist/lib/isc/include/isc/bind9.h new external/bsd/ntp/dist/lib/isc/include/isc/bitstring.h new external/bsd/ntp/dist/lib/isc/include/isc/boolean.h new external/bsd/ntp/dist/lib/isc/include/isc/buffer.h new external/bsd/ntp/dist/lib/isc/include/isc/bufferlist.h new external/bsd/ntp/dist/lib/isc/include/isc/commandline.h new external/bsd/ntp/dist/lib/isc/include/isc/entropy.h new external/bsd/ntp/dist/lib/isc/include/isc/error.h new external/bsd/ntp/dist/lib/isc/include/isc/event.h new external/bsd/ntp/dist/lib/isc/include/isc/eventclass.h new external/bsd/ntp/dist/lib/isc/include/isc/file.h new external/bsd/ntp/dist/lib/isc/include/isc/formatcheck.h new external/bsd/ntp/dist/lib/isc/include/isc/fsaccess.h new external/bsd/ntp/dist/lib/isc/include/isc/hash.h new external/bsd/ntp/dist/lib/isc/include/isc/heap.h new external/bsd/ntp/dist/lib/isc/include/isc/hex.h new external/bsd/ntp/dist/lib/isc/include/isc/hmacmd5.h new external/bsd/ntp/dist/lib/isc/include/isc/hmacsha.h new external/bsd/ntp/dist/lib/isc/include/isc/httpd.h new external/bsd/ntp/dist/lib/isc/include/isc/interfaceiter.h new external/bsd/ntp/dist/lib/isc/include/isc/ipv6.h new external/bsd/ntp/dist/lib/isc/include/isc/iterated_hash.h new external/bsd/ntp/dist/lib/isc/include/isc/lang.h new external/bsd/ntp/dist/lib/isc/include/isc/lex.h new external/bsd/ntp/dist/lib/isc/include/isc/lfsr.h new external/bsd/ntp/dist/lib/isc/include/isc/lib.h new external/bsd/ntp/dist/lib/isc/include/isc/list.h new external/bsd/ntp/dist/lib/isc/include/isc/log.h new external/bsd/ntp/dist/lib/isc/include/isc/magic.h new external/bsd/ntp/dist/lib/isc/include/isc/md5.h new external/bsd/ntp/dist/lib/isc/include/isc/mem.h new external/bsd/ntp/dist/lib/isc/include/isc/msgcat.h new external/bsd/ntp/dist/lib/isc/include/isc/msgs.h new external/bsd/ntp/dist/lib/isc/include/isc/mutexblock.h new external/bsd/ntp/dist/lib/isc/include/isc/namespace.h new external/bsd/ntp/dist/lib/isc/include/isc/netaddr.h new external/bsd/ntp/dist/lib/isc/include/isc/netscope.h new external/bsd/ntp/dist/lib/isc/include/isc/ondestroy.h new external/bsd/ntp/dist/lib/isc/include/isc/os.h new external/bsd/ntp/dist/lib/isc/include/isc/parseint.h new external/bsd/ntp/dist/lib/isc/include/isc/platform.h new external/bsd/ntp/dist/lib/isc/include/isc/platform.h.in new external/bsd/ntp/dist/lib/isc/include/isc/portset.h new external/bsd/ntp/dist/lib/isc/include/isc/print.h new external/bsd/ntp/dist/lib/isc/include/isc/queue.h new external/bsd/ntp/dist/lib/isc/include/isc/quota.h new external/bsd/ntp/dist/lib/isc/include/isc/radix.h new external/bsd/ntp/dist/lib/isc/include/isc/random.h new external/bsd/ntp/dist/lib/isc/include/isc/ratelimiter.h new external/bsd/ntp/dist/lib/isc/include/isc/refcount.h new external/bsd/ntp/dist/lib/isc/include/isc/region.h new external/bsd/ntp/dist/lib/isc/include/isc/resource.h new external/bsd/ntp/dist/lib/isc/include/isc/result.h new external/bsd/ntp/dist/lib/isc/include/isc/resultclass.h new external/bsd/ntp/dist/lib/isc/include/isc/rwlock.h new external/bsd/ntp/dist/lib/isc/include/isc/serial.h new external/bsd/ntp/dist/lib/isc/include/isc/sha1.h new external/bsd/ntp/dist/lib/isc/include/isc/sha2.h new external/bsd/ntp/dist/lib/isc/include/isc/sockaddr.h new external/bsd/ntp/dist/lib/isc/include/isc/socket.h new external/bsd/ntp/dist/lib/isc/include/isc/stats.h new external/bsd/ntp/dist/lib/isc/include/isc/stdio.h new external/bsd/ntp/dist/lib/isc/include/isc/stdlib.h new external/bsd/ntp/dist/lib/isc/include/isc/string.h new external/bsd/ntp/dist/lib/isc/include/isc/symtab.h new external/bsd/ntp/dist/lib/isc/include/isc/task.h new external/bsd/ntp/dist/lib/isc/include/isc/taskpool.h new external/bsd/ntp/dist/lib/isc/include/isc/timer.h new external/bsd/ntp/dist/lib/isc/include/isc/types.h new external/bsd/ntp/dist/lib/isc/include/isc/util.h new external/bsd/ntp/dist/lib/isc/include/isc/version.h new external/bsd/ntp/dist/lib/isc/include/isc/xml.h new external/bsd/ntp/dist/lib/isc/mips/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/nls/msgcat.c new external/bsd/ntp/dist/lib/isc/noatomic/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/nothreads/condition.c new external/bsd/ntp/dist/lib/isc/nothreads/mutex.c new external/bsd/ntp/dist/lib/isc/nothreads/thread.c new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/once.h new external/bsd/ntp/dist/lib/isc/nothreads/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/powerpc/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/pthreads/condition.c new external/bsd/ntp/dist/lib/isc/pthreads/mutex.c new external/bsd/ntp/dist/lib/isc/pthreads/thread.c new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/once.h new external/bsd/ntp/dist/lib/isc/pthreads/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/sparc64/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/tests/Atffile new external/bsd/ntp/dist/lib/isc/tests/hash_test.c new external/bsd/ntp/dist/lib/isc/tests/isctest.c new external/bsd/ntp/dist/lib/isc/tests/isctest.h new external/bsd/ntp/dist/lib/isc/tests/queue_test.c new external/bsd/ntp/dist/lib/isc/tests/socket_test.c new external/bsd/ntp/dist/lib/isc/tests/symtab_test.c new external/bsd/ntp/dist/lib/isc/tests/task_test.c new external/bsd/ntp/dist/lib/isc/tests/taskpool_test.c new external/bsd/ntp/dist/lib/isc/unix/app.c new external/bsd/ntp/dist/lib/isc/unix/dir.c new external/bsd/ntp/dist/lib/isc/unix/entropy.c new external/bsd/ntp/dist/lib/isc/unix/errno2result.c new external/bsd/ntp/dist/lib/isc/unix/errno2result.h new external/bsd/ntp/dist/lib/isc/unix/file.c new external/bsd/ntp/dist/lib/isc/unix/fsaccess.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c new external/bsd/ntp/dist/lib/isc/unix/ifiter_sysctl.c new external/bsd/ntp/dist/lib/isc/unix/interfaceiter.c new external/bsd/ntp/dist/lib/isc/unix/ipv6.c new external/bsd/ntp/dist/lib/isc/unix/keyboard.c new external/bsd/ntp/dist/lib/isc/unix/net.c new external/bsd/ntp/dist/lib/isc/unix/os.c new external/bsd/ntp/dist/lib/isc/unix/resource.c new external/bsd/ntp/dist/lib/isc/unix/socket.c new external/bsd/ntp/dist/lib/isc/unix/socket_p.h new external/bsd/ntp/dist/lib/isc/unix/stdio.c new external/bsd/ntp/dist/lib/isc/unix/stdtime.c new external/bsd/ntp/dist/lib/isc/unix/strerror.c new external/bsd/ntp/dist/lib/isc/unix/syslog.c new external/bsd/ntp/dist/lib/isc/unix/time.c new external/bsd/ntp/dist/lib/isc/unix/include/isc/dir.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/int.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/keyboard.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/net.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/netdb.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/offset.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/stat.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/stdtime.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/strerror.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/syslog.h new external/bsd/ntp/dist/lib/isc/unix/include/isc/time.h new external/bsd/ntp/dist/lib/isc/win32/DLLMain.c new external/bsd/ntp/dist/lib/isc/win32/app.c new external/bsd/ntp/dist/lib/isc/win32/condition.c new external/bsd/ntp/dist/lib/isc/win32/dir.c new external/bsd/ntp/dist/lib/isc/win32/entropy.c new external/bsd/ntp/dist/lib/isc/win32/errno2result.c new external/bsd/ntp/dist/lib/isc/win32/errno2result.h new external/bsd/ntp/dist/lib/isc/win32/file.c new external/bsd/ntp/dist/lib/isc/win32/fsaccess.c new external/bsd/ntp/dist/lib/isc/win32/interfaceiter.c new external/bsd/ntp/dist/lib/isc/win32/ipv6.c new external/bsd/ntp/dist/lib/isc/win32/keyboard.c new external/bsd/ntp/dist/lib/isc/win32/libgen.h new external/bsd/ntp/dist/lib/isc/win32/libisc.def new external/bsd/ntp/dist/lib/isc/win32/libisc.dsp new external/bsd/ntp/dist/lib/isc/win32/libisc.dsw new external/bsd/ntp/dist/lib/isc/win32/libisc.mak new external/bsd/ntp/dist/lib/isc/win32/net.c new external/bsd/ntp/dist/lib/isc/win32/netdb.h new external/bsd/ntp/dist/lib/isc/win32/ntgroups.c new external/bsd/ntp/dist/lib/isc/win32/ntpaths.c new external/bsd/ntp/dist/lib/isc/win32/once.c new external/bsd/ntp/dist/lib/isc/win32/os.c new external/bsd/ntp/dist/lib/isc/win32/resource.c new external/bsd/ntp/dist/lib/isc/win32/socket.c new external/bsd/ntp/dist/lib/isc/win32/stdio.c new external/bsd/ntp/dist/lib/isc/win32/stdtime.c new external/bsd/ntp/dist/lib/isc/win32/strerror.c new external/bsd/ntp/dist/lib/isc/win32/syslog.c new external/bsd/ntp/dist/lib/isc/win32/syslog.h new external/bsd/ntp/dist/lib/isc/win32/thread.c new external/bsd/ntp/dist/lib/isc/win32/time.c new external/bsd/ntp/dist/lib/isc/win32/unistd.h new external/bsd/ntp/dist/lib/isc/win32/version.c new external/bsd/ntp/dist/lib/isc/win32/win32os.c new external/bsd/ntp/dist/lib/isc/win32/include/isc/bind_registry.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/bindevt.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/condition.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/dir.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/int.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ipv6.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/keyboard.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/mutex.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/net.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/netdb.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ntgroups.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/ntpaths.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/offset.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/once.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/platform.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/stat.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/stdtime.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/strerror.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/syslog.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/thread.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/time.h new external/bsd/ntp/dist/lib/isc/win32/include/isc/win32os.h new external/bsd/ntp/dist/lib/isc/x86_32/include/isc/atomic.h new external/bsd/ntp/dist/lib/isc/x86_64/include/isc/atomic.h new external/bsd/ntp/dist/libjsmn/LICENSE new external/bsd/ntp/dist/libjsmn/Makefile new external/bsd/ntp/dist/libjsmn/README.md new external/bsd/ntp/dist/libjsmn/jsmn.c new external/bsd/ntp/dist/libjsmn/jsmn.h new external/bsd/ntp/dist/libjsmn/jsmn_test.c new external/bsd/ntp/dist/libntp/Makefile.am new external/bsd/ntp/dist/libntp/Makefile.in new external/bsd/ntp/dist/libntp/README new external/bsd/ntp/dist/libntp/a_md5encrypt.c new external/bsd/ntp/dist/libntp/adjtime.c new external/bsd/ntp/dist/libntp/adjtimex.c new external/bsd/ntp/dist/libntp/atoint.c new external/bsd/ntp/dist/libntp/atolfp.c new external/bsd/ntp/dist/libntp/atouint.c new external/bsd/ntp/dist/libntp/audio.c new external/bsd/ntp/dist/libntp/authkeys.c new external/bsd/ntp/dist/libntp/authreadkeys.c new external/bsd/ntp/dist/libntp/authusekey.c new external/bsd/ntp/dist/libntp/bsd_strerror.c new external/bsd/ntp/dist/libntp/buftvtots.c new external/bsd/ntp/dist/libntp/caljulian.c new external/bsd/ntp/dist/libntp/caltontp.c new external/bsd/ntp/dist/libntp/calyearstart.c new external/bsd/ntp/dist/libntp/clocktime.c new external/bsd/ntp/dist/libntp/clocktypes.c new external/bsd/ntp/dist/libntp/decodenetnum.c new external/bsd/ntp/dist/libntp/dofptoa.c new external/bsd/ntp/dist/libntp/dolfptoa.c new external/bsd/ntp/dist/libntp/emalloc.c new external/bsd/ntp/dist/libntp/findconfig.c new external/bsd/ntp/dist/libntp/getopt.c new external/bsd/ntp/dist/libntp/hextoint.c new external/bsd/ntp/dist/libntp/hextolfp.c new external/bsd/ntp/dist/libntp/humandate.c new external/bsd/ntp/dist/libntp/icom.c new external/bsd/ntp/dist/libntp/iosignal.c new external/bsd/ntp/dist/libntp/lib_strbuf.c new external/bsd/ntp/dist/libntp/machines.c new external/bsd/ntp/dist/libntp/mktime.c new external/bsd/ntp/dist/libntp/modetoa.c new external/bsd/ntp/dist/libntp/mstolfp.c new external/bsd/ntp/dist/libntp/msyslog.c new external/bsd/ntp/dist/libntp/netof.c new external/bsd/ntp/dist/libntp/ntp_calendar.c new external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c new external/bsd/ntp/dist/libntp/ntp_intres.c new external/bsd/ntp/dist/libntp/ntp_libopts.c new external/bsd/ntp/dist/libntp/ntp_lineedit.c new external/bsd/ntp/dist/libntp/ntp_random.c new external/bsd/ntp/dist/libntp/ntp_rfc2553.c new external/bsd/ntp/dist/libntp/ntp_worker.c new external/bsd/ntp/dist/libntp/numtoa.c new external/bsd/ntp/dist/libntp/numtohost.c new external/bsd/ntp/dist/libntp/octtoint.c new external/bsd/ntp/dist/libntp/prettydate.c new external/bsd/ntp/dist/libntp/recvbuff.c new external/bsd/ntp/dist/libntp/refnumtoa.c new external/bsd/ntp/dist/libntp/snprintf.c new external/bsd/ntp/dist/libntp/socket.c new external/bsd/ntp/dist/libntp/socktoa.c new external/bsd/ntp/dist/libntp/socktohost.c new external/bsd/ntp/dist/libntp/ssl_init.c new external/bsd/ntp/dist/libntp/statestr.c new external/bsd/ntp/dist/libntp/strdup.c new external/bsd/ntp/dist/libntp/strl_obsd.c new external/bsd/ntp/dist/libntp/syssignal.c new external/bsd/ntp/dist/libntp/systime.c new external/bsd/ntp/dist/libntp/systime_s.c new external/bsd/ntp/dist/libntp/timetoa.c new external/bsd/ntp/dist/libntp/timevalops.c new external/bsd/ntp/dist/libntp/uglydate.c new external/bsd/ntp/dist/libntp/vint64ops.c new external/bsd/ntp/dist/libntp/work_fork.c new external/bsd/ntp/dist/libntp/work_thread.c new external/bsd/ntp/dist/libntp/ymd2yd.c new external/bsd/ntp/dist/libparse/Makefile.am new external/bsd/ntp/dist/libparse/Makefile.in new external/bsd/ntp/dist/libparse/README new external/bsd/ntp/dist/libparse/binio.c new external/bsd/ntp/dist/libparse/clk_computime.c new external/bsd/ntp/dist/libparse/clk_dcf7000.c new external/bsd/ntp/dist/libparse/clk_hopf6021.c new external/bsd/ntp/dist/libparse/clk_meinberg.c new external/bsd/ntp/dist/libparse/clk_rawdcf.c new external/bsd/ntp/dist/libparse/clk_rcc8000.c new external/bsd/ntp/dist/libparse/clk_schmid.c new external/bsd/ntp/dist/libparse/clk_sel240x.c new external/bsd/ntp/dist/libparse/clk_trimtaip.c new external/bsd/ntp/dist/libparse/clk_trimtsip.c new external/bsd/ntp/dist/libparse/clk_varitext.c new external/bsd/ntp/dist/libparse/clk_wharton.c new external/bsd/ntp/dist/libparse/data_mbg.c new external/bsd/ntp/dist/libparse/gpstolfp.c new external/bsd/ntp/dist/libparse/ieee754io.c new external/bsd/ntp/dist/libparse/info_trimble.c new external/bsd/ntp/dist/libparse/mfp_mul.c new external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed new external/bsd/ntp/dist/libparse/mkinfo_scmd.sed new external/bsd/ntp/dist/libparse/parse.c new external/bsd/ntp/dist/libparse/parse_conf.c new external/bsd/ntp/dist/libparse/parsesolaris.c new external/bsd/ntp/dist/libparse/parsestreams.c new external/bsd/ntp/dist/libparse/trim_info.c new external/bsd/ntp/dist/ntpd/Makefile.am new external/bsd/ntp/dist/ntpd/Makefile.in new external/bsd/ntp/dist/ntpd/check_y2k.c new external/bsd/ntp/dist/ntpd/cmd_args.c new external/bsd/ntp/dist/ntpd/complete.conf.in new external/bsd/ntp/dist/ntpd/declcond.h new external/bsd/ntp/dist/ntpd/invoke-ntp.conf.menu new external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi new external/bsd/ntp/dist/ntpd/invoke-ntp.keys.menu new external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi new external/bsd/ntp/dist/ntpd/invoke-ntpd.menu new external/bsd/ntp/dist/ntpd/invoke-ntpd.texi new external/bsd/ntp/dist/ntpd/jupiter.h new external/bsd/ntp/dist/ntpd/keyword-gen-utd new external/bsd/ntp/dist/ntpd/keyword-gen.c new external/bsd/ntp/dist/ntpd/ntp.conf.5man new external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc new external/bsd/ntp/dist/ntpd/ntp.conf.def new external/bsd/ntp/dist/ntpd/ntp.conf.html new external/bsd/ntp/dist/ntpd/ntp.conf.man.in new external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in new external/bsd/ntp/dist/ntpd/ntp.conf.texi new external/bsd/ntp/dist/ntpd/ntp.keys.5man new external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc new external/bsd/ntp/dist/ntpd/ntp.keys.def new external/bsd/ntp/dist/ntpd/ntp.keys.html new external/bsd/ntp/dist/ntpd/ntp.keys.man.in new external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in new external/bsd/ntp/dist/ntpd/ntp.keys.texi new external/bsd/ntp/dist/ntpd/ntp_config.c new external/bsd/ntp/dist/ntpd/ntp_control.c new external/bsd/ntp/dist/ntpd/ntp_crypto.c new external/bsd/ntp/dist/ntpd/ntp_filegen.c new external/bsd/ntp/dist/ntpd/ntp_io.c new external/bsd/ntp/dist/ntpd/ntp_keyword.h new external/bsd/ntp/dist/ntpd/ntp_leapsec.c new external/bsd/ntp/dist/ntpd/ntp_leapsec.h new external/bsd/ntp/dist/ntpd/ntp_loopfilter.c new external/bsd/ntp/dist/ntpd/ntp_monitor.c new external/bsd/ntp/dist/ntpd/ntp_parser.c new external/bsd/ntp/dist/ntpd/ntp_parser.h new external/bsd/ntp/dist/ntpd/ntp_parser.y new external/bsd/ntp/dist/ntpd/ntp_peer.c new external/bsd/ntp/dist/ntpd/ntp_prio_q.c new external/bsd/ntp/dist/ntpd/ntp_proto.c new external/bsd/ntp/dist/ntpd/ntp_refclock.c new external/bsd/ntp/dist/ntpd/ntp_request.c new external/bsd/ntp/dist/ntpd/ntp_restrict.c new external/bsd/ntp/dist/ntpd/ntp_scanner.c new external/bsd/ntp/dist/ntpd/ntp_scanner.h new external/bsd/ntp/dist/ntpd/ntp_signd.c new external/bsd/ntp/dist/ntpd/ntp_timer.c new external/bsd/ntp/dist/ntpd/ntp_util.c new external/bsd/ntp/dist/ntpd/ntpd-opts.c new external/bsd/ntp/dist/ntpd/ntpd-opts.def new external/bsd/ntp/dist/ntpd/ntpd-opts.h new external/bsd/ntp/dist/ntpd/ntpd.1ntpdman new external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc new external/bsd/ntp/dist/ntpd/ntpd.c new external/bsd/ntp/dist/ntpd/ntpd.html new external/bsd/ntp/dist/ntpd/ntpd.man.in new external/bsd/ntp/dist/ntpd/ntpd.mdoc.in new external/bsd/ntp/dist/ntpd/ntpd.texi new external/bsd/ntp/dist/ntpd/ntpdbase-opts.def new external/bsd/ntp/dist/ntpd/ntpsim.c new external/bsd/ntp/dist/ntpd/ppsapi_timepps.h new external/bsd/ntp/dist/ntpd/refclock_acts.c new external/bsd/ntp/dist/ntpd/refclock_arbiter.c new external/bsd/ntp/dist/ntpd/refclock_arc.c new external/bsd/ntp/dist/ntpd/refclock_as2201.c new external/bsd/ntp/dist/ntpd/refclock_atom.c new external/bsd/ntp/dist/ntpd/refclock_bancomm.c new external/bsd/ntp/dist/ntpd/refclock_chronolog.c new external/bsd/ntp/dist/ntpd/refclock_chu.c new external/bsd/ntp/dist/ntpd/refclock_conf.c new external/bsd/ntp/dist/ntpd/refclock_datum.c new external/bsd/ntp/dist/ntpd/refclock_dumbclock.c new external/bsd/ntp/dist/ntpd/refclock_fg.c new external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c new external/bsd/ntp/dist/ntpd/refclock_gpsvme.c new external/bsd/ntp/dist/ntpd/refclock_heath.c new external/bsd/ntp/dist/ntpd/refclock_hopfpci.c new external/bsd/ntp/dist/ntpd/refclock_hopfser.c new external/bsd/ntp/dist/ntpd/refclock_hpgps.c new external/bsd/ntp/dist/ntpd/refclock_irig.c new external/bsd/ntp/dist/ntpd/refclock_jjy.c new external/bsd/ntp/dist/ntpd/refclock_jupiter.c new external/bsd/ntp/dist/ntpd/refclock_leitch.c new external/bsd/ntp/dist/ntpd/refclock_local.c new external/bsd/ntp/dist/ntpd/refclock_msfees.c new external/bsd/ntp/dist/ntpd/refclock_mx4200.c new external/bsd/ntp/dist/ntpd/refclock_neoclock4x.c new external/bsd/ntp/dist/ntpd/refclock_nmea.c new external/bsd/ntp/dist/ntpd/refclock_oncore.c new external/bsd/ntp/dist/ntpd/refclock_palisade.c new external/bsd/ntp/dist/ntpd/refclock_palisade.h new external/bsd/ntp/dist/ntpd/refclock_parse.c new external/bsd/ntp/dist/ntpd/refclock_pcf.c new external/bsd/ntp/dist/ntpd/refclock_pst.c new external/bsd/ntp/dist/ntpd/refclock_ripencc.c new external/bsd/ntp/dist/ntpd/refclock_shm.c new external/bsd/ntp/dist/ntpd/refclock_tpro.c new external/bsd/ntp/dist/ntpd/refclock_true.c new external/bsd/ntp/dist/ntpd/refclock_tsyncpci.c new external/bsd/ntp/dist/ntpd/refclock_tt560.c new external/bsd/ntp/dist/ntpd/refclock_ulink.c new external/bsd/ntp/dist/ntpd/refclock_wwv.c new external/bsd/ntp/dist/ntpd/refclock_wwvb.c new external/bsd/ntp/dist/ntpd/refclock_zyfer.c new external/bsd/ntp/dist/ntpdate/Makefile.am new external/bsd/ntp/dist/ntpdate/Makefile.in new external/bsd/ntp/dist/ntpdate/README new external/bsd/ntp/dist/ntpdate/ntpdate.c new external/bsd/ntp/dist/ntpdate/ntpdate.h new external/bsd/ntp/dist/ntpdc/Makefile.am new external/bsd/ntp/dist/ntpdc/Makefile.in new external/bsd/ntp/dist/ntpdc/README new external/bsd/ntp/dist/ntpdc/invoke-ntpdc.menu new external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi new external/bsd/ntp/dist/ntpdc/layout.std new external/bsd/ntp/dist/ntpdc/nl.pl new external/bsd/ntp/dist/ntpdc/nl.pl.in new external/bsd/ntp/dist/ntpdc/nl_in.c new external/bsd/ntp/dist/ntpdc/ntpdc-layout.c new external/bsd/ntp/dist/ntpdc/ntpdc-opts.c new external/bsd/ntp/dist/ntpdc/ntpdc-opts.def new external/bsd/ntp/dist/ntpdc/ntpdc-opts.h new external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman new external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc new external/bsd/ntp/dist/ntpdc/ntpdc.c new external/bsd/ntp/dist/ntpdc/ntpdc.h new external/bsd/ntp/dist/ntpdc/ntpdc.html new external/bsd/ntp/dist/ntpdc/ntpdc.man.in new external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in new external/bsd/ntp/dist/ntpdc/ntpdc.texi new external/bsd/ntp/dist/ntpdc/ntpdc_ops.c new external/bsd/ntp/dist/ntpq/Makefile.am new external/bsd/ntp/dist/ntpq/Makefile.in new external/bsd/ntp/dist/ntpq/README new external/bsd/ntp/dist/ntpq/invoke-ntpq.menu new external/bsd/ntp/dist/ntpq/invoke-ntpq.texi new external/bsd/ntp/dist/ntpq/libntpq.c new external/bsd/ntp/dist/ntpq/libntpq.h new external/bsd/ntp/dist/ntpq/libntpq_subs.c new external/bsd/ntp/dist/ntpq/ntpq-opts.c new external/bsd/ntp/dist/ntpq/ntpq-opts.def new external/bsd/ntp/dist/ntpq/ntpq-opts.h new external/bsd/ntp/dist/ntpq/ntpq-subs.c new external/bsd/ntp/dist/ntpq/ntpq.1ntpqman new external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc new external/bsd/ntp/dist/ntpq/ntpq.c new external/bsd/ntp/dist/ntpq/ntpq.h new external/bsd/ntp/dist/ntpq/ntpq.html new external/bsd/ntp/dist/ntpq/ntpq.man.in new external/bsd/ntp/dist/ntpq/ntpq.mdoc.in new external/bsd/ntp/dist/ntpq/ntpq.texi new external/bsd/ntp/dist/ntpsnmpd/Makefile.am new external/bsd/ntp/dist/ntpsnmpd/Makefile.in new external/bsd/ntp/dist/ntpsnmpd/README new external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.menu new external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi new external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c new external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.c new external/bsd/ntp/dist/ntpsnmpd/ntpSnmpSubagentObject.h new external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.def new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.c new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in new external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.texi new external/bsd/ntp/dist/ntpsnmpd/ntpv4-mib.mib new external/bsd/ntp/dist/parseutil/Makefile.am new external/bsd/ntp/dist/parseutil/Makefile.in new external/bsd/ntp/dist/parseutil/README new external/bsd/ntp/dist/parseutil/dcfd.c new external/bsd/ntp/dist/parseutil/testdcf.c new external/bsd/ntp/dist/scripts/Makefile.am new external/bsd/ntp/dist/scripts/Makefile.in new external/bsd/ntp/dist/scripts/README new external/bsd/ntp/dist/scripts/invoke-plot_summary.menu new external/bsd/ntp/dist/scripts/invoke-plot_summary.texi new external/bsd/ntp/dist/scripts/invoke-summary.menu new external/bsd/ntp/dist/scripts/invoke-summary.texi new external/bsd/ntp/dist/scripts/ntpver.in new external/bsd/ntp/dist/scripts/plot_summary-opts new external/bsd/ntp/dist/scripts/plot_summary-opts.def new external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman new external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc new external/bsd/ntp/dist/scripts/plot_summary.html new external/bsd/ntp/dist/scripts/plot_summary.in new external/bsd/ntp/dist/scripts/plot_summary.man.in new external/bsd/ntp/dist/scripts/plot_summary.mdoc.in new external/bsd/ntp/dist/scripts/plot_summary.texi new external/bsd/ntp/dist/scripts/summary-opts new external/bsd/ntp/dist/scripts/summary-opts.def new external/bsd/ntp/dist/scripts/summary.1summaryman new external/bsd/ntp/dist/scripts/summary.1summarymdoc new external/bsd/ntp/dist/scripts/summary.html new external/bsd/ntp/dist/scripts/summary.in new external/bsd/ntp/dist/scripts/summary.man.in new external/bsd/ntp/dist/scripts/summary.mdoc.in new external/bsd/ntp/dist/scripts/summary.texi new external/bsd/ntp/dist/scripts/build/Makefile.am new external/bsd/ntp/dist/scripts/build/Makefile.in new external/bsd/ntp/dist/scripts/build/UpdatePoint new external/bsd/ntp/dist/scripts/build/VersionName new external/bsd/ntp/dist/scripts/build/check--help new external/bsd/ntp/dist/scripts/build/checkChangeLog new external/bsd/ntp/dist/scripts/build/checkHtmlFileDates new external/bsd/ntp/dist/scripts/build/fixautomakedepsmagic new external/bsd/ntp/dist/scripts/build/genCommitLog new external/bsd/ntp/dist/scripts/build/genver new external/bsd/ntp/dist/scripts/build/mkver.in new external/bsd/ntp/dist/scripts/build/updateBEDate new external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.am new external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj-opts.def new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmannew external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in new external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.texi new external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.menu new external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi new external/bsd/ntp/dist/scripts/deprecated/freq_adj.in new external/bsd/ntp/dist/scripts/deprecated/hpadjtime.sh new external/bsd/ntp/dist/scripts/deprecated/html2man.in new external/bsd/ntp/dist/scripts/deprecated/ntp-close new external/bsd/ntp/dist/scripts/deprecated/ntp-groper new external/bsd/ntp/dist/scripts/deprecated/ntp-restart new external/bsd/ntp/dist/scripts/deprecated/ntp-status new external/bsd/ntp/dist/scripts/lib/Makefile.am new external/bsd/ntp/dist/scripts/lib/Makefile.in new external/bsd/ntp/dist/scripts/lib/NTP/Util.pm new external/bsd/ntp/dist/scripts/monitoring/README new external/bsd/ntp/dist/scripts/monitoring/loopwatch.config.SAMPLE new external/bsd/ntp/dist/scripts/monitoring/lr.pl new external/bsd/ntp/dist/scripts/monitoring/ntp.pl new external/bsd/ntp/dist/scripts/monitoring/ntploopstat new external/bsd/ntp/dist/scripts/monitoring/ntploopwatch new external/bsd/ntp/dist/scripts/monitoring/ntptrap new external/bsd/ntp/dist/scripts/monitoring/timelocal.pl new external/bsd/ntp/dist/scripts/ntp-wait/Makefile.am new external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in new external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.menu new external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts.def new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in new external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.texi new external/bsd/ntp/dist/scripts/ntpsweep/Makefile.am new external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in new external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.menu new external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts.def new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in new external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.texi new external/bsd/ntp/dist/scripts/ntptrace/Makefile.am new external/bsd/ntp/dist/scripts/ntptrace/Makefile.in new external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.menu new external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi new external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts new external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts.def new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in new external/bsd/ntp/dist/scripts/ntptrace/ntptrace.texi new external/bsd/ntp/dist/scripts/rc/README new external/bsd/ntp/dist/scripts/rc/ntpd new external/bsd/ntp/dist/scripts/rc/ntpwait new external/bsd/ntp/dist/scripts/rc/rc.d/TIMESYNC new external/bsd/ntp/dist/scripts/rc/rc.d/ntpd new external/bsd/ntp/dist/scripts/rc/rc.d/ntpwait new external/bsd/ntp/dist/scripts/stats/README new external/bsd/ntp/dist/scripts/stats/README.stats new external/bsd/ntp/dist/scripts/stats/README.timecodes new external/bsd/ntp/dist/scripts/stats/clock.awk new external/bsd/ntp/dist/scripts/stats/dupe.awk new external/bsd/ntp/dist/scripts/stats/ensemble.S new external/bsd/ntp/dist/scripts/stats/ensemble.awk new external/bsd/ntp/dist/scripts/stats/etf.S new external/bsd/ntp/dist/scripts/stats/etf.awk new external/bsd/ntp/dist/scripts/stats/itf.S new external/bsd/ntp/dist/scripts/stats/itf.awk new external/bsd/ntp/dist/scripts/stats/loop.S new external/bsd/ntp/dist/scripts/stats/loop.awk new external/bsd/ntp/dist/scripts/stats/loop_summary new external/bsd/ntp/dist/scripts/stats/peer.awk new external/bsd/ntp/dist/scripts/stats/psummary.awk new external/bsd/ntp/dist/scripts/stats/summary.sh new external/bsd/ntp/dist/scripts/stats/tdata.S new external/bsd/ntp/dist/scripts/stats/tdata.awk new external/bsd/ntp/dist/sntp/COPYRIGHT new external/bsd/ntp/dist/sntp/Makefile.am new external/bsd/ntp/dist/sntp/Makefile.in new external/bsd/ntp/dist/sntp/aclocal.m4 new external/bsd/ntp/dist/sntp/bincheck.mf new external/bsd/ntp/dist/sntp/check-libntp.mf new external/bsd/ntp/dist/sntp/check-libopts.mf new external/bsd/ntp/dist/sntp/config.h.in new external/bsd/ntp/dist/sntp/configure new external/bsd/ntp/dist/sntp/configure.ac new external/bsd/ntp/dist/sntp/crypto.c new external/bsd/ntp/dist/sntp/crypto.h new external/bsd/ntp/dist/sntp/data_formats.h new external/bsd/ntp/dist/sntp/deps-ver new external/bsd/ntp/dist/sntp/depsver.mf new external/bsd/ntp/dist/sntp/evlog.c new external/bsd/ntp/dist/sntp/includes.mf new external/bsd/ntp/dist/sntp/install-sh new external/bsd/ntp/dist/sntp/invoke-sntp.menu new external/bsd/ntp/dist/sntp/invoke-sntp.texi new external/bsd/ntp/dist/sntp/kod_management.c new external/bsd/ntp/dist/sntp/kod_management.h new external/bsd/ntp/dist/sntp/log.c new external/bsd/ntp/dist/sntp/log.h new external/bsd/ntp/dist/sntp/main.c new external/bsd/ntp/dist/sntp/main.h new external/bsd/ntp/dist/sntp/networking.c new external/bsd/ntp/dist/sntp/networking.h new external/bsd/ntp/dist/sntp/scm-rev new external/bsd/ntp/dist/sntp/sntp-opts.c new external/bsd/ntp/dist/sntp/sntp-opts.def new external/bsd/ntp/dist/sntp/sntp-opts.h new external/bsd/ntp/dist/sntp/sntp.1sntpman new external/bsd/ntp/dist/sntp/sntp.1sntpmdoc new external/bsd/ntp/dist/sntp/sntp.c new external/bsd/ntp/dist/sntp/sntp.html new external/bsd/ntp/dist/sntp/sntp.man.in new external/bsd/ntp/dist/sntp/sntp.mdoc.in new external/bsd/ntp/dist/sntp/sntp.texi new external/bsd/ntp/dist/sntp/tests_main.cpp new external/bsd/ntp/dist/sntp/tests_main.h new external/bsd/ntp/dist/sntp/utilities.c new external/bsd/ntp/dist/sntp/utilities.h new external/bsd/ntp/dist/sntp/ag-tpl/0-old/Mdoc.pm new external/bsd/ntp/dist/sntp/ag-tpl/0-old/agman-cmd.tpl new external/bsd/ntp/dist/sntp/ag-tpl/0-old/agmdoc-cmd.tpl new external/bsd/ntp/dist/sntp/ag-tpl/0-old/cmd-doc.tlib new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc-synopsis.tlib new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2man new external/bsd/ntp/dist/sntp/ag-tpl/0-old/mdoc2texi new external/bsd/ntp/dist/sntp/ag-tpl/0-old/perlopt.tpl new external/bsd/ntp/dist/sntp/event2/event-config.h new external/bsd/ntp/dist/sntp/include/Makefile.am new external/bsd/ntp/dist/sntp/include/Makefile.in new external/bsd/ntp/dist/sntp/include/autogen-version.def new external/bsd/ntp/dist/sntp/include/copyright.def new external/bsd/ntp/dist/sntp/include/debug-opt.def new external/bsd/ntp/dist/sntp/include/homerc.def new external/bsd/ntp/dist/sntp/include/ntp.lic new external/bsd/ntp/dist/sntp/include/version.def new external/bsd/ntp/dist/sntp/include/version.texi new external/bsd/ntp/dist/sntp/libevent/ChangeLog new external/bsd/ntp/dist/sntp/libevent/ChangeLog-1.4 new external/bsd/ntp/dist/sntp/libevent/ChangeLog-2.0 new external/bsd/ntp/dist/sntp/libevent/Doxyfile new external/bsd/ntp/dist/sntp/libevent/LICENSE new external/bsd/ntp/dist/sntp/libevent/Makefile.am new external/bsd/ntp/dist/sntp/libevent/Makefile.in new external/bsd/ntp/dist/sntp/libevent/Makefile.nmake new external/bsd/ntp/dist/sntp/libevent/README new external/bsd/ntp/dist/sntp/libevent/aclocal.m4 new external/bsd/ntp/dist/sntp/libevent/arc4random.c new external/bsd/ntp/dist/sntp/libevent/autogen.sh new external/bsd/ntp/dist/sntp/libevent/buffer.c new external/bsd/ntp/dist/sntp/libevent/buffer_iocp.c new external/bsd/ntp/dist/sntp/libevent/bufferevent-internal.h new external/bsd/ntp/dist/sntp/libevent/bufferevent.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_ratelim.c new external/bsd/ntp/dist/sntp/libevent/bufferevent_sock.c new external/bsd/ntp/dist/sntp/libevent/changelist-internal.h new external/bsd/ntp/dist/sntp/libevent/config.h.in new external/bsd/ntp/dist/sntp/libevent/configure new external/bsd/ntp/dist/sntp/libevent/configure.ac new external/bsd/ntp/dist/sntp/libevent/defer-internal.h new external/bsd/ntp/dist/sntp/libevent/devpoll.c new external/bsd/ntp/dist/sntp/libevent/epoll.c new external/bsd/ntp/dist/sntp/libevent/epoll_sub.c new external/bsd/ntp/dist/sntp/libevent/epolltable-internal.h new external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h new external/bsd/ntp/dist/sntp/libevent/evconfig-private.h new external/bsd/ntp/dist/sntp/libevent/evconfig-private.h.in new external/bsd/ntp/dist/sntp/libevent/evdns.c new external/bsd/ntp/dist/sntp/libevent/event-internal.h new external/bsd/ntp/dist/sntp/libevent/event.c new external/bsd/ntp/dist/sntp/libevent/event_iocp.c new external/bsd/ntp/dist/sntp/libevent/event_rpcgen.py new external/bsd/ntp/dist/sntp/libevent/event_tagging.c new external/bsd/ntp/dist/sntp/libevent/evmap-internal.h new external/bsd/ntp/dist/sntp/libevent/evmap.c new external/bsd/ntp/dist/sntp/libevent/evport.c new external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h new external/bsd/ntp/dist/sntp/libevent/evrpc.c new external/bsd/ntp/dist/sntp/libevent/evsignal-internal.h new external/bsd/ntp/dist/sntp/libevent/evthread-internal.h new external/bsd/ntp/dist/sntp/libevent/evthread.c new external/bsd/ntp/dist/sntp/libevent/evthread_pthread.c new external/bsd/ntp/dist/sntp/libevent/evthread_win32.c new external/bsd/ntp/dist/sntp/libevent/evutil.c new external/bsd/ntp/dist/sntp/libevent/evutil_rand.c new external/bsd/ntp/dist/sntp/libevent/evutil_time.c new external/bsd/ntp/dist/sntp/libevent/ht-internal.h new external/bsd/ntp/dist/sntp/libevent/http-internal.h new external/bsd/ntp/dist/sntp/libevent/http.c new external/bsd/ntp/dist/sntp/libevent/iocp-internal.h new external/bsd/ntp/dist/sntp/libevent/ipv6-internal.h new external/bsd/ntp/dist/sntp/libevent/kqueue-internal.h new external/bsd/ntp/dist/sntp/libevent/kqueue.c new external/bsd/ntp/dist/sntp/libevent/libevent.pc.in new external/bsd/ntp/dist/sntp/libevent/libevent_openssl.pc.in new external/bsd/ntp/dist/sntp/libevent/libevent_pthreads.pc.in new external/bsd/ntp/dist/sntp/libevent/listener.c new external/bsd/ntp/dist/sntp/libevent/log-internal.h new external/bsd/ntp/dist/sntp/libevent/log.c new external/bsd/ntp/dist/sntp/libevent/make-event-config.sed new external/bsd/ntp/dist/sntp/libevent/minheap-internal.h new external/bsd/ntp/dist/sntp/libevent/mm-internal.h new external/bsd/ntp/dist/sntp/libevent/poll.c new external/bsd/ntp/dist/sntp/libevent/ratelim-internal.h new external/bsd/ntp/dist/sntp/libevent/select.c new external/bsd/ntp/dist/sntp/libevent/signal.c new external/bsd/ntp/dist/sntp/libevent/strlcpy-internal.h new external/bsd/ntp/dist/sntp/libevent/strlcpy.c new external/bsd/ntp/dist/sntp/libevent/time-internal.h new external/bsd/ntp/dist/sntp/libevent/util-internal.h new external/bsd/ntp/dist/sntp/libevent/whatsnew-2.0.txt new external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt new external/bsd/ntp/dist/sntp/libevent/win32select.c new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/evconfig-private.h new external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h new external/bsd/ntp/dist/sntp/libevent/build-aux/compile new external/bsd/ntp/dist/sntp/libevent/build-aux/config.guess new external/bsd/ntp/dist/sntp/libevent/build-aux/config.sub new external/bsd/ntp/dist/sntp/libevent/build-aux/depcomp new external/bsd/ntp/dist/sntp/libevent/build-aux/install-sh new external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh new external/bsd/ntp/dist/sntp/libevent/build-aux/missing new external/bsd/ntp/dist/sntp/libevent/build-aux/ylwrap new external/bsd/ntp/dist/sntp/libevent/compat/sys/queue.h new external/bsd/ntp/dist/sntp/libevent/include/evdns.h new external/bsd/ntp/dist/sntp/libevent/include/event.h new external/bsd/ntp/dist/sntp/libevent/include/evhttp.h new external/bsd/ntp/dist/sntp/libevent/include/evrpc.h new external/bsd/ntp/dist/sntp/libevent/include/evutil.h new external/bsd/ntp/dist/sntp/libevent/include/include.am new external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h new external/bsd/ntp/dist/sntp/libevent/include/event2/buffer_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_ssl.h new external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/dns_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/event_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/http_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/keyvalq_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/rpc_struct.h new external/bsd/ntp/dist/sntp/libevent/include/event2/tag.h new external/bsd/ntp/dist/sntp/libevent/include/event2/tag_compat.h new external/bsd/ntp/dist/sntp/libevent/include/event2/thread.h new external/bsd/ntp/dist/sntp/libevent/include/event2/util.h new external/bsd/ntp/dist/sntp/libevent/include/event2/visibility.h new external/bsd/ntp/dist/sntp/libevent/m4/ac_backport_259_ssizet.m4 new external/bsd/ntp/dist/sntp/libevent/m4/libevent_openssl.m4 new external/bsd/ntp/dist/sntp/libevent/m4/libtool.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltoptions.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltsugar.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4 new external/bsd/ntp/dist/sntp/libevent/m4/lt~obsolete.m4 new external/bsd/ntp/dist/sntp/libevent/m4/ntp_pkg_config.m4 new external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4 new external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4 new external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c new external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c new external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c new external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c new external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h new external/bsd/ntp/dist/sntp/libevent/sample/http-server.c new external/bsd/ntp/dist/sntp/libevent/sample/https-client.c new external/bsd/ntp/dist/sntp/libevent/sample/include.am new external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c new external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.cnew external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.hnew external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c new external/bsd/ntp/dist/sntp/libevent/sample/time-test.c new external/bsd/ntp/dist/sntp/libevent/test/Makefile.nmake new external/bsd/ntp/dist/sntp/libevent/test/bench.c new external/bsd/ntp/dist/sntp/libevent/test/bench_cascade.c new external/bsd/ntp/dist/sntp/libevent/test/bench_http.c new external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c new external/bsd/ntp/dist/sntp/libevent/test/check-dumpevents.py new external/bsd/ntp/dist/sntp/libevent/test/include.am new external/bsd/ntp/dist/sntp/libevent/test/regress.c new external/bsd/ntp/dist/sntp/libevent/test/regress.gen.c new external/bsd/ntp/dist/sntp/libevent/test/regress.gen.h new external/bsd/ntp/dist/sntp/libevent/test/regress.h new external/bsd/ntp/dist/sntp/libevent/test/regress.rpc new external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c new external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c new external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c new external/bsd/ntp/dist/sntp/libevent/test/regress_et.c new external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c new external/bsd/ntp/dist/sntp/libevent/test/regress_http.c new external/bsd/ntp/dist/sntp/libevent/test/regress_iocp.c new external/bsd/ntp/dist/sntp/libevent/test/regress_listener.c new external/bsd/ntp/dist/sntp/libevent/test/regress_main.c new external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c new external/bsd/ntp/dist/sntp/libevent/test/regress_rpc.c new external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c new external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.c new external/bsd/ntp/dist/sntp/libevent/test/regress_testutils.h new external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c new external/bsd/ntp/dist/sntp/libevent/test/regress_thread.h new external/bsd/ntp/dist/sntp/libevent/test/regress_util.c new external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c new external/bsd/ntp/dist/sntp/libevent/test/rpcgen_wrapper.sh new external/bsd/ntp/dist/sntp/libevent/test/test-changelist.c new external/bsd/ntp/dist/sntp/libevent/test/test-closed.c new external/bsd/ntp/dist/sntp/libevent/test/test-dumpevents.c new external/bsd/ntp/dist/sntp/libevent/test/test-eof.c new external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c new external/bsd/ntp/dist/sntp/libevent/test/test-init.c new external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c new external/bsd/ntp/dist/sntp/libevent/test/test-time.c new external/bsd/ntp/dist/sntp/libevent/test/test-weof.c new external/bsd/ntp/dist/sntp/libevent/test/test.sh new external/bsd/ntp/dist/sntp/libevent/test/tinytest.c new external/bsd/ntp/dist/sntp/libevent/test/tinytest.h new external/bsd/ntp/dist/sntp/libevent/test/tinytest_local.h new external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h new external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3 new external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3 new external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd new external/bsd/ntp/dist/sntp/libopts/MakeDefs.inc new external/bsd/ntp/dist/sntp/libopts/Makefile.am new external/bsd/ntp/dist/sntp/libopts/Makefile.in new external/bsd/ntp/dist/sntp/libopts/README new external/bsd/ntp/dist/sntp/libopts/ag-char-map.h new external/bsd/ntp/dist/sntp/libopts/alias.c new external/bsd/ntp/dist/sntp/libopts/ao-strs.c new external/bsd/ntp/dist/sntp/libopts/ao-strs.h new external/bsd/ntp/dist/sntp/libopts/autoopts.c new external/bsd/ntp/dist/sntp/libopts/autoopts.h new external/bsd/ntp/dist/sntp/libopts/boolean.c new external/bsd/ntp/dist/sntp/libopts/check.c new external/bsd/ntp/dist/sntp/libopts/configfile.c new external/bsd/ntp/dist/sntp/libopts/cook.c new external/bsd/ntp/dist/sntp/libopts/enum.c new external/bsd/ntp/dist/sntp/libopts/env.c new external/bsd/ntp/dist/sntp/libopts/file.c new external/bsd/ntp/dist/sntp/libopts/find.c new external/bsd/ntp/dist/sntp/libopts/genshell.c new external/bsd/ntp/dist/sntp/libopts/genshell.h new external/bsd/ntp/dist/sntp/libopts/gettext.h new external/bsd/ntp/dist/sntp/libopts/init.c new external/bsd/ntp/dist/sntp/libopts/intprops.h new external/bsd/ntp/dist/sntp/libopts/libopts.c new external/bsd/ntp/dist/sntp/libopts/load.c new external/bsd/ntp/dist/sntp/libopts/makeshell.c new external/bsd/ntp/dist/sntp/libopts/nested.c new external/bsd/ntp/dist/sntp/libopts/numeric.c new external/bsd/ntp/dist/sntp/libopts/option-value-type.c new external/bsd/ntp/dist/sntp/libopts/option-value-type.h new external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c new external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h new external/bsd/ntp/dist/sntp/libopts/parse-duration.c new external/bsd/ntp/dist/sntp/libopts/parse-duration.h new external/bsd/ntp/dist/sntp/libopts/pgusage.c new external/bsd/ntp/dist/sntp/libopts/proto.h new external/bsd/ntp/dist/sntp/libopts/putshell.c new external/bsd/ntp/dist/sntp/libopts/reset.c new external/bsd/ntp/dist/sntp/libopts/restore.c new external/bsd/ntp/dist/sntp/libopts/save.c new external/bsd/ntp/dist/sntp/libopts/sort.c new external/bsd/ntp/dist/sntp/libopts/stack.c new external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h new external/bsd/ntp/dist/sntp/libopts/streqvcmp.c new external/bsd/ntp/dist/sntp/libopts/text_mmap.c new external/bsd/ntp/dist/sntp/libopts/time.c new external/bsd/ntp/dist/sntp/libopts/tokenize.c new external/bsd/ntp/dist/sntp/libopts/usage.c new external/bsd/ntp/dist/sntp/libopts/version.c new external/bsd/ntp/dist/sntp/libopts/autoopts/options.h new external/bsd/ntp/dist/sntp/libopts/autoopts/project.h new external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h new external/bsd/ntp/dist/sntp/libopts/compat/_Noreturn.h new external/bsd/ntp/dist/sntp/libopts/compat/compat.h new external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c new external/bsd/ntp/dist/sntp/libopts/compat/snprintf.c new external/bsd/ntp/dist/sntp/libopts/compat/strchr.c new external/bsd/ntp/dist/sntp/libopts/compat/strdup.c new external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h new external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4 new external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4 new external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4 new external/bsd/ntp/dist/sntp/loc/README new external/bsd/ntp/dist/sntp/loc/darwin new external/bsd/ntp/dist/sntp/loc/debian new external/bsd/ntp/dist/sntp/loc/freebsd new external/bsd/ntp/dist/sntp/loc/legacy new external/bsd/ntp/dist/sntp/loc/netbsd new external/bsd/ntp/dist/sntp/loc/redhat new external/bsd/ntp/dist/sntp/loc/solaris new external/bsd/ntp/dist/sntp/m4/define_dir.m4 new external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4 new external/bsd/ntp/dist/sntp/m4/libtool.m4 new external/bsd/ntp/dist/sntp/m4/ltoptions.m4 new external/bsd/ntp/dist/sntp/m4/ltsugar.m4 new external/bsd/ntp/dist/sntp/m4/ltversion.m4 new external/bsd/ntp/dist/sntp/m4/lt~obsolete.m4 new external/bsd/ntp/dist/sntp/m4/ntp_cacheversion.m4 new external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4 new external/bsd/ntp/dist/sntp/m4/ntp_crosscompile.m4 new external/bsd/ntp/dist/sntp/m4/ntp_crypto_rand.m4 new external/bsd/ntp/dist/sntp/m4/ntp_debug.m4 new external/bsd/ntp/dist/sntp/m4/ntp_dir_sep.m4 new external/bsd/ntp/dist/sntp/m4/ntp_facilitynames.m4 new external/bsd/ntp/dist/sntp/m4/ntp_googletest.m4 new external/bsd/ntp/dist/sntp/m4/ntp_ipv6.m4 new external/bsd/ntp/dist/sntp/m4/ntp_lib_m.m4 new external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4 new external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4 new external/bsd/ntp/dist/sntp/m4/ntp_lineeditlibs.m4 new external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4 new external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4 new external/bsd/ntp/dist/sntp/m4/ntp_pkg_config.m4 new external/bsd/ntp/dist/sntp/m4/ntp_prog_cc.m4 new external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4 new external/bsd/ntp/dist/sntp/m4/ntp_sntp.m4 new external/bsd/ntp/dist/sntp/m4/ntp_sysexits.m4 new external/bsd/ntp/dist/sntp/m4/ntp_ver_suffix.m4 new external/bsd/ntp/dist/sntp/m4/ntp_vpathhack.m4 new external/bsd/ntp/dist/sntp/m4/os_cflags.m4 new external/bsd/ntp/dist/sntp/m4/snprintf.m4 new external/bsd/ntp/dist/sntp/m4/version.m4 new external/bsd/ntp/dist/sntp/scripts/Makefile.am new external/bsd/ntp/dist/sntp/scripts/Makefile.in new external/bsd/ntp/dist/sntp/scripts/cvo.sh new external/bsd/ntp/dist/sntp/scripts/genLocInfo new external/bsd/ntp/dist/sntp/scripts/mansec2subst.sed new external/bsd/ntp/dist/sntp/tests/Makefile.am new external/bsd/ntp/dist/sntp/tests/Makefile.in new external/bsd/ntp/dist/sntp/tests/crypto.cpp new external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h new external/bsd/ntp/dist/sntp/tests/keyFile.cpp new external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp new external/bsd/ntp/dist/sntp/tests/kodFile.cpp new external/bsd/ntp/dist/sntp/tests/networking.cpp new external/bsd/ntp/dist/sntp/tests/packetHandling.cpp new external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp new external/bsd/ntp/dist/sntp/tests/sntptest.h new external/bsd/ntp/dist/sntp/tests/tests-runner new external/bsd/ntp/dist/sntp/tests/utilities.cpp new external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-bin new external/bsd/ntp/dist/sntp/tests/data/debug-input-lfp-dec new external/bsd/ntp/dist/sntp/tests/data/debug-input-pkt new external/bsd/ntp/dist/sntp/tests/data/key-test-ascii new external/bsd/ntp/dist/sntp/tests/data/key-test-comments new external/bsd/ntp/dist/sntp/tests/data/key-test-empty new external/bsd/ntp/dist/sntp/tests/data/key-test-hex new external/bsd/ntp/dist/sntp/tests/data/key-test-invalid-hex new external/bsd/ntp/dist/sntp/tests/data/kod-expected-multiple new external/bsd/ntp/dist/sntp/tests/data/kod-expected-single new external/bsd/ntp/dist/sntp/tests/data/kod-test-blanks new external/bsd/ntp/dist/sntp/tests/data/kod-test-correct new external/bsd/ntp/dist/sntp/tests/data/kod-test-empty new external/bsd/ntp/dist/tests/Makefile.am new external/bsd/ntp/dist/tests/Makefile.in new external/bsd/ntp/dist/tests/libntp/Makefile.am new external/bsd/ntp/dist/tests/libntp/Makefile.in new external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp new external/bsd/ntp/dist/tests/libntp/atoint.cpp new external/bsd/ntp/dist/tests/libntp/atouint.cpp new external/bsd/ntp/dist/tests/libntp/authkeys.cpp new external/bsd/ntp/dist/tests/libntp/buftvtots.cpp new external/bsd/ntp/dist/tests/libntp/calendar.cpp new external/bsd/ntp/dist/tests/libntp/caljulian.cpp new external/bsd/ntp/dist/tests/libntp/caltontp.cpp new external/bsd/ntp/dist/tests/libntp/calyearstart.cpp new external/bsd/ntp/dist/tests/libntp/clocktime.cpp new external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp new external/bsd/ntp/dist/tests/libntp/hextoint.cpp new external/bsd/ntp/dist/tests/libntp/hextolfp.cpp new external/bsd/ntp/dist/tests/libntp/humandate.cpp new external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp new external/bsd/ntp/dist/tests/libntp/lfptest.h new external/bsd/ntp/dist/tests/libntp/lfptostr.cpp new external/bsd/ntp/dist/tests/libntp/libntptest.cpp new external/bsd/ntp/dist/tests/libntp/libntptest.h new external/bsd/ntp/dist/tests/libntp/modetoa.cpp new external/bsd/ntp/dist/tests/libntp/msyslog.cpp new external/bsd/ntp/dist/tests/libntp/netof.cpp new external/bsd/ntp/dist/tests/libntp/numtoa.cpp new external/bsd/ntp/dist/tests/libntp/numtohost.cpp new external/bsd/ntp/dist/tests/libntp/octtoint.cpp new external/bsd/ntp/dist/tests/libntp/prettydate.cpp new external/bsd/ntp/dist/tests/libntp/recvbuff.cpp new external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp new external/bsd/ntp/dist/tests/libntp/sfptostr.cpp new external/bsd/ntp/dist/tests/libntp/sockaddrtest.h new external/bsd/ntp/dist/tests/libntp/socktoa.cpp new external/bsd/ntp/dist/tests/libntp/ssl_init.cpp new external/bsd/ntp/dist/tests/libntp/statestr.cpp new external/bsd/ntp/dist/tests/libntp/strtolfp.cpp new external/bsd/ntp/dist/tests/libntp/timespecops.cpp new external/bsd/ntp/dist/tests/libntp/timestructs.cpp new external/bsd/ntp/dist/tests/libntp/timestructs.h new external/bsd/ntp/dist/tests/libntp/timevalops.cpp new external/bsd/ntp/dist/tests/libntp/tstotv.cpp new external/bsd/ntp/dist/tests/libntp/tvtots.cpp new external/bsd/ntp/dist/tests/libntp/uglydate.cpp new external/bsd/ntp/dist/tests/libntp/vi64ops.cpp new external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp new external/bsd/ntp/dist/tests/ntpd/Makefile.am new external/bsd/ntp/dist/tests/ntpd/Makefile.in new external/bsd/ntp/dist/tests/ntpd/leapsec.cpp new external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp new external/bsd/ntp/dist/tests/ntpd/ntpdtest.h new external/bsd/ntp/dist/util/Makefile.am new external/bsd/ntp/dist/util/Makefile.in new external/bsd/ntp/dist/util/README new external/bsd/ntp/dist/util/audio-pcm.c new external/bsd/ntp/dist/util/byteorder.c new external/bsd/ntp/dist/util/hist.c new external/bsd/ntp/dist/util/invoke-ntp-keygen.menu new external/bsd/ntp/dist/util/invoke-ntp-keygen.texi new external/bsd/ntp/dist/util/jitter.c new external/bsd/ntp/dist/util/jitter.h new external/bsd/ntp/dist/util/kern.c new external/bsd/ntp/dist/util/longsize.c new external/bsd/ntp/dist/util/ntp-keygen-opts.c new external/bsd/ntp/dist/util/ntp-keygen-opts.def new external/bsd/ntp/dist/util/ntp-keygen-opts.h new external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman new external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc new external/bsd/ntp/dist/util/ntp-keygen.c new external/bsd/ntp/dist/util/ntp-keygen.html new external/bsd/ntp/dist/util/ntp-keygen.man.in new external/bsd/ntp/dist/util/ntp-keygen.mdoc.in new external/bsd/ntp/dist/util/ntp-keygen.texi new external/bsd/ntp/dist/util/ntptime.c new external/bsd/ntp/dist/util/pps-api.c new external/bsd/ntp/dist/util/precision.c new external/bsd/ntp/dist/util/sht.c new external/bsd/ntp/dist/util/testrs6000.c new external/bsd/ntp/dist/util/tg.c new external/bsd/ntp/dist/util/tg2.c new external/bsd/ntp/dist/util/tickadj.c new external/bsd/ntp/dist/util/timetrim.c new external/bsd/ntp/html/Makefile new external/bsd/ntp/include/config.h new external/bsd/ntp/lib/Makefile new external/bsd/ntp/lib/Makefile.inc new external/bsd/ntp/lib/libiscntp/Makefile new external/bsd/ntp/lib/libntp/Makefile new external/bsd/ntp/lib/libopts/Makefile new external/bsd/ntp/lib/libparse/Makefile new external/bsd/ntp/scripts/mkver new usr.sbin/Makefile patch usr.sbin/ntp/Makefile delete usr.sbin/ntp/Makefile.inc delete usr.sbin/ntp/importdate delete usr.sbin/ntp/html/Makefile delete usr.sbin/ntp/include/config.h delete usr.sbin/ntp/libisc/Makefile delete usr.sbin/ntp/libntp/Makefile delete usr.sbin/ntp/libopts/Makefile delete usr.sbin/ntp/libparse/Makefile delete usr.sbin/ntp/ntp-keygen/Makefile delete usr.sbin/ntp/ntp-keygen/ntp-keygen.8 delete usr.sbin/ntp/ntpd/Makefile delete usr.sbin/ntp/ntpd/ntpd.8 delete usr.sbin/ntp/ntpdate/Makefile delete usr.sbin/ntp/ntpdate/ntpdate.8 delete usr.sbin/ntp/ntpdc/Makefile delete usr.sbin/ntp/ntpdc/ntpdc.8 delete usr.sbin/ntp/ntpq/Makefile delete usr.sbin/ntp/ntpq/ntpq.8 delete usr.sbin/ntp/ntptime/Makefile delete usr.sbin/ntp/ntptime/ntptime.8 delete usr.sbin/ntp/ntptrace/Makefile delete usr.sbin/ntp/ntptrace/ntptrace.8 delete usr.sbin/ntp/ntptrace/ntptrace.awk delete usr.sbin/ntp/scripts/mkver delete usr.sbin/sntp/Makefile delete usr.sbin/sntp/sntp.1 delete Update ntp to 4.2.8. This pullup syncs with -current as of 2014/01/06. CVE-2014-9293, CVE-2014-9294, CVE-2014-9295, and CVE-2014-9296. @ text @a0 639 What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.3-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. Event finalization [NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though it seems solid so far, its API might change between now and the first release candidate for Libevent 2.1.] 1.3.1. Why event finalization? Libevent 2.1 now supports an API for safely "finalizing" events that might be running in multiple threads, and provides a way to slightly change the semantics of event_del() to prevent deadlocks in multithreaded programs. To motivate this feature, consider the following code, in the context of a mulithreaded Libevent application: struct connection *conn = event_get_callback_arg(ev); event_del(ev); connection_free(conn); Suppose that the event's callback might be running in another thread, and using the value of "conn" concurrently. We wouldn't want to execute the connection_free() call until "conn" is no longer in use. How can we make this code safe? Libevent 2.0 answered that question by saying that the event_del() call should block if the event's callback is running in another thread. That way, we can be sure that event_del() has canceled the callback (if the callback hadn't started running yet), or has waited for the callback to finish. But now suppose that the data structure is protected by a lock, and we have the following code: void check_disable(struct connection *connection) { lock(connection); if (should_stop_reading(connection)) event_del(connection->read_event); unlock(connection); } What happens when we call check_disable() from a callback and from another thread? Let's say that the other thread gets the lock first. If it decides to call event_del(), it will wait for the callback to finish. But meanwhile, the callback will be waiting for the lock on the connection. Since each threads is waiting for the other one to release a resource, the program will deadlock. This bug showed up in multithreaded bufferevent programs in 2.1, particularly when freeing bufferevents. (For more information, see the "Deadlock when calling bufferevent_free from an other thread" thread on libevent-users starting on 6 August 2012 and running through February of 2013. You might also like to read my earlier writeup at http://archives.seul.org/libevent/users/Feb-2012/msg00053.html and the ensuing discussion.) 1.3.2. The EV_FINALIZE flag and avoiding deadlock To prevent the deadlock condition described above, Libevent 2.1.3-alpha adds a new flag, "EV_FINALIZE". You can pass it to event_new() and event_assign() along with EV_READ, EV_WRITE, and the other event flags. When an event is constructed with the EV_FINALIZE flag, event_del() will not block on that event, even when the event's callback is running in another thread. By using EV_FINALIZE, you are therefore promising not to use the "event_del(ev); free(event_get_callback_arg(ev));" pattern, but rather to use one of the finalization functions below to clean up the event. EV_FINALIZE has no effect on a single-threaded program, or on a program where events are only used from one thread. There are also two new variants of event_del() that you can use for more fine-grained control: event_del_noblock(ev) event_del_block(ev) The event_del_noblock() function will never block, even if the event callback is running in another thread and doesn't have the EV_FINALIZE flag. The event_del_block() function will _always_ block if the event callback is running in another thread, even if the event _does_ have the EV_FINALIZE flag. [A future version of Libevent may have a way to make the EV_FINALIZE flag the default.] 1.3.3. Safely finalizing events To safely tear down an event that may be running, Libevent 2.1.3-alpha introduces event_finalize() and event_free_finalize(). You call them on an event, and provide a finalizer callback to be run on the event and its callback argument once the event is definitely no longer running. With event_free_finalize(), the event is also freed once the finalizer callback has been invoked. A finalized event cannot be re-added or activated. The finalizer callback must not add events, activate events, or attempt to "resucitate" the event being finalized in any way. If any finalizer callbacks are pending as the event_base is being freed, they will be invoked. You can override this behavior with the new function event_base_free_nofinalize(). 1.4. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.5. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.6. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.7. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. The evdns_base_new() function now has multiple possible values for its second (flags) argument. Using 1 and 0 have their old meanings, though the 1 flag now has a symbolic name of EVDNS_BASE_INITIALIZE_NAMESERVERS. A second flag is now supported too: the EVDNS_BASE_DISABLE_WHEN_INACTIVE flag, which tells the evdns_base that it should not prevent Libevent from exiting while it has no DNS requests in progress. 1.8. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.9. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. There's a new kind of request callback for errors; you can set it with evhttp_request_set_error_cb(). It gets called when there's a request error, and actually reports the error code and lets you figure out which request failed. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @ 1.1.1.2.6.1 log @file whatsnew-2.1.txt was added on branch netbsd-6 on 2014-12-25 02:34:43 +0000 @ text @d1 639 @ 1.1.1.2.6.2 log @Apply patch (requested by christos in ticket #1221): Update ntp to 4.2.8. @ text @a0 639 What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.3-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. Event finalization [NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though it seems solid so far, its API might change between now and the first release candidate for Libevent 2.1.] 1.3.1. Why event finalization? Libevent 2.1 now supports an API for safely "finalizing" events that might be running in multiple threads, and provides a way to slightly change the semantics of event_del() to prevent deadlocks in multithreaded programs. To motivate this feature, consider the following code, in the context of a mulithreaded Libevent application: struct connection *conn = event_get_callback_arg(ev); event_del(ev); connection_free(conn); Suppose that the event's callback might be running in another thread, and using the value of "conn" concurrently. We wouldn't want to execute the connection_free() call until "conn" is no longer in use. How can we make this code safe? Libevent 2.0 answered that question by saying that the event_del() call should block if the event's callback is running in another thread. That way, we can be sure that event_del() has canceled the callback (if the callback hadn't started running yet), or has waited for the callback to finish. But now suppose that the data structure is protected by a lock, and we have the following code: void check_disable(struct connection *connection) { lock(connection); if (should_stop_reading(connection)) event_del(connection->read_event); unlock(connection); } What happens when we call check_disable() from a callback and from another thread? Let's say that the other thread gets the lock first. If it decides to call event_del(), it will wait for the callback to finish. But meanwhile, the callback will be waiting for the lock on the connection. Since each threads is waiting for the other one to release a resource, the program will deadlock. This bug showed up in multithreaded bufferevent programs in 2.1, particularly when freeing bufferevents. (For more information, see the "Deadlock when calling bufferevent_free from an other thread" thread on libevent-users starting on 6 August 2012 and running through February of 2013. You might also like to read my earlier writeup at http://archives.seul.org/libevent/users/Feb-2012/msg00053.html and the ensuing discussion.) 1.3.2. The EV_FINALIZE flag and avoiding deadlock To prevent the deadlock condition described above, Libevent 2.1.3-alpha adds a new flag, "EV_FINALIZE". You can pass it to event_new() and event_assign() along with EV_READ, EV_WRITE, and the other event flags. When an event is constructed with the EV_FINALIZE flag, event_del() will not block on that event, even when the event's callback is running in another thread. By using EV_FINALIZE, you are therefore promising not to use the "event_del(ev); free(event_get_callback_arg(ev));" pattern, but rather to use one of the finalization functions below to clean up the event. EV_FINALIZE has no effect on a single-threaded program, or on a program where events are only used from one thread. There are also two new variants of event_del() that you can use for more fine-grained control: event_del_noblock(ev) event_del_block(ev) The event_del_noblock() function will never block, even if the event callback is running in another thread and doesn't have the EV_FINALIZE flag. The event_del_block() function will _always_ block if the event callback is running in another thread, even if the event _does_ have the EV_FINALIZE flag. [A future version of Libevent may have a way to make the EV_FINALIZE flag the default.] 1.3.3. Safely finalizing events To safely tear down an event that may be running, Libevent 2.1.3-alpha introduces event_finalize() and event_free_finalize(). You call them on an event, and provide a finalizer callback to be run on the event and its callback argument once the event is definitely no longer running. With event_free_finalize(), the event is also freed once the finalizer callback has been invoked. A finalized event cannot be re-added or activated. The finalizer callback must not add events, activate events, or attempt to "resucitate" the event being finalized in any way. If any finalizer callbacks are pending as the event_base is being freed, they will be invoked. You can override this behavior with the new function event_base_free_nofinalize(). 1.4. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.5. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.6. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.7. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. The evdns_base_new() function now has multiple possible values for its second (flags) argument. Using 1 and 0 have their old meanings, though the 1 flag now has a symbolic name of EVDNS_BASE_INITIALIZE_NAMESERVERS. A second flag is now supported too: the EVDNS_BASE_DISABLE_WHEN_INACTIVE flag, which tells the evdns_base that it should not prevent Libevent from exiting while it has no DNS requests in progress. 1.8. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.9. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. There's a new kind of request callback for errors; you can set it with evhttp_request_set_error_cb(). It gets called when there's a request error, and actually reports the error code and lets you figure out which request failed. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @ 1.1.1.2.6.3 log @Pull up following revision(s) (requested by christos in ticket #1342): doc/3RDPARTY: patch external/bsd/ntp/Makefile.inc: up to 1.15 external/bsd/ntp/bin/ntpd/Makefile: up to 1.19 external/bsd/ntp/bin/ntpd/ntp_parser.c: patch external/bsd/ntp/bin/ntpd/ntp_parser.h: patch external/bsd/ntp/bin/sntp/Makefile: up to 1.6 external/bsd/ntp/bin/sntp/event2/event-config.h: delete external/bsd/ntp/bin/sntp/evlog.c: delete external/bsd/ntp/dist/COPYRIGHT: up to 1.1.1.5 external/bsd/ntp/dist/ChangeLog: up to 1.1.1.7 external/bsd/ntp/dist/CommitLog: up to 1.1.1.7 external/bsd/ntp/dist/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/NEWS: up to 1.1.1.7 external/bsd/ntp/dist/README.leapsmear: up to 1.1.1.1 external/bsd/ntp/dist/aclocal.m4: up to 1.1.1.7 external/bsd/ntp/dist/adjtimed/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/adjtimed/adjtimed.c: up to 1.4 external/bsd/ntp/dist/bootstrap: up to 1.1.1.5 external/bsd/ntp/dist/build: up to 1.1.1.5 external/bsd/ntp/dist/clockstuff/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/clockstuff/chutest.c: up to 1.4 external/bsd/ntp/dist/clockstuff/propdelay.c: up to 1.4 external/bsd/ntp/dist/config.h.in: up to 1.1.1.6 external/bsd/ntp/dist/configure: up to 1.1.1.7 external/bsd/ntp/dist/configure.ac: up to 1.1.1.7 external/bsd/ntp/dist/html/build.html: up to 1.1.1.4 external/bsd/ntp/dist/html/confopt.html: up to 1.1.1.4 external/bsd/ntp/dist/html/copyright.html: up to 1.1.1.5 external/bsd/ntp/dist/html/decode.html: up to 1.1.1.5 external/bsd/ntp/dist/html/drivers/driver22.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver28.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver40-ja.html: up to 1.1.1.1 external/bsd/ntp/dist/html/drivers/driver40.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver46.html: up to 1.1.1.2 external/bsd/ntp/dist/html/miscopt.html: up to 1.1.1.6 external/bsd/ntp/dist/html/refclock.html: up to 1.1.1.4 external/bsd/ntp/dist/html/sntp.html: up to 1.1.1.4 external/bsd/ntp/dist/html/stats.html: up to 1.1.1.3 external/bsd/ntp/dist/include/Makefile.am: up to 1.1.1.6 external/bsd/ntp/dist/include/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/include/binio.h: up to 1.4 external/bsd/ntp/dist/include/isc/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/include/mbg_gps166.h: up to 1.4 external/bsd/ntp/dist/include/ntp.h: up to 1.4 external/bsd/ntp/dist/include/ntp_assert.h: up to 1.4 external/bsd/ntp/dist/include/ntp_calendar.h: up to 1.5 external/bsd/ntp/dist/include/ntp_config.h: up to 1.9 external/bsd/ntp/dist/include/ntp_control.h: up to 1.4 external/bsd/ntp/dist/include/ntp_fp.h: up to 1.7 external/bsd/ntp/dist/include/ntp_io.h: up to 1.3 external/bsd/ntp/dist/include/ntp_lists.h: up to 1.4 external/bsd/ntp/dist/include/ntp_md5.h: up to 1.4 external/bsd/ntp/dist/include/ntp_stdlib.h: up to 1.11 external/bsd/ntp/dist/include/ntp_syslog.h: up to 1.4 external/bsd/ntp/dist/include/ntp_types.h: up to 1.4 external/bsd/ntp/dist/include/ntpd.h: up to 1.7 external/bsd/ntp/dist/include/parse.h: up to 1.4 external/bsd/ntp/dist/include/parse_conf.h: up to 1.4 external/bsd/ntp/dist/include/rc_cmdlength.h: up to 1.1.1.1 external/bsd/ntp/dist/include/refidsmear.h: up to 1.1.1.2 external/bsd/ntp/dist/include/timepps-Solaris.h: up to 1.4 external/bsd/ntp/dist/kernel/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/kernel/sys/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/kernel/sys/parsestreams.h: up to 1.4 external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h: up to 1.4 external/bsd/ntp/dist/lib/isc/include/isc/socket.h: up to 1.4 external/bsd/ntp/dist/lib/isc/inet_ntop.c: up to 1.6 external/bsd/ntp/dist/lib/isc/log.c: up to 1.6 external/bsd/ntp/dist/lib/isc/result.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/file.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c: up to 1.4 external/bsd/ntp/dist/lib/isc/unix/net.c: up to 1.7 external/bsd/ntp/dist/libjsmn/Makefile: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/README.md: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/example/jsondump.c: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/example/simple.c: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/jsmn.c: up to 1.4 external/bsd/ntp/dist/libjsmn/jsmn.h: up to 1.3 external/bsd/ntp/dist/libjsmn/jsmn_test.c: up to 1.3 external/bsd/ntp/dist/libntp/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/libntp/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/libntp/atolfp.c: up to 1.7 external/bsd/ntp/dist/libntp/audio.c: up to 1.9 external/bsd/ntp/dist/libntp/authkeys.c: up to 1.7 external/bsd/ntp/dist/libntp/authreadkeys.c: up to 1.7 external/bsd/ntp/dist/libntp/caljulian.c: up to 1.4 external/bsd/ntp/dist/libntp/caltontp.c: up to 1.4 external/bsd/ntp/dist/libntp/decodenetnum.c: up to 1.4 external/bsd/ntp/dist/libntp/emalloc.c: up to 1.6 external/bsd/ntp/dist/libntp/icom.c: up to 1.8 external/bsd/ntp/dist/libntp/machines.c: up to 1.4 external/bsd/ntp/dist/libntp/msyslog.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_calendar.c: up to 1.7 external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_intres.c: up to 1.7 external/bsd/ntp/dist/libntp/ntp_lineedit.c: up to 1.8 external/bsd/ntp/dist/libntp/ntp_rfc2553.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_worker.c: up to 1.4 external/bsd/ntp/dist/libntp/prettydate.c: up to 1.7 external/bsd/ntp/dist/libntp/recvbuff.c: up to 1.4 external/bsd/ntp/dist/libntp/refidsmear.c: up to 1.1.1.2 external/bsd/ntp/dist/libntp/socket.c: up to 1.4 external/bsd/ntp/dist/libntp/socktohost.c: up to 1.4 external/bsd/ntp/dist/libntp/statestr.c: up to 1.4 external/bsd/ntp/dist/libntp/strdup.c: up to 1.3 external/bsd/ntp/dist/libntp/work_fork.c: up to 1.7 external/bsd/ntp/dist/libparse/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/libparse/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/libparse/clk_computime.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_dcf7000.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_hopf6021.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_meinberg.c: up to 1.5 external/bsd/ntp/dist/libparse/clk_rawdcf.c: up to 1.6 external/bsd/ntp/dist/libparse/clk_rcc8000.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_schmid.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_sel240x.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_trimtaip.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_trimtsip.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_varitext.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_wharton.c: up to 1.4 external/bsd/ntp/dist/libparse/data_mbg.c: up to 1.7 external/bsd/ntp/dist/libparse/gpstolfp.c: up to 1.4 external/bsd/ntp/dist/libparse/info_trimble.c: up to 1.6 external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed: up to 1.1.1.3 external/bsd/ntp/dist/libparse/mkinfo_scmd.sed: up to 1.1.1.3 external/bsd/ntp/dist/libparse/parse.c: up to 1.4 external/bsd/ntp/dist/libparse/parse_conf.c: up to 1.4 external/bsd/ntp/dist/libparse/parsesolaris.c: up to 1.4 external/bsd/ntp/dist/libparse/parsestreams.c: up to 1.4 external/bsd/ntp/dist/libparse/trim_info.c: up to 1.4 external/bsd/ntp/dist/ntpd/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/ntpd/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpd/cmd_args.c: up to 1.4 external/bsd/ntp/dist/ntpd/complete.conf.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/invoke-ntpd.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/keyword-gen-utd: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/keyword-gen.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntp.conf.5man: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.def: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.5man: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp_config.c: up to 1.12 external/bsd/ntp/dist/ntpd/ntp_control.c: up to 1.14 external/bsd/ntp/dist/ntpd/ntp_crypto.c: up to 1.10 external/bsd/ntp/dist/ntpd/ntp_io.c: up to 1.20 external/bsd/ntp/dist/ntpd/ntp_keyword.h: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_leapsec.c: up to 1.4 external/bsd/ntp/dist/ntpd/ntp_leapsec.h: up to 1.3 external/bsd/ntp/dist/ntpd/ntp_loopfilter.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_monitor.c: up to 1.4 external/bsd/ntp/dist/ntpd/ntp_parser.y: up to 1.11 external/bsd/ntp/dist/ntpd/ntp_peer.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_proto.c: up to 1.9 external/bsd/ntp/dist/ntpd/ntp_refclock.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_request.c: up to 1.12 external/bsd/ntp/dist/ntpd/ntp_restrict.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntp_scanner.c: up to 1.9 external/bsd/ntp/dist/ntpd/ntp_scanner.h: up to 1.3 external/bsd/ntp/dist/ntpd/ntp_timer.c: up to 1.5 external/bsd/ntp/dist/ntpd/ntp_util.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntpd-opts.c: up to 1.5 external/bsd/ntp/dist/ntpd/ntpd-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/ntpd-opts.h: up to 1.8 external/bsd/ntp/dist/ntpd/ntpd.1ntpdman: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.c: up to 1.11 external/bsd/ntp/dist/ntpd/ntpd.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpdbase-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/rc_cmdlength.c: up to 1.3 external/bsd/ntp/dist/ntpd/refclock_arc.c: up to 1.8 external/bsd/ntp/dist/ntpd/refclock_chu.c: up to 1.7 external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c: up to 1.7 external/bsd/ntp/dist/ntpd/refclock_jjy.c: up to 1.8 external/bsd/ntp/dist/ntpd/refclock_jupiter.c: up to 1.9 external/bsd/ntp/dist/ntpd/refclock_local.c: up to 1.4 external/bsd/ntp/dist/ntpd/refclock_nmea.c: up to 1.10 external/bsd/ntp/dist/ntpd/refclock_oncore.c: up to 1.12 external/bsd/ntp/dist/ntpd/refclock_palisade.c: up to 1.5 external/bsd/ntp/dist/ntpd/refclock_palisade.h: up to 1.4 external/bsd/ntp/dist/ntpd/refclock_parse.c: up to 1.17 external/bsd/ntp/dist/ntpd/refclock_shm.c: up to 1.6 external/bsd/ntp/dist/ntpd/refclock_true.c: up to 1.5 external/bsd/ntp/dist/ntpd/refclock_wwv.c: up to 1.6 external/bsd/ntp/dist/ntpdate/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpdate/ntpdate.c: up to 1.8 external/bsd/ntp/dist/ntpdc/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc-opts.c: up to 1.5 external/bsd/ntp/dist/ntpdc/ntpdc-opts.h: up to 1.5 external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.c: up to 1.11 external/bsd/ntp/dist/ntpdc/ntpdc.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpq/invoke-ntpq.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/libntpq.h: up to 1.4 external/bsd/ntp/dist/ntpq/ntpq-opts.c: up to 1.5 external/bsd/ntp/dist/ntpq/ntpq-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpq/ntpq-opts.h: up to 1.5 external/bsd/ntp/dist/ntpq/ntpq-subs.c: up to 1.12 external/bsd/ntp/dist/ntpq/ntpq.1ntpqman: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.c: up to 1.13 external/bsd/ntp/dist/ntpq/ntpq.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c: up to 1.4 external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h: up to 1.4 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c: up to 1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h: up to 1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/packageinfo.sh: up to 1.1.1.7 external/bsd/ntp/dist/parseutil/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/parseutil/dcfd.c: up to 1.4 external/bsd/ntp/dist/parseutil/testdcf.c: up to 1.4 external/bsd/ntp/dist/scripts/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/scripts/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/scripts/build/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/build/UpdatePoint: up to 1.1.1.2 external/bsd/ntp/dist/scripts/build/VersionName: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/invoke-plot_summary.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/invoke-summary.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/lib/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/lib/NTP/Util.pm: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in: up to 1.1.1.4 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.1summaryman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.1summarymdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/update-leap/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/scripts/update-leap/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/invoke-update-leap.menu: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/invoke-update-leap.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap-opts: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap-opts.def: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.1update-leapman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.1update-leapmdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.in: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.sh: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.texi: up to 1.1.1.1 external/bsd/ntp/dist/sntp/COPYRIGHT: up to 1.1.1.5 external/bsd/ntp/dist/sntp/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/sntp/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/sntp/aclocal.m4: up to 1.1.1.6 external/bsd/ntp/dist/sntp/config.h.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/configure: up to 1.1.1.7 external/bsd/ntp/dist/sntp/configure.ac: up to 1.1.1.6 external/bsd/ntp/dist/sntp/include/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/include/autogen-version.def: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/copyright.def: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/ntp.lic: up to 1.1.1.2 external/bsd/ntp/dist/sntp/include/version.def: up to 1.1.1.5 external/bsd/ntp/dist/sntp/include/version.texi: up to 1.1.1.5 external/bsd/ntp/dist/sntp/invoke-sntp.texi: up to 1.1.1.5 external/bsd/ntp/dist/sntp/kod_management.c: up to 1.6 external/bsd/ntp/dist/sntp/libevent/ChangeLog: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libevent/README: delete external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/aclocal.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/buffer.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/build-aux/ar-lib: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libevent/build-aux/test-driver: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/config.h.in: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/configure: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/configure.ac: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evdns.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/event.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/event_tagging.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evthread-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evthread.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evutil.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evutil_time.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/ht-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/http-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/http.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/event.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/http.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/util.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/kqueue.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/listener.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/m4/acx_pthread.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4: delete external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4: delete external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c: delete external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h: delete external/bsd/ntp/dist/sntp/libevent/sample/http-server.c: delete external/bsd/ntp/dist/sntp/libevent/sample/https-client.c: delete external/bsd/ntp/dist/sntp/libevent/sample/include.am: delete external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c: delete external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.c: delete external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.h: delete external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c: delete external/bsd/ntp/dist/sntp/libevent/sample/time-test.c: delete external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/include.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/test/regress.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_http.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_main.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_util.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/test-time.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/tinytest.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/tinytest.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/time-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/util-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libopts/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/sntp/libopts/README: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/ag-char-map.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/alias.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/ao-strs.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/ao-strs.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/autoopts.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/autoopts.h: up to 1.9 external/bsd/ntp/dist/sntp/libopts/autoopts/options.h: up to 1.10 external/bsd/ntp/dist/sntp/libopts/autoopts/project.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/boolean.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/check.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/compat/compat.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/configfile.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/cook.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/enum.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/env.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/file.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/find.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/genshell.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/gettext.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/init.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/intprops.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/libopts.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/load.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4: up to 1.1.1.6 external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libopts/makeshell.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/nested.c: up to 1.8 external/bsd/ntp/dist/sntp/libopts/numeric.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/option-value-type.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-value-type.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/parse-duration.c: up to 1.7 external/bsd/ntp/dist/sntp/libopts/parse-duration.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/pgusage.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/proto.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/putshell.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/reset.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/restore.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/save.c: up to 1.8 external/bsd/ntp/dist/sntp/libopts/sort.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/stack.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/streqvcmp.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/text_mmap.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/time.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/tokenize.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/usage.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/version.c: up to 1.3 external/bsd/ntp/dist/sntp/libpkgver/colcomp.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libpkgver/pkgver.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/loc/darwin: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/debian: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/freebsd: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/legacy: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/netbsd: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/solaris: up to 1.1.1.3 external/bsd/ntp/dist/sntp/log.c: up to 1.9 external/bsd/ntp/dist/sntp/log.h: up to 1.7 external/bsd/ntp/dist/sntp/m4/ax_c99_struct_init.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ltversion.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4: up to 1.1.1.4 external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_problemtests.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_unitytest.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/openldap-thread-check.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/openldap.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/os_cflags.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/version.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/main.c: up to 1.13 external/bsd/ntp/dist/sntp/networking.c: up to 1.12 external/bsd/ntp/dist/sntp/scripts/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/scripts/cvo.sh: up to 1.1.1.2 external/bsd/ntp/dist/sntp/scripts/genLocInfo: up to 1.1.1.3 external/bsd/ntp/dist/sntp/sntp-opts.c: up to 1.6 external/bsd/ntp/dist/sntp/sntp-opts.def: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp-opts.h: up to 1.5 external/bsd/ntp/dist/sntp/sntp.1sntpman: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.1sntpmdoc: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.html: up to 1.1.1.7 external/bsd/ntp/dist/sntp/sntp.man.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/tests/Makefile.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/tests/crypto.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/crypto.cpp: delete external/bsd/ntp/dist/sntp/tests/fileHandlingTest.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h: delete external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h.in: up to 1.1.1.2 external/bsd/ntp/dist/sntp/tests/keyFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/keyFile.cpp: delete external/bsd/ntp/dist/sntp/tests/kodDatabase.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp: delete external/bsd/ntp/dist/sntp/tests/kodFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/kodFile.cpp: delete external/bsd/ntp/dist/sntp/tests/networking.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/tests/networking.cpp: delete external/bsd/ntp/dist/sntp/tests/packetHandling.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/packetHandling.cpp: delete external/bsd/ntp/dist/sntp/tests/packetProcessing.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp: delete external/bsd/ntp/dist/sntp/tests/run-crypto.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-keyFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-kodDatabase.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-kodFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-networking.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-packetHandling.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-packetProcessing.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-t-log.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/run-utilities.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/sntptest.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/sntptest.h: up to 1.4 external/bsd/ntp/dist/sntp/tests/t-log.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/utilities.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/utilities.cpp: delete external/bsd/ntp/dist/sntp/tests_main.cpp: delete external/bsd/ntp/dist/sntp/tests_main.h: delete external/bsd/ntp/dist/sntp/unity/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/colour_prompt.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/colour_reporter.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_config.yml: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_module.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_test_runner.rb: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/parseOutput.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/runner_maybe.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/test_file_filter.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/type_sanitizer.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/unity_test_summary.py: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/unity_test_summary.rb: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/unity/unity.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_config.h: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/unity_fixture.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture_internals.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture_malloc_overrides.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_internals.h: up to 1.1.1.3 external/bsd/ntp/dist/sntp/version.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/Makefile.am: up to 1.1.1.3 external/bsd/ntp/dist/tests/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/bug-2803/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/bug-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/run-bug-2803.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/tests/libntp/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/libntp/a_md5encrypt.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp: delete external/bsd/ntp/dist/tests/libntp/atoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/atoint.cpp: delete external/bsd/ntp/dist/tests/libntp/atouint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/atouint.cpp: delete external/bsd/ntp/dist/tests/libntp/authkeys.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/authkeys.cpp: delete external/bsd/ntp/dist/tests/libntp/buftvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/buftvtots.cpp: delete external/bsd/ntp/dist/tests/libntp/calendar.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/calendar.cpp: delete external/bsd/ntp/dist/tests/libntp/caljulian.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/caljulian.cpp:: delete external/bsd/ntp/dist/tests/libntp/caltontp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/caltontp.cpp: delete external/bsd/ntp/dist/tests/libntp/calyearstart.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/calyearstart.cpp: delete external/bsd/ntp/dist/tests/libntp/clocktime.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/clocktime.cpp: delete external/bsd/ntp/dist/tests/libntp/decodenetnum.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp: delete external/bsd/ntp/dist/tests/libntp/hextoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/hextoint.cpp: delete external/bsd/ntp/dist/tests/libntp/hextolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/hextolfp.cpp: delete external/bsd/ntp/dist/tests/libntp/humandate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/humandate.cpp: delete external/bsd/ntp/dist/tests/libntp/lfpfunc.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp: delete external/bsd/ntp/dist/tests/libntp/lfptest.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/libntp/lfptest.h: up to 1.4 external/bsd/ntp/dist/tests/libntp/lfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/lfptostr.cpp: delete external/bsd/ntp/dist/tests/libntp/libntptest.cpp: delete external/bsd/ntp/dist/tests/libntp/libntptest.h: delete external/bsd/ntp/dist/tests/libntp/modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/modetoa.cpp: delete external/bsd/ntp/dist/tests/libntp/msyslog.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/msyslog.cpp: delete external/bsd/ntp/dist/tests/libntp/netof.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/netof.cpp: delete external/bsd/ntp/dist/tests/libntp/numtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/numtoa.cpp: delete external/bsd/ntp/dist/tests/libntp/numtohost.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/numtohost.cpp: delete external/bsd/ntp/dist/tests/libntp/octtoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/octtoint.cpp: delete external/bsd/ntp/dist/tests/libntp/prettydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/prettydate.cpp: delete external/bsd/ntp/dist/tests/libntp/recvbuff.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/recvbuff.cpp: delete external/bsd/ntp/dist/tests/libntp/refidsmear.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/refnumtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp: delete external/bsd/ntp/dist/tests/libntp/run-a_md5encrypt.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-atoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-atouint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-authkeys.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-buftvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-calendar.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-caljulian.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-caltontp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-calyearstart.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-clocktime.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-decodenetnum.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-hextoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-hextolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-humandate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-lfpfunc.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-lfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-msyslog.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-netof.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-numtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-numtohost.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-octtoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-prettydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-recvbuff.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-refidsmear.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-refnumtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-sfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-socktoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-ssl_init.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-statestr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-strtolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-timespecops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-timevalops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-tstotv.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-tvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-vi64ops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-ymd2yd.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/sfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/sfptostr.cpp: delete external/bsd/ntp/dist/tests/libntp/sockaddrtest.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/libntp/sockaddrtest.h: up to 1.4 external/bsd/ntp/dist/tests/libntp/socktoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/socktoa.cpp: delete external/bsd/ntp/dist/tests/libntp/ssl_init.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/ssl_init.cpp: delete external/bsd/ntp/dist/tests/libntp/statestr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/statestr.cpp: delete external/bsd/ntp/dist/tests/libntp/strtolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/strtolfp.cpp: delete external/bsd/ntp/dist/tests/libntp/test-libntp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/test-libntp.h: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timespecops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timespecops.cpp: delete external/bsd/ntp/dist/tests/libntp/timestructs.cpp: delete external/bsd/ntp/dist/tests/libntp/timestructs.h: delete external/bsd/ntp/dist/tests/libntp/timevalops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timevalops.cpp: delete external/bsd/ntp/dist/tests/libntp/tstotv.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/tstotv.cpp: delete external/bsd/ntp/dist/tests/libntp/tvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/tvtots.cpp: delete external/bsd/ntp/dist/tests/libntp/uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/uglydate.cpp: delete external/bsd/ntp/dist/tests/libntp/vi64ops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/vi64ops.cpp: delete external/bsd/ntp/dist/tests/libntp/ymd2yd.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp: delete external/bsd/ntp/dist/tests/ntpd/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/ntpd/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/ntpd/leapsec.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/leapsec.cpp: delete external/bsd/ntp/dist/tests/ntpd/ntp_prio_q.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/ntp_restrict.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp: delete external/bsd/ntp/dist/tests/ntpd/ntpdtest.h: delete external/bsd/ntp/dist/tests/ntpd/rc_cmdlength.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-leapsec.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-ntp_prio_q.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-ntp_restrict.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-rc_cmdlength.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-t-ntp_scanner.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-t-ntp_signd.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/t-ntp_scanner.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/t-ntp_signd.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/Makefile.am: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/Makefile.in: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/run-t-ntpq.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/t-ntpq.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/sandbox/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/bug-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/modetoa.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/run-modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/run-uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/run-ut-2803.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/smeartest.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/uglydate.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/ut-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/run-sec-2853.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sec-2853/sec-2853.c: up to 1.1.1.3 external/bsd/ntp/dist/util/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/util/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/util/invoke-ntp-keygen.texi: up to 1.1.1.5 external/bsd/ntp/dist/util/jitter.c: up to 1.4 external/bsd/ntp/dist/util/jitter.h: delete external/bsd/ntp/dist/util/ntp-keygen-opts.c: up to 1.10 external/bsd/ntp/dist/util/ntp-keygen-opts.h: up to 1.5 external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.c: up to 1.9 external/bsd/ntp/dist/util/ntp-keygen.html: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.man.in: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/util/ntptime.c: up to 1.7 external/bsd/ntp/html/Makefile: up to 1.3 external/bsd/ntp/importdate: up to 1.7 external/bsd/ntp/include/config.h: up to 1.13 external/bsd/ntp/ntp2netbsd: up to 1.5 external/bsd/ntp/scripts/mkver: up to 1.7 Update ntp to 4.2.8p4. @ text @d44 1 a44 1 probably need to be recompiled against Libevent 2.1.4-alpha if you a65 3 There is now an alternative cmake-based build process; cmake users should see the relevant sections in the README. a148 13 You can use the new event_base_get_num_events() function to find the number of events active or pending on an event_base. To find the largest number of events that there have been since the last call, use event_base_get_max_events(). You can now activate all the events waiting for a given fd or signal using the event_base_active_by_fd() and event_base_active_by_signal() APIs. On backends that support it (currently epoll), there is now an EV_CLOSED flag that programs can use to detect when a socket has closed without having to read all the bytes until receiving an EOF. a327 7 The function bufferevent_get_token_bucket_cfg() can retrieve the rate-limit settings for a bufferevent; bufferevent_getwatermark() can return a bufferevent's current watermark settings. You can manually trigger a bufferevent's callbacks via bufferevent_trigger() and bufferevent_trigger_event(). a342 3 There is a new evdns_base_clear_host_addresses() function to remove all the /etc/hosts addresses registered with an evdns instance. a394 25 You can navigate from an evhttp_connection back to its evhttp with the new evhttp_connection_get_server() function. You can override the default HTTP Content-Type with the new evhttp_set_default_content_type() function There's a new evhttp_connection_get_addr() API to return the peer address of an evhttp_connection. The new evhttp_send_reply_chunk_with_cb() is a variant of evhttp_send_reply_chunk() with a callback to be invoked when the chunk is sent. The evhttp_request_set_header_cb() facility adds a callback to be invoked while parsing headers. The evhttp_request_set_on_complete_cb() facility adds a callback to be invoked on request completion. 1.10. New functions and features: evutil There's a function "evutil_secure_rng_set_urandom_device_file()" that you can use to override the default file that Libevent uses to seed its (sort-of) secure RNG. @ 1.1.1.2.4.1 log @file whatsnew-2.1.txt was added on branch netbsd-6-0 on 2014-12-25 02:28:15 +0000 @ text @d1 639 @ 1.1.1.2.4.2 log @Apply patch (requested by christos in ticket #1221): Update ntp to 4.2.8. @ text @a0 639 What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.3-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. Event finalization [NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though it seems solid so far, its API might change between now and the first release candidate for Libevent 2.1.] 1.3.1. Why event finalization? Libevent 2.1 now supports an API for safely "finalizing" events that might be running in multiple threads, and provides a way to slightly change the semantics of event_del() to prevent deadlocks in multithreaded programs. To motivate this feature, consider the following code, in the context of a mulithreaded Libevent application: struct connection *conn = event_get_callback_arg(ev); event_del(ev); connection_free(conn); Suppose that the event's callback might be running in another thread, and using the value of "conn" concurrently. We wouldn't want to execute the connection_free() call until "conn" is no longer in use. How can we make this code safe? Libevent 2.0 answered that question by saying that the event_del() call should block if the event's callback is running in another thread. That way, we can be sure that event_del() has canceled the callback (if the callback hadn't started running yet), or has waited for the callback to finish. But now suppose that the data structure is protected by a lock, and we have the following code: void check_disable(struct connection *connection) { lock(connection); if (should_stop_reading(connection)) event_del(connection->read_event); unlock(connection); } What happens when we call check_disable() from a callback and from another thread? Let's say that the other thread gets the lock first. If it decides to call event_del(), it will wait for the callback to finish. But meanwhile, the callback will be waiting for the lock on the connection. Since each threads is waiting for the other one to release a resource, the program will deadlock. This bug showed up in multithreaded bufferevent programs in 2.1, particularly when freeing bufferevents. (For more information, see the "Deadlock when calling bufferevent_free from an other thread" thread on libevent-users starting on 6 August 2012 and running through February of 2013. You might also like to read my earlier writeup at http://archives.seul.org/libevent/users/Feb-2012/msg00053.html and the ensuing discussion.) 1.3.2. The EV_FINALIZE flag and avoiding deadlock To prevent the deadlock condition described above, Libevent 2.1.3-alpha adds a new flag, "EV_FINALIZE". You can pass it to event_new() and event_assign() along with EV_READ, EV_WRITE, and the other event flags. When an event is constructed with the EV_FINALIZE flag, event_del() will not block on that event, even when the event's callback is running in another thread. By using EV_FINALIZE, you are therefore promising not to use the "event_del(ev); free(event_get_callback_arg(ev));" pattern, but rather to use one of the finalization functions below to clean up the event. EV_FINALIZE has no effect on a single-threaded program, or on a program where events are only used from one thread. There are also two new variants of event_del() that you can use for more fine-grained control: event_del_noblock(ev) event_del_block(ev) The event_del_noblock() function will never block, even if the event callback is running in another thread and doesn't have the EV_FINALIZE flag. The event_del_block() function will _always_ block if the event callback is running in another thread, even if the event _does_ have the EV_FINALIZE flag. [A future version of Libevent may have a way to make the EV_FINALIZE flag the default.] 1.3.3. Safely finalizing events To safely tear down an event that may be running, Libevent 2.1.3-alpha introduces event_finalize() and event_free_finalize(). You call them on an event, and provide a finalizer callback to be run on the event and its callback argument once the event is definitely no longer running. With event_free_finalize(), the event is also freed once the finalizer callback has been invoked. A finalized event cannot be re-added or activated. The finalizer callback must not add events, activate events, or attempt to "resucitate" the event being finalized in any way. If any finalizer callbacks are pending as the event_base is being freed, they will be invoked. You can override this behavior with the new function event_base_free_nofinalize(). 1.4. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.5. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.6. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.7. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. The evdns_base_new() function now has multiple possible values for its second (flags) argument. Using 1 and 0 have their old meanings, though the 1 flag now has a symbolic name of EVDNS_BASE_INITIALIZE_NAMESERVERS. A second flag is now supported too: the EVDNS_BASE_DISABLE_WHEN_INACTIVE flag, which tells the evdns_base that it should not prevent Libevent from exiting while it has no DNS requests in progress. 1.8. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.9. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. There's a new kind of request callback for errors; you can set it with evhttp_request_set_error_cb(). It gets called when there's a request error, and actually reports the error code and lets you figure out which request failed. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @ 1.1.1.2.4.3 log @Pull up following revision(s) (requested by christos in ticket #1342): doc/3RDPARTY: patch external/bsd/ntp/Makefile.inc: up to 1.15 external/bsd/ntp/bin/ntpd/Makefile: up to 1.19 external/bsd/ntp/bin/ntpd/ntp_parser.c: patch external/bsd/ntp/bin/ntpd/ntp_parser.h: patch external/bsd/ntp/bin/sntp/Makefile: up to 1.6 external/bsd/ntp/bin/sntp/event2/event-config.h: delete external/bsd/ntp/bin/sntp/evlog.c: delete external/bsd/ntp/dist/COPYRIGHT: up to 1.1.1.5 external/bsd/ntp/dist/ChangeLog: up to 1.1.1.7 external/bsd/ntp/dist/CommitLog: up to 1.1.1.7 external/bsd/ntp/dist/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/NEWS: up to 1.1.1.7 external/bsd/ntp/dist/README.leapsmear: up to 1.1.1.1 external/bsd/ntp/dist/aclocal.m4: up to 1.1.1.7 external/bsd/ntp/dist/adjtimed/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/adjtimed/adjtimed.c: up to 1.4 external/bsd/ntp/dist/bootstrap: up to 1.1.1.5 external/bsd/ntp/dist/build: up to 1.1.1.5 external/bsd/ntp/dist/clockstuff/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/clockstuff/chutest.c: up to 1.4 external/bsd/ntp/dist/clockstuff/propdelay.c: up to 1.4 external/bsd/ntp/dist/config.h.in: up to 1.1.1.6 external/bsd/ntp/dist/configure: up to 1.1.1.7 external/bsd/ntp/dist/configure.ac: up to 1.1.1.7 external/bsd/ntp/dist/html/build.html: up to 1.1.1.4 external/bsd/ntp/dist/html/confopt.html: up to 1.1.1.4 external/bsd/ntp/dist/html/copyright.html: up to 1.1.1.5 external/bsd/ntp/dist/html/decode.html: up to 1.1.1.5 external/bsd/ntp/dist/html/drivers/driver22.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver28.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver40-ja.html: up to 1.1.1.1 external/bsd/ntp/dist/html/drivers/driver40.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver46.html: up to 1.1.1.2 external/bsd/ntp/dist/html/miscopt.html: up to 1.1.1.6 external/bsd/ntp/dist/html/refclock.html: up to 1.1.1.4 external/bsd/ntp/dist/html/sntp.html: up to 1.1.1.4 external/bsd/ntp/dist/html/stats.html: up to 1.1.1.3 external/bsd/ntp/dist/include/Makefile.am: up to 1.1.1.6 external/bsd/ntp/dist/include/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/include/binio.h: up to 1.4 external/bsd/ntp/dist/include/isc/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/include/mbg_gps166.h: up to 1.4 external/bsd/ntp/dist/include/ntp.h: up to 1.4 external/bsd/ntp/dist/include/ntp_assert.h: up to 1.4 external/bsd/ntp/dist/include/ntp_calendar.h: up to 1.5 external/bsd/ntp/dist/include/ntp_config.h: up to 1.9 external/bsd/ntp/dist/include/ntp_control.h: up to 1.4 external/bsd/ntp/dist/include/ntp_fp.h: up to 1.7 external/bsd/ntp/dist/include/ntp_io.h: up to 1.3 external/bsd/ntp/dist/include/ntp_lists.h: up to 1.4 external/bsd/ntp/dist/include/ntp_md5.h: up to 1.4 external/bsd/ntp/dist/include/ntp_stdlib.h: up to 1.11 external/bsd/ntp/dist/include/ntp_syslog.h: up to 1.4 external/bsd/ntp/dist/include/ntp_types.h: up to 1.4 external/bsd/ntp/dist/include/ntpd.h: up to 1.7 external/bsd/ntp/dist/include/parse.h: up to 1.4 external/bsd/ntp/dist/include/parse_conf.h: up to 1.4 external/bsd/ntp/dist/include/rc_cmdlength.h: up to 1.1.1.1 external/bsd/ntp/dist/include/refidsmear.h: up to 1.1.1.2 external/bsd/ntp/dist/include/timepps-Solaris.h: up to 1.4 external/bsd/ntp/dist/kernel/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/kernel/sys/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/kernel/sys/parsestreams.h: up to 1.4 external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h: up to 1.4 external/bsd/ntp/dist/lib/isc/include/isc/socket.h: up to 1.4 external/bsd/ntp/dist/lib/isc/inet_ntop.c: up to 1.6 external/bsd/ntp/dist/lib/isc/log.c: up to 1.6 external/bsd/ntp/dist/lib/isc/result.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/file.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c: up to 1.4 external/bsd/ntp/dist/lib/isc/unix/net.c: up to 1.7 external/bsd/ntp/dist/libjsmn/Makefile: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/README.md: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/example/jsondump.c: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/example/simple.c: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/jsmn.c: up to 1.4 external/bsd/ntp/dist/libjsmn/jsmn.h: up to 1.3 external/bsd/ntp/dist/libjsmn/jsmn_test.c: up to 1.3 external/bsd/ntp/dist/libntp/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/libntp/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/libntp/atolfp.c: up to 1.7 external/bsd/ntp/dist/libntp/audio.c: up to 1.9 external/bsd/ntp/dist/libntp/authkeys.c: up to 1.7 external/bsd/ntp/dist/libntp/authreadkeys.c: up to 1.7 external/bsd/ntp/dist/libntp/caljulian.c: up to 1.4 external/bsd/ntp/dist/libntp/caltontp.c: up to 1.4 external/bsd/ntp/dist/libntp/decodenetnum.c: up to 1.4 external/bsd/ntp/dist/libntp/emalloc.c: up to 1.6 external/bsd/ntp/dist/libntp/icom.c: up to 1.8 external/bsd/ntp/dist/libntp/machines.c: up to 1.4 external/bsd/ntp/dist/libntp/msyslog.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_calendar.c: up to 1.7 external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_intres.c: up to 1.7 external/bsd/ntp/dist/libntp/ntp_lineedit.c: up to 1.8 external/bsd/ntp/dist/libntp/ntp_rfc2553.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_worker.c: up to 1.4 external/bsd/ntp/dist/libntp/prettydate.c: up to 1.7 external/bsd/ntp/dist/libntp/recvbuff.c: up to 1.4 external/bsd/ntp/dist/libntp/refidsmear.c: up to 1.1.1.2 external/bsd/ntp/dist/libntp/socket.c: up to 1.4 external/bsd/ntp/dist/libntp/socktohost.c: up to 1.4 external/bsd/ntp/dist/libntp/statestr.c: up to 1.4 external/bsd/ntp/dist/libntp/strdup.c: up to 1.3 external/bsd/ntp/dist/libntp/work_fork.c: up to 1.7 external/bsd/ntp/dist/libparse/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/libparse/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/libparse/clk_computime.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_dcf7000.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_hopf6021.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_meinberg.c: up to 1.5 external/bsd/ntp/dist/libparse/clk_rawdcf.c: up to 1.6 external/bsd/ntp/dist/libparse/clk_rcc8000.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_schmid.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_sel240x.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_trimtaip.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_trimtsip.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_varitext.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_wharton.c: up to 1.4 external/bsd/ntp/dist/libparse/data_mbg.c: up to 1.7 external/bsd/ntp/dist/libparse/gpstolfp.c: up to 1.4 external/bsd/ntp/dist/libparse/info_trimble.c: up to 1.6 external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed: up to 1.1.1.3 external/bsd/ntp/dist/libparse/mkinfo_scmd.sed: up to 1.1.1.3 external/bsd/ntp/dist/libparse/parse.c: up to 1.4 external/bsd/ntp/dist/libparse/parse_conf.c: up to 1.4 external/bsd/ntp/dist/libparse/parsesolaris.c: up to 1.4 external/bsd/ntp/dist/libparse/parsestreams.c: up to 1.4 external/bsd/ntp/dist/libparse/trim_info.c: up to 1.4 external/bsd/ntp/dist/ntpd/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/ntpd/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpd/cmd_args.c: up to 1.4 external/bsd/ntp/dist/ntpd/complete.conf.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/invoke-ntpd.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/keyword-gen-utd: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/keyword-gen.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntp.conf.5man: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.def: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.5man: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp_config.c: up to 1.12 external/bsd/ntp/dist/ntpd/ntp_control.c: up to 1.14 external/bsd/ntp/dist/ntpd/ntp_crypto.c: up to 1.10 external/bsd/ntp/dist/ntpd/ntp_io.c: up to 1.20 external/bsd/ntp/dist/ntpd/ntp_keyword.h: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_leapsec.c: up to 1.4 external/bsd/ntp/dist/ntpd/ntp_leapsec.h: up to 1.3 external/bsd/ntp/dist/ntpd/ntp_loopfilter.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_monitor.c: up to 1.4 external/bsd/ntp/dist/ntpd/ntp_parser.y: up to 1.11 external/bsd/ntp/dist/ntpd/ntp_peer.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_proto.c: up to 1.9 external/bsd/ntp/dist/ntpd/ntp_refclock.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_request.c: up to 1.12 external/bsd/ntp/dist/ntpd/ntp_restrict.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntp_scanner.c: up to 1.9 external/bsd/ntp/dist/ntpd/ntp_scanner.h: up to 1.3 external/bsd/ntp/dist/ntpd/ntp_timer.c: up to 1.5 external/bsd/ntp/dist/ntpd/ntp_util.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntpd-opts.c: up to 1.5 external/bsd/ntp/dist/ntpd/ntpd-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/ntpd-opts.h: up to 1.8 external/bsd/ntp/dist/ntpd/ntpd.1ntpdman: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.c: up to 1.11 external/bsd/ntp/dist/ntpd/ntpd.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpdbase-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/rc_cmdlength.c: up to 1.3 external/bsd/ntp/dist/ntpd/refclock_arc.c: up to 1.8 external/bsd/ntp/dist/ntpd/refclock_chu.c: up to 1.7 external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c: up to 1.7 external/bsd/ntp/dist/ntpd/refclock_jjy.c: up to 1.8 external/bsd/ntp/dist/ntpd/refclock_jupiter.c: up to 1.9 external/bsd/ntp/dist/ntpd/refclock_local.c: up to 1.4 external/bsd/ntp/dist/ntpd/refclock_nmea.c: up to 1.10 external/bsd/ntp/dist/ntpd/refclock_oncore.c: up to 1.12 external/bsd/ntp/dist/ntpd/refclock_palisade.c: up to 1.5 external/bsd/ntp/dist/ntpd/refclock_palisade.h: up to 1.4 external/bsd/ntp/dist/ntpd/refclock_parse.c: up to 1.17 external/bsd/ntp/dist/ntpd/refclock_shm.c: up to 1.6 external/bsd/ntp/dist/ntpd/refclock_true.c: up to 1.5 external/bsd/ntp/dist/ntpd/refclock_wwv.c: up to 1.6 external/bsd/ntp/dist/ntpdate/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpdate/ntpdate.c: up to 1.8 external/bsd/ntp/dist/ntpdc/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc-opts.c: up to 1.5 external/bsd/ntp/dist/ntpdc/ntpdc-opts.h: up to 1.5 external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.c: up to 1.11 external/bsd/ntp/dist/ntpdc/ntpdc.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpq/invoke-ntpq.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/libntpq.h: up to 1.4 external/bsd/ntp/dist/ntpq/ntpq-opts.c: up to 1.5 external/bsd/ntp/dist/ntpq/ntpq-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpq/ntpq-opts.h: up to 1.5 external/bsd/ntp/dist/ntpq/ntpq-subs.c: up to 1.12 external/bsd/ntp/dist/ntpq/ntpq.1ntpqman: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.c: up to 1.13 external/bsd/ntp/dist/ntpq/ntpq.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c: up to 1.4 external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h: up to 1.4 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c: up to 1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h: up to 1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/packageinfo.sh: up to 1.1.1.7 external/bsd/ntp/dist/parseutil/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/parseutil/dcfd.c: up to 1.4 external/bsd/ntp/dist/parseutil/testdcf.c: up to 1.4 external/bsd/ntp/dist/scripts/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/scripts/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/scripts/build/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/build/UpdatePoint: up to 1.1.1.2 external/bsd/ntp/dist/scripts/build/VersionName: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/invoke-plot_summary.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/invoke-summary.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/lib/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/lib/NTP/Util.pm: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in: up to 1.1.1.4 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.1summaryman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.1summarymdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/update-leap/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/scripts/update-leap/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/invoke-update-leap.menu: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/invoke-update-leap.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap-opts: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap-opts.def: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.1update-leapman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.1update-leapmdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.in: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.sh: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.texi: up to 1.1.1.1 external/bsd/ntp/dist/sntp/COPYRIGHT: up to 1.1.1.5 external/bsd/ntp/dist/sntp/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/sntp/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/sntp/aclocal.m4: up to 1.1.1.6 external/bsd/ntp/dist/sntp/config.h.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/configure: up to 1.1.1.7 external/bsd/ntp/dist/sntp/configure.ac: up to 1.1.1.6 external/bsd/ntp/dist/sntp/include/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/include/autogen-version.def: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/copyright.def: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/ntp.lic: up to 1.1.1.2 external/bsd/ntp/dist/sntp/include/version.def: up to 1.1.1.5 external/bsd/ntp/dist/sntp/include/version.texi: up to 1.1.1.5 external/bsd/ntp/dist/sntp/invoke-sntp.texi: up to 1.1.1.5 external/bsd/ntp/dist/sntp/kod_management.c: up to 1.6 external/bsd/ntp/dist/sntp/libevent/ChangeLog: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libevent/README: delete external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/aclocal.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/buffer.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/build-aux/ar-lib: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libevent/build-aux/test-driver: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/config.h.in: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/configure: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/configure.ac: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evdns.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/event.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/event_tagging.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evthread-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evthread.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evutil.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evutil_time.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/ht-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/http-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/http.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/event.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/http.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/util.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/kqueue.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/listener.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/m4/acx_pthread.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4: delete external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4: delete external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c: delete external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h: delete external/bsd/ntp/dist/sntp/libevent/sample/http-server.c: delete external/bsd/ntp/dist/sntp/libevent/sample/https-client.c: delete external/bsd/ntp/dist/sntp/libevent/sample/include.am: delete external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c: delete external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.c: delete external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.h: delete external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c: delete external/bsd/ntp/dist/sntp/libevent/sample/time-test.c: delete external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/include.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/test/regress.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_http.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_main.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_util.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/test-time.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/tinytest.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/tinytest.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/time-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/util-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libopts/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/sntp/libopts/README: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/ag-char-map.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/alias.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/ao-strs.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/ao-strs.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/autoopts.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/autoopts.h: up to 1.9 external/bsd/ntp/dist/sntp/libopts/autoopts/options.h: up to 1.10 external/bsd/ntp/dist/sntp/libopts/autoopts/project.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/boolean.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/check.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/compat/compat.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/configfile.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/cook.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/enum.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/env.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/file.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/find.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/genshell.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/gettext.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/init.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/intprops.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/libopts.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/load.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4: up to 1.1.1.6 external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libopts/makeshell.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/nested.c: up to 1.8 external/bsd/ntp/dist/sntp/libopts/numeric.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/option-value-type.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-value-type.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/parse-duration.c: up to 1.7 external/bsd/ntp/dist/sntp/libopts/parse-duration.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/pgusage.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/proto.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/putshell.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/reset.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/restore.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/save.c: up to 1.8 external/bsd/ntp/dist/sntp/libopts/sort.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/stack.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/streqvcmp.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/text_mmap.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/time.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/tokenize.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/usage.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/version.c: up to 1.3 external/bsd/ntp/dist/sntp/libpkgver/colcomp.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libpkgver/pkgver.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/loc/darwin: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/debian: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/freebsd: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/legacy: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/netbsd: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/solaris: up to 1.1.1.3 external/bsd/ntp/dist/sntp/log.c: up to 1.9 external/bsd/ntp/dist/sntp/log.h: up to 1.7 external/bsd/ntp/dist/sntp/m4/ax_c99_struct_init.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ltversion.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4: up to 1.1.1.4 external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_problemtests.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_unitytest.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/openldap-thread-check.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/openldap.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/os_cflags.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/version.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/main.c: up to 1.13 external/bsd/ntp/dist/sntp/networking.c: up to 1.12 external/bsd/ntp/dist/sntp/scripts/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/scripts/cvo.sh: up to 1.1.1.2 external/bsd/ntp/dist/sntp/scripts/genLocInfo: up to 1.1.1.3 external/bsd/ntp/dist/sntp/sntp-opts.c: up to 1.6 external/bsd/ntp/dist/sntp/sntp-opts.def: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp-opts.h: up to 1.5 external/bsd/ntp/dist/sntp/sntp.1sntpman: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.1sntpmdoc: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.html: up to 1.1.1.7 external/bsd/ntp/dist/sntp/sntp.man.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/tests/Makefile.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/tests/crypto.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/crypto.cpp: delete external/bsd/ntp/dist/sntp/tests/fileHandlingTest.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h: delete external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h.in: up to 1.1.1.2 external/bsd/ntp/dist/sntp/tests/keyFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/keyFile.cpp: delete external/bsd/ntp/dist/sntp/tests/kodDatabase.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp: delete external/bsd/ntp/dist/sntp/tests/kodFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/kodFile.cpp: delete external/bsd/ntp/dist/sntp/tests/networking.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/tests/networking.cpp: delete external/bsd/ntp/dist/sntp/tests/packetHandling.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/packetHandling.cpp: delete external/bsd/ntp/dist/sntp/tests/packetProcessing.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp: delete external/bsd/ntp/dist/sntp/tests/run-crypto.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-keyFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-kodDatabase.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-kodFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-networking.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-packetHandling.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-packetProcessing.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-t-log.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/run-utilities.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/sntptest.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/sntptest.h: up to 1.4 external/bsd/ntp/dist/sntp/tests/t-log.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/utilities.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/utilities.cpp: delete external/bsd/ntp/dist/sntp/tests_main.cpp: delete external/bsd/ntp/dist/sntp/tests_main.h: delete external/bsd/ntp/dist/sntp/unity/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/colour_prompt.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/colour_reporter.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_config.yml: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_module.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_test_runner.rb: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/parseOutput.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/runner_maybe.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/test_file_filter.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/type_sanitizer.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/unity_test_summary.py: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/unity_test_summary.rb: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/unity/unity.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_config.h: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/unity_fixture.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture_internals.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture_malloc_overrides.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_internals.h: up to 1.1.1.3 external/bsd/ntp/dist/sntp/version.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/Makefile.am: up to 1.1.1.3 external/bsd/ntp/dist/tests/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/bug-2803/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/bug-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/run-bug-2803.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/tests/libntp/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/libntp/a_md5encrypt.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp: delete external/bsd/ntp/dist/tests/libntp/atoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/atoint.cpp: delete external/bsd/ntp/dist/tests/libntp/atouint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/atouint.cpp: delete external/bsd/ntp/dist/tests/libntp/authkeys.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/authkeys.cpp: delete external/bsd/ntp/dist/tests/libntp/buftvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/buftvtots.cpp: delete external/bsd/ntp/dist/tests/libntp/calendar.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/calendar.cpp: delete external/bsd/ntp/dist/tests/libntp/caljulian.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/caljulian.cpp:: delete external/bsd/ntp/dist/tests/libntp/caltontp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/caltontp.cpp: delete external/bsd/ntp/dist/tests/libntp/calyearstart.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/calyearstart.cpp: delete external/bsd/ntp/dist/tests/libntp/clocktime.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/clocktime.cpp: delete external/bsd/ntp/dist/tests/libntp/decodenetnum.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp: delete external/bsd/ntp/dist/tests/libntp/hextoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/hextoint.cpp: delete external/bsd/ntp/dist/tests/libntp/hextolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/hextolfp.cpp: delete external/bsd/ntp/dist/tests/libntp/humandate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/humandate.cpp: delete external/bsd/ntp/dist/tests/libntp/lfpfunc.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp: delete external/bsd/ntp/dist/tests/libntp/lfptest.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/libntp/lfptest.h: up to 1.4 external/bsd/ntp/dist/tests/libntp/lfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/lfptostr.cpp: delete external/bsd/ntp/dist/tests/libntp/libntptest.cpp: delete external/bsd/ntp/dist/tests/libntp/libntptest.h: delete external/bsd/ntp/dist/tests/libntp/modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/modetoa.cpp: delete external/bsd/ntp/dist/tests/libntp/msyslog.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/msyslog.cpp: delete external/bsd/ntp/dist/tests/libntp/netof.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/netof.cpp: delete external/bsd/ntp/dist/tests/libntp/numtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/numtoa.cpp: delete external/bsd/ntp/dist/tests/libntp/numtohost.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/numtohost.cpp: delete external/bsd/ntp/dist/tests/libntp/octtoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/octtoint.cpp: delete external/bsd/ntp/dist/tests/libntp/prettydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/prettydate.cpp: delete external/bsd/ntp/dist/tests/libntp/recvbuff.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/recvbuff.cpp: delete external/bsd/ntp/dist/tests/libntp/refidsmear.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/refnumtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp: delete external/bsd/ntp/dist/tests/libntp/run-a_md5encrypt.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-atoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-atouint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-authkeys.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-buftvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-calendar.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-caljulian.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-caltontp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-calyearstart.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-clocktime.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-decodenetnum.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-hextoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-hextolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-humandate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-lfpfunc.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-lfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-msyslog.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-netof.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-numtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-numtohost.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-octtoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-prettydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-recvbuff.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-refidsmear.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-refnumtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-sfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-socktoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-ssl_init.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-statestr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-strtolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-timespecops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-timevalops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-tstotv.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-tvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-vi64ops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-ymd2yd.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/sfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/sfptostr.cpp: delete external/bsd/ntp/dist/tests/libntp/sockaddrtest.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/libntp/sockaddrtest.h: up to 1.4 external/bsd/ntp/dist/tests/libntp/socktoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/socktoa.cpp: delete external/bsd/ntp/dist/tests/libntp/ssl_init.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/ssl_init.cpp: delete external/bsd/ntp/dist/tests/libntp/statestr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/statestr.cpp: delete external/bsd/ntp/dist/tests/libntp/strtolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/strtolfp.cpp: delete external/bsd/ntp/dist/tests/libntp/test-libntp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/test-libntp.h: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timespecops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timespecops.cpp: delete external/bsd/ntp/dist/tests/libntp/timestructs.cpp: delete external/bsd/ntp/dist/tests/libntp/timestructs.h: delete external/bsd/ntp/dist/tests/libntp/timevalops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timevalops.cpp: delete external/bsd/ntp/dist/tests/libntp/tstotv.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/tstotv.cpp: delete external/bsd/ntp/dist/tests/libntp/tvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/tvtots.cpp: delete external/bsd/ntp/dist/tests/libntp/uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/uglydate.cpp: delete external/bsd/ntp/dist/tests/libntp/vi64ops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/vi64ops.cpp: delete external/bsd/ntp/dist/tests/libntp/ymd2yd.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp: delete external/bsd/ntp/dist/tests/ntpd/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/ntpd/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/ntpd/leapsec.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/leapsec.cpp: delete external/bsd/ntp/dist/tests/ntpd/ntp_prio_q.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/ntp_restrict.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp: delete external/bsd/ntp/dist/tests/ntpd/ntpdtest.h: delete external/bsd/ntp/dist/tests/ntpd/rc_cmdlength.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-leapsec.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-ntp_prio_q.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-ntp_restrict.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-rc_cmdlength.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-t-ntp_scanner.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-t-ntp_signd.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/t-ntp_scanner.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/t-ntp_signd.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/Makefile.am: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/Makefile.in: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/run-t-ntpq.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/t-ntpq.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/sandbox/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/bug-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/modetoa.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/run-modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/run-uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/run-ut-2803.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/smeartest.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/uglydate.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/ut-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/run-sec-2853.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sec-2853/sec-2853.c: up to 1.1.1.3 external/bsd/ntp/dist/util/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/util/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/util/invoke-ntp-keygen.texi: up to 1.1.1.5 external/bsd/ntp/dist/util/jitter.c: up to 1.4 external/bsd/ntp/dist/util/jitter.h: delete external/bsd/ntp/dist/util/ntp-keygen-opts.c: up to 1.10 external/bsd/ntp/dist/util/ntp-keygen-opts.h: up to 1.5 external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.c: up to 1.9 external/bsd/ntp/dist/util/ntp-keygen.html: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.man.in: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/util/ntptime.c: up to 1.7 external/bsd/ntp/html/Makefile: up to 1.3 external/bsd/ntp/importdate: up to 1.7 external/bsd/ntp/include/config.h: up to 1.13 external/bsd/ntp/ntp2netbsd: up to 1.5 external/bsd/ntp/scripts/mkver: up to 1.7 Update ntp to 4.2.8p4. @ text @d44 1 a44 1 probably need to be recompiled against Libevent 2.1.4-alpha if you a65 3 There is now an alternative cmake-based build process; cmake users should see the relevant sections in the README. a148 13 You can use the new event_base_get_num_events() function to find the number of events active or pending on an event_base. To find the largest number of events that there have been since the last call, use event_base_get_max_events(). You can now activate all the events waiting for a given fd or signal using the event_base_active_by_fd() and event_base_active_by_signal() APIs. On backends that support it (currently epoll), there is now an EV_CLOSED flag that programs can use to detect when a socket has closed without having to read all the bytes until receiving an EOF. a327 7 The function bufferevent_get_token_bucket_cfg() can retrieve the rate-limit settings for a bufferevent; bufferevent_getwatermark() can return a bufferevent's current watermark settings. You can manually trigger a bufferevent's callbacks via bufferevent_trigger() and bufferevent_trigger_event(). a342 3 There is a new evdns_base_clear_host_addresses() function to remove all the /etc/hosts addresses registered with an evdns instance. a394 25 You can navigate from an evhttp_connection back to its evhttp with the new evhttp_connection_get_server() function. You can override the default HTTP Content-Type with the new evhttp_set_default_content_type() function There's a new evhttp_connection_get_addr() API to return the peer address of an evhttp_connection. The new evhttp_send_reply_chunk_with_cb() is a variant of evhttp_send_reply_chunk() with a callback to be invoked when the chunk is sent. The evhttp_request_set_header_cb() facility adds a callback to be invoked while parsing headers. The evhttp_request_set_on_complete_cb() facility adds a callback to be invoked on request completion. 1.10. New functions and features: evutil There's a function "evutil_secure_rng_set_urandom_device_file()" that you can use to override the default file that Libevent uses to seed its (sort-of) secure RNG. @ 1.1.1.2.2.1 log @file whatsnew-2.1.txt was added on branch netbsd-6-1 on 2014-12-25 02:13:12 +0000 @ text @d1 639 @ 1.1.1.2.2.2 log @Apply patch (requested by christos in ticket #1221): Update ntp to 4.2.8. @ text @a0 639 What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.3-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. Event finalization [NOTE: This is an experimental feature in Libevent 2.1.3-alpha. Though it seems solid so far, its API might change between now and the first release candidate for Libevent 2.1.] 1.3.1. Why event finalization? Libevent 2.1 now supports an API for safely "finalizing" events that might be running in multiple threads, and provides a way to slightly change the semantics of event_del() to prevent deadlocks in multithreaded programs. To motivate this feature, consider the following code, in the context of a mulithreaded Libevent application: struct connection *conn = event_get_callback_arg(ev); event_del(ev); connection_free(conn); Suppose that the event's callback might be running in another thread, and using the value of "conn" concurrently. We wouldn't want to execute the connection_free() call until "conn" is no longer in use. How can we make this code safe? Libevent 2.0 answered that question by saying that the event_del() call should block if the event's callback is running in another thread. That way, we can be sure that event_del() has canceled the callback (if the callback hadn't started running yet), or has waited for the callback to finish. But now suppose that the data structure is protected by a lock, and we have the following code: void check_disable(struct connection *connection) { lock(connection); if (should_stop_reading(connection)) event_del(connection->read_event); unlock(connection); } What happens when we call check_disable() from a callback and from another thread? Let's say that the other thread gets the lock first. If it decides to call event_del(), it will wait for the callback to finish. But meanwhile, the callback will be waiting for the lock on the connection. Since each threads is waiting for the other one to release a resource, the program will deadlock. This bug showed up in multithreaded bufferevent programs in 2.1, particularly when freeing bufferevents. (For more information, see the "Deadlock when calling bufferevent_free from an other thread" thread on libevent-users starting on 6 August 2012 and running through February of 2013. You might also like to read my earlier writeup at http://archives.seul.org/libevent/users/Feb-2012/msg00053.html and the ensuing discussion.) 1.3.2. The EV_FINALIZE flag and avoiding deadlock To prevent the deadlock condition described above, Libevent 2.1.3-alpha adds a new flag, "EV_FINALIZE". You can pass it to event_new() and event_assign() along with EV_READ, EV_WRITE, and the other event flags. When an event is constructed with the EV_FINALIZE flag, event_del() will not block on that event, even when the event's callback is running in another thread. By using EV_FINALIZE, you are therefore promising not to use the "event_del(ev); free(event_get_callback_arg(ev));" pattern, but rather to use one of the finalization functions below to clean up the event. EV_FINALIZE has no effect on a single-threaded program, or on a program where events are only used from one thread. There are also two new variants of event_del() that you can use for more fine-grained control: event_del_noblock(ev) event_del_block(ev) The event_del_noblock() function will never block, even if the event callback is running in another thread and doesn't have the EV_FINALIZE flag. The event_del_block() function will _always_ block if the event callback is running in another thread, even if the event _does_ have the EV_FINALIZE flag. [A future version of Libevent may have a way to make the EV_FINALIZE flag the default.] 1.3.3. Safely finalizing events To safely tear down an event that may be running, Libevent 2.1.3-alpha introduces event_finalize() and event_free_finalize(). You call them on an event, and provide a finalizer callback to be run on the event and its callback argument once the event is definitely no longer running. With event_free_finalize(), the event is also freed once the finalizer callback has been invoked. A finalized event cannot be re-added or activated. The finalizer callback must not add events, activate events, or attempt to "resucitate" the event being finalized in any way. If any finalizer callbacks are pending as the event_base is being freed, they will be invoked. You can override this behavior with the new function event_base_free_nofinalize(). 1.4. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.5. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.6. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.7. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. The evdns_base_new() function now has multiple possible values for its second (flags) argument. Using 1 and 0 have their old meanings, though the 1 flag now has a symbolic name of EVDNS_BASE_INITIALIZE_NAMESERVERS. A second flag is now supported too: the EVDNS_BASE_DISABLE_WHEN_INACTIVE flag, which tells the evdns_base that it should not prevent Libevent from exiting while it has no DNS requests in progress. 1.8. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.9. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. There's a new kind of request callback for errors; you can set it with evhttp_request_set_error_cb(). It gets called when there's a request error, and actually reports the error code and lets you figure out which request failed. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @ 1.1.1.2.2.3 log @Pull up following revision(s) (requested by christos in ticket #1342): doc/3RDPARTY: patch external/bsd/ntp/Makefile.inc: up to 1.15 external/bsd/ntp/bin/ntpd/Makefile: up to 1.19 external/bsd/ntp/bin/ntpd/ntp_parser.c: patch external/bsd/ntp/bin/ntpd/ntp_parser.h: patch external/bsd/ntp/bin/sntp/Makefile: up to 1.6 external/bsd/ntp/bin/sntp/event2/event-config.h: delete external/bsd/ntp/bin/sntp/evlog.c: delete external/bsd/ntp/dist/COPYRIGHT: up to 1.1.1.5 external/bsd/ntp/dist/ChangeLog: up to 1.1.1.7 external/bsd/ntp/dist/CommitLog: up to 1.1.1.7 external/bsd/ntp/dist/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/NEWS: up to 1.1.1.7 external/bsd/ntp/dist/README.leapsmear: up to 1.1.1.1 external/bsd/ntp/dist/aclocal.m4: up to 1.1.1.7 external/bsd/ntp/dist/adjtimed/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/adjtimed/adjtimed.c: up to 1.4 external/bsd/ntp/dist/bootstrap: up to 1.1.1.5 external/bsd/ntp/dist/build: up to 1.1.1.5 external/bsd/ntp/dist/clockstuff/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/clockstuff/chutest.c: up to 1.4 external/bsd/ntp/dist/clockstuff/propdelay.c: up to 1.4 external/bsd/ntp/dist/config.h.in: up to 1.1.1.6 external/bsd/ntp/dist/configure: up to 1.1.1.7 external/bsd/ntp/dist/configure.ac: up to 1.1.1.7 external/bsd/ntp/dist/html/build.html: up to 1.1.1.4 external/bsd/ntp/dist/html/confopt.html: up to 1.1.1.4 external/bsd/ntp/dist/html/copyright.html: up to 1.1.1.5 external/bsd/ntp/dist/html/decode.html: up to 1.1.1.5 external/bsd/ntp/dist/html/drivers/driver22.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver28.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver40-ja.html: up to 1.1.1.1 external/bsd/ntp/dist/html/drivers/driver40.html: up to 1.1.1.4 external/bsd/ntp/dist/html/drivers/driver46.html: up to 1.1.1.2 external/bsd/ntp/dist/html/miscopt.html: up to 1.1.1.6 external/bsd/ntp/dist/html/refclock.html: up to 1.1.1.4 external/bsd/ntp/dist/html/sntp.html: up to 1.1.1.4 external/bsd/ntp/dist/html/stats.html: up to 1.1.1.3 external/bsd/ntp/dist/include/Makefile.am: up to 1.1.1.6 external/bsd/ntp/dist/include/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/include/binio.h: up to 1.4 external/bsd/ntp/dist/include/isc/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/include/mbg_gps166.h: up to 1.4 external/bsd/ntp/dist/include/ntp.h: up to 1.4 external/bsd/ntp/dist/include/ntp_assert.h: up to 1.4 external/bsd/ntp/dist/include/ntp_calendar.h: up to 1.5 external/bsd/ntp/dist/include/ntp_config.h: up to 1.9 external/bsd/ntp/dist/include/ntp_control.h: up to 1.4 external/bsd/ntp/dist/include/ntp_fp.h: up to 1.7 external/bsd/ntp/dist/include/ntp_io.h: up to 1.3 external/bsd/ntp/dist/include/ntp_lists.h: up to 1.4 external/bsd/ntp/dist/include/ntp_md5.h: up to 1.4 external/bsd/ntp/dist/include/ntp_stdlib.h: up to 1.11 external/bsd/ntp/dist/include/ntp_syslog.h: up to 1.4 external/bsd/ntp/dist/include/ntp_types.h: up to 1.4 external/bsd/ntp/dist/include/ntpd.h: up to 1.7 external/bsd/ntp/dist/include/parse.h: up to 1.4 external/bsd/ntp/dist/include/parse_conf.h: up to 1.4 external/bsd/ntp/dist/include/rc_cmdlength.h: up to 1.1.1.1 external/bsd/ntp/dist/include/refidsmear.h: up to 1.1.1.2 external/bsd/ntp/dist/include/timepps-Solaris.h: up to 1.4 external/bsd/ntp/dist/kernel/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/kernel/sys/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/kernel/sys/parsestreams.h: up to 1.4 external/bsd/ntp/dist/lib/isc/include/isc/backtrace.h: up to 1.4 external/bsd/ntp/dist/lib/isc/include/isc/socket.h: up to 1.4 external/bsd/ntp/dist/lib/isc/inet_ntop.c: up to 1.6 external/bsd/ntp/dist/lib/isc/log.c: up to 1.6 external/bsd/ntp/dist/lib/isc/result.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/file.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/ifiter_getifaddrs.c: up to 1.6 external/bsd/ntp/dist/lib/isc/unix/ifiter_ioctl.c: up to 1.4 external/bsd/ntp/dist/lib/isc/unix/net.c: up to 1.7 external/bsd/ntp/dist/libjsmn/Makefile: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/README.md: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/example/jsondump.c: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/example/simple.c: up to 1.1.1.2 external/bsd/ntp/dist/libjsmn/jsmn.c: up to 1.4 external/bsd/ntp/dist/libjsmn/jsmn.h: up to 1.3 external/bsd/ntp/dist/libjsmn/jsmn_test.c: up to 1.3 external/bsd/ntp/dist/libntp/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/libntp/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/libntp/atolfp.c: up to 1.7 external/bsd/ntp/dist/libntp/audio.c: up to 1.9 external/bsd/ntp/dist/libntp/authkeys.c: up to 1.7 external/bsd/ntp/dist/libntp/authreadkeys.c: up to 1.7 external/bsd/ntp/dist/libntp/caljulian.c: up to 1.4 external/bsd/ntp/dist/libntp/caltontp.c: up to 1.4 external/bsd/ntp/dist/libntp/decodenetnum.c: up to 1.4 external/bsd/ntp/dist/libntp/emalloc.c: up to 1.6 external/bsd/ntp/dist/libntp/icom.c: up to 1.8 external/bsd/ntp/dist/libntp/machines.c: up to 1.4 external/bsd/ntp/dist/libntp/msyslog.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_calendar.c: up to 1.7 external/bsd/ntp/dist/libntp/ntp_crypto_rnd.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_intres.c: up to 1.7 external/bsd/ntp/dist/libntp/ntp_lineedit.c: up to 1.8 external/bsd/ntp/dist/libntp/ntp_rfc2553.c: up to 1.4 external/bsd/ntp/dist/libntp/ntp_worker.c: up to 1.4 external/bsd/ntp/dist/libntp/prettydate.c: up to 1.7 external/bsd/ntp/dist/libntp/recvbuff.c: up to 1.4 external/bsd/ntp/dist/libntp/refidsmear.c: up to 1.1.1.2 external/bsd/ntp/dist/libntp/socket.c: up to 1.4 external/bsd/ntp/dist/libntp/socktohost.c: up to 1.4 external/bsd/ntp/dist/libntp/statestr.c: up to 1.4 external/bsd/ntp/dist/libntp/strdup.c: up to 1.3 external/bsd/ntp/dist/libntp/work_fork.c: up to 1.7 external/bsd/ntp/dist/libparse/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/libparse/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/libparse/clk_computime.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_dcf7000.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_hopf6021.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_meinberg.c: up to 1.5 external/bsd/ntp/dist/libparse/clk_rawdcf.c: up to 1.6 external/bsd/ntp/dist/libparse/clk_rcc8000.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_schmid.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_sel240x.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_trimtaip.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_trimtsip.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_varitext.c: up to 1.4 external/bsd/ntp/dist/libparse/clk_wharton.c: up to 1.4 external/bsd/ntp/dist/libparse/data_mbg.c: up to 1.7 external/bsd/ntp/dist/libparse/gpstolfp.c: up to 1.4 external/bsd/ntp/dist/libparse/info_trimble.c: up to 1.6 external/bsd/ntp/dist/libparse/mkinfo_rcmd.sed: up to 1.1.1.3 external/bsd/ntp/dist/libparse/mkinfo_scmd.sed: up to 1.1.1.3 external/bsd/ntp/dist/libparse/parse.c: up to 1.4 external/bsd/ntp/dist/libparse/parse_conf.c: up to 1.4 external/bsd/ntp/dist/libparse/parsesolaris.c: up to 1.4 external/bsd/ntp/dist/libparse/parsestreams.c: up to 1.4 external/bsd/ntp/dist/libparse/trim_info.c: up to 1.4 external/bsd/ntp/dist/ntpd/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/ntpd/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpd/cmd_args.c: up to 1.4 external/bsd/ntp/dist/ntpd/complete.conf.in: up to 1.1.1.3 external/bsd/ntp/dist/ntpd/invoke-ntp.conf.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/invoke-ntp.keys.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/invoke-ntpd.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/keyword-gen-utd: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/keyword-gen.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntp.conf.5man: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.5mdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.def: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.conf.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.5man: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.5mdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp.keys.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntp_config.c: up to 1.12 external/bsd/ntp/dist/ntpd/ntp_control.c: up to 1.14 external/bsd/ntp/dist/ntpd/ntp_crypto.c: up to 1.10 external/bsd/ntp/dist/ntpd/ntp_io.c: up to 1.20 external/bsd/ntp/dist/ntpd/ntp_keyword.h: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_leapsec.c: up to 1.4 external/bsd/ntp/dist/ntpd/ntp_leapsec.h: up to 1.3 external/bsd/ntp/dist/ntpd/ntp_loopfilter.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_monitor.c: up to 1.4 external/bsd/ntp/dist/ntpd/ntp_parser.y: up to 1.11 external/bsd/ntp/dist/ntpd/ntp_peer.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_proto.c: up to 1.9 external/bsd/ntp/dist/ntpd/ntp_refclock.c: up to 1.8 external/bsd/ntp/dist/ntpd/ntp_request.c: up to 1.12 external/bsd/ntp/dist/ntpd/ntp_restrict.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntp_scanner.c: up to 1.9 external/bsd/ntp/dist/ntpd/ntp_scanner.h: up to 1.3 external/bsd/ntp/dist/ntpd/ntp_timer.c: up to 1.5 external/bsd/ntp/dist/ntpd/ntp_util.c: up to 1.7 external/bsd/ntp/dist/ntpd/ntpd-opts.c: up to 1.5 external/bsd/ntp/dist/ntpd/ntpd-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/ntpd-opts.h: up to 1.8 external/bsd/ntp/dist/ntpd/ntpd.1ntpdman: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.1ntpdmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.c: up to 1.11 external/bsd/ntp/dist/ntpd/ntpd.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpd.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpd/ntpdbase-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpd/rc_cmdlength.c: up to 1.3 external/bsd/ntp/dist/ntpd/refclock_arc.c: up to 1.8 external/bsd/ntp/dist/ntpd/refclock_chu.c: up to 1.7 external/bsd/ntp/dist/ntpd/refclock_gpsdjson.c: up to 1.7 external/bsd/ntp/dist/ntpd/refclock_jjy.c: up to 1.8 external/bsd/ntp/dist/ntpd/refclock_jupiter.c: up to 1.9 external/bsd/ntp/dist/ntpd/refclock_local.c: up to 1.4 external/bsd/ntp/dist/ntpd/refclock_nmea.c: up to 1.10 external/bsd/ntp/dist/ntpd/refclock_oncore.c: up to 1.12 external/bsd/ntp/dist/ntpd/refclock_palisade.c: up to 1.5 external/bsd/ntp/dist/ntpd/refclock_palisade.h: up to 1.4 external/bsd/ntp/dist/ntpd/refclock_parse.c: up to 1.17 external/bsd/ntp/dist/ntpd/refclock_shm.c: up to 1.6 external/bsd/ntp/dist/ntpd/refclock_true.c: up to 1.5 external/bsd/ntp/dist/ntpd/refclock_wwv.c: up to 1.6 external/bsd/ntp/dist/ntpdate/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpdate/ntpdate.c: up to 1.8 external/bsd/ntp/dist/ntpdc/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpdc/invoke-ntpdc.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc-opts.c: up to 1.5 external/bsd/ntp/dist/ntpdc/ntpdc-opts.h: up to 1.5 external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcman: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.c: up to 1.11 external/bsd/ntp/dist/ntpdc/ntpdc.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpdc/ntpdc.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpq/invoke-ntpq.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/libntpq.h: up to 1.4 external/bsd/ntp/dist/ntpq/ntpq-opts.c: up to 1.5 external/bsd/ntp/dist/ntpq/ntpq-opts.def: up to 1.1.1.4 external/bsd/ntp/dist/ntpq/ntpq-opts.h: up to 1.5 external/bsd/ntp/dist/ntpq/ntpq-subs.c: up to 1.12 external/bsd/ntp/dist/ntpq/ntpq.1ntpqman: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.1ntpqmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.c: up to 1.13 external/bsd/ntp/dist/ntpq/ntpq.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpq/ntpq.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/netsnmp_daemonize.c: up to 1.4 external/bsd/ntp/dist/ntpsnmpd/ntp_snmp.h: up to 1.4 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c: up to 1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h: up to 1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.html: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.man.in: up to 1.1.1.5 external/bsd/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/packageinfo.sh: up to 1.1.1.7 external/bsd/ntp/dist/parseutil/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/parseutil/dcfd.c: up to 1.4 external/bsd/ntp/dist/parseutil/testdcf.c: up to 1.4 external/bsd/ntp/dist/scripts/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/scripts/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/scripts/build/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/build/UpdatePoint: up to 1.1.1.2 external/bsd/ntp/dist/scripts/build/VersionName: up to 1.1.1.3 external/bsd/ntp/dist/scripts/calc_tickadj/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/invoke-plot_summary.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/invoke-summary.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/lib/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/lib/NTP/Util.pm: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.in: up to 1.1.1.4 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.1plot_summaryman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.1plot_summarymdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/plot_summary.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary-opts: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.1summaryman: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.1summarymdoc: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.html: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.man.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/summary.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/scripts/update-leap/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/scripts/update-leap/Makefile.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/invoke-update-leap.menu: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/invoke-update-leap.texi: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap-opts: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap-opts.def: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.1update-leapman: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.1update-leapmdoc: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.html: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.in: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.man.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.mdoc.in: up to 1.1.1.3 external/bsd/ntp/dist/scripts/update-leap/update-leap.sh: up to 1.1.1.1 external/bsd/ntp/dist/scripts/update-leap/update-leap.texi: up to 1.1.1.1 external/bsd/ntp/dist/sntp/COPYRIGHT: up to 1.1.1.5 external/bsd/ntp/dist/sntp/Makefile.am: up to 1.1.1.7 external/bsd/ntp/dist/sntp/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/sntp/aclocal.m4: up to 1.1.1.6 external/bsd/ntp/dist/sntp/config.h.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/configure: up to 1.1.1.7 external/bsd/ntp/dist/sntp/configure.ac: up to 1.1.1.6 external/bsd/ntp/dist/sntp/include/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/include/autogen-version.def: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/copyright.def: up to 1.1.1.3 external/bsd/ntp/dist/sntp/include/ntp.lic: up to 1.1.1.2 external/bsd/ntp/dist/sntp/include/version.def: up to 1.1.1.5 external/bsd/ntp/dist/sntp/include/version.texi: up to 1.1.1.5 external/bsd/ntp/dist/sntp/invoke-sntp.texi: up to 1.1.1.5 external/bsd/ntp/dist/sntp/kod_management.c: up to 1.6 external/bsd/ntp/dist/sntp/libevent/ChangeLog: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libevent/README: delete external/bsd/ntp/dist/sntp/libevent/WIN32-Code/nmake/event2/event-config.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/WIN32-Code/tree.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/aclocal.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/buffer.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_async.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_filter.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_openssl.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/bufferevent_pair.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/build-aux/ar-lib: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/build-aux/ltmain.sh: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libevent/build-aux/test-driver: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/config.h.in: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/configure: up to 1.1.1.4 external/bsd/ntp/dist/sntp/libevent/configure.ac: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/evbuffer-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evdns.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/event.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/event_tagging.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evrpc-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evthread-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evthread.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evutil.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/evutil_time.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/ht-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/http-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/http.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/buffer.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/bufferevent.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/dns.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/event.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/http.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/listener.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/include/event2/util.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/kqueue.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/listener.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/m4/acx_pthread.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/libevent/m4/ltversion.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libevent/m4/openldap-thread-check.m4: delete external/bsd/ntp/dist/sntp/libevent/m4/openldap.m4: delete external/bsd/ntp/dist/sntp/libevent/sample/dns-example.c: delete external/bsd/ntp/dist/sntp/libevent/sample/event-read-fifo.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hello-world.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.c: delete external/bsd/ntp/dist/sntp/libevent/sample/hostcheck.h: delete external/bsd/ntp/dist/sntp/libevent/sample/http-server.c: delete external/bsd/ntp/dist/sntp/libevent/sample/https-client.c: delete external/bsd/ntp/dist/sntp/libevent/sample/include.am: delete external/bsd/ntp/dist/sntp/libevent/sample/le-proxy.c: delete external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.c: delete external/bsd/ntp/dist/sntp/libevent/sample/openssl_hostname_validation.h: delete external/bsd/ntp/dist/sntp/libevent/sample/signal-test.c: delete external/bsd/ntp/dist/sntp/libevent/sample/time-test.c: delete external/bsd/ntp/dist/sntp/libevent/test/bench_httpclient.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/include.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libevent/test/regress.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_buffer.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_bufferevent.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_dns.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_finalize.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_http.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_main.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_minheap.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/regress_ssl.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_thread.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_util.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/regress_zlib.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/test-fdleak.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/test-ratelim.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/test-time.c: up to 1.5 external/bsd/ntp/dist/sntp/libevent/test/tinytest.c: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/tinytest.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/test/tinytest_macros.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/time-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/util-internal.h: up to 1.4 external/bsd/ntp/dist/sntp/libevent/whatsnew-2.1.txt: up to 1.1.1.3 external/bsd/ntp/dist/sntp/libopts/COPYING.gplv3: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/COPYING.lgplv3: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/COPYING.mbsd: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libopts/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/sntp/libopts/README: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/ag-char-map.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/alias.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/ao-strs.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/ao-strs.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/autoopts.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/autoopts.h: up to 1.9 external/bsd/ntp/dist/sntp/libopts/autoopts/options.h: up to 1.10 external/bsd/ntp/dist/sntp/libopts/autoopts/project.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/autoopts/usage-txt.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/boolean.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/check.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/compat/compat.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/compat/pathfind.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/compat/windows-config.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/configfile.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/cook.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/enum.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/env.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/file.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/find.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/genshell.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/gettext.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/init.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/intprops.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/libopts.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/load.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/m4/libopts.m4: up to 1.1.1.6 external/bsd/ntp/dist/sntp/libopts/m4/liboptschk.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/libopts/m4/stdnoreturn.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libopts/makeshell.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/nested.c: up to 1.8 external/bsd/ntp/dist/sntp/libopts/numeric.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/option-value-type.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-value-type.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/option-xat-attribute.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/parse-duration.c: up to 1.7 external/bsd/ntp/dist/sntp/libopts/parse-duration.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/pgusage.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/proto.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/putshell.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/reset.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/restore.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/save.c: up to 1.8 external/bsd/ntp/dist/sntp/libopts/sort.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/stack.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/stdnoreturn.in.h: up to 1.3 external/bsd/ntp/dist/sntp/libopts/streqvcmp.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/text_mmap.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/time.c: up to 1.3 external/bsd/ntp/dist/sntp/libopts/tokenize.c: up to 1.6 external/bsd/ntp/dist/sntp/libopts/usage.c: up to 1.5 external/bsd/ntp/dist/sntp/libopts/version.c: up to 1.3 external/bsd/ntp/dist/sntp/libpkgver/colcomp.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/libpkgver/pkgver.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/loc/darwin: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/debian: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/freebsd: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/legacy: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/netbsd: up to 1.1.1.3 external/bsd/ntp/dist/sntp/loc/solaris: up to 1.1.1.3 external/bsd/ntp/dist/sntp/log.c: up to 1.9 external/bsd/ntp/dist/sntp/log.h: up to 1.7 external/bsd/ntp/dist/sntp/m4/ax_c99_struct_init.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/hms_search_lib.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ltversion.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_compiler.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_libevent.m4: up to 1.1.1.4 external/bsd/ntp/dist/sntp/m4/ntp_libntp.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/m4/ntp_locinfo.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/ntp_openssl.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_problemtests.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/ntp_rlimit.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/ntp_unitytest.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/openldap-thread-check.m4: up to 1.1.1.2 external/bsd/ntp/dist/sntp/m4/openldap.m4: up to 1.1.1.1 external/bsd/ntp/dist/sntp/m4/os_cflags.m4: up to 1.1.1.3 external/bsd/ntp/dist/sntp/m4/version.m4: up to 1.1.1.5 external/bsd/ntp/dist/sntp/main.c: up to 1.13 external/bsd/ntp/dist/sntp/networking.c: up to 1.12 external/bsd/ntp/dist/sntp/scripts/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/scripts/cvo.sh: up to 1.1.1.2 external/bsd/ntp/dist/sntp/scripts/genLocInfo: up to 1.1.1.3 external/bsd/ntp/dist/sntp/sntp-opts.c: up to 1.6 external/bsd/ntp/dist/sntp/sntp-opts.def: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp-opts.h: up to 1.5 external/bsd/ntp/dist/sntp/sntp.1sntpman: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.1sntpmdoc: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.html: up to 1.1.1.7 external/bsd/ntp/dist/sntp/sntp.man.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/sntp.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/tests/Makefile.am: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/sntp/tests/crypto.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/crypto.cpp: delete external/bsd/ntp/dist/sntp/tests/fileHandlingTest.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h: delete external/bsd/ntp/dist/sntp/tests/fileHandlingTest.h.in: up to 1.1.1.2 external/bsd/ntp/dist/sntp/tests/keyFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/keyFile.cpp: delete external/bsd/ntp/dist/sntp/tests/kodDatabase.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/kodDatabase.cpp: delete external/bsd/ntp/dist/sntp/tests/kodFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/kodFile.cpp: delete external/bsd/ntp/dist/sntp/tests/networking.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/tests/networking.cpp: delete external/bsd/ntp/dist/sntp/tests/packetHandling.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/packetHandling.cpp: delete external/bsd/ntp/dist/sntp/tests/packetProcessing.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/packetProcessing.cpp: delete external/bsd/ntp/dist/sntp/tests/run-crypto.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-keyFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-kodDatabase.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-kodFile.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-networking.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-packetHandling.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-packetProcessing.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/run-t-log.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/run-utilities.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/sntptest.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/sntptest.h: up to 1.4 external/bsd/ntp/dist/sntp/tests/t-log.c: up to 1.1.1.1 external/bsd/ntp/dist/sntp/tests/utilities.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/tests/utilities.cpp: delete external/bsd/ntp/dist/sntp/tests_main.cpp: delete external/bsd/ntp/dist/sntp/tests_main.h: delete external/bsd/ntp/dist/sntp/unity/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/colour_prompt.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/colour_reporter.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_config.yml: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_module.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/generate_test_runner.rb: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/parseOutput.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/runner_maybe.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/auto/test_file_filter.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/type_sanitizer.rb: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/unity_test_summary.py: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/auto/unity_test_summary.rb: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity.c: up to 1.1.1.3 external/bsd/ntp/dist/sntp/unity/unity.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_config.h: up to 1.1.1.1 external/bsd/ntp/dist/sntp/unity/unity_fixture.c: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture_internals.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_fixture_malloc_overrides.h: up to 1.1.1.2 external/bsd/ntp/dist/sntp/unity/unity_internals.h: up to 1.1.1.3 external/bsd/ntp/dist/sntp/version.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/Makefile.am: up to 1.1.1.3 external/bsd/ntp/dist/tests/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/bug-2803/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/bug-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/bug-2803/run-bug-2803.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/Makefile.am: up to 1.1.1.4 external/bsd/ntp/dist/tests/libntp/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/libntp/a_md5encrypt.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/a_md5encrypt.cpp: delete external/bsd/ntp/dist/tests/libntp/atoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/atoint.cpp: delete external/bsd/ntp/dist/tests/libntp/atouint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/atouint.cpp: delete external/bsd/ntp/dist/tests/libntp/authkeys.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/authkeys.cpp: delete external/bsd/ntp/dist/tests/libntp/buftvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/buftvtots.cpp: delete external/bsd/ntp/dist/tests/libntp/calendar.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/calendar.cpp: delete external/bsd/ntp/dist/tests/libntp/caljulian.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/caljulian.cpp:: delete external/bsd/ntp/dist/tests/libntp/caltontp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/caltontp.cpp: delete external/bsd/ntp/dist/tests/libntp/calyearstart.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/calyearstart.cpp: delete external/bsd/ntp/dist/tests/libntp/clocktime.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/clocktime.cpp: delete external/bsd/ntp/dist/tests/libntp/decodenetnum.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/decodenetnum.cpp: delete external/bsd/ntp/dist/tests/libntp/hextoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/hextoint.cpp: delete external/bsd/ntp/dist/tests/libntp/hextolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/hextolfp.cpp: delete external/bsd/ntp/dist/tests/libntp/humandate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/humandate.cpp: delete external/bsd/ntp/dist/tests/libntp/lfpfunc.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/lfpfunc.cpp: delete external/bsd/ntp/dist/tests/libntp/lfptest.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/libntp/lfptest.h: up to 1.4 external/bsd/ntp/dist/tests/libntp/lfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/lfptostr.cpp: delete external/bsd/ntp/dist/tests/libntp/libntptest.cpp: delete external/bsd/ntp/dist/tests/libntp/libntptest.h: delete external/bsd/ntp/dist/tests/libntp/modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/modetoa.cpp: delete external/bsd/ntp/dist/tests/libntp/msyslog.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/msyslog.cpp: delete external/bsd/ntp/dist/tests/libntp/netof.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/netof.cpp: delete external/bsd/ntp/dist/tests/libntp/numtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/numtoa.cpp: delete external/bsd/ntp/dist/tests/libntp/numtohost.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/numtohost.cpp: delete external/bsd/ntp/dist/tests/libntp/octtoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/octtoint.cpp: delete external/bsd/ntp/dist/tests/libntp/prettydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/prettydate.cpp: delete external/bsd/ntp/dist/tests/libntp/recvbuff.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/recvbuff.cpp: delete external/bsd/ntp/dist/tests/libntp/refidsmear.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/refnumtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/refnumtoa.cpp: delete external/bsd/ntp/dist/tests/libntp/run-a_md5encrypt.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-atoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-atouint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-authkeys.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-buftvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-calendar.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-caljulian.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-caltontp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-calyearstart.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-clocktime.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-decodenetnum.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-hextoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-hextolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-humandate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-lfpfunc.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-lfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-msyslog.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-netof.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-numtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-numtohost.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-octtoint.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-prettydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-recvbuff.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-refidsmear.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-refnumtoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-sfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-socktoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-ssl_init.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-statestr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-strtolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-timespecops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-timevalops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-tstotv.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-tvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-vi64ops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/run-ymd2yd.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/sfptostr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/sfptostr.cpp: delete external/bsd/ntp/dist/tests/libntp/sockaddrtest.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/libntp/sockaddrtest.h: up to 1.4 external/bsd/ntp/dist/tests/libntp/socktoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/socktoa.cpp: delete external/bsd/ntp/dist/tests/libntp/ssl_init.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/ssl_init.cpp: delete external/bsd/ntp/dist/tests/libntp/statestr.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/statestr.cpp: delete external/bsd/ntp/dist/tests/libntp/strtolfp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/strtolfp.cpp: delete external/bsd/ntp/dist/tests/libntp/test-libntp.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/test-libntp.h: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timespecops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timespecops.cpp: delete external/bsd/ntp/dist/tests/libntp/timestructs.cpp: delete external/bsd/ntp/dist/tests/libntp/timestructs.h: delete external/bsd/ntp/dist/tests/libntp/timevalops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/timevalops.cpp: delete external/bsd/ntp/dist/tests/libntp/tstotv.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/tstotv.cpp: delete external/bsd/ntp/dist/tests/libntp/tvtots.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/tvtots.cpp: delete external/bsd/ntp/dist/tests/libntp/uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/uglydate.cpp: delete external/bsd/ntp/dist/tests/libntp/vi64ops.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/vi64ops.cpp: delete external/bsd/ntp/dist/tests/libntp/ymd2yd.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/libntp/ymd2yd.cpp: delete external/bsd/ntp/dist/tests/ntpd/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/ntpd/Makefile.in: up to 1.1.1.5 external/bsd/ntp/dist/tests/ntpd/leapsec.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/leapsec.cpp: delete external/bsd/ntp/dist/tests/ntpd/ntp_prio_q.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/ntp_restrict.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/ntpdtest.cpp: delete external/bsd/ntp/dist/tests/ntpd/ntpdtest.h: delete external/bsd/ntp/dist/tests/ntpd/rc_cmdlength.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-leapsec.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-ntp_prio_q.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-ntp_restrict.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-rc_cmdlength.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-t-ntp_scanner.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/run-t-ntp_signd.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/t-ntp_scanner.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpd/t-ntp_signd.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/Makefile.am: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/Makefile.in: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/run-t-ntpq.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/ntpq/t-ntpq.c: up to 1.1.1.1 external/bsd/ntp/dist/tests/sandbox/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/bug-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/modetoa.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/run-modetoa.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/run-uglydate.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/run-ut-2803.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/smeartest.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sandbox/uglydate.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sandbox/ut-2803.c: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/Makefile.am: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/Makefile.in: up to 1.1.1.2 external/bsd/ntp/dist/tests/sec-2853/run-sec-2853.c: up to 1.1.1.3 external/bsd/ntp/dist/tests/sec-2853/sec-2853.c: up to 1.1.1.3 external/bsd/ntp/dist/util/Makefile.am: up to 1.1.1.5 external/bsd/ntp/dist/util/Makefile.in: up to 1.1.1.7 external/bsd/ntp/dist/util/invoke-ntp-keygen.texi: up to 1.1.1.5 external/bsd/ntp/dist/util/jitter.c: up to 1.4 external/bsd/ntp/dist/util/jitter.h: delete external/bsd/ntp/dist/util/ntp-keygen-opts.c: up to 1.10 external/bsd/ntp/dist/util/ntp-keygen-opts.h: up to 1.5 external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenman: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.c: up to 1.9 external/bsd/ntp/dist/util/ntp-keygen.html: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.man.in: up to 1.1.1.5 external/bsd/ntp/dist/util/ntp-keygen.mdoc.in: up to 1.1.1.5 external/bsd/ntp/dist/util/ntptime.c: up to 1.7 external/bsd/ntp/html/Makefile: up to 1.3 external/bsd/ntp/importdate: up to 1.7 external/bsd/ntp/include/config.h: up to 1.13 external/bsd/ntp/ntp2netbsd: up to 1.5 external/bsd/ntp/scripts/mkver: up to 1.7 Update ntp to 4.2.8p4. @ text @d44 1 a44 1 probably need to be recompiled against Libevent 2.1.4-alpha if you a65 3 There is now an alternative cmake-based build process; cmake users should see the relevant sections in the README. a148 13 You can use the new event_base_get_num_events() function to find the number of events active or pending on an event_base. To find the largest number of events that there have been since the last call, use event_base_get_max_events(). You can now activate all the events waiting for a given fd or signal using the event_base_active_by_fd() and event_base_active_by_signal() APIs. On backends that support it (currently epoll), there is now an EV_CLOSED flag that programs can use to detect when a socket has closed without having to read all the bytes until receiving an EOF. a327 7 The function bufferevent_get_token_bucket_cfg() can retrieve the rate-limit settings for a bufferevent; bufferevent_getwatermark() can return a bufferevent's current watermark settings. You can manually trigger a bufferevent's callbacks via bufferevent_trigger() and bufferevent_trigger_event(). a342 3 There is a new evdns_base_clear_host_addresses() function to remove all the /etc/hosts addresses registered with an evdns instance. a394 25 You can navigate from an evhttp_connection back to its evhttp with the new evhttp_connection_get_server() function. You can override the default HTTP Content-Type with the new evhttp_set_default_content_type() function There's a new evhttp_connection_get_addr() API to return the peer address of an evhttp_connection. The new evhttp_send_reply_chunk_with_cb() is a variant of evhttp_send_reply_chunk() with a callback to be invoked when the chunk is sent. The evhttp_request_set_header_cb() facility adds a callback to be invoked while parsing headers. The evhttp_request_set_on_complete_cb() facility adds a callback to be invoked on request completion. 1.10. New functions and features: evutil There's a function "evutil_secure_rng_set_urandom_device_file()" that you can use to override the default file that Libevent uses to seed its (sort-of) secure RNG. @ 1.1.1.1.8.1 log @file whatsnew-2.1.txt was added on branch tls-maxphys on 2014-08-19 23:51:46 +0000 @ text @d1 521 @ 1.1.1.1.8.2 log @Rebase to HEAD as of a few days ago. @ text @a0 521 What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.1-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.4. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.5. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.6. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. 1.7. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.8. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @ 1.1.1.1.4.1 log @file whatsnew-2.1.txt was added on branch yamt-pagecache on 2014-05-22 15:50:13 +0000 @ text @d1 521 @ 1.1.1.1.4.2 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @a0 521 What's new in Libevent 2.1 Nick Mathewson 0. Before we start 0.1. About this document This document describes the key differences between Libevent 2.0 and Libevent 2.1, from a user's point of view. It's a work in progress. For better documentation about libevent, see the links at http://libevent.org/ Libevent 2.1 would not be possible without the generous help of numerous volunteers. For a list of who did what in Libevent 2.1, please see the ChangeLog! NOTE: I am very sure that I missed some thing on this list. Caveat haxxor. 0.2. Where to get help Try looking at the other documentation too. All of the header files have documentation in the doxygen format; this gets turned into nice HTML and linked to from the libevent.org website. There is a work-in-progress book with reference manual at http://www.wangafu.net/~nickm/libevent-book/ . You can ask questions on the #libevent IRC channel at irc.oftc.net or on the mailing list at libevent-users@@freehaven.net. The mailing list is subscribers-only, so you will need to subscribe before you post. 0.3. Compatibility Our source-compatibility policy is that correct code (that is to say, code that uses public interfaces of Libevent and relies only on their documented behavior) should have forward source compatibility: any such code that worked with a previous version of Libevent should work with this version too. We don't try to do binary compatibility except within stable release series, so binaries linked against any version of Libevent 2.0 will probably need to be recompiled against Libevent 2.1.1-alpha if you want to use it. It is probable that we'll break binary compatibility again before Libevent 2.1 is stable. 1. New APIs and features 1.1. New ways to build libevent We now provide an --enable-gcc-hardening configure option to turn on GCC features designed for increased code security. There is also an --enable-silent-rules configure option to make compilation run more quietly with automake 1.11 or later. You no longer need to use the --enable-gcc-warnings option to turn on all of the GCC warnings that Libevent uses. The only change from using that option now is to turn warnings into errors. For IDE users, files that are not supposed to be built are now surrounded with appropriate #ifdef lines to keep your IDE from getting upset. 1.2. New functions for events and the event loop If you're running Libevent with multiple event priorities, you might want to make sure that Libevent checks for new events frequently, so that time-consuming or numerous low-priority events don't keep it from checking for new high-priority events. You can now use the event_config_set_max_dispatch_interval() interface to ensure that the loop checks for new events either every N microseconds, every M callbacks, or both. When configuring an event base, you can now choose whether you want timers to be more efficient, or more precise. (This only has effect on Linux for now.) Timers are efficient by default: to select more precise timers, use the EVENT_BASE_FLAG_PRECISE_TIMER flag when constructing the event_config, or set the EVENT_PRECISE_TIMER environment variable to a non-empty string. There is an EVLOOP_NO_EXIT_ON_EMPTY flag that tells event_base_loop() to keep looping even when there are no pending events. (Ordinarily, event_base_loop() will exit as soon as no events are pending.) Past versions of Libevent have been annoying to use with some memory-leak-checking tools, because Libevent allocated some global singletons but provided no means to free them. There is now a function, libevent_global_shutdown(), that you can use to free all globally held resources before exiting, so that your leak-check tools don't complain. (Note: this function doesn't free non-global things like events, bufferevents, and so on; and it doesn't free anything that wouldn't otherwise get cleaned up by the operating system when your process exit()s. If you aren't using a leak-checking tool, there is not much reason to call libevent_global_shutdown().) There is a new event_base_get_npriorities() function to return the number of priorities set in the event base. Libevent 2.0 added an event_new() function to construct a new struct event on the heap. Unfortunately, with event_new(), there was no equivalent for: struct event ev; event_assign(&ev, base, fd, EV_READ, callback, &ev); In other words, there was no easy way for event_new() to set up an event so that the event itself would be its callback argument. Libevent 2.1 lets you do this by passing "event_self_cbarg()" as the callback argument: struct event *evp; evp = event_new(base, fd, EV_READ, callback, event_self_cbarg()); There's also a new event_base_get_running_event() function you can call from within a Libevent callback to get a pointer to the current event. This should never be strictly necessary, but it's sometimes convenient. The event_base_once() function used to leak some memory if the event that it added was never actually triggered. Now, its memory is tracked in the event_base and freed when the event_base is freed. Note however that Libevent doesn't know how to free any information passed as the callback argument to event_base_once is still something you'll might need a way to de-allocate yourself. There is an event_get_priority() function to return an event's priority. By analogy to event_base_loopbreak(), there is now an event_base_loopcontinue() that tells Libevent to stop processing active event callbacks, and re-scan for new events right away. There's a function, event_base_foreach_event(), that can iterate over every event currently pending or active on an event base, and invoke a user-supplied callback on each. The callback must not alter the events or add or remove anything to the event base. We now have an event_remove_timer() function to remove the timeout on an event while leaving its socket and/or signal triggers unchanged. (If we were designing the API from scratch, this would be the behavior of "event_add(ev, NULL)" on an already-added event with a timeout. But that's a no-op in past versions of Libevent, and we don't want to break compatibility.) 1.3. New debugging features You can now turn on debug logs at runtime using a new function, event_enable_debug_logging(). The event_enable_lock_debugging() function is now spelled correctly. You can still use the old "event_enable_lock_debuging" name, though, so your old programs shouldnt' break. There's also been some work done to try to make the debugging logs more generally useful. 1.4. New evbuffer functions In Libevent 2.0, we introduced evbuffer_add_file() to add an entire file's contents to an evbuffer, and then send them using sendfile() or mmap() as appropriate. This API had some drawbacks, however. Notably, it created one mapping or fd for every instance of the same file added to any evbuffer. Also, adding a file to an evbuffer could make that buffer unusable with SSL bufferevents, filtering bufferevents, and any code that tried to read the contents of the evbuffer. Libevent 2.1 adds a new evbuffer_file_segment API to solve these problems. Now, you can use evbuffer_file_segment_new() to construct a file-segment object, and evbuffer_add_file_segment() to insert it (or part of it) into an evbuffer. These segments avoid creating redundant maps or fds. Better still, the code is smart enough (when the OS supports sendfile) to map the file when that's necessary, and use sendfile() otherwise. File segments can receive callback functions that are invoked when the file segments are freed. The evbuffer_ptr interface has been extended so that an evbuffer_ptr can now yield a point just after the end of the buffer. This makes many algorithms simpler to implement. There's a new evbuffer_add_buffer() interface that you can use to add one buffer to another nondestructively. When you say evbuffer_add_buffer_reference(outbuf, inbuf), outbuf now contains a reference to the contents of inbuf. To aid in adding data in bulk while minimizing evbuffer calls, there is an evbuffer_add_iovec() function. There's a new evbuffer_copyout_from() variant function to enable copying data nondestructively from the middle of a buffer. evbuffer_readln() now supports an EVBUFFER_EOL_NUL argument to fetch NUL-terminated strings from buffers. 1.5. New functions and features: bufferevents You can now use the bufferevent_getcb() function to find out a bufferevent's callbacks. Previously, there was no supported way to do that. The largest chunk readable or writeable in a single bufferevent callback is no longer hardcoded; it's now configurable with the new functions bufferevent_set_max_single_read() and bufferevent_set_max_single_write(). For consistency, OpenSSL bufferevents now make sure to always set one of BEV_EVENT_READING or BEV_EVENT_WRITING when invoking an event callback. Calling bufferevent_set_timeouts(bev, NULL, NULL) now removes the timeouts from socket and ssl bufferevents correctly. You can find the priority at which a bufferevent runs with bufferevent_get_priority(). 1.6. New functions and features: evdns The previous evdns interface used an "open a test UDP socket" trick in order to detect IPv6 support. This was a hack, since it would sometimes badly confuse people's firewall software, even though no packets were sent. The current evdns interface-detection code uses the appropriate OS functions to see which interfaces are configured. 1.7. New functions and features: evconnlistener Libevent 2.1 adds the following evconnlistener flags: LEV_OPT_DEFERRED_ACCEPT -- Tells the OS that it doesn't need to report sockets as having arrived until the initiator has sent some data too. This can greatly improve performance with protocols like HTTP where the client always speaks first. On operating systems that don't support this functionality, this option has no effect. LEV_OPT_DISABLED -- Creates an evconnlistener in the disabled (not listening) state. Libevent 2.1 changes the behavior of the LEV_OPT_CLOSE_ON_EXEC flag. Previously, it would apply to the listener sockets, but not to the accepted sockets themselves. That's almost never what you want. Now, it applies both to the listener and the accepted sockets. 1.8. New functions and features: evhttp ********************************************************************** NOTE: The evhttp module will eventually be deprecated in favor of Mark Ellzey's libevhtp library. Don't worry -- this won't happen until libevhtp provides every feature that evhttp does, and provides a compatible interface that applications can use to migrate. ********************************************************************** Previously, you could only set evhttp timeouts in increments of one second. Now, you can use evhttp_set_timeout_tv() and evhttp_connection_set_timeout_tv() to configure microsecond-granularity timeouts. There are a new pair of functions: evhttp_set_bevcb() and evhttp_connection_base_bufferevent_new(), that you can use to configure which bufferevents will be used for incoming and outgoing http connections respectively. These functions, combined with SSL bufferevents, should enable HTTPS support. There's a new evhttp_foreach_bound_socket() function to iterate over every listener on an evhttp object. Whitespace between lines in headers is now folded into a single space; whitespace at the end of a header is now removed. The socket errno value is now preserved when invoking an http error callback. 2. Cross-platform performance improvements 2.1. Better data structures We replaced several users of the sys/queue.h "TAILQ" data structure with the "LIST" data structure. Because this data type doesn't require FIFO access, it requires fewer pointer checks and manipulations to keep it in line. All previous versions of Libevent have kept every pending (added) event in an "eventqueue" data structure. Starting in Libevent 2.0, however, this structure became redundant: every pending timeout event is stored in the timeout heap or in one of the common_timeout queues, and every pending fd or signal event is stored in an evmap. Libevent 2.1 removes this data structure, and thereby saves all of the code that we'd been using to keep it updated. 2.2. Faster activations and timeouts It's a common pattern in older code to use event_base_once() with a 0-second timeout to ensure that a callback will get run 'as soon as possible' in the current iteration of the Libevent loop. We optimize this case by calling event_active() directly, and bypassing the timeout pool. (People who are using this pattern should also consider using event_active() themselves.) Libevent 2.0 would wake up a polling event loop whenever the first timeout in the event loop was adjusted--whether it had become earlier or later. We now only notify the event loop when a change causes the expiration time to become _sooner_ than it would have been otherwise. The timeout heap code is now optimized to perform fewer comparisons and shifts when changing or removing a timeout. Instead of checking for a wall-clock time jump every time we call clock_gettime(), we now check only every 5 seconds. This should save a huge number of gettimeofday() calls. 2.3. Microoptimizations Internal event list maintainance no longer use the antipattern where we have one function with multiple totally independent behaviors depending on an argument: #define OP1 1 #define OP2 2 #define OP3 3 void func(int operation, struct event *ev) { switch (op) { ... } } Instead, these functions are now split into separate functions for each operation: void func_op1(struct event *ev) { ... } void func_op2(struct event *ev) { ... } void func_op3(struct event *ev) { ... } This produces better code generation and inlining decisions on some compilers, and makes the code easier to read and check. 2.4. Evbuffer performance improvements The EVBUFFER_EOL_CRLF line-ending type is now much faster, thanks to smart optimizations. 2.5. HTTP performance improvements o Performance tweak to evhttp_parse_request_line. (aee1a97 Mark Ellzey) o Add missing break to evhttp_parse_request_line (0fcc536) 2.6. Coarse timers by default on Linux Due to limitations of the epoll interface, Libevent programs using epoll have not previously been able to wait for timeouts with accuracy smaller than 1 millisecond. But Libevent had been using CLOCK_MONOTONIC for timekeeping on Linux, which is needlessly expensive: CLOCK_MONOTONIC_COARSE has approximately the resolution corresponding to epoll, and is much faster to invoke than CLOCK_MONOTONIC. To disable coarse timers, and get a more plausible precision, use the new EVENT_BASE_FLAG_PRECISE_TIMER flag when setting up your event base. 3. Backend/OS-specific improvements 3.1. Linux-specific improvements The logic for deciding which arguements to use with epoll_ctl() is now a table-driven lookup, rather than the previous pile of cascading branches. This should minimize epoll_ctl() calls and make the epoll code run a little faster on change-heavy loads. Libevent now takes advantage of Linux's support for enhanced APIs (e.g., SOCK_CLOEXEC, SOCK_NONBLOCK, accept4, pipe2) that allow us to simultaneously create a socket, make it nonblocking, and make it close-on-exec. This should save syscalls throughout our codebase, and avoid race-conditions if an exec() occurs after a socket is socket is created but before we can make it close-on-execute on it. 3.2. Windows-specific improvements We now use GetSystemTimeAsFileTime to implement gettimeofday. It's significantly faster and more accurate than our old ftime()-based approach. 3.3. Improvements in the solaris evport backend. The evport backend has been updated to use many of the infrastructure improvements from Libevent 2.0. Notably, it keeps track of per-fd information using the evmap infrastructure, and removes a number of linear scans over recently-added events. This last change makes it efficient to receive many more events per evport_getn() call, thereby reducing evport overhead in general. 3.4. OSX backend improvements The OSX select backend doesn't like to have more than a certain number of fds set unless an "unlimited select" option has been set. Therefore, we now set it. 3.5. Monotonic clocks on even more platforms Libevent previously used a monotonic clock for its internal timekeeping only on platforms supporting the POSIX clock_gettime() interface. Now, Libevent has support for monotonic clocks on OSX and Windows too, and a fallback implementation for systems without monotonic clocks that will at least keep time running forwards. Using monotonic timers makes Libevent more resilient to changes in the system time, as can happen in small amounts due to clock adjustments from NTP, or in large amounts due to users who move their system clocks all over the timeline in order to keep nagware from nagging them. 3.6. Faster cross-thread notification on kqueue When a thread other than the one in which the main event loop is running needs to wake the thread running the main event loop, Libevent usually writes to a socketpair in order to force the main event loop to wake up. On Linux, we've been able to use eventfd() instead. Now on BSD and OSX systems (any anywhere else that has kqueue with the EVFILT_USER extension), we can use EVFILT_USER to wake up the main thread from kqueue. This should be a tiny bit faster than the previous approach. 4. Infrastructure improvements 4.1. Faster tests I've spent some time to try to make the unit tests run faster in Libevent 2.1. Nearly all of this was a matter of searching slow tests for unreasonably long timeouts, and cutting them down to reasonably long delays, though on one or two cases I actually had to parallelize an operation or improve an algorithm. On my desktop, a full "make verify" run of Libevent 2.0.18-stable requires about 218 seconds. Libevent 2.1.1-alpha cuts this down to about 78 seconds. Faster unit tests are great, since they let programmers test their changes without losing their train of thought. 4.2. Finicky tests are now off-by-default The Tinytest unit testing framework now supports optional tests, and Libevent uses them. By default, Libevent's unit testing framework does not run tests that require a working network, and does not run tests that tend to fail on heavily loaded systems because of timing issues. To re-enable all tests, run ./test/regress using the "@@all" alias. 4.3. Modernized use of autotools Our autotools-based build system has been updated to build without warnings on recent autoconf/automake versions. Libevent's autotools makefiles are no longer recursive. This allows make to use the maximum possible parallelism to do the minimally necessary amount of work. See Peter Miller's "Recursive Make Considered Harmful" at http://miller.emu.id.au/pmiller/books/rmch/ for more information here. We now use the "quiet build" option to suppress distracting messages about which commandlines are running. You can get them back with "make V=1". 4.4. Portability Libevent now uses large-file support internally on platforms where it matters. You shouldn't need to set _LARGEFILE or OFFSET_BITS or anything magic before including the Libevent headers, either, since Libevent now sets the size of ev_off_t to the size of off_t that it received at compile time, not to some (possibly different) size based on current macro definitions when your program is building. We now also use the Autoconf AC_USE_SYSTEM_EXTENSIONS mechanism to enable per-system macros needed to enable not-on-by-default features. Unlike the rest of the autoconf macros, we output these to an internal-use-only evconfig-private.h header, since their names need to survive unmangled. This lets us build correctly on more platforms, and avoid inconsistencies when some files define _GNU_SOURCE and others don't. Libevent now tries to detect OpenSSL via pkg-config. 4.5. Standards conformance Previous Libevent versions had no consistent convention for internal vs external identifiers, and used identifiers starting with the "_" character throughout the codebase. That's no good, since the C standard says that identifiers beginning with _ are reserved. I'm not aware of having any collisions with system identifiers, but it's best to fix these things before they cause trouble. We now avoid all use of the _identifiers in the Libevent source code. These changes were made *mainly* through the use of automated scripts, so there shouldn't be any mistakes, but you never know. As an exception, the names _EVENT_LOG_DEBUG, _EVENT_LOG_MSG_, _EVENT_LOG_WARN, and _EVENT_LOG_ERR are still exposed in event.h: they are now deprecated, but to support older code, they will need to stay around for a while. New code should use EVENT_LOG_DEBUG, EVENT_LOG_MSG, EVENT_LOG_WARN, and EVENT_LOG_ERR instead. 4.6. Event and callback refactoring As a simplification and optimization to Libevent's "deferred callback" logic (introduced in 2.0 to avoid callback recursion), Libevent now treats all of its deferrable callback types using the same logic it uses for active events. Now deferred events no longer cause priority inversion, no longer require special code to cancel them, and so on. Regular events and deferred callbacks now both descend from an internal light-weight event_callback supertype, and both support priorities and take part in the other anti-priority-inversion mechanisms in Libevent. To avoid starvation from callback recursion (which was the reason we introduced "deferred callbacks" in the first place) the implementation now allows an event callback to be scheduled as "active later": instead of running in the current iteration of the event loop, it runs in the next one. 5. Testing Libevent's test coverage level is more or less unchanged since before: we still have over 80% line coverage in our tests on Linux and OSX. There are some under-tested modules, though: we need to fix those. @