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

Исходное сообщение
"Переполнение буфера в Toxcore, эксплуатируемое через отправку UDP-пакета"

Отправлено opennews , 15-Дек-21 23:14 
В  Toxcore, эталонной реализации P2P-протокола обмена сообщениями Tox, выявлена уязвимость (CVE-2021-44847), которая потенциально позволяет инициировать выполнение кода при обработке специально оформленного UDP-пакета.  Уязвимости подвержены все пользователи приложений на базе Toxcore, в которых не отключён транспорт  UDP. Для атаки достаточно отправить UDP-пакет, зная IP-адрес, сетевой порт и открытый DHT-ключ жертвы (данные сведения доступны публично в DHT, т.е. атака могла быть совершена на любого пользователя или узел  DHT)...

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


Содержание

Сообщения в этом обсуждении
"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Анонн , 15-Дек-21 23:14 
Юху, еще один буфер переполнился!
Но эти еще и дефайнами пользоваться не умеют...

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:30 
Нормальные люди дефайнами вместо енамов никогда не пользуются.

Если в проекте написано

#define ABCDF_A 1
#define ABCDF_B 2

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:31 
Нормальные люди сишкой никогда не пользуются.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:33 
Я и говорю. Нет причин не использовать C++ и Rust вместо сишки.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 23:55 
+1 и при использовании C++ если производительность не критична нужно использовать умные smart pointer.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 19:49 
> умные smart pointer

В этом ITT треде...


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 09:47 
> Я и говорю. Нет причин не использовать C++ и Rust вместо сишки.

Крутые програмисты форумных коментов, где же ваши комиты? Там рядом и на расте версия есть, только желающих ее на этом прогать почему-то мизер. Как и софт вокруг.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:21 
хоть один язык, который стоит ближе к машинному коду кроме [macro]ассемблера, форта ???

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Crazy Alex , 16-Дек-21 03:05 
Те же плюсы, являясь фактически надмнодеством Си - никак не дальше, что прекрасно видно в эмбеде последние несколько лет, где с Си на них массово бегут. Но при этом позволёют запросто защититься от подобной чепухи.

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 14:13 
На С++ бегут неосиляторы процедурных алгоритмов. Чистая Сишка божественна, Rust и С++ отстой.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено ИмяХ , 16-Дек-21 14:22 
На Сишку перебегают неосиляторы ассемблера. А на ассемблер бегут неосиляторы машинного кода.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 23:31 
> На Сишку перебегают неосиляторы ассемблера.

за..вает знаете ли . ниасиляторы, простите нас


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 09:49 
> На Сишку перебегают неосиляторы ассемблера. А на ассемблер бегут неосиляторы машинного кода.

Даже колибридос в конце концов - задолбался, и столкнувшись с идеей перепсать i386 на x64 с ноля что-то приуныли. Уже и какой-то эрзац си сделали.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 12:31 
> Те же плюсы, являясь фактически надмнодеством Си - никак не дальше, что
> прекрасно видно в эмбеде последние несколько лет, где с Си на
> них массово бегут. Но при этом позволёют запросто защититься от подобной чепухи.

Тойоту себе купи, не апдейченую. Сможешь на себе ощутить все прелести такого эмбеда.

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

Плюсы видите ли не интероперабельны со всем остальным.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено verholom , 16-Дек-21 00:59 
вот мы и до́жЫли

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено lombock , 16-Дек-21 10:17 
нормальные это кто? и чем они пользуются?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено anonymous , 17-Дек-21 11:12 
Вы в /use/include давно заглядывали?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 07:48 
> Нормальные люди дефайнами вместо енамов никогда не пользуются.

Не все так просто. У тех и других свои особенности. Но фокус не в том, а в том что в макросах параметры надо в скобки помещать. Эти умники узнали про это сложным способом. Впрочем, узнал всего лишь asan, поймавший баг, так что это не атака и вообще неизвестно можно ли код выполнить.

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:36 
> Юху, еще один буфер переполнился!

А я смотрю у растоманов совсем проблема с памятью. И даже раст не спасает. Действительно таки течёт.

Пол года не прошло с шумихи про сегфолт при неправильной работе с памятью в RUST!

А у меня распечатка до сих пор висит на стене позора.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:37 
А, ну да. Это другое. Как я мог забыть?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:42 
>> Юху, еще один буфер переполнился!
> А я смотрю у растоманов совсем проблема с памятью. И даже раст не спасает. Действительно таки течёт.
> Пол года не прошло с шумихи про сегфолт при неправильной работе с
> памятью в RUST!
> А у меня распечатка до сих пор висит на стене позора.

Еще один Воен вышел на эпическую Битву против полчищ злобных (и почти совсем не воображаемых) Растоманов! Держись и не сдавайся! Мы верим в тебя!
Ура славному Воену! Ура!
-
Великий гнев Анонима охватил,
И пыл его с каждым выбросом метана разрастался,
Он за поруганную участь Сишки мстил,
И против полчищ в̶о̶о̶б̶р̶а̶ж̶а̶е̶м̶ы̶х̶ Злобных Растоманов сра(ж̶а̶)лся!

Мощнейший вспук, газ на расправу скор,
Но Растаманы отбивают нападенье!
Он, аноним — защитник Сишных Лор,
А Злобный Растоман — хранит Смузийское Ученье!

Так Сишко-Воен с Растоманом в̶о̶о̶б̶р̶а̶ж̶а̶е̶м̶ы̶м в бою сошлись,
И бьются в тучах кала, ввысь летящих!
Сверкает голый Анонима зад, красен,
Пукан мощён и раскалён.
И участь неизбежная грозит
Немедля увидать владыку ада,
Тому, кто мощный пук не отразит
Надев противогаз не так, как надо!

Но веру Анонимный Воен в свой пукан имел
И полагал, что Растоманский Враг ему не равен,
И трудно разобраться - кому его пукан Песнь Смертную пропел,
А кто в смертельной схватке был лишь тяжело отравлен!


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:15 
Мусорные комментарии про дырени и переписывание через 3... 2...

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено kusb , 15-Дек-21 23:23 
Сишные. Дырени.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:45 
Где? ни одной нет. В отличии от rust.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:21 
Прямо как в венде. Лишнее подтверждение, что хипстерские мессенджеры зло.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:32 
Не, в венде вообще мрак.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Тандыр питца , 16-Дек-21 14:53 
> Не, в венде вообще мрак.

Венде не нужна
У меня в телефоне стоит Ватсап
Отличный программа для хороший голова



"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Michael Shigorin , 16-Дек-21 18:17 
> У меня в телефоне стоит Ватсап
> Отличный программа для хороший голова

Для тех, кому есть дело до "за лужей": whatsapp == facebook -> nsa.

Для тех, кому есть дело до "здеся": и его тоже уполномоченные органы читают при необходимости.

Выкидывайте эту каку ;-)


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено keydon , 16-Дек-21 07:39 
Какой посоветуешь децентрализованный мессенджер с аудио и видео? Трепаться то каждый может.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено qq , 16-Дек-21 07:45 
retroshare

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 09:45 
RetroShare хотят переименовать в ПамятьТечетТакЧтоНиагарскийВодопадСосетВСторонке

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено мимокрокодил2 , 16-Дек-21 11:58 
Пару лет уже как пофикшены основные утечки, ты отстал от жизни.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 08:11 
> Какой посоветуешь децентрализованный мессенджер с аудио и видео?

Jami.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено keydon , 16-Дек-21 19:21 
>> Какой посоветуешь децентрализованный мессенджер с аудио и видео?
> Jami.

