<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<br>
The other day I determined that the flag disable_dynamic_updates
(currently in the io_data struct) is either not properly
initialized, or is blocking off a large chunk of dead code. After
reading through the relevant code and looking through the history I
think it is the former:<br>
<br>
The flag is only set (to true) if ENABLE_EARLY_DROPROOT is defined,
*and* sandbox() returns notroot==true. If either of these are not
the case then the flag is left floating. From associated comments
NetBSD does not allow ENABLE_EARLY_DROPROOT, therefore any NetBSD
build will leave the flag floating.<br>
<br>
It has always been the case that this flag is improperly set; as far
back as the earliest available tag in the repo (NTP_4_2_7P455).<br>
<br>
The original #ifdef guarded set was removed somewhere between the
tag git-conversion and NTPsec_0_9_0. At this point no set or
initialization existed anywhere in the codebase. However the flag
was still checked despite floating.<br>
<br>
The #ifdef ENABLE_EARLY_DROPROOT guarded block was added between
tags NTPsec_0_9_4 and NTPsec_0_9_5, and has remained in that form
since. This coincides with converting the flag from an int to a
bool. The only change since then was when the flag was shunted from
a global to io_data.<br>
<br>
<div class="moz-signature">-- <br>
<i>"In the end; what separates a Man, from a Slave? Money? Power?
No. A Man Chooses, a Slave Obeys."</i> -- Andrew Ryan
<p>
<i>"Utopia cannot precede the Utopian.
It will exist the moment we are fit to occupy it."</i> --
Sophia Lamb
</p>
</div>
</body>
</html>