URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 136057
[ Назад ]

Исходное сообщение
"Обновление OpenSSH 9.9p1 с устранением возможности совершения MITM-атаки"

Отправлено opennews , 18-Фев-25 19:36 
Доступен корректирующий выпуск  OpenSSH 9.9p1, в котором устранены две уязвимости, выявленные компанией Qualys. Продемонстрирован пример использования данных уязвимостей для совершения MITM-атаки, позволяющей при попытке подключения клиента к SSH-серверу, перенаправить трафик на собственный фиктивный сервер, обойти проверку хостовых ключей и создать у клиента видимость подключения к желаемому серверу (ssh-клиент примет хостовый ключ фиктивного сервера вместо ключа легитимного сервера)...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=62742


Содержание

Сообщения в этом обсуждении
"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Fracta1L , 18-Фев-25 19:43 
Нужен язык, который не позволяет оставлять алгоритмические ветки необработанными.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 19:49 
Хм.. кажется zig такое умеет.
Ну или V на крайняк.
Можно было бы сделать Safe-C, но кто ж этим будет заниматься.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 07:35 
Так Safe-C это же про выходы за границы буферов.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Вася Пупкин , 18-Фев-25 20:08 
есть такой, но его тут хейтят, особенно те кто не могут осилить

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:41 
> есть такой, но его тут хейтят, особенно те кто не могут осилить

Brainfuck чтоли? По принципу - не смогли написать ssh сервер - и дыр нет, зашибись? :)


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Fracta1L , 18-Фев-25 21:03 
Это какой?

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 01:59 
Эталонный. https://www.phoronix.com/news/Torvalds-Override-On-Rust-Code

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 07:38 
Давай уж не звезди, он не устраняет логические ошибки.

PS Да вообще сомнительно, что такой язык возможен. Разве что, привлечение к этому AI поможет.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено aname , 19-Фев-25 10:55 
Ассемблер, шоле?

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено penetrator , 18-Фев-25 23:34 
в данном случае достаточно было bool, но это СИ, и многое там просто потому что так договорились

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 09:23 
Тпипизация в состоянии отследить и логические ошибки тоже. Особенно со всякими зависимыми типами и верифицированным кодом

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 09:33 
Таких языков уже куча. Из относительно популярных: rust, haskell, ocaml. Восходят эти языки к восьмидесятым (SML), если не раньше. Но сишники как всегда не в курсе, что там вообще существует

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 10:07 
Зачем?
Какую проблему это решит?


Я иногда пишу так что у меня есть куски которые по идее никогда не отработают.
Но если что то случится то в теории их срабатывание возможно :)


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 12:45 
>Я иногда пишу так что у меня есть куски которые по идее никогда не отработают.

Для таких вещей, как openssl не помешало бы и докзательство, но сишники не осилили даже алгебраические и афинные типы


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 13:42 
Доказательство чего?

А в ветки которые никогда не должны по идее выполнятся я могу напихать или abort() или логирование.

С язык не для алгебры.
Если вам нужны какие то там типы - берите и реализовывайте их самостоятельно или ищите готовую либу.
Нет смысла перегружать язык всевозможным мусором.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 14:51 
>Доказательство чего?

Корректности кода
>я могу напихать или abort() или логирование.

Вы случаем не любитель динамической типизации? Ну и что, что упадёт в рантайме?
>Если вам нужны какие то там типы - берите и реализовывайте их самостоятельно или ищите готовую либу.

А софт с типами кто будет писать? Тот же ssh?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 20-Фев-25 00:37 
Для проверки корректности достаточно тестов.

Мне всё равно какая там типизация.

Вы хотели работать с арифметикой, вот и работайте, для этого есть либы на С.
В коде openssh хватит и базовых типов доступных в языке.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 01:12 
>Для проверки корректности достаточно тестов.

Тесты годятся для того, чтобы показать наличие ошибок, но не годятся для доказательства отсутствия этих самых ошибок (цитата)
>Вы хотели работать с арифметикой

Ещё один сишник, увидев выражение алгебраический тип данных, решил, что это что-то с арифметикой связанное, даже не потрудившись посмотреть определние. Вас под копирку штампуют?
Алгебраический тип например
type 'a option =
| None
| Some of 'a
Делаете так, и NPE у вас болеть не будет


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 20-Фев-25 06:08 
> Тесты годятся для того, чтобы показать наличие ошибок, но не годятся для доказательства отсутствия этих самых ошибок (цитата)

Зависит от кода и тестов.

В остальном я не понял какую проблему вы этим решаете.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 10:52 
>Зависит от кода и тестов.

Не зависит. Вы тестами никогда не покроете все возможные варианты. Если вам нужно сложить два байта, то вариантов будет 65536. Вы под каждый вариант будете тест писать?
>В остальном я не понял какую проблему вы этим решаете.

