Проблема с новым gnutls

Обновлял сегодня систему, и обновились 2 пакета

* Низкоуровневая криптографическая библиотека (U) dev-libs/nettle-3.5.1-r1 (616 KiB)
* Реализация криптопротоколов TLS 1.2 и SSL 3.0 для GNU (rR) net-libs/gnutls-3.6.13 (1770 KiB)

В результате перестал работать VPN - использует openconnect, работает по цисковскому протоколу anyconnect

Пришлось откатиться к

=net-libs/gnutls-3.6.7-r1 =dev-libs/nettle-3.4.1

Так же наблюдалась ещё одна странность: поиск через eix выдавал только текущую версию:

[I] net-libs/gnutls
    Доступные версии:      3.6.13(0/30)^t{tbz2} {+cxx dane doc examples guile +idn nls +openssl pkcs11 seccomp sslv2 sslv3 static-libs test test-full +tls-heartbeat tools valgrind ABI_MIPS="n32 n64 o32" ABI_RISCV="lp64lp64d" ABI_S390="32 64" ABI_X86="32 64 x32"}
    Установленные версии:  3.6.13(0/30)^t{tbz2}(22:01:43 01.05.2020)(cxx idn nls openssl seccomp tls-heartbeat -dane -doc -examples -guile -pkcs11 -sslv2 -sslv3 -static-libs -test -test-full -tools -valgrind ABI_MIPS="-n32 -n64 -o32" ABI_RISCV="-lp64 -lp64d" ABI_S390="-32 -64" ABI_X86="32 64 -x32")
    Домашняя страница:     http://www.gnutls.org/
    Описание:              A TLS 1.2 and SSL 3.0 implementation for the GNU project

а вот eix -R отобразил и старую, на которую я и откатился – 3.6.7-r1

[?] net-libs/gnutls
    Доступные версии:      2.12.23-r6[2] ~3.2.18-r1[7] 3.3.15[2] 3.6.7(0/30)[3] 3.6.7-r1(0/30)^t{tbz2} ~3.6.10-r1(0/30)^t ~3.6.11-r1(0/30)^t ~3.6.11.1-r1(0/30)^t {bindist +crywrap +cxx dane doc examples guile +idn linguas_cs linguas_de linguas_en linguas_fi linguas_fr linguas_it linguas_ms linguas_nl linguas_pl linguas_sv linguas_uk linguas_vi linguas_zh_CN lzo +nettle nls +openssl pkcs11 seccomp sslv2 sslv3 static-libs test test-full +tls-heartbeat tools valgrind zlib ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_RISCV="lp64 lp64d" ABI_S390="32 64" ABI_X86="32 64 x32"}
    Установленные версии:  3.6.13(0/30)^t{tbz2}(22:01:43 01.05.2020)(cxx idn nls openssl seccomp tls-heartbeat -dane -doc -examples -guile -pkcs11 -sslv2 -sslv3 -static-libs -test -test-full -tools -valgrind ABI_MIPS="-n32 -n64 -o32" ABI_RISCV="-lp64 -lp64d" ABI_S390="-32 -64" ABI_X86="32 64 -x32")
    Домашняя страница:     http://www.gnutls.org/
    Описание:              A TLS 1.2 and SSL 3.0 implementation for the GNU project

Дополнение:

Сейчас коннектится так:

openconnect -v -u Username --no-dtls vpn.server.com

А с новым gnutld эта же строка падала с ошибкой:

POST https://vpn.server.com/
Attempting to connect to server 1.2.3.4:443
Connected to 1.2.3.4:443
SSL negotiation with vpn.server.com
Недопустимая инструкция

Перестал работать claws-mail, браузеры на вебкитном движке (epiphany midori) и не могу смотреть стримы по протоколу hls. Не уверен, но кажется это все из-за обновления gnutls.
Во всяком случае до обновления все выше перечисленное точно работало.

Тоже проблемы с claws-mail.
cldm kernel: traps: claws-mail[6317] trap invalid opcode ip:7f380d4bc214 sp:7f38031547f8 error:0 in libnettle.so.7.0
И тоже “Недопустимая инструкция” при попытке получить почту

