Daniel Bernstein hà aghjurnatu a biblioteca cdb

Daniel J. Bernstein, un espertu rinomatu in crittografia è sviluppu di software sicuru chì hà sviluppatu prughjetti cum'è qmail, djbdns, NaCl, Ed25519, Curve25519, è ChaCha20-Poly1305, hà publicatu cdb 20250121, un furmatu di almacenamentu di dati è a biblioteca accumpagnata per l'integrazione di funzioni di basa di dati chjave/valore in l'applicazioni. Questa versione vene più di 25 anni dopu à l'aghjurnamentu precedente, cdb 0.75, publicatu in ferraghju 2000.

A nova versione implementa u furmatu cdb64, traduttu in strutture di dati à 64 bit. Nantu à e piattaforme à 64 bit, u novu furmatu permette basi di dati finu à un exabyte di dimensione (prima, e dimensioni di e basi di dati eranu limitate à 4 GB). A basa di dati hè assai compatta è usa un'intestazione di 4096 byte è 48 byte di sovraccaricu per record (per a versione à 32 bit, l'intestazione hè di 2048 byte è 24 byte per record). L'accessu à a basa di dati richiede solu duie operazioni d'accessu à u discu se a chjave hè presente, è una se ùn hè micca presente. A sustituzione atomica di a basa di dati hè supportata, chì hè resistente à i crash è ùn blocca micca l'accessu in lettura.

Altri cambiamenti:

  • Supportu per a custruzzione cù u script di cunfigurazione è l'installazione cù u cumandamentu "make install".
  • Eliminatu u ligame di i script di prova à csh.
  • Tutti i valori interi interni sò stati rimpiazzati da u tipu "num", definitu cum'è "long long". E funzioni uint32, fmt è scan sò state rimpiazzate da funzioni chì travaglianu cù u tipu num.
  • L'API di gestione di buffer hè stata divisa in inbuf è outbuf. L'interfaccia hier hè stata pulita.
  • E definizioni di funzione inutilizate sò state eliminate da u codice.
  • Usu deprecatu di ligami cum'è str_len, alloc, uint32, exit, error è systype.
  • U codice hè statu rifattorizatu per eliminà l'usu di custruzzioni C obsolete cum'è u vechju stile di definizioni di funzioni, prototipi vioti è u vechju stile di definizione main().
  • E definizioni di const è static sò aduprate.
  • A bandera "-Wall" hè stata attivata durante l'assemblea è u codice hè statu pulitu per eliminà l'avvertimenti.
  • L'opzioni -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing, è -fno-strict-overflow sò abilitate durante a compilazione.

Source: opennet.ru

Add a comment