Откройте поисковик и введите туда Null Pointer Exception. Только учтите, что в вашем си NPE нет, там это сразу UB.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 19:43 
>выделяется 256-байтовый буфер для формирования ответа, но данный буфер освобождается только после завершения согласования ключей

Ни какой даже самый безопасный ЯП не спасет от человеческой глупости.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Уууууъъъ , 18-Фев-25 19:48 
> Первая уязвимость (CVE-2025-26465) вызвана логической ошибкой

Книги по логике способны помочь человеку, но многие не хотят тратить время на их чтение и изучение.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:17 
> Книги по логике способны помочь человеку

не способны


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:48 
> Книги по логике способны помочь человеку

Альберту Эйнштейну приписывают следующее высказывание:
"В мире есть всего две бесконечные вещи: Вселенная и человеческая глупость". А потом  добавил: "Впрочем, на счет Вселенной я еще сомневаюсь"


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 23:19 
Сомнительная отсылка к сомнительному авторитету.
СТО опирается на метрику поляка Минковского.
Именно у этого преподавателя учился физике указанный студент в Швейцарии.
А введённое этим студентом убирание знаков сложения и умножения в формулах просто феерично - тупо "лень писать каждый раз".

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 07:43 
Минковский сопоставил СТО с псевдоевклидовой метрикой уже после создания самой СТО.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 09:34 
Типизация в состоянии отследить и логические ошибки тоже. Особенно со всякими зависимыми типами и верифицированным кодом

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 19:53 
> проверяется только код ошибки "-1", а другие коды, такие как
> "-2", игнорируются. В итоге функция verify_host_key_callback()
> может вернуть успешный код "0", несмотря на возврат ошибки "-2"
> функцией verify_host_key().

Это не логическая ошибка.
Это убогость обработки ошибок в сишечке в принципе.

Если бы вместо -1, -2 и других ну совершенно очевидных значений, был бы нормальный enum, а на месте обработки exhaustive switch - то эту ошибку просто НЕВОЗМОЗМОЖНО было бы проигнолить - код бы просто не собрался бы.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:16 
> Это убогость обработки ошибок в сишечке в принципе.

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


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:33 
> вы бы данный случай не переписали бы так, что проблема разрешилась бы.

Вы фикс видели?

- xxx_conn_info) == -1)
+ xxx_conn_info) != 0)

А теперь вопрос, если там будет >0, то что тогда?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:36 
> А теперь вопрос, если там будет >0, то что тогда?

и сишечка вам не даст возможности что-либо сделать?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:43 
> и сишечка вам не даст возможности что-либо сделать?

Наоборот!
Она даст тебе возможность сделать еще одну ошибку.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 02:11 
Можно подробнее, пожалуйста. Что-то не понял.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:47 
> Она даст тебе возможность сделать еще одну ошибку.

Ошибку совершает человек!!!! причем тут сишечка?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:23 
> Ошибку совершает человек!!!! причем тут сишечка?

В отрезанном пальце виновата работник, циркулярка или недоинженер, которых не спроектировал защиту?

Вот тут также. Виноваты все.
Причем работник тоже - он согласился работать на этом убожестве.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:35 
> которых не спроектировал защиту?

не защиту в целом, а защиту от дурака, в этом могу согласиться.

> Причем работник тоже - он согласился работать на этом убожестве.

Тут главное инструкции безопасности. Ну представьте себе нож, который кроме хлеба ничего (физически) больше резать не может, возможен ли такой нож? Легче уж, испечь хлеб в "нарезанном" (порционном) объеме, чем бояться порезать палец при его нарезании опасным ножом. Вопрос широкий, что лучше в с точки зрения безопасности. А если мы ограничиваем гипотетический нож, который режет только хлеб, то мы должны придумать N других ножей на все случаи жизни. Отсюда и проблема типового исчисления, а бестиповому все по :)


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:45 
если программист выбирает тип для данных, где количество допустимых значений равно 2^32, то он обязан описать условие на каждое из значений и не надеяться на, что там кроме 0 и 1
других значений не будет присвоено. Отсюда для облегчения и ввели оператор варианта с дефолтом.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:51 
> если программист выбирает тип для данных, где количество допустимых значений равно 2^32

А других типов данных у него нет.
Можно было бы взять signed char дабы сузить количество вариантов, но принципиально это бы ни на что не повлияло бы.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:22 
> А других типов данных у него нет.

ну тогда нужно использовать enum.

> Можно было бы взять signed char дабы сузить количество вариантов, но принципиально это бы ни на что не повлияло бы.

Принципиальным тут должно быть количество ЗНАЧИМЫХ тогда значений, из 2^8 - 2 значения. Но в новости у "успеха" (успешный результат функции) значение 0, а у "ошибки" значения -1, -2 и т.д. И проверка ведется на истинность "ошибки" (== -1), так кто убог? И поэтому переписали на (!= 0), ИСТИНА - если результат функции НЕ "успешен". И что будет если >0, все тоже - ИСТИНА, так как это не результат "успеха", ибо такая задумка программиста.  


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:30 
> ну тогда нужно использовать enum.

Чем бы тебе помог сишный енам?
Вот пример с незахендренным кейсом godbolt.org/z/1eo7Pjvcr

Ворнинг есть только у шланга. Для гцц нужно выставлять всякие флаги, вроде -Wall
А твоя софтина вообще не факт что соберется с -Wall )))


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:55 
> Чем бы тебе помог сишный енам?

Тем, что я явно описал все допустимые значения, а то что забыл проверить одно из них - проблема сишечки?

А что можно доверить человеку запомнить, со слабой памятью? - Ничего, ну и тут так же.

> Ворнинг есть только у шланга.

Как по мне, ворнинг там совсем не к месту. У меня переменная типа энам всегда однозначна определена. А с каким из значений энама я проверяю переменную, компилятор вообще волновать не должно.

И код там вполне корректный, если следовать логике "если нет совпадений со значением LOW или MEDIUM или HIGH - верни 0".


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 09:39 
>А что можно доверить человеку запомнить, со слабой памятью? - Ничего, ну и тут так же.

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


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 15:28 
> где часть кода написана другими людьми, или самостоятельно, но длительное время назад.

так конкретный кусок кода ответственный за ошибку пишет ведь один человек, не так ли?

> Сразу видно, что Аноним не работал с большими проектами

сразу видно, что не читали басен Крылова. А "багу" в новости считаю бекдором.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 18:16 
>так конкретный кусок кода ответственный за ошибку пишет ведь один человек, не так ли?

И что, он весь проект знает? По вашему он убедт пять лет проект изучать, прежде чем патч на пять строк отправить?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 18:30 
> И что, он весь проект знает? По вашему он убедт пять лет проект изучать, прежде чем патч на пять строк отправить?

оставлю ответ за тем кто "Сразу видно, что РАБОТАЛ с большими проектами", будьте добры, поясните Анониму, как пять строк добавляются к большому проекту.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 10:54 
>будьте добры, поясните Анониму, как пять строк добавляются к большому проекту.

Добавьте пять строк к большому проекту так, чтобы нигде ничего в самом неожиданном месте не сломалось. Перечитайте весь код, от начала и до конца


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 09:26 
>Чем бы тебе помог сишный енам?

Си нужно закопать. А в нормальных языках есть сопоставление с образцом, на что и намекает человек выше. Если вам не нравится раст, возьмите хаскель или окамл, там это тоже есть.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 16:11 
> Си нужно закопать.

нет!


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 10:11 
Опять кто то кому то обязан.

int часто берут и юзают как bool, просто потому что удобно и примерно понятно что оно станет регистром при вызове и потому что уж 2 то значения в себя уместит.

Никто не парится этими вашими типами и прочей чепухой, потому что это ничего не даёт.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 12:47 
>int часто берут и юзают как bool, просто потому что удобно

В си уже появился bool? Когда успел?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Совершенно другой аноним , 19-Фев-25 12:53 
>>int часто берут и юзают как bool, просто потому что удобно
> В си уже появился bool? Когда успел?

с С99.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 13:45 
stdbool.h
Не знаю когда, это не та часть которая меня интересует :)

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено COBA , 18-Фев-25 23:03 
Скорее всего просто сперва написали что может быть только 0 в случае удачного завершения и -1 в случае неудачного. А потом кто-то дописал патч на проверку памяти и решил чтобы отличить такую ситуацию возвращать -2. Ну а проверку возвращаемых значений никто не проверил. Вот и результат.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 23:32 
с точки зрения логики, функция должна возвращать либо успех (истина), либо не успех (ложь), третьего не дано по закону исключенного третьего. Но архитектурно, понятия возвращаемого значения функции нет. Можно было бы сделать дополнительный флаг в регистре флагов, за которым закреплялось бы логическое 1 - успешно, 0 - неуспешно, которое устанавливалось бы до инструкции возврата (ret) и сбрасывалось в 0 при вызове (call).

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 01:04 
А с точки зрения математики, функция y=f(x) — соответствие между двумя множествами, при котором каждому элементу одного множества соответствует элемент другого.

Как-то так. Надеюсь суть возражения понятна.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 02:19 
> Как-то так. Надеюсь суть возражения понятна.

То что вы описали, это область значений функций, и я не отменял их, допустимо и соответствие с пустым множеством значений, что равносильно процедуре, которая не возвращает значение. Ведь архитектурно, о возвращаемом значение ничего не говорится, только принимается по общему согласию (Calling convention). Архитектурно, все функции это процедуры, при call кладут на стек адрес следующей инструкции, делают прыжок по адресу процедуры, и по ret прыгают по адресу лежащему на вершине стека. Я предлагаю архитектурно добавить логический флаг (TF - truth flag) "успешности (истинности) процедуры (функции)" и опкоды типа STS - set TF flag 1, CLT - clear TF flag, JT - jump if TF=1 и т.д. И не вижу никаких проблем.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 10:07 
Архитектурно уже есть варианты. Например с использованием исключениям, когда функция специальным способом сообщает вызываемому коду, что она завершилась с ошибкой.

Ещё возврат «пары», где первый член это, условно, индикатор успешности выполнения функции, а второй — результат функции или что за ошибка.

Ну или просто возврат целого числа, где возврат 0 это норм, а всё остальное — код ошибки. Кто писал на bash'е, тот знает.

В общем, предлагать, что должен быть только какой-то один способ, так себе задумка.

Это соглашение, которое решается на уровне команды, пишущей код проекта или эти… как их… стандарты принятые на уровне организации, по типу сколько пробелов отбивать для вложенности и в каком регистре писать имена переменных.

Ну, а если кто-то нахватал кусков отовсюду и возмущается, что тут так, а там эдак, и, поэтому, у него получается перейти в состояние дзен-кодирования, то ладно, бывает, все когда-то начинали программировать. ;-)


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 10:12 
Коррекция:

«…с использованием исключений, …»
«…не получается перейти в состояние…»


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 11:17 
>каждому элементу одного множества соответствует элемент другого

Двоешник.

Функция y=mod|10|(x)
Значению y=5 соответствует какое значение х = 5, 25 или 55?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 12:03 
А чё не y=x^2 при y=4?

Цитата из одной из энциклопедий, ближе к концу статьи:

«Часто под термином «функция» понимается числовая функция, то есть функция, которая ставит одни числа в соответствие другим. Эти функции удобно представлять в виде графиков.»

Это, то что я имел ввиду про функцию в математике. Ну будет, у тебя «пила» на графике, что не так-то?

Ещё там есть такое, самое первое:

«Фу́нкция в математике — соответствие между элементами двух множеств — правило, по которому каждому элементу первого множества, называемого областью определения, соответствует один и только один элемент второго множества, называемого областью прибытия.»

Выделю «соответствует один и только один элемент». Но я в исходном сообщение это не подразумевал.

Я лишь возразил что, что такое функция, понимается по разному с разных точек зрения, следовательно могут быть и разные требования к их реализации.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 12:14 
Можно конечно ввести госты/стандарты на оформление функций и строго следить за их соблюдением. Но это будет сродни предложению осуществлять крепёж деталей только забиванием. Придёт некто и скажет: «А у меня шурупы/болты/саморезы. !?» «Ничего не знаем, по госту сказано забивать, значит забивайте».

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 15:45 
> Двоешник.

А в чем проблема то?
Утверждение "каждому элементу одного множества соответствует элемент другого" верно с небольшим дополнением.

"""
каждому элементу множества определений функции (Х большое) соответствует элемент другого множества значений функции (Y большое)
"""

X -> Y

и х = 5, 25 или 55 -> y=5

5, 25, 55 принадлежат X, 5 принадлежит Y.

пс: утверждение об одно-однозначном соответствии никто не утверждал!


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 02:53 
> либо успех (истина), либо не успех (ложь), третьего не дано по закону исключенного третьего

Есть ещё отсутствие результата, nil. Но для того, чтобы это понять надо думать не как кодер, а как программист.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 04:38 
> Есть ещё отсутствие результата, nil.

Ну в таком случае мы говорим об логической успешности или не успешности функции?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено COBA , 19-Фев-25 11:18 
В том то и дело что неуспех может быть разный. Может неверные параметры пришли или что-то случилось что требует дополнительной обработки. Вот и пользуются таким способом.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 15:59 
> В том то и дело что неуспех может быть разный.

Да и логика бывает разной, для классической допустим закон исключенного третьего, для конструктивной - нет. Но функции бывают не только "результативные по количеству", но и логические, где результат этой функции это логическая либо истина, либо ложь. К таким функция можно отнести все логические функции, функции выделения ресурсов, функции контроля, проверки доступа и т.д. Архитектурно этого нет, есть тупо процедура call/ret, и все "передаваемые-возвращаемые" параметры реализованы по соглашению.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Буратино , 19-Фев-25 06:10 
"Ничего не будет и это жизнь".
0 является типовым кодом "нет ошибок" в коде на Си.
А все, что не ноль, то ошибка (кроме функций типа read()).

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Совершенно другой аноним , 19-Фев-25 10:26 
> А теперь вопрос, если там будет >0, то что тогда?

Ошибкой будет считаться всё, что не 0.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено sena , 18-Фев-25 20:27 
> Если бы вместо -1, -2 и других ну совершенно очевидных значений, был бы нормальный enum, а на месте обработки exhaustive switch - то эту ошибку просто НЕВОЗМОЗМОЖНО было бы проигнолить - код бы просто не собрался бы.

Да лана, просто проверяешь <0 и всё. Switch же это не обязательная конструкция, так что ошибку можно тоже допустить.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:42 
> Да лана, просто проверяешь <0 и всё.

Та если бы.
Вот фикс github.com/openssh/openssh-portable/commit/0832aac79517611dd4de93ad0a83577994d9c907

Они просто позабывали выставить ошибки
r = SSH_ERR_INVALID_FORMAT;
перед вызовом goto out;

Тут вообще все прекрасно))
И goto, и забытые ошибки, и неинициализированная "int r;", и фикс вида
- xxx_conn_info) == -1)
+ xxx_conn_info) != 0)


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:47 
> Да лана, просто проверяешь <0 и всё.

А потом какая-то "светла голова" например решит, что "0" это тоже нормально для ошибки.
Ну если такое значение не валидно.

> Switch же это не обязательная конструкция, так что ошибку можно тоже допустить.

Да про всё что угодно можно сказать "не обязательная конструкция".
Например про проверки входных данных или размеры массивов)


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено sena , 18-Фев-25 21:01 
> Да про всё что угодно можно сказать "не обязательная конструкция".
> Например про проверки входных данных или размеры массивов)

Если ошибка может быть допущена, то она будет допущена. Закон Мерфи же.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:05 
> Если ошибка может быть допущена, то она будет допущена. Закон Мерфи же.

Отказываемся от светофоров, изоленты и ТБ на производстве))?
Ну типа если человек захочет себе выстрелить в ногу он это сделает?

Или сделаем так, чтобы ошибка "не могла быть допущена" или хотя бы "чтобы допустить ошибку тебе придется попотеть" ?



"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено sena , 18-Фев-25 21:16 
>> Если ошибка может быть допущена, то она будет допущена. Закон Мерфи же.
> Отказываемся от светофоров, изоленты и ТБ на производстве))?

Нет, просто отказываемся от преувеличений и абсолютизации. Если придерживаться ТБ, то аварии не станут  НЕВОЗМОЖНЫ[1], они просто будут реже происходить.

1. https://www.opennet.me/openforum/vsluhforumID3/136057.html#8



"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:24 
> Нет, просто отказываемся от преувеличений и абсолютизации. Если придерживаться ТБ, то аварии не станут  НЕВОЗМОЖНЫ[1], они просто будут реже происходить.
> 1. https://www.opennet.me/openforum/vsluhforumID3/136057.html#8

Думаю это уже лучше чем полагаться на авось)
Т.е если вернуться к теме обсуждения - то:
1. сделать вместо убогих интов, нормальную ошибку (енум, структура и тд).
2. посадить компилятор бить пограммистов по корявкам за написание плохого кода (ну или просто кибербуллить в интернете)



"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:58 
> посадить компилятор бить пограммистов по корявкам за написание плохого кода

нет, нет и трижды нет, пусть компилятор занимается лучше оптимальной кодогенерацией.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 22:40 
> нет, нет и трижды нет, пусть компилятор занимается лучше оптимальной кодогенерацией.

В итоге, ошибки на Си - самые оптимизированные. Так и живем.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 23:16 
> Так и живем.

Если бы компилятор бил бы всегда по рукам за логические ошибки, то это был бы не компилятор, а целый верификатор (прувер корректности), и программы ваши были бы не просто программами, а - формальными спецификациями. И я бы посмотрел бы сколько усилий надо было бы приложить, чтобы компилятор "не ругался" :) И такие "компиляторы" (верификаторы) есть, а че на них никто не пишет? Выходит, нам не компилятор, который бьет по рукам, нужен, а "компилятор", который за нас корректно составит программу.

пс: Вы, и за меня их есть будете? - Ага :))


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено sena , 19-Фев-25 00:46 
>> Нет, просто отказываемся от преувеличений и абсолютизации. Если придерживаться ТБ, то аварии не станут  НЕВОЗМОЖНЫ[1], они просто будут реже происходить.
>> 1. https://www.opennet.me/openforum/vsluhforumID3/136057.html#8
> Думаю это уже лучше чем полагаться на авось)
> Т.е если вернуться к теме обсуждения - то:
> 1. сделать вместо убогих интов, нормальную ошибку (енум, структура и тд).
> 2. посадить компилятор бить пограммистов по корявкам за написание плохого кода (ну
> или просто кибербуллить в интернете)

Программисты всё равно найдут способ совершить ошибку, а сильно умный компилятор создаст кучу проблем в куче случаев, когда ошибки нет.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 01:25 
> Программисты всё равно найдут способ совершить ошибку,

