The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

15.12.2021 23:00

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

Проблема проявлялась в выпусках toxcore с 0.1.9 по 0.2.12 и устранена в версии 0.2.13. Из клиентских приложений обновление с устранением уязвимости пока выпустил только проект qTox. В качестве обходного пути защиты можно отключить использование UDP, оставив поддержку TCP.

Уязвимость вызвана переполнением буфера в функции handle_request(), возникающего из-за некорректного расчёта размера данных в сетевом пакете. В частности, длина зашифрованных данных определялась в макросе CRYPTO_SIZE, определённом как "1 + CRYPTO_PUBLIC_KEY_SIZE * 2 + CRYPTO_NONCE_SIZE", который в дальнейшем использовался в операции вычитания "length - CRYPTO_SIZE". Из-за отсутствия скобок в макросе вместо вычитания суммы всех значений выполнялось вычитание 1 и сложение остальных частей. Например, вместо "length - (1 + 32 * 2 + 24)" размер буфера рассчитывался как "length - 1 + 32 * 2 + 24", что приводило к перезаписи данных в стеке, находящихся за границей буфера.

  1. Главная ссылка к новости (https://blog.tox.chat/2021/12/...)
  2. OpenNews: Уязвимости в клиентах Matrix, позволяющие раскрыть ключи сквозного шифрования
  3. OpenNews: Подробности про второй взлом Matrix. Скомпрометированы GPG-ключи проекта
  4. OpenNews: Проект Tox развивает свободную альтернативу Skype
  5. OpenNews: Выпуск Protox 1.6, Tox-клиента для мобильных платформ
  6. OpenNews: Выпуск aTox 0.6.0, приватного и безопасного мессенджера для Android
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/56354-tox
Ключевые слова: tox
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (211) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Анонн (?), 23:14, 15/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Юху, еще один буфер переполнился!
    Но эти еще и дефайнами пользоваться не умеют...
     
     
  • 2.9, Аноним (9), 23:30, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Нормальные люди дефайнами вместо енамов никогда не пользуются.

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

    #define ABCDF_A 1
    #define ABCDF_B 2

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

     
     
  • 3.10, Аноним (10), 23:31, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Нормальные люди сишкой никогда не пользуются.
     
     
  • 4.12, Аноним (9), 23:33, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Я и говорю. Нет причин не использовать C++ и Rust вместо сишки.
     
     
  • 5.133, Аноним (133), 23:55, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    +1 и при использовании C++ если производительность не критична нужно использовать умные smart pointer.
     
     
  • 6.163, Аноним (163), 19:49, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > умные smart pointer

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

     
  • 5.187, Аноним (-), 09:47, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Я и говорю. Нет причин не использовать C++ и Rust вместо сишки.

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

     
  • 4.24, Аноним (24), 00:21, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    хоть один язык, который стоит ближе к машинному коду кроме [macro]ассемблера, форта ???
     
     
  • 5.56, Crazy Alex (ok), 03:05, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Те же плюсы, являясь фактически надмнодеством Си - никак не дальше, что прекрасно видно в эмбеде последние несколько лет, где с Си на них массово бегут. Но при этом позволёют запросто защититься от подобной чепухи.

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

     
     
  • 6.112, Аноним (-), 14:13, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На С++ бегут неосиляторы процедурных алгоритмов. Чистая Сишка божественна, Rust и С++ отстой.
     
     
  • 7.113, ИмяХ (?), 14:22, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На Сишку перебегают неосиляторы ассемблера. А на ассемблер бегут неосиляторы машинного кода.
     
     
  • 8.131, Аноним (-), 23:31, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    за вает знаете ли ниасиляторы, простите нас... текст свёрнут, показать
     
  • 8.188, Аноним (-), 09:49, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Даже колибридос в конце концов - задолбался, и столкнувшись с идеей перепсать i3... текст свёрнут, показать
     
  • 6.201, Аноним (-), 12:31, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Те же плюсы, являясь фактически надмнодеством Си - никак не дальше, что
    > прекрасно видно в эмбеде последние несколько лет, где с Си на
    > них массово бегут. Но при этом позволёют запросто защититься от подобной чепухи.

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

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

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

     
  • 4.39, verholom (ok), 00:59, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    вот мы и до́жЫли
     
  • 4.81, lombock (?), 10:17, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    нормальные это кто? и чем они пользуются?
     
  • 3.148, anonymous (??), 11:12, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы в /use/include давно заглядывали?
     
  • 3.173, Аноним (-), 07:48, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Нормальные люди дефайнами вместо енамов никогда не пользуются.

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

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

     
  • 2.33, Аноним (33), 00:36, 16/12/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.34, Аноним (33), 00:37, 16/12/2021 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.37, Аноним (-), 00:42, 16/12/2021 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     

     ....ответы скрыты (20)

  • 1.2, Аноним (2), 23:15, 15/12/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

     ....ответы скрыты (2)

  • 1.3, Аноним (3), 23:21, 15/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Прямо как в венде. Лишнее подтверждение, что хипстерские мессенджеры зло.
     
     
  • 2.30, Аноним (33), 00:32, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не, в венде вообще мрак.
     
     
  • 3.119, Тандыр питца (?), 14:53, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Не, в венде вообще мрак.

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


     
     
  • 4.124, Michael Shigorin (ok), 18:17, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > У меня в телефоне стоит Ватсап
    > Отличный программа для хороший голова

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

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

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

     
  • 2.69, keydon (ok), 07:39, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Какой посоветуешь децентрализованный мессенджер с аудио и видео? Трепаться то каждый может.
     
     
  • 3.71, qq (??), 07:45, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    retroshare
     
     
  • 4.75, Аноним (75), 09:45, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    RetroShare хотят переименовать в ПамятьТечетТакЧтоНиагарскийВодопадСосетВСторонке
     
     
  • 5.94, мимокрокодил2 (?), 11:58, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Пару лет уже как пофикшены основные утечки, ты отстал от жизни.
     
  • 3.74, Аноним (74), 08:11, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Какой посоветуешь децентрализованный мессенджер с аудио и видео?

    Jami.

     
     
  • 4.128, keydon (ok), 19:21, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> Какой посоветуешь децентрализованный мессенджер с аудио и видео?
    > Jami.

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

     
  • 3.116, BorichL (ok), 14:41, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    mutt.
     
     
  • 4.127, keydon (ok), 19:18, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Следом за rtorrent'ом?
     
  • 4.174, Аноним (-), 07:50, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    С почтой которую чиитают вообще все, а половина еще и заблокировать норовит?
     
  • 3.149, anonymous (??), 11:16, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Matrix. Хоть он и федеративный (лучше, чем централизованное, но всё же не p2p)
     
     
  • 4.155, keydon (ok), 12:24, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Федеративный меня бы устроило Из всего что я тестировал tox, ring потом и jam... большой текст свёрнут, показать
     
  • 4.175, Аноним (-), 07:51, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема федераций в том что потом приходит какой-нибудь гугл и выносит половину контактлиста отключив свой сервер от федерации.
     
  • 2.79, Брат Анон (ok), 10:00, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Рекомендую тебе неуловимого Джо.
    формула старше, чем этот косячный мир бай дизайн: хочешь сделать хорошо -- сделай сам.
     
     
  • 3.129, keydon (ok), 19:26, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Рекомендую тебе неуловимого Джо.
    > формула старше, чем этот косячный мир бай дизайн: хочешь сделать хорошо --
    > сделай сам.

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

     
     
  • 4.153, Брат Анон (ok), 11:34, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Тоже к этому пришёл. Останавливает необходимость собеседников в андройд клиенте, а я
    > клепать на него категорически не собираюсь.

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

     
     
  • 5.176, Аноним (-), 07:53, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Его роскомнадзор забанит через 15 минут. И будет он иноагентом.
     
     
  • 6.186, Брат Анон (ok), 09:45, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Его роскомнадзор забанит через 15 минут. И будет он иноагентом.

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

     
     
  • 7.189, Аноним (-), 09:53, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Получив 20 баксов от американской корпорации он в этом списке застрянет на три поколения.
     
     
  • 8.216, Брат Анон (ok), 09:13, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты плохо думаешь о Роскомнадзоре Руководитель этой организации получает пяток л... текст свёрнут, показать
     
     
  • 9.226, Аноним (-), 10:18, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я думаю что роскомнадзору лично я могу занести только дырку от бублика Я не ори... текст свёрнут, показать
     
  • 2.143, Аноним (143), 10:51, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >хипстерские мессенджеры зло

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

     

  • 1.4, Аноним (10), 23:22, 15/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    В очередной раз неуправляемые языки показали все свои недостатки
     
     
  • 2.29, Аноним (33), 00:32, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    О, знаю я такие управляемые языки. NodeJS и npn. Python и pip. Не волнуйся, Rust и карго ждёт то-же самое. А может и нет, всё равно ничего на rust нету. Одно блаблабла
     
     
  • 3.51, Аноним (51), 02:58, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Растаманы уже заваливали FF, тупо перепутав больше-меньше при ручной валидации индекса массива.
     
  • 3.150, anonymous (??), 11:21, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нашли что с чем сравнивать. Python и NodeJS наоборот давили на не строгость, динамичность, мягкость и высокий уровень абстрагирования. Rust же -- самый строгий язык, из всех, что я знаю на практике. Он давит лишь на валилируемость кода.
     
     
  • 4.177, Аноним (-), 07:57, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    О строгости раста можно прочитать прямо в их документации на unsafe. Там весьма занимательное чтиво, а без unsafe далеко не уедешь. Впрочем для ценителей - есть и вариант этого на растишке. Он урезаный в возможностях и вечно отстает, потому что прогать на этих закорючках - не на форуме трындеть, так что им мало что пользуется. Но если надо - есть. Есть даже на хаскеле, но это для самых стойких.
     
  • 2.31, Аноним (31), 00:34, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Об особенностях макросов написано в первом параграфе документации про макросы, если люди не читают документацию они и по управляемым языкам не будут читать и будут делать ошибки как в соседней теме про выполнение кода из java логов.
     
     
  • 3.36, Аноним (33), 00:40, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ты что? какая документация? не надо никакие параграфы читать, там многа страшных букаф. Может переполнение случится. Надо просто писать на rust, а там можно ничего не читать. Именно поэтому у нас до сих пор ничего не работает. Но нам и не надо. Главное кричать мантру про rust и терпеливо ждать. А ведь всем известно, кто верит и ждёт - всегда дождётся. Вопрос чего....
     
  • 2.45, Ordu (ok), 01:54, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Я считаю, что здесь проявилась не столько проблема неуправляемости, сколько проблема невменяемости того, что сишники называют макросами.
     
     
  • 3.67, Аноним (67), 04:34, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Справедливости ради - макросы в таком виде (текстовая замена в препроцессоре) идут с (макро)ассемблера.
     
     
  • 4.90, Sw00p aka Jerom (?), 11:26, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    тут проблема даже не с макросами, а в банальной арифметике
     
     
  • 5.151, anonymous (??), 11:26, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Внезапно, человек иногда допускает ошибки. Нет ни одного человека, который не допускал бы ошибки (даже арифметические). Поэтому важно перепроверить за человеком всё ли обладает самосогласованностью (очень желательно ДО запуска приложения).
     
     
  • 6.157, Sw00p aka Jerom (?), 16:03, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Внезапно, человек иногда допускает ошибки. Нет ни одного человека, который не допускал
    > бы ошибки (даже арифметические). Поэтому важно перепроверить за человеком всё ли
    > обладает самосогласованностью (очень желательно ДО запуска приложения).

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


     
  • 5.178, Аноним (-), 08:05, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > тут проблема даже не с макросами, а в банальной арифметике

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

     
  • 4.101, Аноним (101), 13:13, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Справедливости ради - макросы в таком виде (текстовая замена в препроцессоре) идут с (макро)ассемблера.

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


     
     
  • 5.179, Аноним (-), 08:26, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Програмить на макроассемблере желающих так то тоже сильно меньше.
     
     
  • 6.203, анонн (ok), 14:38, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> <(исторически) хорошее решение для намного более простого языка - может, внезапно, оказаться граблегенератором для более сложных>  
    > Програмить на макроассемблере желающих так то тоже сильно меньше.

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

     
     
  • 7.215, Аноним (-), 08:07, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сам топи урановые ломы в ртути!
     

  • 1.5, Анонн (?), 23:23, 15/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Даже немного смешно, что проект в таким пафосным описанием "...aimed at making security and privacy..." была допущена настолько банальная ошибка. И прожила она в нем с 5 июня 2017 (0.1.9) до 7 декабря 2021 (0.2.12). Еще чуть-чуть и пошла бы в первый класс.
    А результат - удаленное выполнение кода как результат. Просто прелестно.
     
     
  • 2.50, Аноньимъ (ok), 02:57, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, жесть полная.
     
  • 2.58, penetrator (?), 03:13, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    RCE не подтверждено, оно допускается, но не доказано.
     
  • 2.70, Fracta1L (ok), 07:39, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Ибо нечего связываться с дырявой сишкой, когда делаешь что-то секурное
     
     
  • 3.83, lombock (?), 10:33, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ..., а нужно связываться с?...
     
     
  • 4.136, 0xd34df00d (??), 05:14, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С идрисом или с агдой.

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

     
     
  • 5.180, Аноним (-), 08:57, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А там есть и хаскел и раст. Только они как неуловимый джо, их все рекламировать горазды, но прогармит на этом все-таки пусть кто-нибудь другой :)
     
     
  • 6.193, 0xd34df00d (??), 10:33, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я на одном из них програмлю. Зачем кто-то другой, когда самому приятно?
     
     
  • 7.196, Аноним (-), 12:06, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Я на одном из них програмлю. Зачем кто-то другой, когда самому приятно?

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

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

     
  • 3.91, _kp (ok), 11:26, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В каком конкретно месте дыры в Си?
    Дыры у программиста и в чужих библиотеках.

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

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

     
     
  • 4.104, Аноньимъ (ok), 13:39, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С оружием такое дело, есть много людей которые не застрелили себя на смерть, много таких что максимум прострелили себе ногу, и ещё больше таких которые вообще не калечились оружием никак.
    В отличии от сишечки, на которой вы не найдёте ни одной популярной программы/библиотеки без 0дней дырени в истории.
     
     
  • 5.125, Michael Shigorin (ok), 18:19, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    (спокойно так) А если найду?
     
     
  • 6.134, Аноньимъ (ok), 00:18, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > (спокойно так) А если найду?

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

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

     
  • 6.137, Ordu (ok), 07:41, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я присоединяюсь к просьбе выше: найди. Было бы интересно посмотреть. Ну или хотя бы знать, что такой код на C существует.
     
     
  • 7.152, anonymous (??), 11:30, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Всегда можно какую-нибудь маленькую примитивную программу (вроде cat-а) привести в пример. Вряд ли будет интересный ответ :)
     
     
  • 8.156, Аноним (156), 15:51, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Можно, но это чистой воды чит будет, а не серьезный ответ Причём, это будет пон... текст свёрнут, показать
     
  • 8.169, Ordu (ok), 01:26, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А в cat не было багов ... текст свёрнут, показать
     
     
  • 9.190, Аноним (-), 10:00, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У него и опций уже с десяток А баги не только сишники делают, log4j подтвердит ... текст свёрнут, показать
     
     
  • 10.194, Ordu (ok), 10:38, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Дык ты можешь привести пример сишной популярной программы библиотеки без 0дней ... большой текст свёрнут, показать
     
     
  • 11.197, Аноним (-), 12:18, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так сходу - нет, потому что не задавался вопросом А примеры популярных программ... большой текст свёрнут, показать
     
     
  • 12.202, Ordu (ok), 13:36, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я задавался Не искал, но задавался И я не видел ни одной не дырявой Ну да, ... большой текст свёрнут, показать
     
     
  • 13.218, Аноним (-), 13:02, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А на каком ассортименте это вообще изучалось И как с другими сравнивалось И ещ... большой текст свёрнут, показать
     
     
  • 14.224, Ordu (ok), 17:26, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Когда я читаю вот то, что ты пишешь, у меня складывается ощущение, что ты хочешь... текст свёрнут, показать
     
     
  • 15.227, Аноним (-), 10:21, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Как тебе сказать В расте есть интересные идеи Но хайпожорское сообщество выезж... текст свёрнут, показать
     
     
  • 16.232, Ordu (ok), 13:47, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кои ты, судя по твоим словам выше, не понял от слова совсем Мне непонятна эта ф... большой текст свёрнут, показать
     
  • 5.181, Аноним (-), 08:59, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > В отличии от сишечки, на которой вы не найдёте ни одной популярной программы/библиотеки
    > без 0дней дырени в истории.

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

     
     
  • 6.206, Аноньимъ (ok), 19:26, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Много людей регулярно всю жизнь использует огнестрельное оружие и умирает при этом от старости, а не случайного выстрела себе в голову.
     
     
  • 7.219, Аноним (-), 13:29, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Много людей регулярно всю жизнь использует огнестрельное оружие и умирает при этом
    > от старости, а не случайного выстрела себе в голову.

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

     
  • 2.73, keydon (ok), 07:54, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, в другом то софте такого не бывает, например heartbleed в openssl которым пользовались чуть меньше чем весь мир. В прошивках роутеров и винде это вообще норма. Чз что ты хочешь от гораздо меньшего проекта с 5 контрибьюторами. Тут же даже альтернатив нет - либо tox, либо matrix, у которого например сайт взламывали.
     
  • 2.89, Аноним (89), 11:18, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Казалось бы, когда получаешь граблями по лбу, ну можно же сделать вывод из произошедшего и выжечь напалмом такие макросы, заменив их константами и/или функциями? Нет, б..ть, скобочки добавили - и так сойдет... О статических анализаторах, ловящих такие ошибки, они тоже не слышали...

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

     
     
  • 3.182, Аноним (-), 09:01, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Они внезапно сделали выводы и научились ставить скобки там где нормальные сишники их всегда и ставили. А вас послушать, так если ножиком порезаться так потом даже палку-копалку страшно брать.
     
  • 2.102, Аноньимъ (ok), 13:35, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Справедливости ради.
    В описании проекта написано:

    >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.

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

     
     
  • 3.120, Аноним (89), 15:06, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тем не менее люди уже этим пользуются, например через тот же qTox, упомянутый в новости.
     
     
  • 4.121, Аноним (89), 15:09, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И, кстати, qTox - официальный клиент, который предлагается для загрузки на https://tox.chat/.
     
     
  • 5.158, Аноним (158), 16:47, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    *: один из тех, о которых разработчики знают. На вики есть ещё целая пачка
     

     ....большая нить свёрнута, показать (34)

  • 1.7, Аноним (9), 23:26, 15/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Это просто превосходно. Нормальные люди этим говном не пользуются. Вместо этого у них есть форк, в котором они всё это дело перепиливают на rust. И избавляются от insecurностей, на которые авторы токса болт забили.
     
     
  • 2.8, Аноним (10), 23:27, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    лучше бы на java/c# перепилили
     
     
  • 3.11, Аноним (9), 23:32, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Зачем? У обоих есть CFFI, и Rust - безопасен и быстр. Смысла нет, кроме как кроссплатформенность. Но для кроссплатформенности можно просто собрать в bit-код LLVM и запустить его поверх GraalVM.
     
     
  • 4.144, Аноним (143), 10:55, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Но для кроссплатформенности можно просто собрать в bit-код LLVM и запустить его поверх GraalVM.

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

     
  • 3.15, Аноним (3), 23:47, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Если затею переписать на ржавчину я ещё могу понять, то затею переписать на managed языки с производительностью хуже питона, нет. Кроме того у них обоих с гуем проблемы. У питона нет проблемы с гуем кстати.
     
     
  • 4.20, Аноним (20), 23:59, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На ржавчине оно никогда не заработает вообще. Ржавая ОС тому доказательство.
     
     
  • 5.35, Аноним (3), 00:39, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Есть ли объективные причины, почему нет? То, что графический софт невозможно написать, это другой разговор, и всё же ситуация лучше чем с го. А так вон гуй даже на php пишут (не спрашивайте зачем).
     
     
  • 6.54, Аноним (51), 03:01, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Есть ли объективные причины, почему нет?
    > графический софт невозможно написать

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

     
     
  • 7.107, _ (??), 13:42, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >>> На ржавчине оно никогда не заработает вообще. Ржавая ОС тому доказательство.
    >> Есть ли объективные причины, почему нет?
    > Хороший мальчик :) сам спросил - сам ответил.

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


     
  • 5.191, Аноним (-), 10:07, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > На ржавчине оно никогда не заработает вообще.

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

     
  • 4.42, Аноним (9), 01:23, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >Кроме того у них обоих с гуем проблемы.

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

     
     
  • 5.44, Аноним (3), 01:46, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Есть, он не кроссплатформа. У жабы хотя бы кроссплатформа. Игры на дотнете тоже шлак, можно любую юнити поделку взять как пример. Больше всего вымораживает, сколько памяти оно потребляет на пустом месте конечно, но тормоза тоже.
     
     
  • 6.99, Аноним (99), 13:05, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Игры на дотнете не шлак. 7 days to die тому пример. Отличная игрушка, хотя памяти действительно есть овердофига.
     
     
  • 7.126, Аноним (3), 19:04, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты кстати знаешь, какая она лагучая даже для 1 игрока? Отличная не отличная это дело десятое, для игры которую 10 лет разрабатывают могло быть и лучше. А вот архитектурные недостатки никуда не денутся уже.
     
  • 6.105, Аноньимъ (ok), 13:41, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он вендорлок, это особенность, а не недостаток.
    Если решили сделать карьеру в шарпе то нужно возлюбить майкрософт и виндовс как себя самого.
     
     
  • 7.192, Аноним (-), 10:09, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Если решили сделать карьеру в шарпе то нужно возлюбить майкрософт и виндовс
    > как себя самого.

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

     
     
  • 8.205, Аноньимъ (ok), 18:34, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Или очень любить Правильно, любить деньги ... текст свёрнут, показать
     
     
  • 9.209, Аноним (-), 06:46, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Деньги можно заработать массой более приятных способов чем копание в том что изр... текст свёрнут, показать
     
  • 8.217, Аноньимъ (ok), 12:30, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На самом деле Не знаю как сейчас, но раньше у МС была шикарная инфраструктура ... текст свёрнут, показать
     
     
  • 9.220, Аноним (-), 13:37, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    И все будет прекрасно Пока MS не выкатит новую версию, не посоветовавшись с вам... текст свёрнут, показать
     
     
  • 10.221, Аноньимъ (ok), 13:44, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что-то я вообще не помню такого Вы фантазируете Не знаю что у вас там получает... большой текст свёрнут, показать
     
     
  • 11.228, Аноним (-), 12:25, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У меня не настолько хорошая фантазия, гражданин евангелист Я видел другие вещи,... большой текст свёрнут, показать
     
     
  • 12.233, Аноньимъ (ok), 14:38, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Инструменты эти были в дотнете всегда Я уже понял, что у вас негативный опыт с ... текст свёрнут, показать
     
     
  • 13.234, Аноним (-), 15:21, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Несколько ликов на моей памяти так и остались жить потому что их никто найти не ... большой текст свёрнут, показать
     
  • 10.223, Аноньимъ (ok), 16:29, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А сколько уже пытаются то задебажить Я могу за 1000 решить проблему за 1-2 нед... текст свёрнут, показать
     
     
  • 11.229, Аноним (-), 12:31, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это несколько раньше было, и, к счастью, я уже совершенно линуксовая рожа, далек... текст свёрнут, показать
     
  • 4.52, Аноньимъ (ok), 03:00, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Шарп по скорости на уровне сипипи. Иногда может и обгонять в зависимости от опций сборки и погоды на марсе.
    На нём успешно хайлоад делают.
     
     
  • 5.60, penetrator (?), 03:19, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    медленней, но смотря что, смотря где, шарп настолько неоднороден, что под моно и коре на винде и линуксе может отличаться в разы в разные стороны, но плюсы обычно все-таки по-быстрее, не сильно, но оптимизированный плюсовый код задроченный под специальные инструкции CPU вообще вне конкуренции

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

     
     
  • 6.195, Аноним (-), 10:53, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У toxcore на вики есть пример бота. Полстраницы тривиального си. Собрать можно минут за 10, потребление ресурсов такое что на домашнем роутере можно ботнет из чатботов запустить. Покажите удельную производительность :)
     
  • 5.66, Аноним (3), 04:11, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хайлоад на чём только не делают. Собственно, так оно и превращается в хайлоад. Я видел какие-то бенчмарки для коре, но то, что сейчас в продакшене до сих пор, ни в какое сравнением с плючами поставить невозможно.
     
     
  • 6.142, Аноньимъ (ok), 09:03, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Хайлоад это когда выполнение задачи упирается в железо, а собственно код пишется таким образом чтобы не создавать ненужных помех и приближаться к теоретической производительности железа...

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

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

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

     
     
  • 7.230, Аноним (-), 12:39, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Между нами, я затрудняюсь себе представить на .нете вон то, сабжевое :). Это было бы бессмысленно и беспощадно имхо.
     
  • 5.164, _kp (ok), 01:09, 18/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только в специальых тестах А в реальных программах, где вычислительная мощь име... большой текст свёрнут, показать
     
  • 3.53, Аноньимъ (ok), 03:01, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Гошка для такого подходит.
     
  • 3.183, Аноним (-), 09:21, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > лучше бы на java/c# перепилили

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

     
  • 2.78, СкажемДружноНа.НеНужно (?), 09:53, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Альтернативу на хрусте пишут картошкины смузибои пускающие слюни на хрусты французских булок и трамвайчиков за соседней границей.
     
     
  • 3.84, lombock (?), 10:37, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    альтернативу на хрустике пишут либо за деньги либо по глупости. потому что секурность в случае хрустика = 0. достаточно лишь:
    1) выяснить кому принадлежит crates.io
    2) и вспомнить как быстро улеглись страсти по модераторской команде.. напомню, там было дело об игнорировании своего же кока. это прям как комми и их спецмагазины для номенклатуры на фоне лозунгов о равноправии
     
     
  • 4.184, Аноним (-), 09:30, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пилят и на расте, и на хаскеле, но медленно и печально. Видимо большинство рекламирующих это добро не пробовало на нем прогать.
     

     ....большая нить свёрнута, показать (37)

  • 1.14, Аноним (33), 23:46, 15/12/2021 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

     ....ответы скрыты (4)

  • 1.19, Аноним (20), 23:58, 15/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Вы тот протокол видели? Там же сплошное смузи. Куда им работа с памятью да ещё в C
     
     
  • 2.25, Аноним (-), 00:24, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нда, когда говорили что си простой язык, они это восприняли как школьники
     
     
  • 3.27, Аноним (33), 00:29, 16/12/2021 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 4.57, Аноньимъ (ok), 03:06, 16/12/2021 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.109, Аноним (158), 13:48, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Он реально простой. Даже чем-то на шелл смахивает. Есть правда куча всяких библиотек (OpenSSL), которые абсолютно невменяемое API предоставляют, похожее на пошаговую загрузку линукса, когда мне всё что нужно было - это зашифровать блок данных. Но большинство POSIX функций компактные и удобно используются.
     
     
  • 4.117, Аноним (-), 14:44, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вот и пример подъехал. наверное хруст не такая уж и плохая идея для любителей компактных функций. си очень сильно упрощает работу с память и стеком, вносит миллиард плюшек и батареек вроде аргументов функций, упаковок, макросов и тд. но вся эта поверхностная вакханалия создает впечатление что это очередной петон или жыэс. нет, это не так
     
  • 2.210, Аноним (-), 06:49, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы тот протокол видели? Там же сплошное смузи. Куда им работа с памятью да ещё в C

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

     

  • 1.21, Sw00p aka Jerom (?), 00:12, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    сразу видно, что программисты чсвешники, которые даже калькулятор не писали, а потом говорят зачем писать калькуляторы и базовые хелловорлды
     
  • 1.22, Аноним (-), 00:18, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > как "length - 1 + 32 * 2 + 24", что приводило к перезаписи данных в стеке,

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

     
     
  • 2.211, Аноним (-), 06:54, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Но подождите, а где же миллиарды пользователей с валгриндами только и ждущие чего
    > бы затестировать ?

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

     

  • 1.32, Зз (?), 00:34, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Блин,да у них каждый UDP-пакет стэк портил, как оно вообще работало?
     
     
  • 2.40, Аноним (33), 01:06, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так у меня оно толком и не работало сколько не пробовал.
     
     
  • 3.63, penetrator (?), 03:30, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    все работало, вообще без проблем (кроме поиска по истории - жутко тупая вещь)

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

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

     
  • 2.212, Аноним (-), 06:58, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Блин,да у них каждый UDP-пакет стэк портил, как оно вообще работало?

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

     

  • 1.46, Аноним (46), 02:08, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Таки походу писать тесты иногда полезно
     
     
  • 2.64, penetrator (?), 03:32, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а в тесте он точно также "протестирует" без скобок

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

     

  • 1.47, Аноним (74), 02:44, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Из-за отсутствия скобок ...

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

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

     
     
  • 2.55, Аноним (51), 03:05, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Это дно какое-то.

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

     
     
  • 3.62, Аноним (74), 03:28, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Почему бы другим не перепутать плюс-минус?

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

     
  • 2.92, Crazy Alex (ok), 11:37, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    SIP в 21-м веке? И у них, блин, хоть где-то описана архитектура?
     
     
  • 3.106, Аноним (74), 13:42, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > SIP в 21-м веке?

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

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

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

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

     
     
  • 4.145, Аноним (143), 11:02, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нужно было брать IAX2 из Астериска. Использует один единственный порт UDP и для сигнализации, и для медиа.
     
     
  • 5.159, Аноним (74), 17:51, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Нужно было брать IAX2 из Астериска.

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

     
  • 3.132, РастоманПитонофил (?), 23:42, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Именно так. Есть лучше? или ты предлагаешь всё в вебню потому что большее не осилил?
     
  • 3.208, Аноним (-), 05:17, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > SIP в 21-м веке? И у них, блин, хоть где-то описана архитектура?

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

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

     
  • 2.98, Аноним (99), 13:04, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну тут нужно именно знать эту особенность чтобы не словить эту ошибку.
    Никто в здравом уме не будет писать y = (x*2); или y = (x + x); Это именно тонкий момент с макросами.
     
     
  • 3.110, Аноним (158), 13:57, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это совсем базовое понимание, что макросы = копипаст в исходники, а не отдельная сущность. Тонкости — это, например, shortcircuit дабы убрать кучу повторяющихся if-error-panic, или цыганские фокусы с namescope дабы юзать одни и те же имена переменных в одной функции, но по факту обращаясь к разным участкам. А скобки в define — это ну прям база. Скажите ещё, что include - это не обычный копипаст объявлений, с которыми потом будет разбираться линковщик
     
  • 3.122, Аноним (74), 17:41, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Никто в здравом уме не будет писать y = (x*2); ...

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

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

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

     
  • 2.123, anonymous (??), 17:41, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как только появится хоть одна полностью децентрализованная и шифрованная альтернатива, так сразу. Почему-то пограммисты предпочитают телеграм боты писать вместо нормального мессенджера.
     
     
  • 3.130, Аноним (130), 22:49, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Голодают
     

  • 1.72, Аноним (72), 07:48, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Есть Jami
     
     
  • 2.80, Брат Анон (ok), 10:03, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Есть неуловимый Джо. И он есть пока он неуловимый. Как только его кто-то поймает -- Джо становится бесполезным и уловимым. Как и твоё не надо.
     
  • 2.87, Аноним (87), 11:02, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Но в репозитории Fedora его нет.
     
     
  • 3.146, Аноним (143), 11:04, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У пользователей Fedora руки не оттуда?
     
     
  • 4.160, Аноним (160), 17:53, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    У нас есть Pidgin.
     
     
  • 5.198, Аноним (-), 12:23, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > У нас есть Pidgin.

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


     

  • 1.77, Аноним (77), 09:52, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не используйте макросы. Если вы думаете, что понимаете их, вы ошибаетесь.
     
     
  • 2.86, Аноним (-), 10:54, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Сори бро, мы макросы понимаем
     
     
  • 3.93, Аноним (93), 11:56, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    малолетки даже не понимают, что прочитали
     
     
  • 4.118, Аноним (-), 14:48, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    малолетки думают что они умнее всех
     

  • 1.85, InuYasha (??), 10:53, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    М-да. Программист сделал ошибку, в интернетах бурления недовольных. Я тоже порой делал ошибки, работал в полусне и засыпал на клавиатуре. На всё желаемое ни сил, ни времени не насрести.
    И посмотрю я, как петон-жаба-раст спасут вас от недоставки скобок, ага. Даже математика третьего класса СОШ не спасёт.
     
     
  • 2.108, Аноньимъ (ok), 13:44, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только Lisp спасёт!
    Я это гарантирую!
     
     
  • 3.199, Аноним (-), 12:25, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Только Lisp спасёт!
    > Я это гарантирую!

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

     
     
  • 4.207, Аноньимъ (ok), 19:36, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    К зимней сессии готовься, угаратель.
     
  • 2.135, ist (?), 01:15, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Программист сделал ошибку" - а других программистов нет? коммиты принимаются без проверки? code review не делается?
     
  • 2.138, Ordu (ok), 07:45, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Программист сделал ошибку, в интернетах бурления недовольных.

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

     

  • 1.88, User_o0 (?), 11:10, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ох ну нашли же, что за кидание на вентилятор? Хоть один проект без дыр? Всё дырявое и точка.
     
     
  • 2.95, Аноним (72), 12:08, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ничего нет хуже смартфонов, а всё остальное, десктопное - около дела. Да, не без греха в коде, но всё же не мобильное изделие.
     
     
  • 3.214, Аноним (-), 07:21, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ничего нет хуже смартфонов, а всё остальное, десктопное - около дела. Да,
    > не без греха в коде, но всё же не мобильное изделие.

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

     

  • 1.96, Аноним (72), 12:12, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У капиталистов ума не хватает финансировать что-то дельное. Энтузиастам чаще всего не комфортно в современном мире IT.
     
  • 1.97, Аноним (99), 13:01, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем тут использовать макрос если можно использовать константу?
     
     
  • 2.111, Аноним (158), 14:04, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Константа - это переменная в памяти, просто компилятор ругается если изменять её. Макрос, лично для меня, в этой ситуации более напрямую выполняет свою функцию - подстановка текста. А константа может и с типами начать проблемы вызывать, или вообще не дай бог скастоваться в непонятно что.
     
     
  • 3.140, n00by (ok), 07:54, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    enum здесь чем плох?
     
     
  • 4.147, Аноним (143), 11:11, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное, и constexpr тоже вариант.
     
     
  • 5.154, n00by (ok), 12:24, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    constexpr это уже Си++. Там и константы вариант:

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

     
     
  • 6.225, Аноним (225), 07:11, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты уверен?
    https://godbolt.org/z/6fe6d6Gvs
     
     
  • 7.235, n00by (ok), 14:16, 08/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Абсолютно. Могли бы сменить версию стандарта, что бы было понятнее, что там на самом деле происходит: ISO C90 forbids array 'store_char' whose size cannot be evaluated (gcc 11.2).
     
  • 4.161, Аноним (74), 17:56, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > enum здесь чем плох?

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

     
     
  • 5.162, n00by (ok), 18:14, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> enum здесь чем плох?
    > Всем, в данном случае!

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

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

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

     
     
  • 6.165, Аноним (74), 04:45, 18/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Покажи код, а я расскажу, почему следует открутить твои @@.
     
     
  • 7.166, n00by (ok), 08:15, 18/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ссылка на код приведена в новости.
     
     
  • 8.167, Аноним (74), 10:03, 18/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так и покажи, как ты enum-ом хочешь переписать эту строчку кода ... текст свёрнут, показать
     
     
  • 9.168, n00by (ok), 11:27, 18/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я хочу Бремя доказательства утверждения всем плох лежит на заявителе ... текст свёрнут, показать
     
     
  • 10.170, Аноним (74), 05:16, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не петляй, не петляй Твоё enum здесь чем плох в контексте обсуждения несё... текст свёрнут, показать
     
     
  • 11.171, n00by (ok), 10:01, 19/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Из попыток объяснить мне, чем плох в данном случае enum, я понял, что тебе не нр... текст свёрнут, показать
     
  • 6.200, Аноним (-), 12:29, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Пару конкретных причин?

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

     
     
  • 7.204, n00by (ok), 14:49, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо.

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

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

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

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

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

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

     
     
  • 8.213, Аноним (-), 07:15, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Скажем так, невидимость штуки в препроцессоре зарубает многие вещи Даже просто ... большой текст свёрнут, показать
     
     
  • 9.222, n00by (ok), 15:31, 24/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В общем случае это верно, но к данному частному не относится В данном случае -W... текст свёрнут, показать
     
     
  • 10.231, Аноним (-), 12:49, 02/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот в именно данном случае да, можно, но обычно люди хотят хоть какой-то унифика... текст свёрнут, показать
     
     
  • 11.236, n00by (ok), 14:48, 08/01/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, единообразие это аргумент С другой стороны кто-то может захотеть вынес... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (20)

  • 1.100, Аноним (99), 13:08, 16/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А если собирать с разными оптимизациями, то компилятор не мог вычислить значение макроса и подставить в код уже его? И результат был бы другим.
     
     
  • 2.114, Аноним (158), 14:29, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Компиляция в Си происходит как минимум четырьмя отдельными программами 1 Макро... большой текст свёрнут, показать
     
     
  • 3.115, Аноним (158), 14:33, 16/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да, ответ на вопрос так и не написал. Макросы просто копипастятся в то место, где вы использовали своё define слово. Т.е. для компилятора один и тот же ABC макрос в двух разных местах будет двумя разными участками кода, БУКВАЛЬНО
     
  • 3.141, n00by (ok), 08:01, 17/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Компиляция в Си происходит как минимум четырьмя отдельными программами.

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

     
  • 2.185, Аноним (-), 09:41, 23/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это вообще препроцессор разбирает. И на приоритете операций случился облом. Задумка была правильная, а вот правильно использовать макросы они научились получив CVE. Эффективный стимул RTFM получился.
     

  • 1.139, n00by (ok), 07:50, 17/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    81.2. Помещайте тело макроса и его аргументы в круглые скобки.

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

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

     
  • 1.172, Аноним (172), 08:00, 20/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В качестве обходного пути защиты можно отключить использование UDP, оставив поддержку TCP.

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру