qmail, djbdns, NaCl, Ed25519, Curve25519 və ChaCha20-Poly1305 kimi layihələri inkişaf etdirən kriptoqrafiya və təhlükəsiz proqram təminatının inkişafı üzrə tanınmış mütəxəssis Daniel J. Bernstein cdb 20250121, verilənlərin saxlanması formatı və emval üçün verilənlər bazası/funksiyası ilə müşayiət olunan proqramlar kitabxanasını buraxdı. Bu buraxılış 2000-ci ilin fevralında buraxılmış əvvəlki cdb 0.75 yeniləməsindən 25 ildən çox sonra gəlir.
Yeni versiya 64 bitlik məlumat strukturlarına tərcümə edilmiş cdb64 formatını tətbiq edir. 64 bitlik platformalarda yeni format bir ekzabayta qədər verilənlər bazasına imkan verir (əvvəllər verilənlər bazası ölçüləri 4 GB ilə məhdudlaşırdı). Verilənlər bazası çox yığcamdır və hər qeyd üçün 4096 bayt başlıqdan və 48 bayt yerdən istifadə edir (32 bitlik versiya üçün başlıq 2048 bayt və hər qeyd üçün 24 baytdır). Verilənlər bazasına daxil olmaq üçün açar varsa, yalnız iki diskə giriş əməliyyatı, əgər yoxdursa, bir əməliyyat tələb olunur. Atom verilənlər bazasının dəyişdirilməsi dəstəklənir, bu, qəzaya davamlıdır və oxumağa girişi blok etmir.
Digər dəyişikliklər:
- Konfiqurasiya skriptindən istifadə edərək qurmaq və "quraşdırmaq" əmri ilə quraşdırma üçün dəstək.
- Test skriptlərinin csh-ə bağlanması silindi.
- Bütün daxili tam dəyərlər "uzun uzun" olaraq təyin olunan "num" növü ilə əvəz edilmişdir. uint32, fmt və scan funksiyaları num növü ilə işləyən funksiyalarla əvəz edilmişdir.
- Bufer idarəetmə API-si inbuf və outbuf-a bölünüb. Hier interfeysi təmizləndi.
- İstifadə edilməmiş funksiya tərifləri koddan silindi.
- str_len, alloc, uint32, exit, error və systype kimi bağlamaların köhnəlmiş istifadəsi.
- Funksiya təriflərinin köhnə üslubu, boş prototiplər və main() tərifinin köhnə üslubu kimi köhnəlmiş C konstruksiyalarının istifadəsini aradan qaldırmaq üçün kod yenidən işlənmişdir.
- Const və static təriflərindən istifadə olunur.
- Montaj zamanı "-Wall" bayrağı işə salındı və xəbərdarlıqları aradan qaldırmaq üçün kod təmizləndi.
- Kompilyasiya zamanı -fwrapv, -fno-delete-null-pointer-checks, -fno-strict-aliasing və -fno-strict-overflow seçimləri aktivləşdirilir.
Mənbə: opennet.ru
