libptpmgmt 1.3 Release Announcement

June 10, 2024 by Dru Lavigne

Erez Geva, Release Engineer for the libptpmgmt Project, recently released version 1.3 of libptpmgmt. It is available via download or by pointing your ftp client to anonymous@ftp.nwtime.org.

The main features of libptpmgmt version 1.3 are:

  • Authentication TLV support follows the new version of linuxptp.
  • Add C language wrapper. C language applications can use the Library directly by calling the wrapper C API. For example check_ver.c, a simple C application that prints the Library version. The C API is documented in the Doxygen documents. A starting point can be found here.

The full listing of changes:

  • Support LinuxPTP version 4.3.
  • Add support for AUTHENTICATION.
    • Add HMAC wrapper libraries.
    • Probe the HMAC libraries.
    • Add HMAC libraries to containers. We need them for the new authentication TLV.
  • Improve ABI compatible with version 1.1 and version 1.2.
    • Add ABI compare workflow.
  • Improve header detection.
  • MessageBuilder: move calling of clearData() to a new function, clear(). The problem: we can not guarantee that the message object was not deleted before we call MessageBuilder destructor.
  • Fix go MessageBuilderBuildTlv(): free the TLV in case SetAction fails.
  • Add explanation on C++/C standards.
  • Add note on GO wrapper.
  • Improve Message Builder build TLV method.
  • Add support for new Linux kernel IOCTL.
  • Change kernel PTP mask for external pins.
  • Swig can create dependencies by itself.
  • New version of Arch Linux package manager need the debugedit tool.
  • Add GNU debugger to containers.
  • Message handle message size properly.
  • Add separator to Binary to ID function.
  • Add BASE64 encoding and decoding functions in Binary class.
  • Use Ruby SWIG director.
  • Fix internal Token class.
  • Improve unit test assertions.
  • Fix allocation of long option strings in Options class.
  • Fix and improve Doxygen documentation.
  • Fix parsing and building errors text.
  • Add GitLab:
    • docker.
    • CI.
    • Add cross compilation to GitLab CI.
  • Improve naming of scripts.
  • Add GnuPG Libgcrypt to containers.
  • Small improvements in configuration parser.
  • Move internal Token class to comp so we can reuse it in configuration parsing and the PMC tool.
  • Fix types in C configuration unit test.
  • Improve cppcheck.
  • Improve JSON from linking code.
  • Improve class option properties.
  • The PMC tool does not use interface name in configuration file.
  • Improve C wrapper code.
  • Improve JSON libraries probing.
  • Place shared library links in proper packages.
  • Add skip Doxygen flag in Gentoo ebuild.
  • Move using std to internal header.
  • Add missing depending in make file.
  • Update the how to document code document.
  • Update and improve text in read-me.
  • Improve socket C API naming.
  • Use line variable instead of a specific number in error unit test.
  • Add probing headers and features to public headers.
  • Improve including headers and probing.
  • As we test packaging and install them on system. We can remove the packaging from the main CI.
  • Clang
    • Add support for clang.
    • Use the CC and CXX variables directly to select Clang.
    • Clang miss FLOAT_WORD_ORDER.
    • Use Clang with Gentoo CI.
    • Update ptp4l_sim for compilation with clang.
    • Fix warnings found by clang.
    • Add test with clang.
  • Add configuration header to probe headers.
  • Fix deprecated functions macros.
  • Remove deprecated functions from GO.
  • As GO wrapper is used during building/development.
  • Split pkgs test to 2 stages.
  • Add new Linuxptp Common Mean Link Delay TLV and notify.
  • Add compiler warn if an undefined identifier is evaluated.
  • Fix type range limits and deprecated copy constructor warnings.
  • Add missing system functions to libsys sources.
  • Fix PTP_PEROUT_REQUEST IOCTL.
  • Fix of Lua probing in testing scripts.
  • github_pages: remove unused files from site.
  • Update build dependencies in Debian packaging.
  • Improve read_defs() function.
  • Update build dependencies in RPM packaging.
  • Improve Arch Linux PKGBUILD.
  • Fix adding SPDX to generated HTMLs.
  • Add Lua POSIX to Arch Linux.
  • Fix Manual full test.
  • Gentoo add USE flags to skip wrappers.
  • Fix github_address.sh dispatcher.
  • Add SPDX IDs to source installed in system.
  • Use MIT to GO language source as there are linked in the executable.
  • Fix GO message builder dependency.
  • The other are used as libraries so LGPL is fine.
  • Replace auto with actual type in unit test code.
  • Add SPDX IDs to markdown using HTML comment and to generated Doxygen HTML and JavaScripts.
  • Add traversSigTlvs to C and traversSigTlvsCl for script languages.
  • Fix signalling LoopTwoManagmentTlvs unit test to loop over the 2 TLVs.
  • Spell signalling in text, leave American spelling in code.
  • Add Gentoo to packages CI.
  • Use using standard name space in C++ source code.
  • Collect small tool scripts into a single one.
  • Move testing with LinuxPTP and a dummy clock to the test with the packaging to ensure the packing contain all the files needed.
  • Fix Gentoo build QA warnings.
  • Improve Gentoo support.
  • Add filters for C unit tests.
  • Skip pre-compile #error when using cppcheck.
  • Use swig director for message dispatcher and builder.
  • Improve Unix socket abstract address support.
  • Add C wrapper
  • Update Build.md and improve grammar.
  • Small improvements.
    • Improve git ignore.
    • Add external C to libsys.
  • Improve release scripts.
  • Update credits.
  • Update pmc.8
  • Fix grammar in MANAGEMENT IDS section and remove trailing line which looks like a cut error.
  • Add the new phase command to phc_ctl tool.

Share on: