r6 - 2015-04-18 - 17:20:24 - HarlanStennYou are here: NTP >  Dev Web > DevelopmentIssues > EmbeddedVersionStringContent
NTP users are strongly urged to take immediate action to ensure that their NTP daemons are not susceptible to use in a distributed denial-of-service (DDoS) attack. Please also take this opportunity to defeat denial-of-service attacks by implementing ingress and Egress filtering through BCP38.

ntp-4.2.8p2, released on 7 April 2015, addresses two issues with crafted packets involving symmetric key encryption and Message Authentication Codes.

Please see the NTP Security Notice for vulnerability and mitigation details.

Are you using Autokey in production? If so, please contact Harlan - he's got some questions for you.

Embedded Version String Content

While fixing bug_small.png Bug #683 it was noted that the version string in the code takes the form:

 Version @ CSet [ build-flags ] date buildnumber

where:

Version
the version string, eg 4.2.3p29
@
the @ sign
CSet
A number indicating the latest changeset in the repository

build-flags:

-o
for OpenSSL support

date
the date and time of program linkage
buildnumber
(n), where n counts the number of times the program has been linked in this directory

The intent of this value is to make it easy to identify the state of the codebase when each program was built.

The CSet value is mostly useful to developers, who may build and run several different versions of the programs during testing, and need a way to easily identify which changes are in each executable. The problem with using CSet is that its value can change as the repository is updated. If we:

  • release 4.2.8 and it is at CSet 1.2900,
  • add more changesets, releasing 4.2.8p1 and 4.2.8p2,
  • take this repo and check out NTP_4_2_8 and build it,
this built version of 4.2.8 may not be at CSet 1.2900.

This is even more confusing to people.

We need a better understanding of what we're trying to accomplish with the data in the version string content, including the "use cases".

Anyway...

Note that previous versions of NTP used different values for build-flags and the file scripts/mkver describes them.

  • As of 4.2.7p272, 12 April 2012, the mkver script uses VER_SUFFIX, and the value -o means we have OpenSSL.
  • As of 6 Aug 2004, 4.2.1, a suffix of -o means we have -lcrypto and -? means some other crypto library is available.
  • As of 4 May 2000, the suffix -a meant Autokey was supported, in additon to -r for RSA.
  • As of 25 Feb 2000, the suffix was changed to -r.
  • As of 24 Feb 2000, the suffix was changed to -RSAREF.
  • 4.0.99: In July of 1999, the suffix RSAREF meant that the RSA libraries were available.

It has been suggested that some users are confused by the information after the @. While the remaining information is important and useful, it is not part of the software version.

The following suggestions have been made in this regard:

  • Leave it alone
  • Get rid of the information after the @
    • Harlan says not without finding somewhere else for the info
  • Change the @ to something else:
    • 4.2.3p29; 1.123-o
    • 4.2.3p29, build 1.123-o

-- HarlanStenn - 22 Aug 2006

-- DaveHart (added -a for Autokey) - 23 May 2010

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r6 < r5 < r4 < r3 < r2 | More topic actions
 
SSL security by CAcert
Get the CAcert Root Certificate
This site is powered by the TWiki collaboration platform
IPv6 Ready
Copyright & 1999-2015 by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Ideas, requests, problems regarding the site? Send feedback