Пробовал, ещё когда он был ring, работал хуже riot'а, но лучше tox'а. Посмотрю, мб что поменялось.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено BorichL , 16-Дек-21 14:41 
mutt.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено keydon , 16-Дек-21 19:18 
Следом за rtorrent'ом?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 07:50 
С почтой которую чиитают вообще все, а половина еще и заблокировать норовит?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено anonymous , 17-Дек-21 11:16 
Matrix. Хоть он и федеративный (лучше, чем централизованное, но всё же не p2p)

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено keydon , 17-Дек-21 12:24 
Федеративный меня бы устроило.
Из всего что я тестировал (tox, ring (потом и jami)) он был лучший (как миниум пару лет назад), но все равно в нем было много проблем:
сообщения иногда не доходили до собеседника
для видео использует jitsy соответственно никакой фильтрации шумов и эха, фактически на смартфоне разговаривать невозможно без наушников у обоих сторон
официальное приложение на андройде было сырое и чтобы оно работало нужно было сделать неочевидные вещи (точно не помню)
в официальном сервере подключить свой STUN-TURN сервер не удалось, банально не работал, без этого шел на забугорные сервера с соответствующим качеством связи
неофициальные клиенты на андройде были еще более сырые (кажется в видео они в принципе не могли)
Так что он скорее не работал чем работал и перетащить собеседников в него не вышло
С murmur (централизованный, но selfhosted) все было гораздо проще, но тоже нет подавления эха в клиенте под андройд

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 07:51 
Проблема федераций в том что потом приходит какой-нибудь гугл и выносит половину контактлиста отключив свой сервер от федерации.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Брат Анон , 16-Дек-21 10:00 
Рекомендую тебе неуловимого Джо.
формула старше, чем этот косячный мир бай дизайн: хочешь сделать хорошо -- сделай сам.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено keydon , 16-Дек-21 19:26 
> Рекомендую тебе неуловимого Джо.
> формула старше, чем этот косячный мир бай дизайн: хочешь сделать хорошо --
> сделай сам.

Тоже к этому пришёл. Останавливает необходимость собеседников в андройд клиенте, а я клепать на него категорически не собираюсь.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Брат Анон , 17-Дек-21 11:34 
> Тоже к этому пришёл. Останавливает необходимость собеседников в андройд клиенте, а я
> клепать на него категорически не собираюсь.

Зачем тебе андроид? В браузере слепить чат не судьба?


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 07:53 
Его роскомнадзор забанит через 15 минут. И будет он иноагентом.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Брат Анон , 23-Дек-21 09:45 
> Его роскомнадзор забанит через 15 минут. И будет он иноагентом.

А если приложение будет в магазине -- его забанит роскомнадзор и будет он инагентом. Разница в 20 баксах.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 09:53 
Получив 20 баксов от американской корпорации он в этом списке застрянет на три поколения.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Брат Анон , 24-Дек-21 09:13 
> Получив 20 баксов от американской корпорации он в этом списке застрянет на
> три поколения.

Ты плохо думаешь о Роскомнадзоре. Руководитель этой организации получает пяток лямов. Ему на твои 20 баксов с прибором по углу и по азимуту. Более того, заблокировать очень выгодно: ты конкретно 20 баксами не обойдёшься. Ты занесёшь гораздо больше. И это понимают сотрудники и Роскомнадзора, и все
те, кому надо.

Блокировка -- это абсолютно рыночный метод регулирования на ровном месте, когда у регулятора есть желание поднять бабла, но нет ничего кроме репрессивного аппарата, который никто не может остановить.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 02-Янв-22 10:18 
Я думаю что роскомнадзору лично я могу занести только дырку от бублика. Я не ориентируюсь на российские рынки, у меня нет доменов и серверов в рф, так что мне абсолютно класть что они там будут делать.

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 10:51 
>хипстерские мессенджеры зло

Где же там хипстеры в этом протоколе? Хипстеры, они в Телеге.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:22 
В очередной раз неуправляемые языки показали все свои недостатки

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:32 
О, знаю я такие управляемые языки. NodeJS и npn. Python и pip. Не волнуйся, Rust и карго ждёт то-же самое. А может и нет, всё равно ничего на rust нету. Одно блаблабла

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 02:58 
Растаманы уже заваливали FF, тупо перепутав больше-меньше при ручной валидации индекса массива.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено anonymous , 17-Дек-21 11:21 
Нашли что с чем сравнивать. Python и NodeJS наоборот давили на не строгость, динамичность, мягкость и высокий уровень абстрагирования. Rust же -- самый строгий язык, из всех, что я знаю на практике. Он давит лишь на валилируемость кода.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 07:57 
О строгости раста можно прочитать прямо в их документации на unsafe. Там весьма занимательное чтиво, а без unsafe далеко не уедешь. Впрочем для ценителей - есть и вариант этого на растишке. Он урезаный в возможностях и вечно отстает, потому что прогать на этих закорючках - не на форуме трындеть, так что им мало что пользуется. Но если надо - есть. Есть даже на хаскеле, но это для самых стойких.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:34 
Об особенностях макросов написано в первом параграфе документации про макросы, если люди не читают документацию они и по управляемым языкам не будут читать и будут делать ошибки как в соседней теме про выполнение кода из java логов.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:40 
Ты что? какая документация? не надо никакие параграфы читать, там многа страшных букаф. Может переполнение случится. Надо просто писать на rust, а там можно ничего не читать. Именно поэтому у нас до сих пор ничего не работает. Но нам и не надо. Главное кричать мантру про rust и терпеливо ждать. А ведь всем известно, кто верит и ждёт - всегда дождётся. Вопрос чего....

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Ordu , 16-Дек-21 01:54 
Я считаю, что здесь проявилась не столько проблема неуправляемости, сколько проблема невменяемости того, что сишники называют макросами.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 04:34 
Справедливости ради - макросы в таком виде (текстовая замена в препроцессоре) идут с (макро)ассемблера.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Sw00p aka Jerom , 16-Дек-21 11:26 
тут проблема даже не с макросами, а в банальной арифметике

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено anonymous , 17-Дек-21 11:26 
Внезапно, человек иногда допускает ошибки. Нет ни одного человека, который не допускал бы ошибки (даже арифметические). Поэтому важно перепроверить за человеком всё ли обладает самосогласованностью (очень желательно ДО запуска приложения).

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Sw00p aka Jerom , 17-Дек-21 16:03 
> Внезапно, человек иногда допускает ошибки. Нет ни одного человека, который не допускал
> бы ошибки (даже арифметические). Поэтому важно перепроверить за человеком всё ли
> обладает самосогласованностью (очень желательно ДО запуска приложения).

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



"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 08:05 
> тут проблема даже не с макросами, а в банальной арифметике

У них именно глупая ошибка в макросах, параметры скобками советуют выделять вот именно поэтому: исправление свелось к скобкам в макро. Логика была бы правильной, если бы не приоритет операций.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 13:13 
> Справедливости ради - макросы в таком виде (текстовая замена в препроцессоре) идут с (макро)ассемблера.

В котором с ними гораздо меньше "неявных" проблем из-за гораздо более простого языкового формата вида "мнемоник-оператор (операнд)*".



"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 08:26 
Програмить на макроассемблере желающих так то тоже сильно меньше.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено анонн , 23-Дек-21 14:38 
>> <(исторически) хорошее решение для намного более простого языка - может, внезапно, оказаться граблегенератором для более сложных>  
> Програмить на макроассемблере желающих так то тоже сильно меньше.

А в огороде бузина?


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 08:07 
Сам топи урановые ломы в ртути!

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Анонн , 15-Дек-21 23:23 
Даже немного смешно, что проект в таким пафосным описанием "...aimed at making security and privacy..." была допущена настолько банальная ошибка. И прожила она в нем с 5 июня 2017 (0.1.9) до 7 декабря 2021 (0.2.12). Еще чуть-чуть и пошла бы в первый класс.
А результат - удаленное выполнение кода как результат. Просто прелестно.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 16-Дек-21 02:57 
Да, жесть полная.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено penetrator , 16-Дек-21 03:13 
RCE не подтверждено, оно допускается, но не доказано.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Fracta1L , 16-Дек-21 07:39 
Ибо нечего связываться с дырявой сишкой, когда делаешь что-то секурное

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено lombock , 16-Дек-21 10:33 
..., а нужно связываться с?...

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено 0xd34df00d , 17-Дек-21 05:14 
С идрисом или с агдой.