Бездоказательное утверждение.
А вот примеры с ПДД, ПУЭ, ТД, СНиП и прочими регулированиями - говорят обратное.
Можно даже МИСРА вспомнить - а там правила весьма жесткие.
Но это для серьезного софта, зачем либе для шифрования надежность.

> а сильно умный компилятор создаст кучу проблем в куче случаев, когда ошибки нет.

Для этого случая можно придумать какое-то ключевое слово "что хочу то и ворочу" отключающее проверки.
Тут же главное чтобы всреднеми ситуация улучшилась - как с дорожным движением, понятно что найдутся удаки которые будут 150 по встречке ехать, но таких будет меньшинство.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено sena , 19-Фев-25 15:35 
> А вот примеры с ПДД, ПУЭ, ТД, СНиП и прочими регулированиями -
> говорят обратное.

Как раз наоборот, примеры говорят о том, что аварии никуда не делись, люди гибнут тысячами не смотря на ПДД, ПУЭ, ТД, СНиП. Избавиться от аварий полностью слишком дорого и непрактично. В реальной жизни мы миримся с тем что какая-то часть людей погибнет или станут калеками. Это нормально, потому что мы не хотим слишком дорогой или неудобный транспорт. То что стоит недорого, не слишком снижает комфорт и снижает смертность внедряется. Но есть бюджет, за который ты не вылазим.

> Тут же главное чтобы всреднеми ситуация улучшилась - как с дорожным движением,
> понятно что найдутся удаки которые будут 150 по встречке ехать, но
> таких будет меньшинство.

Это хорошо, с этим никто не спорит. Но только если это будет удобно, комфортно, недорого и не будет тормозить.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 12:50 
>Программисты всё равно найдут способ совершить ошибку

Ошибки, если это не бекдоры, никто не ищет как совершить. На проводах изоляция не потому, что резину некуда деть, а для того, чтобы можно было касаться провода в произвольном месте.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено sena , 19-Фев-25 15:42 
>>Программисты всё равно найдут способ совершить ошибку
> Ошибки, если это не бекдоры, никто не ищет как совершить. На проводах
> изоляция не потому, что резину некуда деть, а для того, чтобы
> можно было касаться провода в произвольном месте.

Тем не менее тыщи людей регулярно гибнут от поражения током.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 16:20 
> Тем не менее тыщи людей регулярно гибнут от поражения током.

мы даже можем сказать, что они прочли правила техники безопасности, мы же не можем просто взять и положить кому-то в голову какие-то знания. Одни после прочтения сами кладут эти знания в голову, а другим необходим "удар током" - условный рефлекс.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 10:57 
>Тем не менее тыщи людей регулярно гибнут от поражения током.

И? От изоляции проводов уже отказались?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено sena , 20-Фев-25 12:51 
>>Тем не менее тыщи людей регулярно гибнут от поражения током.
> И? От изоляции проводов уже отказались?

Нет, применяют там где это уместно и удобно. Но даже там где применяют люди находят способ обойти защиту и погибнуть.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 04:22 
>сделать вместо убогих интов, нормальную ошибку (енум, структура и тд).

Это в виндовс стиле будет получается. Так точно можно в опенсурс проэктах?


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 04:41 
> Это в виндовс стиле будет получается.

эт шо за стиль такой? где этому учат? :)


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено diakin , 19-Фев-25 01:54 
А что не так с фиксом?

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:30 
> Если бы вместо -1, -2 и других ну совершенно очевидных значений, был бы нормальный enum, а на месте обработки exhaustive switch

Ща, ещё 20 лет подождём, когда можно будет хотя бы посчитать нормально количество констант в енуме, или хотя-бы built-in тип в gcc для таких действий, и возможно к тому времени уже и jai релизнется.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 00:24 
Анониму слишком сложно работать с цифрами. Работать с цифрами - это всё равно что читать книжку без картинок.
Поэтому сишечка убогая.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 10:09 
Да не нужен никому ваш енум, успокойтесь уже.
Меня вот например интересует ситуация когда там -3 только возвращается откуда то, на болту я вертел писать все 100500 енум значений в свитч.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 12:52 
>Меня вот например интересует ситуация когда там -3 только возвращается откуда то, на болту я вертел писать все 100500 енум значений в свитч.

Явное лучше неявного.
match var_name with
| Some3 -> do_code ()
| _ -> ()


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 13:46 
Какие то каракули.

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 14:58 
Сразу видно сишного кодера - он только си читать умеет. Вот знай вы ещё один язык - сразу сишным кодером перестанете быть

"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 20-Фев-25 04:09 
Да вот только вы написали этими каракулями аналог:
if (-3 == some_var) {
  do_code();
}

чем вы там в своих каракулях гордитесь - мне решительно не понятно: много буков и чёрточек со стрелочками вместо простой и понятной записи.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 11:17 
>Да вот только вы написали этими каракулями аналог:

