]>
Commit | Line | Data |
---|---|---|
0ffcfbfc KK |
1 | diff -up ntp-4.2.6p3/html/ntpd.html.mlock ntp-4.2.6p3/html/ntpd.html |
2 | --- ntp-4.2.6p3/html/ntpd.html.mlock 2011-01-05 17:51:36.242120783 +0100 | |
3 | +++ ntp-4.2.6p3/html/ntpd.html 2011-01-05 17:51:36.254121258 +0100 | |
a8809dbd ER |
4 | @@ -32,7 +32,7 @@ |
5 | </ul> | |
6 | <hr> | |
7 | <h4 id="synop">Synopsis</h4> | |
8 | - <tt>ntpd [ -46aAbdDgLnNqx ] [ -c <i>conffile</i> ] [ -f <i>driftfile</i> ] [ -i <i>jaildir</i> ] [ -I <i>iface</i> ] [ -k <i>keyfile</i> ] [ -l <i>logfile</i> ] [ -p <i>pidfile</i> ] [ -P <i>priority</i> ] [ -r <i>broadcastdelay</i> ] [ -s <i>statsdir</i> ] [ -t <i>key</i> ] [ -u <i>user</i>[:<i>group</i>] ] [ -U <i>interface_update_interval</i> ] [ -v <i>variable</i> ] [ -V <i>variable</i> ]</tt> | |
9 | + <tt>ntpd [ -46aAbdDgLmnNqx ] [ -c <i>conffile</i> ] [ -f <i>driftfile</i> ] [ -i <i>jaildir</i> ] [ -I <i>iface</i> ] [ -k <i>keyfile</i> ] [ -l <i>logfile</i> ] [ -p <i>pidfile</i> ] [ -P <i>priority</i> ] [ -r <i>broadcastdelay</i> ] [ -s <i>statsdir</i> ] [ -t <i>key</i> ] [ -u <i>user</i>[:<i>group</i>] ] [ -U <i>interface_update_interval</i> ] [ -v <i>variable</i> ] [ -V <i>variable</i> ]</tt> | |
10 | <h4 id="descr">Description</h4> | |
11 | <p>The <tt>ntpd</tt> program is an operating system daemon that synchronises the system clock with remote NTP time servers or local reference clocks. It is a complete implementation of the Network Time Protocol (NTP) version 4, but also retains compatibility with version 3, as defined by RFC-1305, and version 1 and 2, as defined by RFC-1059 and RFC-1119, respectively. The program can operate in any of several modes, as described on the <a href="assoc.html">Association Management</a> page, and with both symmetric key and public key cryptography, as described on the <a href="manyopt.html">Authentication Options</a> page.</p> | |
12 | <p>The <tt>ntpd</tt> program ordinarily requires a configuration file as desccribe on the Configuration Commands and Options collection above. However a client can discover remote servers and configure them automatically. This makes it possible to deploy a fleet of workstations without specifying configuration details specific to the local environment. Further details are on the <a href="manyopt.html">Automatic Server Discovery</a> page.</p> | |
13 | @@ -123,6 +123,8 @@ | |
14 | <dd>Do not listen to virtual interfaces, defined as those with names containing a colon. This option is deprecated. Please consider using the configuration file <a href="miscopt.html#interface">interface</a> command, which is more versatile.</dd> | |
15 | <dt><tt>-M</tt></dt> | |
16 | <dd>Raise scheduler precision to its maximum (1 msec) using timeBeginPeriod. (Windows only)</dd> | |
17 | + <dt><tt>-m</tt> | |
18 | + <dd>Lock memory. | |
19 | <dt><tt>-n</tt></dt> | |
20 | <dd>Don't fork.</dd> | |
21 | <dt><tt>-N</tt></dt> | |
0ffcfbfc KK |
22 | diff -up ntp-4.2.6p3/ntpd/ntpd-opts.c.mlock ntp-4.2.6p3/ntpd/ntpd-opts.c |
23 | --- ntp-4.2.6p3/ntpd/ntpd-opts.c.mlock 2011-01-04 03:15:35.000000000 +0100 | |
24 | +++ ntp-4.2.6p3/ntpd/ntpd-opts.c 2011-01-05 17:55:01.609260787 +0100 | |
25 | @@ -282,6 +282,15 @@ static char const zNice_Name[] | |
a8809dbd ER |
26 | #define NICE_FLAGS (OPTST_DISABLED) |
27 | ||
28 | /* | |
29 | + * Mlock option description: | |
30 | + */ | |
0ffcfbfc | 31 | +static char const zMlockText[] = |
a8809dbd | 32 | + "Lock memory"; |
0ffcfbfc KK |
33 | +static char const zMlock_NAME[] = "MLOCK"; |
34 | +static char const zMlock_Name[] = "mlock"; | |
a8809dbd ER |
35 | +#define MLOCK_FLAGS (OPTST_DISABLED) |
36 | + | |
37 | +/* | |
38 | * Pidfile option description: | |
39 | */ | |
0ffcfbfc KK |
40 | static char const zPidfileText[] = |
41 | @@ -909,6 +918,18 @@ static tOptDesc optDesc[ OPTION_CT ] = { | |
a8809dbd ER |
42 | /* desc, NAME, name */ zPccfreqText, zPccfreq_NAME, zPccfreq_Name, |
43 | /* disablement strs */ NULL, NULL }, | |
44 | ||
45 | + { /* entry idx, value */ 32, VALUE_OPT_MLOCK, | |
46 | + /* equiv idx, value */ 32, VALUE_OPT_MLOCK, | |
47 | + /* equivalenced to */ NO_EQUIVALENT, | |
48 | + /* min, max, act ct */ 0, 1, 0, | |
49 | + /* opt state flags */ MLOCK_FLAGS, 0, | |
50 | + /* last opt argumnt */ { NULL }, | |
51 | + /* arg list/cookie */ NULL, | |
52 | + /* must/cannot opts */ NULL, NULL, | |
53 | + /* option proc */ NULL, | |
54 | + /* desc, NAME, name */ zMlockText, zMlock_NAME, zMlock_Name, | |
55 | + /* disablement strs */ NULL, NULL }, | |
56 | + | |
57 | { /* entry idx, value */ INDEX_OPT_VERSION, VALUE_OPT_VERSION, | |
58 | /* equiv idx value */ NO_EQUIVALENT, 0, | |
59 | /* equivalenced to */ NO_EQUIVALENT, | |
0ffcfbfc | 60 | @@ -1008,7 +1029,7 @@ tOptions ntpdOptions = { |
a8809dbd ER |
61 | NO_EQUIVALENT, /* '-#' option index */ |
62 | NO_EQUIVALENT /* index of default opt */ | |
63 | }, | |
64 | - 35 /* full option count */, 32 /* user option count */, | |
65 | + 36 /* full option count */, 33 /* user option count */, | |
66 | ntpd_full_usage, ntpd_short_usage, | |
0ffcfbfc KK |
67 | NULL, NULL, |
68 | PKGDATADIR | |
69 | diff -up ntp-4.2.6p3/ntpd/ntpd-opts.h.mlock ntp-4.2.6p3/ntpd/ntpd-opts.h | |
70 | --- ntp-4.2.6p3/ntpd/ntpd-opts.h.mlock 2011-01-04 03:15:35.000000000 +0100 | |
71 | +++ ntp-4.2.6p3/ntpd/ntpd-opts.h 2011-01-05 17:51:36.256121337 +0100 | |
72 | @@ -82,6 +82,7 @@ typedef enum { | |
a8809dbd ER |
73 | - INDEX_OPT_VERSION = 32, |
74 | - INDEX_OPT_HELP = 33, | |
75 | - INDEX_OPT_MORE_HELP = 34 | |
76 | + INDEX_OPT_MLOCK = 32, | |
77 | + INDEX_OPT_VERSION = 33, | |
78 | + INDEX_OPT_HELP = 34, | |
79 | + INDEX_OPT_MORE_HELP = 35 | |
80 | } teOptIndex; | |
81 | ||
82 | -#define OPTION_CT 35 | |
83 | +#define OPTION_CT 36 | |
0ffcfbfc | 84 | @@ -189,6 +190,10 @@ typedef enum { |
a8809dbd ER |
85 | # warning undefining MODIFYMMTIMER due to option name conflict |
86 | # undef MODIFYMMTIMER | |
87 | # endif | |
88 | +# ifdef MLOCK | |
89 | +# warning undefining MLOCK due to option name conflict | |
90 | +# undef MLOCK | |
91 | +# endif | |
92 | # ifdef NOFORK | |
93 | # warning undefining NOFORK due to option name conflict | |
94 | # undef NOFORK | |
0ffcfbfc | 95 | @@ -270,6 +275,7 @@ typedef enum { |
a8809dbd ER |
96 | # undef LOGFILE |
97 | # undef NOVIRTUALIPS | |
98 | # undef MODIFYMMTIMER | |
99 | +# undef MLOCK | |
100 | # undef NOFORK | |
101 | # undef NICE | |
102 | # undef PIDFILE | |
0ffcfbfc | 103 | @@ -308,6 +314,7 @@ typedef enum { |
a8809dbd ER |
104 | #define VALUE_OPT_LOGFILE 'l' |
105 | #define VALUE_OPT_NOVIRTUALIPS 'L' | |
106 | #define VALUE_OPT_MODIFYMMTIMER 'M' | |
107 | +#define VALUE_OPT_MLOCK 'm' | |
108 | #define VALUE_OPT_NOFORK 'n' | |
109 | #define VALUE_OPT_NICE 'N' | |
110 | #define VALUE_OPT_PIDFILE 'p' | |
0ffcfbfc KK |
111 | diff -up ntp-4.2.6p3/ntpd/ntpd.c.mlock ntp-4.2.6p3/ntpd/ntpd.c |
112 | --- ntp-4.2.6p3/ntpd/ntpd.c.mlock 2011-01-05 17:51:36.191118761 +0100 | |
113 | +++ ntp-4.2.6p3/ntpd/ntpd.c 2011-01-05 17:51:36.257121377 +0100 | |
114 | @@ -723,7 +723,8 @@ ntpdmain( | |
a8809dbd ER |
115 | } |
116 | #endif | |
117 | ||
118 | -#if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT) && defined(MCL_FUTURE) | |
119 | +#if defined(MCL_CURRENT) && defined(MCL_FUTURE) | |
120 | + if (HAVE_OPT( MLOCK )) { | |
121 | # ifdef HAVE_SETRLIMIT | |
122 | /* | |
123 | * Set the stack limit to something smaller, so that we don't lock a lot | |
0ffcfbfc | 124 | @@ -749,7 +750,7 @@ ntpdmain( |
a8809dbd ER |
125 | * fail if we drop root privlege. To be useful the value |
126 | * has to be larger than the largest ntpd resident set size. | |
127 | */ | |
128 | - rl.rlim_cur = rl.rlim_max = 32*1024*1024; | |
129 | + rl.rlim_cur = rl.rlim_max = 64*1024*1024; | |
130 | if (setrlimit(RLIMIT_MEMLOCK, &rl) == -1) { | |
131 | msyslog(LOG_ERR, "Cannot set RLIMIT_MEMLOCK: %m"); | |
132 | } | |
0ffcfbfc | 133 | @@ -761,6 +762,7 @@ ntpdmain( |
a8809dbd ER |
134 | */ |
135 | if (mlockall(MCL_CURRENT|MCL_FUTURE) < 0) | |
136 | msyslog(LOG_ERR, "mlockall(): %m"); | |
137 | + } | |
138 | #else /* not (HAVE_MLOCKALL && MCL_CURRENT && MCL_FUTURE) */ | |
139 | # ifdef HAVE_PLOCK | |
140 | # ifdef PROCLOCK |