nieuwe release van het project , die een fork van de GnuPG (GNU Privacy Guard) toolkit ontwikkelt met implementaties voor gegevensversleuteling, werken met digitale handtekeningen, sleutelbeheer en toegang tot openbare sleutelopslagplaatsen.
De belangrijkste kenmerken van NeoPG zijn een significante code-opruiming van verouderde algoritmes, de overstap van C naar C++11, de herstructurering van de broncode voor vereenvoudigd onderhoud, en het bieden van een uitbreidbare API voor het ontwikkelen van extensies. Alle nieuwe code onder de permissieve BSD-licentie in plaats van de GPLv3.
Onder de wijzigingen is ook de overstap naar het build-systeem cmake, de vervanging van Libgcrypt door de bibliotheek , de vervanging van ingebouwde parsers en code voor database-interacties door libcurl en SQLite. In NeoPG zijn de langdurige achtergrondprocessen gpg-agent, dirmngr (Directory Manager) en scdaemon (Smart Card Daemon) stopgezet, in plaats daarvan worden tijdelijke hulpprogramma's uitgevoerd die direct na uitvoering van de taak worden beëindigd.
De belangrijkste functionaliteit van NeoPG is gerealiseerd in de vorm van de bibliotheek libneopg, die kan worden gebruikt in externe toepassingen. Bovenop libneopg is een commandoregelinterface geïmplementeerd, waarbij uiteenlopende utilities uit GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar, enz.) zijn samengevoegd in één uitvoerbaar bestand neopg, met subcommando's in Git-stijl en ondersteuning voor kleuruitvoer. Binnen het commando "neopg gpg2" is een laag voor compatibiliteit met GnuPG 2 geïmplementeerd.
In de nieuwe release is de compatibiliteit met de utility gpg2 verbeterd - als gpg2 een harde link naar neopg is, wordt automatisch een laag voor compatibiliteit met GnuPG 2 toegepast. Een nieuwe opdracht "packet dump" is toegevoegd. Ondersteuning voor Ubuntu 18.04 is verzekerd. De werking van de Cmake-buildscripts is verbeterd. In plaats van boost::format is de fmtlib-bibliotheek gebruikt. Een OpenPGP-parser voor sleutelopslagplaatsen is toegevoegd.
Bron: opennet.ru
