Daniel Bernstein updated the cdb library

Daniel J. Bernstein, a renowned expert in cryptography and secure software development, who created projects such as qmail, djbdns, NaCl, Ed25519, Curve25519, and ChaCha20-Poly1305, has released the cdb project version 20250121. This release offers a data storage format and a corresponding library for embedding database functions in applications in key/value form. This release comes more than 25 years after the previous cdb 0.75 update, which was formed in February 2000.

The new version implements the cdb64 format, translated to structures with 64-bit types. On 64-bit platforms, the new format allows the creation of databases up to one exabyte in size (previously, the database size could not exceed 4 GB). The database is very compact and uses a 4096-byte header and 48 bytes of metadata for each record (for the 32-bit version, the header is 2048 bytes and 24 bytes per record). When accessing the database, only two disk access operations are performed when the key is present and one when it is absent. Atomic replacement of the database is supported, resilient to crashes, and does not block read access.

Other changes:

  • Support for building with the configure script and installing with the 'make install' command.
  • Removed the binding of test scripts to csh.
  • All internal integer values have been replaced with the 'num' type defined as 'long long'. The uint32, fmt, and scan functions have been replaced with functions that work with the num type.
  • The buffer interface has been split into inbuf and outbuf. The hier interface has been cleaned up.
  • Definitions of unused functions have been removed from the code.
  • The usage of wrappers such as str_len, alloc, uint32, exit, error, and systype has been discontinued.
  • The code has been rewritten to eliminate the use of outdated C constructions, such as old-style function definitions, empty prototypes, and old-style main() definitions.
  • Definitions of const and static have been utilized.
  • The '-Wall' flag has been activated during the build, and the code has been cleaned up to remove warnings.
  • The following options have been included in compilation: -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing, and -fno-strict-overflow.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster