ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Mikhail Efremov <sem@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: [devel] Nettle 4
Date: Thu, 20 Aug 2026 13:16:16 +0300
Message-ID: <20260820131616.0011f621@sem.office.basealt.ru> (raw)

Hello!

Nettle 4.0 вышла еще в феврале, в ней изменился ABI (soname bump), и,
что самое главное, API.
Summary по изменению API от ИИ:
1. Функции хэширования:
Функции *_digest больше не принимают желаемый
размер дайджеста (digest size) в качестве аргумента.
2. Удаление старых интерфейсов AES:
Окончательно удален старый struct aes_ctx и все функции для работы с
ним (вместо него следует использовать фиксированные размеры ключей
вроде struct aes256_ctx, появившиеся еще в ветке v3).
3. Изменения в SHA-3:
Все варианты SHA-3 теперь используют единый struct sha3_ctx и функцию
sha3_init (старые специфичные имена оставлены как макросы препроцессора
для совместимости).
4. Очистка заголовков: Удален старый заголовочный файл
sha.h (нужно использовать sha1.h или sha2.h), а также целиком удален
устаревший и неполный модуль pgp.h.
5. Прочие удаления: Убран недокументированный struct nettle_armor,
функция base64_encode_group и устаревшие функции
_rsa_blind/_rsa_unblind.

Чаще всего проблемы вызывает первый пункт, но патч обычно тривиальный.

Я решил, что полгода достаточное время, чтобы апстримы
добавили поддержку и можно попробовать собрать nettle-4 в Сизиф.
С клиентами, которые к этому не готовы, ситуация следующая:
chrony	rider
Фикс в апстримном git, поддержка должна быть в следующей версии.

curl	rider ldv glebfm
Поддержка есть, но curl сейчас не пересобирается в Сизифе.

libdatachannel	antohami @everybody
Поддержка в версии 0.24.5, нужно обновить.

mailfromd	asy
Поддержки нет.

neatvnc	aris
Фикс в апстримном git, поддержка должна быть в следующей версии.

ocaml-ocamlnet	rider @everybody
Поддержки нет.

ocserv	shaba @everybody
Поддержка в версии 1.5.0, нужно обновить.

octave-general	manowar viy cas @everybody
Поддержка в версии 2.1.4, нужно обновить.

opendht	lakostis nenderus oddity @everybody
Поддержка в версии 4.0.2, нужно обновить.

radcli	shaba @everybody
Фикс в апстримном git, поддержка должна быть в следующей версии.

rdesktop	shad @everybody
Поддержки нет.

rdfind	@nobody
Поддержка в версии 1.8.0, нужно обновить.

sequoia-sqv	tyaplyapych @everybody
Напрямую nettle не использует, скорее всего нужно обновить
vendored crates, возможно вместе с обновлением версии.

srt	rider @everybody
Поддержки нет.

stoken	cow @everybody
Поддержки нет.

tigervnc	protvin rider @everybody
Фикс в апстримном git, поддержка должна быть в следующей версии.

unvanquished	shad @everybody
Фикс в апстримном git, поддержка должна быть в следующей версии.

viking	snk rider @everybody
Фикс в апстримном git, поддержка должна быть в следующей версии.

Вывод: собирать nettle-4 в Сизиф пока рано, ждем еще некоторое время.
Но перейти на nettle-4 на все равно будет нужно, как максимум до конца
года стоит это сделать.
Так что предлагаю готовиться уже сейчас, т.е. мантейнеров
пакетов, для которых есть фикс в новой версии, прошу эти пакеты
обновить. Мантейнерам же тех пакетов, для которых фикса нет, предлагаю
поискать патчи у коллег в других дистрибутивах.

P.S. Делать compat-библиотеку в данном случае плохая идея, т.к.
очень высока вероятность попадания двух версий библиотек в одно
адресное пространство, помню это по предыдущему смену soname у nettle.
В основном потому, что обычно клиенты libnettle слинкованы и с gnutls,
которая сама клиент nettle.

-- 
WBR, Mikhail Efremov


             reply	other threads:[~2026-08-20 10:16 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-20 10:16 Mikhail Efremov [this message]
2026-08-20 11:00 ` Anton Farygin
2026-08-20 11:39   ` Mikhail Efremov
2026-08-20 11:57     ` Mikhail Efremov
2026-08-20 12:16       ` Anton Farygin
2026-08-20 13:20 ` Mikhail Efremov
2026-08-20 13:24 ` Anton Midyukov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260820131616.0011f621@sem.office.basealt.ru \
    --to=sem@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git