Нет, не аналог. Есть условный код на ocaml
type some_result =
  | Success
  | Err1
  | Err2
Далее, когда программист пишет код, он думает, является ли эта ситуация исключительной или нет. Если он пишет обработку ошибок, то он пишет
let func1 () =
  match func0 () with
  | Success -> do_success ()
  | Err1 -> do_err1 ()
  | Err2 -> do_err2 ()
А если ему нужно обработать только Err2, то он пишет как в примере выше
let func2 () =
  match func0 () with
  | Err2 -> err2_only ()
  | _ -> ()
Далее, кто-то вводит новый тип Err3, и компилятор сразу проверяет, где этот тип обрабатывается, а где - нет. И скажет: вот в примере func1 вариант Err3 обработать забыли. Если же в си добавят новый тип ошибки, то нужно перелопатить весь код вручную
>чем вы там в своих каракулях гордитесь - мне решительно не понятно

Явное лучше неявного. Вот авторы openssh не обработали -2 - это баг или фича? В языках с алгебраическими типами данных есть правило хорошего тона, когда используется исчерпывающее перечисление.
>много буков и чёрточек со стрелочками вместо простой и понятной записи

Вместо того, чтобы говорить о семантике кода, вы говорите о синтаксисе. Не надо так.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Ivan_83 , 21-Фев-25 06:07 
Никто не упарывается писать как в func1.

> Вместо того, чтобы говорить о семантике кода, вы говорите о синтаксисе. Не надо так.

Уже говорил: мне важен результат, а не фричество с языком.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 21-Фев-25 11:17 
>Никто не упарывается писать как в func1.

Совершенно верно сишники/плюсовики/гошники так не пишут. А сторонники rust/haskell/ocaml - пишут. За это я и не люблю код на си.


"Обновление OpenSSH 9.9p1 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 11:17 
Запомни раз и навсегда, может быть перестанешь быть убогим, switch - это прошлый век.
В switch'е иногда требуется сделать fallthrough. А когда ты это сделал, последователи могут этого не заметить и своими кривыми руками сломать весь switch. Такие онанимы-доброжелатели лесом.

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 20:45 
Эх, помню те времена dial-up'а, когда ставил на чердаке сниффер на соседские телефонные линии, слушал их и мониторил трафик 😊

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Мохнонос , 18-Фев-25 21:02 
А я в эфире при помощи тюнера AverMedia пейджинговые сообщения читал, когда в общаге жил в начале нулевых - весёлое времечко было!

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 22:03 
> А я в эфире при помощи тюнера AverMedia пейджинговые сообщения читал,
> когда в общаге жил в начале нулевых - весёлое времечко было!

О сколько нам открытий чудных готовит... rlt_sdr и режим монитора вафли!


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 23:06 
> режим монитора вафли

Т.е. ты изобрёл клиентскую точку доступа? Поздравляю.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 19:38 
> Т.е. ты изобрёл клиентскую точку доступа? Поздравляю.

Я не изобретал режим монитора. И он таки - про то чтобы посмотреть "а что вокруг?". И, возможно, найти что-то интересное.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 07:48 
rlt_sdr наш друг

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 23:09 
> весёлое времечко было

Да, много чего можно было делать вообще не непрягаясь. Потому что все данные гнались без шифрования. Как по воздуху, так и по проводам.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:51 
>В базовой поставке OpenSSH данная опция по умолчанию отключена, но до марта 2023 года была включена в настройках ssh во FreeBSD.

Очень типичная для FreeBSD ситуация, насколько мне известно: https://vez.mrsk.me/freebsd-defaults#openssh


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 10:05 
Интересное чтиво с попыткой в анализ :)

Но совет переходить на libressl увы плохой.
Я сидел на libressl более трёх лет, и это вызывало постоянные проблемы: приходилось самому поддерживать ряд портов. Те конфигурацию когда порт собирается с не дофолтным опенссл вообще никто не тестирует, кроме пользователей этого самого.
У меня это отлимало довольно заметно времени и с января 2024 я ушёл на дефолтный опенссл ибо не нанимался, что называется, бесплатно это суппортить.


machdep.hyperthreading_allowed="0" - тоже скорее вредный совет.

Ну и далее там тоже много спорного.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 18-Фев-25 21:56 
> до марта 2023 года была включена в настройках
> ssh во FreeBSD.

Главные безопасТнички опеннета таки - получили свое.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено ИмяХ , 19-Фев-25 06:44 
>> проявляется начиная с выпуска OpenSSH 6.8p1 (декабрь 2014 г.)

Как же хорошо бэкдор замаскировали, что он успешно проработал 10 лет!


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено bdrbt , 19-Фев-25 06:54 
Хм, явный косяк с обработкой ошибок, но все почему-то заагрились на сишку. А что, в других языках уже нет способа забить болт на обработку ошибок?
У этой правки есть имя и фамилия, это он "ненужен", а не Сишка.

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 09:31 
>Хм, явный косяк с обработкой ошибок, но все почему-то заагрились на сишку.