С хаскелем в светлом будущем с -XDependent тоже можно.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 08:57 
А там есть и хаскел и раст. Только они как неуловимый джо, их все рекламировать горазды, но прогармит на этом все-таки пусть кто-нибудь другой :)

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено 0xd34df00d , 23-Дек-21 10:33 
Я на одном из них програмлю. Зачем кто-то другой, когда самому приятно?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 12:06 
> Я на одном из них програмлю. Зачем кто-то другой, когда самому приятно?

Ну так у вон тех оно есть. Можешь поупражняться, вдруг зайдет?

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено _kp , 16-Дек-21 11:26 
В каком конкретно месте дыры в Си?
Дыры у программиста и в чужих библиотеках.

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

Тут как с оружием, умеешь обращаться - молодец, а нет, то на вот тебе водяной пистолетик, что б не убился.
Для войны не годен водяной пистолет, даже против противника с водяными пистолетами.
Для тира в парке не безопасно боевое оружие. (Хотя раньше такие тиры были!)


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 16-Дек-21 13:39 
С оружием такое дело, есть много людей которые не застрелили себя на смерть, много таких что максимум прострелили себе ногу, и ещё больше таких которые вообще не калечились оружием никак.
В отличии от сишечки, на которой вы не найдёте ни одной популярной программы/библиотеки без 0дней дырени в истории.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Michael Shigorin , 16-Дек-21 18:19 
(спокойно так) А если найду?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 17-Дек-21 00:18 
> (спокойно так) А если найду?

Я конечно писал гиперболой.

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Ordu , 17-Дек-21 07:41 
Я присоединяюсь к просьбе выше: найди. Было бы интересно посмотреть. Ну или хотя бы знать, что такой код на C существует.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено anonymous , 17-Дек-21 11:30 
Всегда можно какую-нибудь маленькую примитивную программу (вроде cat-а) привести в пример. Вряд ли будет интересный ответ :)

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 15:51 
Можно, но это чистой воды чит будет, а не серьезный ответ. Причём, это будет понимать даже шигорен.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Ordu , 19-Дек-21 01:26 
А в cat не было багов?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 10:00 
> А в cat не было багов?

У него и опций уже с десяток. А баги не только сишники делают, log4j подтвердит. И CVE на растовый софт, а они что, особые? Если писать софт то и CVE будут.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Ordu , 23-Дек-21 10:38 
>> А в cat не было багов?
> У него и опций уже с десяток. А баги не только сишники
> делают

Дык ты можешь привести пример сишной "популярной программы/библиотеки без 0дней дырени в истории" или нет?

> log4j подтвердит.

