r5 - 2011-08-23 - 10:59:07 - LinusKarlssonYou are here: NTP >  Dev Web > GoogleSummerOfCode > GSoC2011UnitTesting
NTP users are strongly urged to take immediate action to ensure that their NTP daemons are not susceptible to being used in distributed denial-of-service (DDoS) attacks. Please also take this opportunity to defeat denial-of-service attacks by implementing Ingress and Egress filtering through BCP38.

ntp-4.2.8p15 was released on 23 June 2020. It addresses 1 medium-severity security issue in ntpd, and provides 13 non-security bugfixes over 4.2.8p13.

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.

Unit Testing (GSoC 2011)


The goal of this project is to continue with the work on unit tests started during the last Summer of Code.

This year I would begin with continuing work on the parts of libntp that wasn’t finished last summer. For this I would use the notes saved from last year, that tells what parts of libntp remains to test.

After this, I will begin writing tests for libisc, a library used throughout NTP. These tests will be written in the same manner as the tests for libntp last year.



  • DONE Make a list of functions of libisc that are really used by the various parts of NTP.
  • DONE Write tests for these functions (but see UnitTestingNotes for some comments of untested functions)


  • DONE Check the validity of last year’s Dev/UnitTestingNotes page on the wiki and update it accordingly. This would also include catch up an add tests for code that has been added since last summer.
  • DONE Write tests for the functions of libntp that are used only when a system function is not available. To begin with, tests should be executed on the function that will actually be used by NTP.
  • As a continuation on the point above, I would like to to always test the code in libntp, in addition to testing the system’s own version (if this is available). This will require some work when building the tests, and I would try to make a small example to see if it would be worth the effort. This point would be a lower priority.
  • DONE Write tests for the file parsers remaining in libntp. The code used when testing file input/output in the sntp unit tests can probably be used for this.
  • DONE Write tests for the functions that uses calls to ioctl(). This requires some sort of layer so we can control how ioctl() is used, and how it should behave when called. This is in some sense the same problem as with the system functions above.


  • DONE Add tests for the different types of lists in include/ntp_lists.h

all the time

  • Document (in public, on the wiki) if there are anything that’s left for later, so it is not forgotten.


  • DONE Update wiki with information on how to write new tests.

Related Items: UnitTestingNotes, NtpdFunctionMap, GSoC2010UnitTesting


Date Task Description % Done
2011-04-25   Accepted student proposals announced on the Google Summer of Code 2011 site. DONE
2011-04-27 Community Bonding Students get to know mentors, read documentation, get up to speed to begin working on their projects. DONE
2011-05-24 Coding begins Students begin coding for their GSoC projects DONE
2011-05-24 Exam period starts I will be away for two weeks of exams. DONE
2011-06-03 Exam period ends My last exam. I will probably need the weekend to move to another city during the summer. DONE
2011-07-11 Start mid-term evaluations Mentors and students can begin submitting mid-term evaluations. DONE
2011-07-15 Mid-term evaluations Mid-term evaluations deadline DONE
2011-08-15 Wrap-up Suggested 'pencils down' date. Take a week to scrub code, write tests (heh), improve documentation, etc. DONE
2011-08-22 Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google. DONE
2011-08-26 Final evaluation Final evaluation deadline  
2011-08-30 Code samples Students can begin submitting required code samples to Google  

Discussion and Comments

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r5 < r4 < r3 < r2 < r1 | 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-2022 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