Сишке уже полстолетия, а сишники до сих пор ничего не знают ни про алгебраические типы данных, ни про сопоставления с образцом, ни про что-то другое. Как и ожидалось от сишников.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено anonymous , 20-Фев-25 00:59 
Потому что это все чушь собачья.

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 01:14 
Показывайте свой код, проведём рецензию. Надеюсь вы настоящий сишник и у вас есть кривой xml парсер?

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 09:58 
У нормального админа и так все что тут упоминалось в конфигах покручено, ибо это мастхэв по сути.
А кто там на святых дефолтах живёт - ССЗБ.

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 12:54 
>У нормального админа

Нанимать профессионального админа для локалхоста?


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Ivan_83 , 19-Фев-25 13:38 
На локалхосте вы можете и не запускать ссш сервер или забить на возможные проблемы.
А как пользователь консольного ssh могли бы и почитать конфиг.

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 14:55 
>На локалхосте вы можете и не запускать ссш сервер

Универсальный ответ растоненавистников. Перила делать не нужно, ведь можно же не ходить на второй этаж! Всем жить в одноэтажных домах. Гениальная мудрость дидов.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 19:46 
> Универсальный ответ растоненавистников. Перила делать не нужно, ведь можно же не ходить
> на второй этаж! Всем жить в одноэтажных домах. Гениальная мудрость дидов.

Вас ненавидят в основном за то что вы при отсутствии своих достижений - пыжитесь даунплеить других. Вам freehck все правильно сказал - вы сами виноваты в таком восприятии хруста и хрустиков. Выглядит как куча агрессивных ламеров. И конечно куча ламерюк с серебреной пулей сделает безопасно, аж два раза.



"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 01:16 
>Вас ненавидят в основном за то что вы при отсутствии своих достижений

А откдуа вы знаете, кто я? Я между прочим против rust, поскольку в нём нет зависимых типов, а это важно для системного программирования. А так, я за Ocaml.
>вы сами виноваты в таком восприятии хруста и хрустиков

Растовики - приятная компания, чтобы троллить сишников, они такие забавные. Кстати, у вас есть кривая реализация xml парсера, или вы ненастоящий сишник?


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Ivan_83 , 20-Фев-25 00:41 
Вы не хотите неприятностей, при этом не хотите сами разбиратся и не хотите платить админу вашего локалхоста, в таком случае вам остаётся либо не использовать софт либо не включать компьютер либо *роскомнадзор*, я преложил самый мягкий вариант.

На что вы рассчитываете?
Что в бесплатном софте (а хоть бы и в платном) за вам всё задарма сделают по высшему классу?


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Beta Version , 19-Фев-25 13:17 
У меня банальный вопрос. Вот у меня на домашнем ПК стоит Дебиан. Я обновляю этот openssh-client с 1:9.9p1-1 до 1:9.9p2-1. Я должен перезагрузить ПК (или сеанс), чтобы изменения вступили в силу?

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 18:18 
Проще всего перезагрузить

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 19:44 
> У меня банальный вопрос. Вот у меня на домашнем ПК стоит Дебиан.
> Я обновляю этот openssh-client с 1:9.9p1-1 до 1:9.9p2-1. Я должен перезагрузить
> ПК (или сеанс), чтобы изменения вступили в силу?

Если вы чайник - то перезагрузите. Если не чайник - просто рестартаните сервис.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено 1 , 20-Фев-25 04:18 
у него клиент, какой сервис то надо перезапустить? openssh-server не запущен же.
ну только если у него активная сессия (соединение) с каким то сервером по ssh, то надо завершить соединение и подключиться заново.

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 11:18 
>у него клиент, какой сервис то надо перезапустить?

Откуда вы знаете? Может у него autossh в виде демона висит.


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 19-Фев-25 19:43 
Те кто хейтят Си, просто не понимают, что язык выполняет ровно то, что написано. Глупо хейтить язык по причине глупости программистов. И люди умнее не станут, от очередной серебряной пули. Дойдет до того, что нейросеть будет писать код, а как оно там все работает никто знать и не будет.

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 16:48 
>Те кто хейтят Си, просто не понимают

Си плох тем, что компилирует любой г-код. Хороший компилятор не будет компилировать г-код, он выдаст ошибку


"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 20-Фев-25 17:07 
Хороший программист включает ворнинги, и главное читает их. Шланг, например, предупреждает про use_after_free

"Обновление OpenSSH 9.9p2 с устранением возможности совершени..."
Отправлено Аноним , 21-Фев-25 11:19 
>Шланг, например, предупреждает про use_after_free

В самых тривиальных случаях. В реальном коде он это не обнаружит