| |
| 2.3, titt (?), 19:26, 24/10/2026 [^] [^^] [^^^] [ответить]
| +8 +/– |
альтернатива gzip, чтобы сжимать данные веб трафика и тд
| | |
| |
| 3.28, нах. (?), 20:32, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
помню славные времена диалапа, тогда ничего сжимать не надо было и страницы грузились даже на тех соединениях быстрее современного оптимизированного вэба, когда и где свернули не туда?
| | |
| |
| 4.44, Аноним (44), 21:31, 24/10/2026 [^] [^^] [^^^] [ответить]
| +25 +/– |
Не надо сказок, помню я, как они грузились (это когда грузились вообще).
Кстати, gzip-сжатие чуть ли не с появления веба использовалось.
| | |
| 4.142, Ivan_83 (ok), 03:22, 25/10/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ты видимо забыл что модем сам умел аппаратно чего то там сжимать, от чего большие тексты могли пролетать быстрее скорости линка мопеда :)
Зато теперь ты вебкамщице модешь прямо через браузер дикпик показать в действии через вебку в обмен на деньги (тоже через браузер кстати) и то как у себя там крутится :)
И ты же не будешь спорить что видео в браузере лучше чем та масяня и крокмен что мы мотрели через флешплеер плагин :)
| | |
| |
| 5.154, Аноним (154), 13:48, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Масяня, кстати, тоже не то что б летала. Сейчас взял старый (аж 2001 года) SWF с нею, 981 Кб. Исходя из скорости 4 Кб/с (а это ещё оптимистично) — загрузился бы он за 245 с. А ролик порядка 160 с.
| | |
| |
| 6.186, Ivan_83 (ok), 23:08, 25/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не летала, но это была единственная возможность за адекватное время что то посмотреть через инет.
| | |
|
| 5.200, Аноним (200), 01:20, 26/10/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
> видео в браузере лучше чем та масяня
видео-то на ютупах какое-то есть, а масяни нету... разучились делать.
| | |
|
| 4.145, blin_glitor (?), 06:51, 25/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> диалапа, тогда ничего сжимать не надо было
1) MNP5, V42bis - ни о чем не говорит ?
2) сжатие van Jacobson внутри PPP. про SLIP ничего не скажу, не работал с ним.
| | |
| |
| 5.181, Ivan_83 (ok), 21:40, 25/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Jacobson сжимал только IP/TCP заголовки, это даже для диалапа крохи.
Вот V42bis я как то видел в деле, когда выкачивал пачку RFC в текстовом формате, где то х2 скорость была от моего линка.
MNP5 - что то не припоминаю.
| | |
| |
| 6.222, _ (??), 19:47, 26/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
MNP5 - в отличии от V42bis был во всех модемах (ну Ок, был у меня ISA 2400bops - там не было) ...
Или что ты имеешь в виду про "не-припомню" ?
| | |
|
|
| 4.212, Аныным (?), 03:32, 26/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Наглейшее враньё. Быстро грузилось, только если сайт был сверстан максимально аскетично, таблицами на одних заливках и цветных прямых линиях. Родной поддержки векторной графики не было в браузерах ОЧЕНЬ долгое время, поэтому добавление красивостей в растровой графике на сайт в стратегические места было сродни решению задачи о рюкзаке. До сих пор в памяти живо, как на ПК под Win2000 заходил на сайт и бежал к родителям спрашивать разрешения, можно ли в IE включить режим "загружать с картинками".
| | |
|
|
| |
| 3.85, Ivan_83 (ok), 01:18, 25/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ну так к слову им то оно окупилось.
Даже если оно на 1% лучше жмёт при тех же затратах проца это уже весьма заметные деньги на их объёмах отдачи, даже если из этой отдачи считать только текст.
| | |
| |
| 4.157, Аноним (154), 14:01, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Нужно ещё учитывать, что далеко не всё жмётся каждый раз, есть и статические ресурсы, которые можно пожать вообще на максималках.
| | |
|
|
| 2.8, Аноним (8), 19:49, 24/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Brotli q4 имба, заменяет gzip q3 по скорости и качеству сжатия. Там ещё чёт со словарями есть, но уже менее универсально.
| | |
| 2.14, Аноним (14), 20:07, 24/10/2026 [^] [^^] [^^^] [ответить]
| –3 +/– | |
ты браузер-то открой
> accept-encoding gzip, deflate, br, zstd | | |
| |
| 3.23, нах. (?), 20:29, 24/10/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
в браузеры много чо встроено и 90% из этого нигде не используется.
| | |
| |
| 4.74, Аноним (20), 00:14, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Так тебя эксплоит не спросит, если ты не отключил все эти финтифлюшки.
| | |
|
| 3.202, Аноним (200), 01:24, 26/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> все браузеры!
Можно конкретней версию, например, FF, когда в нём сабж появился?
| | |
| |
| |
| 5.218, Аноним (200), 12:33, 26/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Странно, у меня FF 60 - и не знает по факту никакого бротлю. Может, есть разница между "есть в исходниках" и "собрано в бинарник"?
| | |
| |
| 6.230, Аноним (230), 16:05, 27/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Ну зайдите нууу на distrosea.com, например. Там как раз сжатие brotli.
| | |
| 6.232, Аноним (8), 12:38, 29/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Эт не опциональная зависимость, Мань. Хотя по протухшему браузеру уже можно поставить диагноз с 99% точностью.
| | |
|
|
|
|
|
| |
| 2.7, Аноним (7), 19:31, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
В руки программиста попал инструмент, где надо делать самому, а он привык к полу-автовождению.
| | |
| |
| 3.12, Аноним (20), 19:57, 24/10/2026 [^] [^^] [^^^] [ответить]
| +6 +/– |
Увы не нашлось в Google такого уровня программистов как на opennet!
| | |
| |
| 4.34, Аноним (34), 20:35, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Просто на всех "советских программистов с профильным техническим образованием" (как тут любят дуть щеки) не хватит кора дуб даже в гугле.
| | |
| |
| 5.35, Аноним (34), 20:36, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
P.S. Ведь как они утверждают, настоящий программист должен сидеть на старом железе и превозмогать, а современное оборудование годится только для игрушек. (с)
| | |
| |
| 6.39, Аноним (39), 20:55, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
А разве нет?
Чтобы писать код i9 9999900kfc не нужен, голова и руки нужны.
Это чтобы компилить он нужен, но зачем все яйца держать в одной корзине?
| | |
| |
| |
| 8.149, Пыщь (?), 09:22, 25/10/2026 [^] [^^] [^^^] [ответить] | +/– | Ну как, помогли тесты с этим брокколи А ведь они явно там были Тесты это такая... текст свёрнут, показать | | |
|
| 7.70, Аноним (70), 23:21, 24/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да вообще компьютер не нужен. Как на информатике — тетрадка и ручка.
| | |
|
|
|
|
| 3.13, Аноним (13), 20:06, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> В руки программиста попал инструмент, где надо делать самому
Ну он и сделал - очередную CVE.
| | |
| |
| 4.151, Аноним (150), 10:34, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>Ну он и сделал - очередную CVE.
В отличии от тебя, он хоть что то сделал, и оно работает. Ну да, не идеально, а кто может идеально? Думаешь твой ржавый компилятор?
| | |
|
| 3.147, Аноним (147), 07:49, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>а он привык к полу-автовождению
прикол в том, что помимо памяти полно ресурсов и в каких-то случаях их гц закрывает, а в каких-то уже нет, такой же закат солнца вручную, причем хуже, потому что arc на него не напялить
| | |
|
| |
| 3.18, Аноним (18), 20:20, 24/10/2026 [^] [^^] [^^^] [ответить]
| –2 +/– | |
> В проекте, где почти весь код на typescript
... что прекрасно показывает, что одного файла на dыpяxе достаточно чтобы испортить весь проект на любом языке)))
Спасибо что обратили на это внимание!
| | |
| 3.153, Аноним (153), 12:49, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
В списке из новости полно проектов на чистой сишечке. Нехорошо получилось...
| | |
|
| 2.43, Аноним (43), 21:27, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Это ж ты тогда в одном треде про раст vs Cи показал как надо и заюзал знаковый int для длины . Может и здесь ты навайбкодил в brotli?
| | |
| |
| |
| 4.84, Ivan_83 (ok), 01:15, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Рекомендации гугла / хотелки от своих рабов - не истина в последней инстанции.
И хотя там многое правильно написано, я предпочитаю size_t/ssize_t для случаев когда число может быть связано с размером адресуемым в памяти.
int хорош там где как то пофик, типа кода ошибки: 0 нет ошибки, а если не 0 - то чото делаем, плюс там же всегда понятен диапазон значений.
Опять же рекомендации там про кресты, на С оно не всегда 1-в-1 перекладывается не теряя смысл.
| | |
| |
| |
| 6.134, Ivan_83 (ok), 02:53, 25/10/2026 [^] [^^] [^^^] [ответить] | +/– |  По приведённой вами ссылке крестовое месиво и проблема там не в типах а в архите... большой текст свёрнут, показать | | |
| |
| 7.140, Инопланетянин (?), 03:11, 25/10/2026 [^] [^^] [^^^] [ответить]
| –6 +/– | |
> 1. В цикле вызывается ненужная функция, которая чёрти пойми что делает. Как минимум это роняет производительность.
С -O2 вызова не будет.
| | |
|
|
| 5.110, Аноним (13), 02:14, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Рекомендации гугла / хотелки от своих рабов - не истина в последней инстанции.
То ли дело рекомендации опеннетных ванек.
> я предпочитаю size_t/ssize_t
Жаль, что ты не пишешь софт, который юзают миллиарды людей.
> Опять же рекомендации там про кресты
Ну да, signed/unsigned в крестах ведь совсем не такой, как в С.
| | |
| |
| 6.136, Ivan_83 (ok), 02:56, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Даже я точно не знаю где работает тот код который я написал, он же часто под BSD2 лицухой. И по работе я тоже не помню на пересчёт всех организации которые клиенты и тем более не знаю сколько там народу ходит через продукт.
Вы можете и дальше думать что я пишу только в фантазиях для себя любимого :)
| | |
| 6.167, Смузихеб забывший пароль (?), 14:46, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
гугол-не гугол, но( из текста новости )
> вместо кода ошибки возвращала только значения true и false
> что не позволяло вызывающему коду отличить повреждение потока
> от состояния, требующего передачи в функцию дополнительных данных
Это жеж жесть. И числовые и булевы в одну кучу при совершенно разной дальнейшей логике обработки
Итог - "внезапно" хз-какое-поведение вместо ожидаемого
| | |
|
| 5.112, Инопланетянин (?), 02:16, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
> предпочитаю size_t/ssize_t для случаев когда
> число может быть связано с размером адресуемым в памяти.
У них также.
| | |
|
|
| 3.105, laindono (ok), 02:09, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Полагаю это было в том контексте, где конкретный тип не важен. Если вообще было. Ну и я не кодил на сишечке лет 10.
> и здесь ты навайбкодил
Я не пользуюсь аишечкой для написания кода. Мне просто не интересно это.
| | |
| |
| 4.168, Аноним (43), 14:55, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Полагаю это было в том контексте, где конкретный тип не важен.
Неправильно полагаешь, он там был важен.
| | |
| |
| 5.176, laindono (ok), 18:17, 25/10/2026 [^] [^^] [^^^] [ответить]
| –4 +/– |
Может быть. Понятия не имею. Не помню/не знаю, о чём речь.
Но если подумать, то вот пример превосходства строгой типизации над слабой. Попросту не возможно такую ошибку совершить в условиях, когда система типов такое не пропускает.
| | |
|
|
|
| 2.58, Bottle (?), 22:34, 24/10/2026 [^] [^^] [^^^] [ответить]
| +2 +/– |
Есть два типа программ:
1. В которых находят уязвимости.
2. Которыми никто не пользуется.
| | |
| |
| |
| 4.146, КО (?), 06:59, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Ну вот и ответ всем этим ИИ-цунами уязвимостям, просто перепишите на Rust
| | |
|
|
|
| 1.11, Аноним (7), 19:55, 24/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– | |
>Среди затрагиваемых уязвимостью проектов:
Может в "академии" что-то ни то?
>декодировщика формата сжатия данных Brotli
К чему такое обилие "доброхотов" на одну функцию сжатия?
| | |
| 1.17, Аноним (18), 20:16, 24/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –8 +/– |
Уязвимость из-за Out-of-bounds write.
Дыpeнь в файле c/dec/decode.c [1]
И сразу же под ударом десяток проектов, которым хватило глупости использовать эталонную библиотеку на С(ve)-язычке.
Никогда такого не было и вот опять!
1) github.com/google/brotli/commit/da9806362874b9bd4b552a3af360b5d6347beb12)
| | |
| |
| 2.68, Инопланетянин (?), 23:16, 24/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
> И сразу же под ударом десяток проектов, которым хватило глупости использовать эталонную
> библиотеку на С(ve)-язычке.
> Среди затрагиваемых уязвимостью проектов: Node.js, Bun, Envoy, Istio, web-браузеры, прокси-серверы, HTTP-клиенты, HTTP-серверы, архиваторы, прокси-серверы, UEFI-прошивки, просмотрщики JPEG XL, декодирующие контент библиотеки для Python, Ruby, Java, PHP и .NET и связанные с ними зависимости.
Получается один ты умный? Да?
| | |
|
| 1.25, нах. (?), 20:30, 24/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
очередная надо понимать уязвимость эксплуатационная возможность которой только в теории в тепличных условиях
| | |
| |
| 2.75, Аноним (20), 00:18, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Прям как на PHP! Патчить не надо, это ж нужно какую-то бесконечно хитрую и упорную машину для этого использовать, а такой пока не придумали
| | |
|
| |
| 2.31, нах. (?), 20:33, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> надо было на C++ с умными указателями и контейнерами писать
раз надо, то пиши
| | |
|
| 1.29, Твайлайт Спаркл 2 (?), 20:32, 24/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Веб-сервера вряд ли уязвимы, они только сжимают данные, но не разжимают. Как минимум модуль ngx_brotli, хотя всё равно стоит его перекомпилировать…
| | |
| |
| 2.36, Гость (??), 20:37, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
все уже перекомпилировали на прошлой неделе с новыми версиями nginx
| | |
| |
| |
| 4.53, Гость (??), 22:17, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
не важно, при каждом обновлении nginx, модуль нужно собирать снова, а исправления brotli появились ещё раньше
| | |
|
|
| 2.100, penetrator (?), 01:53, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
на сервере может крутиться клиент который интегрируется со сторонним API
очень часто явление, буквально в каждом проекте есть calling внешнего сервиса
| | |
|
| |
| 2.45, Аноним (45), 21:33, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Детские
Всего 50+ лет детине, а проблемы так и остались неисправленные.
Это уже маразм, а не детские проблемы!
| | |
| |
| 3.49, Аноним (15), 21:47, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Это уже маразм
маразм - требовать исправления С, там нечего исправлять, вся ваша боль связана с архитектурой железа!
| | |
|
|
| 1.38, Аноним (38), 20:53, 24/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
По аналогии с комментами под новостью про уязвимость в пхп стало быть надо хоронить все браузеры и большУю часть серверного ПО. Короче закапываем интернет и по-старинке 5 километров в гору зимой через весь город
| | |
| 1.46, Аноним (46), 21:37, 24/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
Посмотрел я этот проблемный файл https://github.com/google/brotli/blob/master/c/dec/decode.c
Ничего сильно необычного нет. Правда, несколько напрягяют выражения
*repeat += repeat_delta + 3U;
++h->code_length_histo[v];
но понять можно, главное чтобы компилятор понял так же как вы.
Стиль тоже, немного странно, что всё делается в switch с обилием fall through, выходы return прямо из case.
В функции ProcessCommandsInternal насчитал 29 goto.
А так - код как код, выделяют кольцевые буферы для данных.
| | |
| |
| 2.47, Аноним (43), 21:43, 24/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
> выходы return прямо из case.
и? что плохого то?
> В функции ProcessCommandsInternal насчитал 29 goto.
Очередной покусанный Дейкстрой борец с архитектурой процессоров?
| | |
| |
| 3.50, Аноним (15), 21:49, 24/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Очередной покусанный Дейкстрой борец с архитектурой процессоров?
железные дровосеки тоже не очень любят бранчи со всякими бранчпредикшенами :)
| | |
| |
| |
| 5.76, Аноним (77), 00:26, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
э-э ... вобщем, вперёд более вероятно чем назад, а если goto назад, то ... вот эта штука и ломается
| | |
| |
| 6.89, Инопланетянин (?), 01:25, 25/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
> э-э ... вобщем, вперёд более вероятно чем назад, а если goto назад,
> то ... вот эта штука и ломается
Зачем ему угадывать в конвеере будет прыжок или нет, если он безусловный и всегда будет?
| | |
| |
| 7.113, Аноним (15), 02:17, 25/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Зачем ему угадывать в конвеере будет прыжок или нет, если он безусловный
> и всегда будет?
goto бранч или не бранч?
| | |
| |
| 8.224, _ (??), 20:03, 26/10/2026 [^] [^^] [^^^] [ответить] | +/– | А return - Не торопись отвечать, ___подумай___ хоть это для тебя и больно Б... текст свёрнут, показать | | |
|
|
|
|
| 4.165, наме (?), 14:22, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Так всё равно же весь свич-кейс превратится в jumptable, где выход из функции и выход из функции в свиче будут в конце
| | |
|
| 3.51, Аноним (46), 21:54, 24/10/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
Как, интересно, отлаживали этот код, там вызовов assert нет. Ну там применяется макрос для отладочного вывода ( BROTLI_DUMP), но это ведь не assert
>> выходы return прямо из case.
>и? что плохого то?
А вот упомянутый вами Дейкстра говорил, у процедуры должен быть один вход и один выход. Почему он так говорил?
| | |
| |
| 4.52, Аноним (43), 22:04, 24/10/2026 [^] [^^] [^^^] [ответить]
| +2 +/– | |
Про единый вход в процедуру - да, согласен. А как их может быть больше одного, если функция в памяти это просто набор подряд идущих инструкций CPU с прологом, кодом и эпилогом и если ты её вызываешь, то просто переводишь регистр StackPointer на адрес функции в памяти? Или он имел ввиду про всякие longjump? Ну это как бы не совсем то - изначально то ты все равно в функцию попадаешь через пролог.
А по поводу единого выхода из процедуры - ну хз почему он так сказал. Наверно потому что он любил лапшу из if/else. А может потому что он был алгоритмистом и ничего сложнее ОС 1960х гг не писал.
| | |
| |
| 5.120, Аноним (15), 02:30, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Ну это как бы не совсем то - изначально то ты все равно в функцию попадаешь через пролог.
функция это абстракция, для ЦПУ программа это плоский набор инструкций.
| | |
| 5.152, RM (ok), 12:39, 25/10/2026 [^] [^^] [^^^] [ответить] | +/– |  так значит вход - пролог функции и поэтому должен быть один А return - это ж э... большой текст свёрнут, показать | | |
| |
| 6.161, Аноним (15), 14:08, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> когда вызываешь функцию
когда такое описываешь, явно указывай архитектуру о которой говоришь.
| | |
| |
| 7.166, RM (ok), 14:30, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
есть хоть одна архитектура из, ну пусть поддеживаемых например netbsd как одной самой портабельных ОС, где не так как я написал?
Не, может на каких брусах и мультиклетах не так, не знаю.
| | |
|
|
|
| 4.56, Инопланетянин (?), 22:32, 24/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> Дейкстра говорил, у процедуры должен быть один вход и один выход. Почему он так говорил?
Он в каком году жил? Поищи код тех времен. Это была типичная лапша из goto. Тут же в одной функции для перехода между состояниями.
| | |
| |
| 5.90, Инопланетянин (?), 01:26, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Скорее всего тесты для каждой функции, в лучшем случае, в худьшем тестовый
> набор который написали руками.
> И assert отладке не очень помогает. Он как то работает только у
> разраба на машине...
> https://github.com/rozhuk-im/liblcb/blob/master/include/math/big_num.h#L142
> Вот такие макросы намного удобнее, они тебе сразу вываливают бэктрейс до нужного
> места не роняя прогу - те можно не только под отладчиком
> найти проблему.
И где у тебя там бэктрейс? Это тупо печать source_location
| | |
| |
| 6.107, Ivan_83 (ok), 02:11, 25/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Чтобы понять где там бэктрейс - надо посмотреть как устроен остальной код.
Но даже если бы бэктрейса не возникало, знать место ошибки без падения программы сильно приятнее.
| | |
| |
| 7.114, Аноним (13), 02:18, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> И где у тебя там бэктрейс? Это тупо печать source_location
> Чтобы понять где там бэктрейс - надо посмотреть как устроен остальной код.
Иди почитай, что такое бэктрейс - и больше не ляпай умных слов, смысла которых не понимаешь.
| | |
|
|
|
| 4.118, Аноним (15), 02:27, 25/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А вот упомянутый вами Дейкстра говорил, у процедуры должен быть один вход
> и один выход. Почему он так говорил?
в паскале у процедур нет выхода :)
| | |
|
|
| 2.82, Ivan_83 (ok), 01:04, 25/10/2026 [^] [^^] [^^^] [ответить] | +1 +/– |  Префиксный инкремент - да, на С вне выражения смотрится тупо, артефакт от кресто... большой текст свёрнут, показать | | |
| |
| |
| 4.95, Ivan_83 (ok), 01:42, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Потому что такой код неизбежно потратит чьё то время и деньги, а раз автор до сих пор не усвоил что так делать не стоит, то ему требуется другой вид стимуляции для улучшения обучения :)
| | |
| |
| 5.97, Инопланетянин (?), 01:47, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Потому что такой код неизбежно потратит чьё то время и деньги, а
> раз автор до сих пор не усвоил что так делать не
> стоит, то ему требуется другой вид стимуляции для улучшения обучения :)
Завести issue, сделать pr? Да ну, бред какой-то.
| | |
| |
| 6.102, Ivan_83 (ok), 01:57, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Учитывая объём кода и предполагаемый объём переделок - проще завести сразу отдельный репозиторий и сделать реализацию алгоритма с нуля, по мотивам оригинала.
Я уже приходил с PR на 1-10-50-80% объёма кода проекта и часто это заканчивалось просьбой или отвалить или принести в виде серии однострочных понятных патчей.
И с другой стороны я тоже был если что, и тоже не просто такое отревьювить и принять.
Конкретно в этом проекте я лично не заинтересован и туда ничего не понесу.
| | |
|
|
|
| 3.93, Инопланетянин (?), 01:39, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Ещё там очень длинные слова в названиях везде, это и смотрится и
> читается плохо.
Держите сишника-любителя уплс названий. Чтся плх, а вт strcpy, strncpy, strcspn и др чтся грзд лчш.
> За BROTLI_FALSE - я бы точно бил молотком по голове.
А может доку сначала бы открыл https://brotli.org/types.html
> Можно предположить по стилю что писал разраб который пишет в основном на
> крестах и под венду, а ещё вероятно английский не его родной
> язык. Учитывая обилие int он ещё и не очень опытный.
> И да, столько int вместо size_t/ssize_t - вероятно мы ещё увидим новости
> про эту реализацию :)
В каких местах тебя int не устроил?
| | |
| |
| 4.101, Ivan_83 (ok), 01:53, 25/10/2026 [^] [^^] [^^^] [ответить] | –2 +/– |  Любитель у нас вы и автор того бротли кода Откройте фрю, линукс и просто POSIX ... большой текст свёрнут, показать | | |
| |
| |
| |
| 7.127, Аноним (13), 02:40, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> unix way это писать код так чтобы он читался как книга
Ты серьезно? Вот эта вся дичь с cp mv tar xvcf pwd - это "как книга"? Да это буквально эталонный пример того, как делать не нужно.
> шириной 80-сколько то там символов.
Это все еще стандартная ширина для большинства современного кода, которая вообще не требует всякой юниксовой дичи с именами в 2-5 символов. Если ты, гений, не пишешь все в одну строку.
| | |
| |
| 8.135, Норм (?), 02:53, 25/10/2026 [^] [^^] [^^^] [ответить] | +/– | Вам cp и mv не очевидны без словаря Я понимаю там тар - кваквашка Но cp и mv ... текст свёрнут, показать | | |
| |
| 9.162, Аноним (15), 14:12, 25/10/2026 [^] [^^] [^^^] [ответить] | –2 +/– | до вас прогресс с автокомплитом еще не дошел Команды надо выбирать из списка н... текст свёрнут, показать | | |
|
| 8.139, Ivan_83 (ok), 03:07, 25/10/2026 [^] [^^] [^^^] [ответить] | +/– |  cp и mv и прочие консольные классические утилиты - вполне Флаги для tar - согла... большой текст свёрнут, показать | | |
|
|
| 6.132, Норм (?), 02:49, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Если int значит он уверен, что хватит его.
Ахаха! Главное верить! Вера и увереность у кодера есть, и это главное.
| | |
| |
| 7.209, Инопланетянин (?), 02:10, 26/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> Если int значит он уверен, что хватит его.
> Ахаха! Главное верить! Вера и увереность у кодера есть, и это главное.
Безусловно. Если ты не уверен в своем коде, то про других и говорить нечего.
| | |
|
|
|
|
|
|
| |
| 2.71, LaunchWiskey (ok), 23:22, 24/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– |
Спокойно, сейчас найдут теоретическую уязвимость в HTTPS и европейские госсайты в целях безопасности откатятся на HTTP.
| | |
| 2.87, Ivan_83 (ok), 01:21, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Оно никак не связано, бротли на уровне транспорта работает.
Вам надо в новость про пхп было это писать.
| | |
|
| 1.59, Какойто Какойтович (?), 22:36, 24/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Слишком много крику для логической уязвимости, которую ещё и эксплуатировать нельзя. Волнует другое, чем занимались разработчики с февраля, когда бага была найдена, по октябрь.
| | |
| 1.62, Инопланетянин (?), 22:40, 24/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– | |
> может использоваться для удалённого выполнения кода при атаке на проекты
Эксплойт есть или опять теория?
| | |
| |
| |
| 3.205, Инопланетянин (?), 01:37, 26/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>> создан прототип эксплоита, позволивший удалённо выполнить код
А дальше текст специально пропускаем?
> В этот же день был создан прототип эксплоита, позволивший удалённо выполнить код в лабораторных условиях, при использовании нестандартных сборок (в стандартных сборках происходило аварийное завершение).
Как rce есть, но фиг ты его запустишь.
| | |
|
|
| 1.73, Аноним (73), 00:07, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– | |
>Но так как выделенный буфер не был рассчитан на дополнительно прочитанные данные, они записывались в область за его пределами, в которой хранилось внутреннее состояние декодировщика.
Коротко о том, зачем нужны зависимые типы.
| | |
| |
| 2.80, Ivan_83 (ok), 00:42, 25/10/2026 [^] [^^] [^^^] [ответить]
| –6 +/– |
Не нужны.
Считать надо было правильно и всё.
И проверять размеры того куда пишешь.
| | |
| |
| 3.94, Инопланетянин (?), 01:42, 25/10/2026 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Не нужны.
> Считать надо было правильно и всё.
> И проверять размеры того куда пишешь.
Ахаха.
Типикал сишник до уязвимости:
- Все нормально, нужно нормально писать просто. Проверки как в расте не нужны - они тормозят.
После уязвимости:
- Считать надо было правильно и всё. И проверять размеры того куда пишешь.
| | |
| |
| 4.103, Ivan_83 (ok), 02:03, 25/10/2026 [^] [^^] [^^^] [ответить]
| –3 +/– |
Достаточно того что ваш раст не читабелен и не встраивается так же легко и понятно как С либы куда угодно, так же он предотвращает только несколько типов ошибок но далеко не все. Бонусом он привносит тяжёлый рантайм и тяжёлую и бесполезную компиляцию, и насколько я понимаю, в таких случаях он "безопасно" крашит прогу.
Потому оно ни разу не интересно, теоритизируйте дальше в уголочке.
| | |
| |
| 5.116, Аноним (13), 02:24, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Достаточно того что ваш раст
Наркоман что ли? Где ты упоминания Раста увидел?
| | |
| |
| 6.144, Ivan_83 (ok), 03:29, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Хорошо, давай заменим раст скажем на вижалбейсик. От этого только читабельность изменится.
| | |
|
| 5.117, Инопланетянин (?), 02:24, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Достаточно того что ваш раст не читабелен и не встраивается так же
> легко и понятно как С либы куда угодно, так же он
> предотвращает только несколько типов ошибок но далеко не все. Бонусом он
> привносит тяжёлый рантайм
Ну вон в dropbox переписали brotli на раст (без std) с си интерефесом наружу.
| | |
| 5.137, Норм (?), 02:57, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
В расте нет рантайма.
Про читабельность вы не правы.
Хотя соглашусь что сипипи подобный синтаксис ошибка (не только раста).
| | |
| |
| 6.182, Ivan_83 (ok), 21:45, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
С - читабелен сам по себе, там ключевых слов совсем мало.
Но дальше зависит от автора, бывает и на С код который трудно читать, как из за запутанности логики так и из за кучи собственных функций и макросов.
Мне как то приносили аналог atoi() на С, так вот трудно было понять как он работает у автора :)
| | |
| |
| 7.214, Аноним (213), 08:31, 26/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> С - читабелен сам по себе, там ключевых слов совсем мало.
Программа не из одних ключевых слов состоит.
В сишке как начнётся магия с указателями (а она начнётся), то он становится похож на Brainfuck.
| | |
|
|
|
| 4.169, Аноним (169), 14:55, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
>Типикал сишник до уязвимости:
>- Все нормально, нужно нормально писать просто. Проверки как в расте не нужны - они тормозят.
>После уязвимости:
>- Считать надо было правильно и всё. И проверять размеры того куда пишешь.
Собственно, так и рассуждали програмисты Гугля, когда кодировали Бротли.
Там в комментариях сказано в функции записи в кольцевой буфер, что проверять есть ли достаточно места должна вызывающая сторона. Ну, видимо,неправильно проверили где-то в каком-то месте при вызове. Но такие ошибки надо ловить тестированием. А тут, видимо, или недостаточно тестирование провели, или редкое сочетание.
| | |
| |
| |
| |
| 7.187, Ivan_83 (ok), 23:20, 25/10/2026 [^] [^^] [^^^] [ответить] | +/– |  Можешь посмотреть мой гитхуб чтобы понять как бы примерно я сделал Конкретнее я... большой текст свёрнут, показать | | |
|
|
|
|
| 3.98, Сисишник (?), 01:48, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
У нейронок ограниченное внимание, такие ошибки неизбежно будут возникать, если пытаться вручную память выделять и чистить
Я про мясные очевидно
| | |
| 3.130, Аноним (13), 02:47, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Считать
> проверять размеры
За более чем 50 лет сишники не научились ни тому, ни другому. Так что да, зависимые типы нужны.
> Считать надо было правильно и всё.
Классическое "чтобы не было ошибок - не делайте ошибки". Мля, как же никто до тебя не додумался до такого эффективного решения?
| | |
| |
| 4.141, Ivan_83 (ok), 03:18, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Вы спорите сами с собой.
Я лично стараюсь везде где можно+имеет смысл добавлять проверки размера.
Я передаю вместе с указателем следующим параметром размер области на которую он сслыается чтобы проверять внутри функции.
Я возвращаю из функции размер записанных в буфер данных.
Я не использую str* функции почти никогда за пределами константных строк.
Вот примерно про такие правила кодинга на С я писал.
Про считать правильно - да, из разряда делай хорошо, но тут и в других языках накосячить можно, да и не только в языках но и ракету/спутнег уронить :)
| | |
|
|
| 2.126, Инопланетянин (?), 02:37, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
>>Но так как выделенный буфер не был рассчитан на дополнительно прочитанные данные, они записывались в область за его пределами, в которой хранилось внутреннее состояние декодировщика.
> Коротко о том, зачем нужны зависимые типы.
Было бы интересно посмотреть на код бротли на яп с их поддержкой. Но вряд ли это будет дешево с поддержкой.
| | |
|
| 1.79, Ivan_83 (ok), 00:41, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ну вот, ура, очередная новость о том как страшно жить!
У меня прям ломка с утра, думал ещё про пхп будет, а тут даже лучше!!!
Ждём на след неделе ещё более страшные новости!
А пока давай карту в красных тонах с избыточной смертностью от новой уязвимости по миру!
PS: изначально не понимал нафик оно сдалось и отключал бротлю везде где была такая возможность. zlib/zstd вполне хватает для потокового не напряжного сжатия.
Где требуется суперсжатие надо смотреть уже не потоковые версии, а такие чтобы один раз запаковал и потом раздаёшь себе архив.
Насчёт списка - надо понимать что не везде оно активно, те проект с либой может и собран но дойти до эксплуатации может и не выйти.
Прикольно то что в OpenSSH тоже не стали торопится и внедрять модную бротлю в добавок к zlib.
| | |
| |
| 2.96, Инопланетянин (?), 01:44, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
> Ну вот, ура, очередная новость о том как страшно жить!
> У меня прям ломка с утра, думал ещё про пхп будет, а
> тут даже лучше!!!
> Ждём на след неделе ещё более страшные новости!
> А пока давай карту в красных тонах с избыточной смертностью от новой
> уязвимости по миру!
> PS: изначально не понимал нафик оно сдалось и отключал бротлю везде где
> была такая возможность. zlib/zstd вполне хватает для потокового не напряжного сжатия.
Ахаха
CVE-2026-22184
CVE-2026-85091
CVE-2024-11477
| | |
| |
| 3.104, Ivan_83 (ok), 02:06, 25/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
И?
Меня конкретно бротля напрягала своей долгой сборкой, насколько помню.
Плюс zlib у меня есть в системе, а бротля +1 зависимость которая делает тоже самое, может даже капельку лучше, но в моих условиях разницы нет.
| | |
|
| 2.99, Сисишник (?), 01:52, 25/10/2026 [^] [^^] [^^^] [ответить]
| –1 +/– | |
>изначально не понимал нафик оно сдалось
А как иначе в такую кучу софта бекдоров насувать?
| | |
| 2.160, Аноним (160), 14:05, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Прикольно то что в OpenSSH тоже не стали торопится и внедрять модную бротлю в добавок к zlib.
Наверное потому, что brotli создавался для эффективного сжатия веб трафика? Обожаю местную экспертизу.
| | |
| |
| 3.170, Аноним (169), 14:59, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
>brotli создавался для эффективного сжатия веб трафика
Ничто даром не даётся. Если повысилась скорость декодирования, значит упало качество, то есть надёжность и безопасность. Собственно, этот баг и продемонстрировал
| | |
| 3.219, Аноним (200), 12:49, 26/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> brotli создавался для эффективного
Оно и видно, для какого эффективного создавался сабж.
| | |
|
|
| |
| |
| |
| |
| |
| 6.183, Ivan_83 (ok), 21:51, 25/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– |
> UEFI-прошивки на базе EDK II и UEFITool, сжатые при помощи Brotli
Я не очень понимаю как это вообще затрагивает владельцев компов с UEFI, даже если конкретно у них оно пожато в бротли.
Понятно что там где то есть декодер с ошибкой, но чтобы это проэкплуатировать надо прошить в биос свою прошивку или её кусок.
И после этого получить что? Обход секуребута? - я как владелец могу его и так выключить.
И программатор у меня есть - я могу зашить что угодно и куда угодно...
А для атакующего понадобится условный рут, с ним и без UEFI можно всё необходимое сделать.
| | |
|
|
| 4.210, Инопланетянин (?), 02:16, 26/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> UEFI-прошивки особенно сразу обновятся.
А ты можешь ответить зачем тебе лично EEFI? Я вот отключил.
Проблема основная, когда ломают при удаленном доступе, а если есть физический, то уже другая история.
| | |
| |
| |
| 6.231, Аноним (230), 16:08, 27/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
У меня UEFI вообще нет, но просто смешно читать, как все дружно обновятся. И это мы ещё про чудовищную кучу устройств не вспоминаем, которые обновлений уже никогда не получат, те же андроиды всякие.
| | |
|
|
|
|
| 2.148, Аноним (148), 08:35, 25/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> ну началось...
Начась примерно с момента создания йазычка.
opennet.ru/opennews/art.shtml?num=64498
| | |
| |
| 3.207, Инопланетянин (?), 02:00, 26/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
>> ну началось...
> Начась примерно с момента создания йазычка.
> opennet.ru/opennews/art.shtml?num=64498
В то время написать столько кода малой командой и допустить одну cve, притом сознательно? Ты действительно не понимаешь гения?
| | |
|
|
| 1.156, Аноним (156), 13:59, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Раздували и усложняли стек, теперь получите и распишитесь... Половину интернета надо обновлять для исправления. Еще бы подсчитать затраты на этот процесс и сравнить, сколько от внедрения бротлей этих выиграли по сравнению с использованием zlib.
| | |
| |
| 2.164, Аноним (15), 14:21, 25/10/2026 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> Раздували и усложняли стек
вы что, это же гугель, он плохого не предложит, поэтому надо обмазаться этим всем.
Раньше, что должен делать браузер определял какой-то там консорциум, а щас этот фуфел пихает в хромого все что захочет и вертит всеми.
| | |
| |
| 3.171, Аноним (169), 15:02, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Такое веселье не навсегда. Монополисты всегда, рано или поздно, перестают быть монополистами.
| | |
| |
| 4.175, Аноним (15), 16:31, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Такое веселье не навсегда. Монополисты всегда, рано или поздно, перестают быть монополистами.
рассмешил, монополист давно уже кукловод, создал подконтрольных марионеток и пшик вам в глаза под названием конкуренция :))))
пс: Заруби на носу, двум бандитам всегда выгоднее договариваться, а не конкурировать, ну вот когда решишься перейти дорогу монополисту, либо ляжешь под него добровольно, либо лягут на тебя всем весом.
| | |
|
|
| 2.184, Ivan_83 (ok), 21:59, 25/10/2026 [^] [^^] [^^^] [ответить]
| +/– |
Можно не обновлять а просто отключить бротлю в конфиге и релоаднуть сервис.
И в zlib тоже былвали сходные проблемы.
Думаю гугл и прочие сервисы которые отдают большие объёмы трафик могли на бротле сэкономить вполне заметно больше чем было потрачено на разработку и внедрение.
Маленькие сайты - вряд ли.
| | |
|
| 1.172, Метрика (?), 15:03, 25/10/2026 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Уязвимость в Bun который переписали на "безопасном" расте для безопасности, снимаю шляпу
| | |
| |
| 2.204, Аноним (200), 01:33, 26/10/2026 [^] [^^] [^^^] [ответить]
| +/– | |
> Уязвимость в Bun который переписали на "безопасном" расте
Им же говорили, что на расте только обвязки можно писать... И безопасность обвязки не лучше внутренности.
| | |
|
|