eix хоть с -R , хоть без показывает доступность только gnutls-3.6.13
В сети нашел gnutls-3.6.7, попробую откатить на нее

С танцами с бубном, удаляя некоторые пакеты, поставил gnutls-3.6.7 и nettle-3.4.1
claws-mail вродь заработал.
Теперь буду пытаться восстанавливать удаленные пакеты.
PS. Пришлось и rdesktop тоже откатить с 1.9.0 до 1.8.6
dev-libs/libfilezilla и filezilla отказываются ставиться.
PPS. Сейчас совсем крыша едет.
Есть другой комп. Ось одна МАТЕ.
На том другом gnutls-3.6.13, а nettle-3.4.1 и claws-mail нормально принимает почту.
Как понимаю проблемный собственно nettle-3.5.1-r1
На этом же проблемном пробую поставить gnutls-3.6.13, прижав nettle до 3.4.1 - хочет nettle-3.5.1-r1, с которой собственно проблемы у почтовика.
Пока на другом не делаю обновление.

У меня нормально отработала команда

emerge -av =net-libs/gnutls-3.6.7-r1 =dev-libs/nettle-3.4.1 rdesktop

хотя eix и не показывал gnutls-3.6.7-r1

Пришлось и rdesktop тоже откатить с 1.9.0 до 1.8.6

у меня rdesktop пересобирался, поэтому пересобрался 1.9

На

emerge -av =net-libs/gnutls-3.6.7-r1 =dev-libs/nettle-3.4.1 rdesktop

мне пишет
emerge: there are no ebuilds to satisfy “=net-libs/gnutls-3.6.7-r1”

Да, так и есть, но не только с почтой.
vlc + webkit browsers

[  109.614257] traps: vlc[6608] trap invalid opcode ip:7ff58ba94124 sp:7ff5a69cd248 error:0 in libnettle.so.7.0[7ff58ba82000+1c000]
[  146.807251] traps: pool[6686] trap invalid opcode ip:7fcb240c4124 sp:7fcb15dfb208 error:0 in libnettle.so.7.0[7fcb240b2000+1c000]
[  147.453391] traps: pool[6714] trap invalid opcode ip:7fb8e478c124 sp:7fb8ce7fb208 error:0 in libnettle.so.7.0[7fb8e477a000+1c000]

На компе с комбинацией gnutls-3.6.13, а nettle-3.4.1 прижал nettle до 3.4.1
“>dev-libs/nettle-3.4.1” >> /etc/portage/package.mask/custom
и обновился.
claws-mail и rdesktop не затронулись и работают, gnutls и nettle остались в тех же версиях.
Однао когда пытаюсь ставить filezilla, получаю:
! !! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-libs/nettle:0
(dev-libs/nettle-3.5.1-r1:0/7::gentoo, binary scheduled for merge) USE=“asm gmp -doc -static-libs -test” ABI_X86=“32 (64) (-x32)” CPU_FLAGS_X86=“sha -aes” pulled in by
dev-libs/nettle:0/7= required by (dev-libs/libfilezilla-0.15.1:0/0::gentoo, binary scheduled for merge) USE="-test" ABI_X86="(64)"
^^^^^
(and 1 more with the same problem)
(dev-libs/nettle-3.4.1:0/6.2::gentoo, installed) USE=“gmp -doc (-neon) -static-libs -test” ABI_X86=“32 (64) (-x32)” CPU_FLAGS_X86="-aes" pulled in by
dev-libs/nettle:0/6.2= required by (net-misc/rdesktop-1.9.0:0/0::gentoo, installed) USE=“alsa ipv6 pulseaudio -ao -kerberos -oss -pcsc-lite -xrandr” ABI_X86="(64)"
^^^^^^^
(and 2 more with the same problem)
Как дальше разруливать непонятно. Как я понимаю требует nettle-3.5.1-r1, с которой проблемы.

Зависимые пакеты можно пересобрать, как я пересобрал rdesktop-1.9, указав его в emerge

После такого “возмущения” откатили nettle.
У меня вроде все работает из того что перечислил, но забыл упомянуть про audacious

ERROR neon.cc:542 [open_request]: <0x7f7de4000b60> Could not open URL: 1 (0)
ERROR neon.cc:545 [open_request]: <0x7f7de4000b60> neon error string: Could not create SSL connection through proxy server: 200 Connection established
ERROR neon.cc:733 [fopen]: <0x7f7de4000b60> Could not open URL

не работает по-прежнему с https.
Раньше до проблемы с nettle работал.

Похоже на archlinux тоже самое произошло, но отката не было. Наверно заплатку сделали.

Как я понял, проблема решена и можно обновляться.
Правда не понял как она решена, каким образом накладывается вето на nettle-3.5.1-r1

Вот так.

[ 213.854272] traps: dnsmasq[7046] trap invalid opcode ip:7fcdee2ada95 sp:7ffd320682a8 error:0 in libnettle.so.8.0[7fcdee29b000+1d000]
[ 343.720582] traps: dnsmasq[7457] trap invalid opcode ip:7f631f09da95 sp:7ffe25184148 error:0 in libnettle.so.8.0[7f631f08b000+1d000]

про сеть можно забыть.

Пришлось вырубить dnscrypt-proxy и убрать его из init чтоб сеть мало-мальски заработала.
Теперь браузеры epiphany midori surf и claws-mail вообще не работают.

[   97.129267] traps: pool[6477] trap invalid opcode ip:7f9e8c836104 sp:7f9e667fb208 error:0 in libnettle.so.8.0[7f9e8c823000+1d000]
[ 1113.180096] traps: pool[8967] trap invalid opcode ip:7f97ac0de104 sp:7f97a4c4e2d8 error:0
[ 1113.180099]  in libnettle.so.8.0[7f97ac0cb000+1d000]
[  227.810603] traps: claws-mail[7472] trap invalid opcode ip:7ffbd63de104 sp:7ffe093c1f18 error:0 in libnettle.so.8.0[7ffbd63cb000+1d000]

WebKit encountered an internal error

Зачем я обновил? Слакварьщики правильно говорят:

Не надо заниматься муйнёй если все работает

Похоже что с последним обновлением опять установился новый nettle – теперь 3.6-r2.

И опять начались те же проблемы, у меня опять перестал работать vpn

Но при попытке вернуть старый emerge -av dev-libs/nettle-3.4.1 ругается !!! 'dev-libs/nettle-3.4.1' is not a valid package atom.

Верните рабочий!

И проверять же как-то надо.

Забыл = при указании версии, т.е. надо запускать emerge -av =dev-libs/nettle-3.4.1 net-misc/rdesktop net-libs/gnutls

Но всё равно, чтобы вернуть старый nettlte приходится пересобирать rdestop, gnutls, т.к. старых версих уже нет, а пересборка любой криптографии - дело долгое и, не редко, проблематичное.

И хорошо, что вовремя заметил. А если откатиться не смогу, то менять дистрибутив?

PS вписал в mask >dev-libs/nettle-3.4.1

Тоже выровнял ситуацию, правда по другому.

  1. Замаскировал >dev-libs/nettle-3.4.1
  2. Снес проблемные пакеты gnutls, claws-mail, rdesktop
  3. Установил dev-libs/nettle-3.4.1
  4. По очереди установил удаленные пакеты с опцией
    emerge --autounmask-keep-masks
    После этого прошло без ошибок cl-update и проблемные пакеты заработали.
    Может это и “кривой” путь, но сработало.

Проблема оказалась в CPU_FLAGS_X86=“sha”. Пакет работал только на CPU с поддержкой SHA-NI инструкций. Сейчас на зеркала загружается обновление с выключенным USE флагом.

Обновился, проверил - у меня vpn работает.

PS Я посмотрел там флаги - есть ещё aes, тоже отключён, хотя в моём, далеко не свежем CPU он есть.

Имеет ли смысл его выставить? Будет ли профит?