О, они чуть-ли не тьюринг-полный рантайм шаблонизатор запилили с сознательно заложенной возможностью запуска произвольного кода. Они бы ещё rm -rf /* сделали бы. Это настолько за пределами разумного, что это почти уже не баг, а злоумышленный бекдор.

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

> И CVE на растовый софт, а они что, особые?

Да. Пойти и посчитай количество проблем с памятью у растового софта. Или чуть шире: количество багов, которые при эксплуатации могут дать что-то, кроме DoS, вызванного падением процесса в полуконтролируемом формате.

Если ты возьмёшь две рандомизированные выборки CVE -- одну C'шную, а другую Rust'овую, то даже если оттуда кто-нибудь эти выбранные описания багов "анонимизирует", то есть перепишет так, чтобы суть бага осталась бы, а всё, что позволяет идентифицировать язык было бы удалено, то ты всё равно сможешь сказать, какая из этих выборок сишная, а какая растовая.

Ты даже можешь попросить эти выборки "анонимизировать" ещё сильнее, оставить лишь потенциал для эксплуатации даваемый багом -- DoS, DDoS, OOM, arbitrary code execution, -- и по этой очень обрывочной информации сказать какая выборка была создана на основании растовых CVE, а какая -- на основании сишных.

То есть -- да, CVE на растовый софт особые.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 12:18 
> Дык ты можешь привести пример сишной "популярной программы/библиотеки без 0дней дырени
> в истории" или нет?

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

> Они бы ещё rm -rf /* сделали бы.

Это за них сделали в bumblebee. На баше, вроде, чем он так уж хуже? На нем же и RCE под рутом через DHCP сервер влепили. Тоже почти как бэкдор, хотя реально пихание непровереных данных куда попало без понимания последствий. А специальные значения - это так удобно. Пока их не начинает присылать сеть.

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

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

> Да. Пойти и посчитай количество проблем с памятью у растового софта.

Как ни странно, даже такое есть. Так то в расте и нормальные идеи есть, но реализация получилась странной, а гайд по unsafe напоминает проблемы си, вид в профишь. Только еще яп в 20 раз сложнее и синтаксис костылями облепили. А все-равно не хватило для линукскернела, еще два самосвала костылей.

> Или чуть шире: количество багов, которые при эксплуатации могут дать что-то, кроме
> DoS, вызванного падением процесса в полуконтролируемом формате.

Это про растовский panic? А что, DoS вполне себе атака. Алсо раст

> сможешь сказать, какая из этих выборок сишная, а какая растовая.

Пожалуй. Но это в основном потому что на сях кодить начали в других реалиях.

> То есть -- да, CVE на растовый софт особые.

Так то они наверное на каждый яп со своим колоритом. На сях например eval() так просто не сделаешь. Или репы контролируемые майкрософтом, амазоном и гуглом - тоже безопасно смотрится, в плане контроля над окружением. Недоверяемыми субъектами.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Ordu , 23-Дек-21 13:36 
>> Дык ты можешь привести пример сишной "популярной программы/библиотеки без 0дней дырени
>> в истории" или нет?
> Так сходу - нет, потому что не задавался вопросом.

А я задавался. Не искал, но задавался. И я не видел ни одной не дырявой.

> А примеры популярных программ и библиотек на расте вообще еще поискать.

Ну да, давай будем стрелки переводить.

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

И вот это тоже ничётак -- воевать с соломенным чучелом. Ты знаешь хоть одного кодера, кто верит в то что безопасный рантайм спасёт от всего? Или хоть одного кодера, у кого мозги отключились от перехода с C на что-то высокоуровневое? Я не знаю ни одного. Ты воюешь против несуществующего явления, которое изобрёл сам, специально для того, чтобы победить хоть кого-то. Хотя бы соломенное чучело, созданное специально таким образом, чтобы даже ты мог бы его разгромить аргументацией.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 13:02 
> А я задавался. Не искал, но задавался. И я не видел ни одной не дырявой.

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

> Ну да, давай будем стрелки переводить.

Я гайд на unsafe раст почитал и не понял чем это принципиально от сей отличается. Примерно те же проблемы. А без unsafe он вообще чего может? К другим ЯП интерфейсить - unsafe. Системные либы? Unsafe. Cисколы? Unsafe. Стандартные либы раста? Unsafe везде. Их боги пишут, они не ошибаются? А точно, в таких горах кода, перепахиваемых с такой скоростью? Или их просто анализировать никому неохота, какой толк с анализа если через неделю все перетрясли?

> И вот это тоже ничётак -- воевать с соломенным чучелом. Ты знаешь
> хоть одного кодера, кто верит в то что безопасный рантайм спасёт от всего?

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

> Или хоть одного кодера, у кого мозги отключились от перехода с C на что-то высокоуровневое?

Вот именно сишные кодеры как-то не очень на раст рвутся. У сей плюс в том что они относительно простые, отсутвие высокоуровневых наворотов позволяет легко и быстро въехать в чужой проект. А когда там концепции и абстракции уже упс, номер не катит. Запатчить за 10 минут то что напрягало? СЕЙЧАС! Сперва пару дней в стиль мышления кодера извольте. А оно надо? Я хотел исправить то и это а не изучать полет мысли какого-то чудака.

> Я не знаю ни одного.

Я вообще ни 1 сишного кодера перешедшего на раст не видел. Может они и бывают, но это странные люди. На вид довольно разные штуки.

> образом, чтобы даже ты мог бы его разгромить аргументацией.

Интересная теория. Мне кажется, чучело создано в основном здешними коментаторами, агрессивно пиарящими это. При том такое ощущение что програмить они на этом не пробовали, а может и вообще не умеют. Не удивлюсь если вы окажетесь единственным кто реально это практикует из всей той шумной шайки.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Ordu , 24-Дек-21 17:26 
Когда я читаю вот то, что ты пишешь, у меня складывается ощущение, что ты хочешь узнать о расте больше, но какие-то неведомые принципы запрещают тебе задать вопрос, и требуют от тебя наезжать на раст, демонстрируя своё незнание, и, таким образом, провоцируя меня на ответ.

Сорри, чёт у меня сегодня нет настроения вестись на провокации.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 02-Янв-22 10:21 
Как тебе сказать? В расте есть интересные идеи. Но хайпожорское сообщество выезжающее только на поливании других, встроенный пакетный менеджер с репами управляемыми корпами и прочие характерные ништяки держат меня на почтительном расстоянии.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Ordu , 02-Янв-22 13:47 
> Как тебе сказать? В расте есть интересные идеи.

Кои ты, судя по твоим словам выше, не понял от слова совсем.

> Но хайпожорское сообщество выезжающее только на поливании других,

Мне непонятна эта фраза. Что для сообщества значит быть "выезжающим"?

А по поводу хайпа: https://thenewwazoo.github.io/whining.html

> встроенный пакетный менеджер с репами управляемыми корпами и прочие характерные ништяки держат меня на почтительном расстоянии.

Хех, это в смысле когда ты пытаешься критиковать "интересные идеи" выше, ты типа пропагандисткую кампанию ведёшь, и не потому, что идеи не такие, а потому, что "корпами управляемый"? Мне вот это непонятно от слова совсем: людей в школе учили логике, их в школе учили математике, некоторые аж в олимпиадах побеждали, но они становятся агентами пропаганды, они забывают все эти правила и просто несут бред. Не, я смирился с тем, что люди не готовы развивать своё мышление, что окончив школу, где им за недостаточные усилия в саморазвития учителя ставили двойки, а родители драли задницу за плохие оценки, люди почему то решают, что они доразвивались до достаточного уровня, и дальше нет никакой нужды прилагать какие-либо усилия к развитию свой способности мыслить. Ок, я готов принять, что люди настолько не ценят свой интеллект, что готовы не затачивать его. Но позволять ржаветь тому, что они уже обрели в школе?

Смотри как надо критиковать:
https://chrisdone.com/posts/rust/

https://dev.to/arunanshub/self-referential-structs-in-rust-33cm -- это само по себе не критика раста, но если ты посмотришь на это с точки зрения того, как много чёрной магии требуется только для того, чтобы самореферентную структуру создать, то это отличная демонстрация к предыдущей ссылке. То есть циклический список создать ещё хрен с ним -- его легко можно сделать на raw указателях и не выпендриваться, но нужда в самореферентности иногда в самый неожиданный момент выскакивает, и... не, ouroboros может помочь иногда, но не ты прикинь, ouroboros требует от тебя надо знать разницу между ковариантными и нековариантными типами. Короче раст реально может оказаться очередным хаскелем. Насчёт сборки мусора -- это мне кажется вряд ли, есть же Rc/Arc, и они реально могут решать проблемы лайфтаймов, когда они нерешаемы, но вот превратиться в хаскель, в язык для высоколобых -- это вполне возможно.

https://gist.github.com/ctrlcctrlv/978b3ee4f55d4b4ec415a985e... -- прям-таки не в бровь а в глаз: перфекционизм превыше всего, качество кода важнее его функциональности.

https://kerkour.com/rust-crate-backdoor/ -- это прям напрашивалось, раз есть пакетный манагер.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 08:59 
> В отличии от сишечки, на которой вы не найдёте ни одной популярной программы/библиотеки
> без 0дней дырени в истории.

Не ошибается тот кто ничего не делает. А когда все же делает - так вон и на растовые проекты уже сотни CVE понаходили. Это при том что софт на нем еще суметь найти надо.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 23-Дек-21 19:26 
Много людей регулярно всю жизнь использует огнестрельное оружие и умирает при этом от старости, а не случайного выстрела себе в голову.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 13:29 
> Много людей регулярно всю жизнь использует огнестрельное оружие и умирает при этом
> от старости, а не случайного выстрела себе в голову.

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено keydon , 16-Дек-21 07:54 
Ну да, в другом то софте такого не бывает, например heartbleed в openssl которым пользовались чуть меньше чем весь мир. В прошивках роутеров и винде это вообще норма. Чз что ты хочешь от гораздо меньшего проекта с 5 контрибьюторами. Тут же даже альтернатив нет - либо tox, либо matrix, у которого например сайт взламывали.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 11:18 
Казалось бы, когда получаешь граблями по лбу, ну можно же сделать вывод из произошедшего и выжечь напалмом такие макросы, заменив их константами и/или функциями? Нет, б..ть, скобочки добавили - и так сойдет... О статических анализаторах, ловящих такие ошибки, они тоже не слышали...

Такие вот эксперты по сыкурности...


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 09:01 
Они внезапно сделали выводы и научились ставить скобки там где нормальные сишники их всегда и ставили. А вас послушать, так если ножиком порезаться так потом даже палку-копалку страшно брать.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 16-Дек-21 13:35 
Справедливости ради.
В описании проекта написано:

>This is an experimental cryptographic network library. It has not been formally audited by an independent third party that specializes in cryptography or cryptanalysis. Use this library at your own risk.

Так-же предоставляется реализация на хаскеле.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 15:06 
Тем не менее люди уже этим пользуются, например через тот же qTox, упомянутый в новости.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 15:09 
И, кстати, qTox - официальный клиент, который предлагается для загрузки на https://tox.chat/.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 16:47 
*: один из тех, о которых разработчики знают. На вики есть ещё целая пачка

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:26 
Это просто превосходно. Нормальные люди этим говном не пользуются. Вместо этого у них есть форк, в котором они всё это дело перепиливают на rust. И избавляются от insecurностей, на которые авторы токса болт забили.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:27 
лучше бы на java/c# перепилили

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:32 
Зачем? У обоих есть CFFI, и Rust - безопасен и быстр. Смысла нет, кроме как кроссплатформенность. Но для кроссплатформенности можно просто собрать в bit-код LLVM и запустить его поверх GraalVM.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 10:55 
>Но для кроссплатформенности можно просто собрать в bit-код LLVM и запустить его поверх GraalVM.

А GraalVM запустить в виртуалке Фабриса Беллара, написанной на JS. Так победим!


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:47 
Если затею переписать на ржавчину я ещё могу понять, то затею переписать на managed языки с производительностью хуже питона, нет. Кроме того у них обоих с гуем проблемы. У питона нет проблемы с гуем кстати.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:59 
На ржавчине оно никогда не заработает вообще. Ржавая ОС тому доказательство.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:39 
Есть ли объективные причины, почему нет? То, что графический софт невозможно написать, это другой разговор, и всё же ситуация лучше чем с го. А так вон гуй даже на php пишут (не спрашивайте зачем).

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 03:01 
> Есть ли объективные причины, почему нет?
> графический софт невозможно написать

Хороший мальчик :) сам спросил - сам ответил.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено _ , 16-Дек-21 13:42 
>>> На ржавчине оно никогда не заработает вообще. Ржавая ОС тому доказательство.
>> Есть ли объективные причины, почему нет?
> Хороший мальчик :) сам спросил - сам ответил.

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



"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 10:07 
> На ржавчине оно никогда не заработает вообще.

Вариант на нем есть, но что-то не видно фанатов раста, так что он недоделаный и отстающий в развитии. Видимо рекламить на форуме лучше чем програмить на этом.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 01:23 
>Кроме того у них обоих с гуем проблемы.

Нет у шарпа проблем с GUI.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 01:46 
Есть, он не кроссплатформа. У жабы хотя бы кроссплатформа. Игры на дотнете тоже шлак, можно любую юнити поделку взять как пример. Больше всего вымораживает, сколько памяти оно потребляет на пустом месте конечно, но тормоза тоже.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 13:05 
Игры на дотнете не шлак. 7 days to die тому пример. Отличная игрушка, хотя памяти действительно есть овердофига.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 19:04 
Ты кстати знаешь, какая она лагучая даже для 1 игрока? Отличная не отличная это дело десятое, для игры которую 10 лет разрабатывают могло быть и лучше. А вот архитектурные недостатки никуда не денутся уже.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 16-Дек-21 13:41 
Он вендорлок, это особенность, а не недостаток.
Если решили сделать карьеру в шарпе то нужно возлюбить майкрософт и виндовс как себя самого.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 10:09 
> Если решили сделать карьеру в шарпе то нужно возлюбить майкрософт и виндовс
> как себя самого.

Для этого надо себя очень крепко не любить. Error: condition check never true.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 23-Дек-21 18:34 
Или очень любить...

Правильно, любить деньги.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 06:46 
Деньги можно заработать массой более приятных способов чем копание в том что изрыгает майковская индусня и маркетинг. Я проверял.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 24-Дек-21 12:30 
На самом деле.
Не знаю как сейчас, но раньше у МС была шикарная инфраструктура.

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 13:37 
И все будет прекрасно. Пока MS не выкатит новую версию, не посоветовавшись с вами, не забыв сломать обратную совместимость, так что у ваших клиентов софт чего-то умер. И теперь вместо отпуска вы истошно ж@пы рвете в темпе вальса, иначе бизнесу вообще пиндык.
"Ненужно" решать дурацкие проблемы? Красивая теория. На практике правда почему-то совсем другое наблюдается. В паре с маркетинговыми метаниями маек довольно специфично получается. А никогда не видели memleak о 15 гигз в неделю? Не, никто понятия не имеет как его в дотнете вообще дебажить.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 24-Дек-21 13:44 
> И все будет прекрасно. Пока MS не выкатит новую версию, не посоветовавшись
> с вами, не забыв сломать обратную совместимость, так что у ваших
> клиентов софт чего-то умер. И теперь вместо отпуска вы истошно ж@пы
> рвете в темпе вальса, иначе бизнесу вообще пиндык.

Что-то я вообще не помню такого. Вы фантазируете.

> Красивая теория. На практике правда почему-то совсем
> другое наблюдается. В паре с маркетинговыми метаниями маек довольно специфично получается.

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

> А никогда не видели memleak о 15 гигз в неделю? Не

Нет, не видел такого никогда.

> никто понятия не имеет как его в дотнете вообще дебажить.

Ну, эм, так людям учиться нужно, причём тут дотнет и МС?
В дотнете прекрасные средства дебага, открывай да смотри буквально куда память уходит, о чём речь вообще?
https://docs.microsoft.com/en-us/visualstudio/profiling/dotn...
https://docs.microsoft.com/en-us/visualstudio/profiling/memo...


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 02-Янв-22 12:25 
> Что-то я вообще не помню такого. Вы фантазируете.

У меня не настолько хорошая фантазия, гражданин евангелист.

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

Я видел другие вещи, типа хардкоринга всех вплоть до хедкватеров с топами, пмами и дирами направлений в выхи и/или по ночам. А чего им было делать, если стараниями мс корп софт упал и кастомеры пошли оптом на нерест? И сорян, это не "знакомые" и "фантазии", такое шоу можно только лично увидеть, если звезды так встанут.

> Нет, не видел такого никогда.

Зато это видел я. Без всяких "знакомых". Ну, да, пораньше.

> https://docs.microsoft.com/en-us/visualstudio/profiling/dotn...

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

> https://docs.microsoft.com/en-us/visualstudio/profiling/memo...

Ложка хороша к обеду. Сейчас я от этого всего, к счастью, очень далек. И вообще, понимаешь, в линухе я могу сделать удобно себе, автоматизировать малой кровью рутину, а многие системные операции отрабатывают в разы быстрее. И есть ряд крутых эффективных технологий. Которыми я могу пользоваться без маркетингового булшита и искусственных ограничений. А еще я могу запилить себе системные образы как мне надо. Без ваших бдских кейлогеров, "улучшений", онлайнакаунтов и что там еще за д@рьмо сегодня попало под хвост маркетингомому отделу. Сами это жрите!


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 02-Янв-22 14:38 
Инструменты эти были в дотнете всегда.
Я уже понял, что у вас негативный опыт с горе энтрерпрайзом.
И дотнет вам очень не нравится и вообще ненужен.

Мой же знакомый известный ПМ. Его опыту и тому, сколько готовы за его труд платить компании, я доверяю.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 02-Янв-22 15:21 
> Инструменты эти были в дотнете всегда.

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

> Я уже понял, что у вас негативный опыт с горе энтрерпрайзом.

С компаниями из топ500, явно не хучшими из. Бывают ли лучше? Может быть.

> И дотнет вам очень не нравится и вообще ненужен.

Он оверинженернутый и MS напихал его везде. Что вызвало много неудачных эффектов. Там инсталл весит почти гиг и час ползет, потому что версия нета должна быть вот такая, там два ребута надо, вон там комп полдня неюзабелен потому что ассембли перегенеряет, там шелл минуту в виртуалке стартует... и идея засунуть это в шелл, ну, мне лично очень так себе: длинные выражения и типизация не то что я от шелла ожидаю, неудобно очень, кроме специфичных вещей.

> Мой же знакомый известный ПМ. Его опыту и тому, сколько готовы за
> его труд платить компании, я доверяю.

Я видел эн пмов и покруче, вероятно. Спору нет, в целом кондовые, крутые, но... но MS может временами обломать даже таких.

Как мс баги чинит - это вообще дно. Сейчас немного этого дна можно посмотреть на их гитхабе даже, там немного отсвечивает временами. Я видел баги в дотнете. Баги в виндовом рантайме и либах, баги в хреновой куче редистрибутаблов. И общее у них то - что почти никто и никогда это не чинит, сподвинуть MS на нормальный фикс, устраняющий проблему - эпопея! А если даже и чинят, то тайминги такие что можно от старости случайно помереть. Я просто сравнил с тем как оно у опенсорсников... ну... последний раз когда я мочил core-level баг в кернеле, заняло 2.5 дня, и это был крутой и кайфовый процесс. Вокруг майкрософта просто не бывает ничерта сравнимого. Экосистемой и культурой дева не вышли. Другой мир. Отличающийся, имхо, совсем не в лучшую сторону.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 24-Дек-21 16:29 
>Не, никто понятия не имеет как его в дотнете вообще дебажить.

А сколько уже пытаются то задебажить?
Я могу за 1000$ решить проблему за 1-2 недели.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 02-Янв-22 12:31 
> А сколько уже пытаются то задебажить?

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

> Я могу за 1000$ решить проблему за 1-2 недели.

Ну, удачи в поиске клиентуры, все такое. А лучшее что в моей жизни было относительно MS и дотнета - развидеть все это наконец, хахаха! Я не спорю, денег там есть, но окружение - унылейший булшит.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 16-Дек-21 03:00 
Шарп по скорости на уровне сипипи. Иногда может и обгонять в зависимости от опций сборки и погоды на марсе.
На нём успешно хайлоад делают.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено penetrator , 16-Дек-21 03:19 
медленней, но смотря что, смотря где, шарп настолько неоднороден, что под моно и коре на винде и линуксе может отличаться в разы в разные стороны, но плюсы обычно все-таки по-быстрее, не сильно, но оптимизированный плюсовый код задроченный под специальные инструкции CPU вообще вне конкуренции

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 10:53 
У toxcore на вики есть пример бота. Полстраницы тривиального си. Собрать можно минут за 10, потребление ресурсов такое что на домашнем роутере можно ботнет из чатботов запустить. Покажите удельную производительность :)

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 04:11 
Хайлоад на чём только не делают. Собственно, так оно и превращается в хайлоад. Я видел какие-то бенчмарки для коре, но то, что сейчас в продакшене до сих пор, ни в какое сравнением с плючами поставить невозможно.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 17-Дек-21 09:03 
Хайлоад это когда выполнение задачи упирается в железо, а собственно код пишется таким образом чтобы не создавать ненужных помех и приближаться к теоретической производительности железа...

Шарп в этом плане работает очень хорошо так как позволяет такой код писать относительно легко, в отличии скажем от джавы где от приколов рантайма очень тяжело избавиться (как я слышал).

В крайнем случае вставкой ансейва шарп в С++ и превращается, что позволяет переоптимизировать  критические участки кода.

Но это обычно и не требуется. Основной затык это обычно IO, который шарп и так делает очень шустро и довольно просто.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 02-Янв-22 12:39 
Между нами, я затрудняюсь себе представить на .нете вон то, сабжевое :). Это было бы бессмысленно и беспощадно имхо.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено _kp , 18-Дек-21 01:09 
> Шарп по скорости на уровне сипипи. Иногда может и обгонять в зависимости
> от опций сборки и погоды на марсе.
> На нём успешно хайлоад делают.

Только в специальых тестах.
А в реальных программах, где вычислительная мощь имеет значение, за единичными исключениями, ситуация обратная.


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

Как то мне поставили задачу чисто вычислительный модуль на с# переписать, ну я и понаписал, грубо все, что ни есть то статики, выделения памяти в процессе работы строго по минимуму, уродливые глобальные структуры данных, безапасность почти поделил на ноль ...
но с быстродействием вышло действительно на уровне си, при 3х кратном перерасходе ОЗУ.
Только в таком стиле и не пишут, по причине низкой производительности труда и высокого риска ошибок, да и вне спортивного интереса, оно неприятно.
Итого: производительность с# на уровне си, только в специально написанном коде, но не в практичном повседневном.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 16-Дек-21 03:01 
Гошка для такого подходит.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 09:21 
> лучше бы на java/c# перепилили

Не думаешь же ты что тебе это напишут сишники, растеры и хаскелисты? А если и напишут, новый log4j получится, они же не в курсе ваших best practices...


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено СкажемДружноНа.НеНужно , 16-Дек-21 09:53 
Альтернативу на хрусте пишут картошкины смузибои пускающие слюни на хрусты французских булок и трамвайчиков за соседней границей.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено lombock , 16-Дек-21 10:37 
альтернативу на хрустике пишут либо за деньги либо по глупости. потому что секурность в случае хрустика = 0. достаточно лишь:
1) выяснить кому принадлежит crates.io
2) и вспомнить как быстро улеглись страсти по модераторской команде.. напомню, там было дело об игнорировании своего же кока. это прям как комми и их спецмагазины для номенклатуры на фоне лозунгов о равноправии

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 09:30 
Пилят и на расте, и на хаскеле, но медленно и печально. Видимо большинство рекламирующих это добро не пробовало на нем прогать.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:46 
Сечас мы вместо того чтобы написать хоть что-то кроме hello world просто будем срать коментами тут. Всё равно на большее мы растоманы не способны.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Анонн , 15-Дек-21 23:49 
Так фигня в том, что даже когда пишут, вы бузите:
или "о, такое уже было написано, зачем вы переписываете"
или "о, очередное ненужно от хипстеров, ведь оно ххххх", а дальше какая-то глупая причина вроде "я не смогу собрать его на моей маргинальной платформе".
Так что никогда вам не угодишь))

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:53 
Чувак, мы сами не можем собрать своё кривое поделье. Оно вообще собирается только на одной машине и то мы не понимаем как. Поэтому больше чем флатошлак мы не осилим.

Да и потом. Я тебе честно скажу. Все наши растоманские поделки это обёртки, обклейки, подпорки и затычки. Это не софт вообще. Но увы, вам с этим жить. Мы подрастающее молодое поколение, вам придётся пользоваться нашими кривыми поделками. А виноваты останетесь вы, ваши дырени.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Пончик , 16-Дек-21 00:57 
Вот соглашусь.

А где вот это всё как софт повседневного пользования? Удобный и простой.

Где вот это вот:

Почтовый клиент на rust - ?
IDE на rust для rust - ?
Просмотр картинок на rust - ?
Читалка/писалка pdf на rust - ?
Браузер на rust - ?
Ну и наконец где ваша хвалёная ОС на rust - ?

Где это всё?

А ты мне про поделки двух землекопов.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено gogo , 16-Дек-21 05:33 
Это все неважно.
Тут люди стараются ядро сделать зависимым от него, а ты про какую-то мелочевку глаголишь... )

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 15-Дек-21 23:58 
Вы тот протокол видели? Там же сплошное смузи. Куда им работа с памятью да ещё в C

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:24 
нда, когда говорили что си простой язык, они это восприняли как школьники

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:29 
Он и есть простой. Точно так-же как школе много простых предметов, но есть и люди второгодники, и просто двоечники-троечники.

Так и тут, язык простой, синтаксис простой. Но кто-то даже это осилить не моет. Но могут осилить попугайство про rust. Почему ты думаешь на rust до сих пор ничего толкового нет? А растоос вообще в опе. Вот тут так-же как в школе.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 16-Дек-21 03:06 
Синтаксис простой.
А его использование очень сложное.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 13:48 
Он реально простой. Даже чем-то на шелл смахивает. Есть правда куча всяких библиотек (OpenSSL), которые абсолютно невменяемое API предоставляют, похожее на пошаговую загрузку линукса, когда мне всё что нужно было - это зашифровать блок данных. Но большинство POSIX функций компактные и удобно используются.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 14:44 
вот и пример подъехал. наверное хруст не такая уж и плохая идея для любителей компактных функций. си очень сильно упрощает работу с память и стеком, вносит миллиард плюшек и батареек вроде аргументов функций, упаковок, макросов и тд. но вся эта поверхностная вакханалия создает впечатление что это очередной петон или жыэс. нет, это не так

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 06:49 
> Вы тот протокол видели? Там же сплошное смузи. Куда им работа с памятью да ещё в C

Протокол кстати получше чем у многих других. И никакого особого смузи, скорее наоборот, простенько и топорно настолько что расширить иногда проблема. Но это лучше чем XSLT трансформации, безразмерные XML и всякая вебдрянь блокируемая выносом 1 сайтика.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Sw00p aka Jerom , 16-Дек-21 00:12 
сразу видно, что программисты чсвешники, которые даже калькулятор не писали, а потом говорят зачем писать калькуляторы и базовые хелловорлды

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 00:18 
> как "length - 1 + 32 * 2 + 24", что приводило к перезаписи данных в стеке,

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 06:54 
> Но подождите, а где же миллиарды пользователей с валгриндами только и ждущие чего
> бы затестировать ?

Один из них как раз и зарепортил это. Сюрприз. Правда у него asan или ubsan, но тоже дело.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Зз , 16-Дек-21 00:34 
Блин,да у них каждый UDP-пакет стэк портил, как оно вообще работало?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 01:06 
Так у меня оно толком и не работало сколько не пробовал.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено penetrator , 16-Дек-21 03:30 
все работало, вообще без проблем (кроме поиска по истории - жутко тупая вещь)

возможно там нихрена в стеке не было больше

мы же не знаем что оно затирало, может ничего


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 06:58 
> Блин,да у них каждый UDP-пакет стэк портил, как оно вообще работало?

Не каждый а специально подготовленный. И кроме того небольшая порча стэка может оказаться не замеченой без инструментов типа asan/ubsan. Фэйл поймал некто с fuzzer'ом под asan и тут же и зарепортил. Кто хтел миллионы глаз - вы их и получили, это не эксплуатировалось и было исправлено через чуть ли не считаные часы после репорта. Судя по гитхабу и прочему, все причастные хорошо сработали.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 02:08 
Таки походу писать тесты иногда полезно

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено penetrator , 16-Дек-21 03:32 
а в тесте он точно также "протестирует" без скобок

или откуда он скопитырит по-твоему код для тестирования?


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 02:44 
> Из-за отсутствия скобок ...

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

Да и вообще, давно пора отправить этот велосипедный Tox на помойку.
Вместо Tox-а можно использовать тот же Jami, в котором почти не изобретают велосипедов, а адаптируют более-менее продуманные стандартные протоколы.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 03:05 
> Это дно какое-то.

Ну, растаманы же путали больше-меньше... Почему бы другим не перепутать плюс-минус?


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 03:28 
> Почему бы другим не перепутать плюс-минус?

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Crazy Alex , 16-Дек-21 11:37 
SIP в 21-м веке? И у них, блин, хоть где-то описана архитектура?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 13:42 
> SIP в 21-м веке?

SIP оформился в качестве стандарта считай в 21-м веке. А мобильные телекомы в постСовдепе прямо сейчас внедряют модно-молодёжный VoLTE, который на SIP-е построен. И в сетях 5G тоже для голоса SIP применяют.

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

> И у них, блин, хоть где-то описана архитектура?

Да, описана, в разных местах. Ищи. Но вот я не скажу, что описана она достаточно хорошо и подробно.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 11:02 
Нужно было брать IAX2 из Астериска. Использует один единственный порт UDP и для сигнализации, и для медиа.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 17:51 
> Нужно было брать IAX2 из Астериска.

Да ну нафиг, IAX2 уже ДАВНО умер. Про него даже уже не вспоминают.
Это же реальная попытка откопать стюардессу, которая уже давным-давно лежит в могиле. Shame on you!


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено РастоманПитонофил , 16-Дек-21 23:42 
Именно так. Есть лучше? или ты предлагаешь всё в вебню потому что большее не осилил?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 05:17 
> SIP в 21-м веке? И у них, блин, хоть где-то описана архитектура?

Какой SIP? Вы о чем? У вон того какой-то свой протокол для всего. Он может быть на что-то похож, но идея больше всего напоминает "старый" скайп: пытается работать по udp если может, если не может, по tcp релеит.

В отличие от хипстерской дряни блокируемой 1 хостом эти имеют представление как надо было, с скайпа некоторые идеи слизали. Поэтому оно довольно много где работает, протыкая корпам всякие 443/3389 TCP например. А внутри локалки он и без внешки может запуститься, найдя себе подобных броадкастом/мультикастом.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 13:04 
Ну тут нужно именно знать эту особенность чтобы не словить эту ошибку.
Никто в здравом уме не будет писать y = (x*2); или y = (x + x); Это именно тонкий момент с макросами.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 13:57 
Это совсем базовое понимание, что макросы = копипаст в исходники, а не отдельная сущность. Тонкости — это, например, shortcircuit дабы убрать кучу повторяющихся if-error-panic, или цыганские фокусы с namescope дабы юзать одни и те же имена переменных в одной функции, но по факту обращаясь к разным участкам. А скобки в define — это ну прям база. Скажите ещё, что include - это не обычный копипаст объявлений, с которыми потом будет разбираться линковщик

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 17:41 
> Никто в здравом уме не будет писать y = (x*2); ...

А вот так, например, можно и написать: y = z+(x*2);
Скобки в этом случае как бы и не нужны, но они явно улучшают читаемость кода.
И хуже от этих скобок уж точно не будет.

> Это именно тонкий момент с макросами.

Да нет здесь никаких тонких моментов. Во всяком случае для тех, кто имеет хоть какой-то опыт программирования на Си (не helloworld-а, разумеется).


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено anonymous , 16-Дек-21 17:41 
Как только появится хоть одна полностью децентрализованная и шифрованная альтернатива, так сразу. Почему-то пограммисты предпочитают телеграм боты писать вместо нормального мессенджера.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 22:49 
Голодают

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 07:48 
Есть Jami

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Брат Анон , 16-Дек-21 10:03 
Есть неуловимый Джо. И он есть пока он неуловимый. Как только его кто-то поймает -- Джо становится бесполезным и уловимым. Как и твоё не надо.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 11:02 
Но в репозитории Fedora его нет.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 11:04 
У пользователей Fedora руки не оттуда?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 17:53 
У нас есть Pidgin.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 12:23 
> У нас есть Pidgin.

Под него сабж тоже есть. Хоть плагин и заброшеный, но компилится. И даже работает кой-как. Под фиолетового птица почти все что протокол есть, но реализации обычно такие же кривые как и сам птиц. Этот не исключение.



"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 09:52 
Не используйте макросы. Если вы думаете, что понимаете их, вы ошибаетесь.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 10:54 
Сори бро, мы макросы понимаем

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 11:56 
малолетки даже не понимают, что прочитали

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 14:48 
малолетки думают что они умнее всех

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено InuYasha , 16-Дек-21 10:53 
М-да. Программист сделал ошибку, в интернетах бурления недовольных. Я тоже порой делал ошибки, работал в полусне и засыпал на клавиатуре. На всё желаемое ни сил, ни времени не насрести.
И посмотрю я, как петон-жаба-раст спасут вас от недоставки скобок, ага. Даже математика третьего класса СОШ не спасёт.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 16-Дек-21 13:44 
Только Lisp спасёт!
Я это гарантирую!

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 12:25 
> Только Lisp спасёт!
> Я это гарантирую!

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноньимъ , 23-Дек-21 19:36 
К зимней сессии готовься, угаратель.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено ist , 17-Дек-21 01:15 
"Программист сделал ошибку" - а других программистов нет? коммиты принимаются без проверки? code review не делается?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Ordu , 17-Дек-21 07:45 
> Программист сделал ошибку, в интернетах бурления недовольных.

У опеннетовских растохейтеров подгорает, вот и бурления.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено User_o0 , 16-Дек-21 11:10 
Ох ну нашли же, что за кидание на вентилятор? Хоть один проект без дыр? Всё дырявое и точка.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 12:08 
Ничего нет хуже смартфонов, а всё остальное, десктопное - около дела. Да, не без греха в коде, но всё же не мобильное изделие.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 07:21 
> Ничего нет хуже смартфонов, а всё остальное, десктопное - около дела. Да,
> не без греха в коде, но всё же не мобильное изделие.

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


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 12:12 
У капиталистов ума не хватает финансировать что-то дельное. Энтузиастам чаще всего не комфортно в современном мире IT.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 13:01 
А зачем тут использовать макрос если можно использовать константу?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 14:04 
Константа - это переменная в памяти, просто компилятор ругается если изменять её. Макрос, лично для меня, в этой ситуации более напрямую выполняет свою функцию - подстановка текста. А константа может и с типами начать проблемы вызывать, или вообще не дай бог скастоваться в непонятно что.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 17-Дек-21 07:54 
enum здесь чем плох?

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 11:11 
Наверное, и constexpr тоже вариант.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 17-Дек-21 12:24 
constexpr это уже Си++. Там и константы вариант:

const int maxarray = 255;
char store_char[maxarray];  // allowed in C++; not allowed in C


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 02-Янв-22 07:11 
Ты уверен?
https://godbolt.org/z/6fe6d6Gvs

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 08-Янв-22 14:16 
Абсолютно. Могли бы сменить версию стандарта, что бы было понятнее, что там на самом деле происходит: ISO C90 forbids array 'store_char' whose size cannot be evaluated (gcc 11.2).

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 17-Дек-21 17:56 
> enum здесь чем плох?

Всем, в данном случае! Он вообще был создан совсем не для этого.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 17-Дек-21 18:14 
>> enum здесь чем плох?
> Всем, в данном случае!

Пару конкретных причин?

> Он вообще был создан совсем не для этого.

В смысле, следует ориентироваться не на текущий стандарт, а на цели Кернигана и Ритчи? Зачем-то "в реализации на PDP-11 со всеми перечисляемыми переменными оперируют так, как если бы они имели тип INT".


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 18-Дек-21 04:45 
Покажи код, а я расскажу, почему следует открутить твои @@.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 18-Дек-21 08:15 
Ссылка на код приведена в новости.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 18-Дек-21 10:03 
Ну так и покажи, как ты enum-ом хочешь переписать эту строчку кода.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 18-Дек-21 11:27 
Я хочу? Бремя доказательства утверждения "всем плох" лежит на заявителе.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 19-Дек-21 05:16 
Ты не петляй, не петляй.

Твоё "enum здесь чем плох?" в контексте обсуждения несёт такую смысловую нагрузку, которая подразумевает возможность использования enum-а для описания константы CRYPTO_SIZE.
Т.е., в твоём вопросе уже содержится утверждение.

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

Что ж, сделаю себе о регистранте n00by соответствующую "пометку на полях".


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 19-Дек-21 10:01 
Из попыток объяснить мне, чем плох в данном случае enum, я понял, что тебе не нравится само слово enum, отсутствие префикса #, обработка после фазы препроцессора, наличие фигурных скобок и ещё масса каких-то факторов. Это прямо следует из обобщения "всем плох". Я хотел увидеть пару претензий к enum не на тему вкусовщины. Не вижу причин, по которым я якобы хочу их сам выдумывать.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 12:29 
> Пару конкретных причин?

1) Вообще не присутствует в препроцессоре.
2) Какому типу данных enum вообще соответствует? А, хрен его знает, прямо по стандарту? Удобно, удачи в валидации :)


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 23-Дек-21 14:49 
Спасибо.

>> Пару конкретных причин?
> 1) Вообще не присутствует в препроцессоре.

Что в данном случае зависит от фазы трансляции?

> 2) Какому типу данных enum вообще соответствует? А, хрен его знает, прямо
> по стандарту?

В данном случае все в одной единице трансляции, даже в одном файле. Тип приводится к целому.

> Удобно, удачи в валидации :)

Макрос разве её прошёл? :)


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 24-Дек-21 07:15 
> Что в данном случае зависит от фазы трансляции?

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

С #define или -DABCD=3 при компиле потом можно как-то так
#if (ABCD > 2)
...
С enum это не катит. Не существует он там. А в рантайм - уже не то. Это лишние падения, лишние ветки кода и проч.

> В данном случае все в одной единице трансляции, даже в одном файле. Тип приводится к целому.

Которому из таковых? У сей вообще странные взгляды на целые числа, можно увидеть если -Wconversion врубить. Проблема enum'а в том что вообще не специфицировано во что это превратится.

Еще интереснее что если сделать typedef на enum {OPTION1, OPTION2} - потом переменной с тем типом можно влегкую назначить 42 и это как бы ок. Правда в gcc11 статический анализер научился такое замечать, но вообще это надо было в стандарте прописать, а не так.

>> Удобно, удачи в валидации :)
> Макрос разве её прошёл? :)

Он не прошел sanity check на использование скобок. Впрочем, с типами там не сильно лучше enum, однако это хоть как-то специфицировано стандартами.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 24-Дек-21 15:31 
>> Что в данном случае зависит от фазы трансляции?
> Скажем так, невидимость штуки в препроцессоре зарубает многие вещи. Даже просто прочекать
> что-нибудь на фазе парсинга нельзя.
> С #define или -DABCD=3 при компиле потом можно как-то так
> #if (ABCD > 2)
> ...
> С enum это не катит. Не существует он там. А в рантайм
> - уже не то. Это лишние падения, лишние ветки кода и
> проч.

В общем случае это верно, но к данному частному не относится.

>> В данном случае все в одной единице трансляции, даже в одном файле. Тип приводится к целому.
> Которому из таковых? У сей вообще странные взгляды на целые числа, можно
> увидеть если -Wconversion врубить. Проблема enum'а в том что вообще не
> специфицировано во что это превратится.

В данном случае -Wconversion не покажет.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 02-Янв-22 12:49 
> В общем случае это верно, но к данному частному не относится.

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

> В данном случае -Wconversion не покажет.

В данном - не покажет. Но вообще, enum'ы с их "а хрен бы его знает что это за тип" довольно странная зверушка. У сей довольно специфичные идеи насчет работы с целыми, но с enum они смогли сделать это еще более странно. Так то обычно работает, но капканы все же есть. Или можно получить совершенно угарные warning на ровном месте при попытке хорошего анализа кода на фазе компиляции и статического анализа, при том - валидные. Некоторые вещи в стандартах задефайнены не очень хорошо, типизация enum одна из таковых.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 08-Янв-22 14:48 
Спасибо, единообразие это аргумент. С другой стороны кто-то может захотеть вынести все макросы в заголовочный файл, который включают все подряд, а enum это затруднит.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 13:08 
А если собирать с разными оптимизациями, то компилятор не мог вычислить значение макроса и подставить в код уже его? И результат был бы другим.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 14:29 
Компиляция в Си происходит как минимум четырьмя отдельными программами.

1. Макропроцессор. Он изменяет исходный код ТОЛЬКО с помощью своих команд. Он НЕ смотрит в сами исходники и ему в целом по барабану на всё, что не #... На его работу можно посмотреть с помощью флага -E

2. Компилятор. Он обрабатывает уже отредактированный макропроцессором код. Он производит все оптимизации и превращает Си в ассемблерный код, НО ЕЩЁ НЕ В БИНАРЬ. На его работу можно посмотреть флагом -S

3. Ассемблер. Он собирает всё ещё читабельный ассемблерный код в понятный для процессора бинарь. Это ещё не готовая программа, поскольку в бинаре нету всяких данных, даже названия функций к которым делается call не определены, но это уже оптимизированный код, который имеет смысл хранить отдельно, чтобы не заниматься каждый раз компиляцией всего проекта заного. Флаг -c

4. Линковщик. Он превращает все объекты в ИСПОЛНЯЕМЫЙ файл (для линукса и макоси ELF). По сути он собирает из всех .o файлов архив и подставляет всю метадату: откуда брать функцию read, какие библиотеки подгружать из /usr/lib, и т.д. Само собой, этот файл будет работать ТОЛЬКО на системе, которая во первых умеет читать ELF (например, уже рантайм линкером ld-linux-x86-64), и во вторых если после копипаста файлика все пути до библиотек и их версии совпадут (сверяются тупо строки внутри ELF и библиотек, гляньте objdump). Можно собирать статичные файлики, т.е. те, которые весь код берут с собой и в рантайм линковке не нуждаются, но и весить они будут как ваш код + все библиотеки, которые использовались (причём рекурсивно, библиотеки тоже могут использовать библиотеки), в сумме.


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 16-Дек-21 14:33 
да, ответ на вопрос так и не написал. Макросы просто копипастятся в то место, где вы использовали своё define слово. Т.е. для компилятора один и тот же ABC макрос в двух разных местах будет двумя разными участками кода, БУКВАЛЬНО

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 17-Дек-21 08:01 
> Компиляция в Си происходит как минимум четырьмя отдельными программами.

Стандарт формально определяет раздельные фазы трансляции (макросы разворачиваются на 4-й), но не обязывает реализовать их в виде отдельных программ (Implementations shall behave as if these separate phases occur, even though many are typically folded together in practice).


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 23-Дек-21 09:41 
Это вообще препроцессор разбирает. И на приоритете операций случился облом. Задумка была правильная, а вот правильно использовать макросы они научились получив CVE. Эффективный стимул RTFM получился.

"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено n00by , 17-Дек-21 07:50 
81.2. Помещайте тело макроса и его аргументы в круглые скобки.

Это правило одно из основных, но я обнаружил, что множество людей, пользующихся С ежедневно, его забыли. Вот классическая задача:
#define TWO_K 1024 + 1024

Ален И. Голуб, "Веревка достаточной длины, чтобы выстрелить себе в ногу".


"Переполнение буфера в Toxcore, эксплуатируемое через отправк..."
Отправлено Аноним , 20-Дек-21 08:00 
> В качестве обходного пути защиты можно отключить использование UDP, оставив поддержку TCP.

Все так и делают, иначе TOX через TOR не завернешь.