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

Исходное сообщение
"Проект по созданию реализации zlib на языке Rust"

Отправлено opennews , 11-Апр-24 09:06 
Организация ISRG (Internet Security Research Group), которая является учредителем проекта Let's Encrypt и способствует развитию технологий для повышения защищённости интернета, представила проект zlib-rs по созданию защищённого аналога библиотеки сжатия данных zlib. Код zlib-rs написан на языке Rust и распространяется под лицензией Zlib. Разработка ведётся с оглядкой на проект zlib-ng, развивающий высокопроизводительный вариант zlib. Проектом разработаны две библиотеки: zlib-rs с реализаций API  zlib, не использующей unsafe-блоки; libz-rs-sys - надстройка с поддержкой Си API, содержащая код в режиме "unsafe"...

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


Содержание

Сообщения в этом обсуждении
"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 09:06 
С си проектами слинкуется?

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:02 
> libz-rs-sys - надстройка с поддержкой Си API, содержащая код в режиме "unsafe".

"Проект по созданию реализации zlib на языке Rust"
Отправлено Карлос Сношайтилис , 11-Апр-24 10:54 
Для некоторых, новость полностью читать – себя не уважать

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:01 
Долго врубался в эту фразу, посмотрел код, оказался Си-интерфейс к zlib-rs

"Проект по созданию реализации zlib на языке Rust"
Отправлено leap42 , 11-Апр-24 09:14 
лол, зочем вообще тратить силы на zlib? есть же кое-как написанное, вот пусть и используется как легаси себе потихоньку. тогда было непонятно, а сейчас понятно: нужна низкая задержка/высокая скорость кодека/низкие требования к cpu и памяти? - Берём lz4. Для всего остального zstd.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 09:18 
Для PNG например.



"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 21:18 
> Для PNG например.

WEBP lossless


"Проект по созданию реализации zlib на языке Rust"
Отправлено penetrator , 11-Апр-24 10:36 
и для браузера rfc1951 (deflate format)

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 13-Апр-24 23:09 
Есть brotli и zstd

"Проект по созданию реализации zlib на языке Rust"
Отправлено penetrator , 16-Апр-24 18:59 
zstd нет много где на клиенте, а brotli и не на всех серверах из каропки

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:13 
Так как раз удобно начать переписывать на безопасном языке, а оригинал то будет работать и дальше.

"Проект по созданию реализации zlib на языке Rust"
Отправлено jt3k , 12-Апр-24 07:46 
а кто вам сказал что переписанное будет без ошибок?

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:14 
Потому что на ЗЛибу завязано много чего, включая сторонние либы.
И если ее выкинуть, то куча всего поломается.
А у нас и так stable anything is nonsense)

С другой стороны, никто не запрещает тебе взять lz4 и переписать)


"Проект по созданию реализации zlib на языке Rust"
Отправлено Bidon , 12-Апр-24 06:31 
https://github.com/PSeitz/lz4_flex

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 09:16 
А существование библиотек miniz и libdeflate игнорируется?

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:14 
У них есть фатальный недостаток™.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:26 
libdeflate это C 92.0% - т.е та же дыряшка только в профиль
тут можно спростить, а "нафига libdeflate если есть zlib", но я в теоремах Эскобара не очень разбираюсь

miniz слегка получше, тк там используется с++, и возможно какая-то современная версия.
Но проблему, которую хотят решить создатели zlib-rs, он не решает полностью.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 21:13 
Игнорируется в каком контексте? Переписать их на rust? Ну перепиши. Или взять их вместо переписывания libz на rust? А что, они для этого написаны на rust? Или хотя бы не хрен знает кем, используются более чем в 1.5 игрушечных проектах, аудит проводился?

"Проект по созданию реализации zlib на языке Rust"
Отправлено Страдивариус , 11-Апр-24 09:20 
Пишу на rust по работе. Отличный язык. Но не для обычных программ пока что. Запилить микросервис для раскатки в контейнере на кубе - огонь. Но делать на нём апликухи для юзеров - нет. Пока не будет стабильного ABI, пока crate'ы не будут нормально работать shared object'ам без необходимости иметь по 40 различных версий одновременно, пока std::lib не наберёт достаточной мощи, чтобы отказаться от внешних crate'ов с самыми элементарными вещами - не готово для десктопа. Так же ждём захвата популярных crate'ов злоумышленниками с целью внедрения зловредов.

Превращение своего проекта в нечто путём автомагической скачки, не глядя, всех зависимостей и зависимостей их зависимостей, не может в итоге закончиться чем-то кроме помойки (


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 09:26 
> пока crate'ы не будут нормально работать shared object'ам без необходимости иметь по 40 различных версий одновременно

Ахахаха, это реально правда?


"Проект по созданию реализации zlib на языке Rust"
Отправлено ferris , 11-Апр-24 09:47 
Не совсем. Есть поддержка стандартного FFI через C ABI, оно стабильное и с обратной совместимостью. Но на практике работать немного больно, т.к. доступны только примитивы, Box, Option, и ещё пару структур. Но через C ABI это в любом языке так будет.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 20:32 
То есть правда.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Прохожий , 13-Апр-24 09:07 
То есть, не совсем. Это означает, что частично.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Страдивариус , 15-Апр-24 00:23 
> Не совсем. Есть поддержка стандартного FFI через C ABI, оно стабильное и
> с обратной совместимостью. Но на практике работать немного больно, т.к. доступны
> только примитивы, Box, Option, и ещё пару структур. Но через C
> ABI это в любом языке так будет.

Я правильно понимаю, что ты предлагаешь двум нативным рустовым крейтам дружить через сишный FFI? )


"Проект по созданию реализации zlib на языке Rust"
Отправлено Бывалый Смузихлёб , 11-Апр-24 12:49 
как и всё остальное
В общем и целом, сказки примерно те же что с жабой и жс
> Эй, оно же интерпретируемое, оно по определению не может быть дырявым и уязвимым(тм)[для жс. Но годится для обоих]
> Эй, там ведь продвинутое управление памятью и карманный движок того кого надо
> Сам байткод не может исполняться на ЦП, т.е оно в принципе не может содержать дыр
> Ведь он не неограниченно-жирнющий, а его разрабы - не долб**ы(ты)

Но вот теперь и раст ещё и компилируемый, героически спасает от дыр в ЯП где дыр точно так же не должно было быть в принципе
Но зачем ?


"Проект по созданию реализации zlib на языке Rust"
Отправлено Молодой Смузихлёб , 11-Апр-24 20:29 
> Эй, оно же интерпретируемое, оно по определению не может быть дырявым и уязвимым(тм)[для жс. Но годится для обоих]

И в чём они не правы? Чтобы сделать уязвимость на жс это нужно постараться. Практически все движки написаны на С++ и существуют давно, но что-то никто не берётся их переписывать на священную ржавчину.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Бывалый Смузихлёб , 12-Апр-24 11:37 
Большая проблема где угодно начинается с JIT в том виде в котором он есть
Это, вроде бы, даёт и серьёзный прирост производительности, но проблема в том, что при желании можно даже под конкретное число тактов проца совершенно конкретные команды подстраивать( ведь заранее известно каков будет выхлоп по коду )

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Карлос Сношайтилис , 11-Апр-24 09:50 
> пока std::lib не наберёт достаточной мощи, чтобы отказаться от внешних crate'ов

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

> иметь по 40 различных версий одновременно

Это ты про что? Можно пример?

> ждём захвата популярных crate'ов злоумышленниками с целью внедрения зловредов

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено ferris , 11-Апр-24 09:56 
> Это ты про что? Можно пример?

Чел хочет линковать объектные файлы скомпилированные разными версиями раст компилятора, при этом чтобы структуры у него в коде были помечены как `#[repr(Rust)]`. Ну удачи ждать, чо, такое очень не скоро будет, это очевидно.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Карлос Сношайтилис , 12-Апр-24 00:00 
Это?

https://github.com/rust-lang/rust/pull/114201/


"Проект по созданию реализации zlib на языке Rust"
Отправлено Loki13 , 11-Апр-24 09:59 
>От этого вообще непонятно как защищаться. Общая проблема для всех централизованных пакетных репозиториев

Пускать новые версии в _централизованный_ репозиторий только после проверки независимым комитетом? Что-то вроде мейнтейнеров в дистрибутивах, мейнтейнеры репозитория. Тогда, даже если автор сойдет с ума, его диверсия не пройдет дальше его гита.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:49 
Просто никаких авторов не будет и всё.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Анонин , 11-Апр-24 10:52 
> Что-то вроде мейнтейнеров в дистрибутивах, мейнтейнеры репозитория.

А как это решает проблему? Ты начинаешь зависеть от прихоти мейнтейнера.
И от их компетентности, что на верное еще хуже.
Сильно тебе помогли мейнтейнеры в ситуации с xz?


"Проект по созданию реализации zlib на языке Rust"
Отправлено Loki13 , 11-Апр-24 19:03 
> Сильно тебе помогли мейнтейнеры в ситуации с xz?

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 12-Апр-24 00:46 
Единственный ставший известным.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 12-Апр-24 00:59 
> Единственный ставший известным.

доказывай.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Страдивариус , 15-Апр-24 00:28 

>> иметь по 40 различных версий одновременно
> Это ты про что? Можно пример?

Так чё тут примеров искать? Открой свой Cargo.lock файл и посмотри какие там зависимости зафиксированные. Очень удивлюсь, если у тебя не будет ситуевины, когда один и тот же крейт не будет присутствовать несколько раз. Например, у меня reqwest тянет одну версию крейта h2, а actix - другую. И это я ещё вычищаю зоопарк там, где можно подыграть версии крейтов так, чтобы они от одной и той же версии зависимости зависели. Так-то я как-то видел и по 5 версий одного крейта в Cargo.lock.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Карлос Сношайтилис , 15-Апр-24 09:16 
Чел про другое писал, походу.

Но дублирование крейтов тоже имеет место быть. Я бы его расценивал как "необходимое зло". Всё же больше помогает, чем мешает. К тому же аффектит только скорость компиляции.
Если проект большой, то уже приходится обращать на это внимание, да


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:04 
> пока std::lib не наберёт достаточной мощи, чтобы отказаться от внешних crate'ов с самыми элементарными вещами

Ага, в C++ библиотека достаточно мощна, чтобы не использовать внешние либы. А в C так еще мощнее!

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

Лол. Расскажи, как ты устанвливаешь зависимости в проекте на C++?


"Проект по созданию реализации zlib на языке Rust"
Отправлено Маняним , 11-Апр-24 11:17 
> Лол. Расскажи, как ты устанвливаешь зависимости в проекте на C++?

Руками, осознанно - осёл. И тысячу раз думаешь: действительно это тебе нужно или нет? Выбираешь,  проверяешь, решаешь и отвечаешь за зависимости и зависимости зависимостей ты, а не дядя левый, не ИИ.


"Проект по созданию реализации zlib на языке Rust"
Отправлено BeLord , 11-Апр-24 11:51 
Динозавры встречаются чаще, чем подобный подход, к сожалению. Обычный dev c трудом представляет, где его код лежит через полгода и что это код делает, про зависимости я просто молчу-)))

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 16:06 
И кто мешает растовику тысячу раз подумать, включать ли очередной крейт в проект? И проверить эти зависимости и зависимости зависимостей, как в си/плюсах? И после проверки скачать это в локальный репозиторий и проект подключить только на локальный? И, так же как в си/плюсах, в случае обновлений, снова всё перепроверять и перекачивать в локальный репозиторий?

> И тысячу раз думаешь

рассмешил, осел.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Александр , 11-Апр-24 22:51 
В отличие от многих современных языков в C и C++ зависимости - это целая эпопея. Это не строчку прописать в каком-то конфиге. Тут начинаются вопросы о том, как прикрутить. В линуксе с этим несколько проще, так как в роли централизации собственно, сам пакетный менеджер дистра выступает. А на винде тот ещё треш. Не редко в нишевых или не опенсорсных проектах нужные либы вообще в исходниках затягивают к себе в репу, а то и под местную систему сборки. Ещё и падчинг не редкий. Тут хочешь-не хочешь, треть либы само собой освоится

"Проект по созданию реализации zlib на языке Rust"
Отправлено Советский инженер , 12-Апр-24 08:25 
>В отличие от многих современных языков в C и C++ зависимости - это целая эпопея.

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:31 
>Ага, в C++ библиотека достаточно мощна, чтобы не использовать внешние либы. А в C так еще мощнее!

Как будто это не так. GLibc может всё, на что способно ядро плюс ещё дополнительно засчёт комбинации возможностей системных вызовов.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 12:07 
Сколько софта в твоем дистре зависят сугубо от glibc и ни от чего больше?

"Проект по созданию реализации zlib на языке Rust"
Отправлено Советский инженер , 11-Апр-24 12:14 
>Как будто это не так. GLibc может всё, на что способно ядро плюс ещё

так ты это объясни чуваку которому в расте стандартная либа недостаточно мощная


"Проект по созданию реализации zlib на языке Rust"
Отправлено Anony , 11-Апр-24 13:03 
Пакетный менеджер системы, стрононние пакетные менеджеры (conan, vcpkg, xmake и т.д.). Руками можно поставить представь себе. CMake тоже может скачать и настроить проект в качестве зависимости.

Что дальше?


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 13:19 
> Пакетный менеджер системы, стрононние пакетные менеджеры (conan, vcpkg, xmake и т.д.). Руками можно поставить представь себе. CMake тоже может скачать и настроить ...

Ну, вот. Теперь объясни, почему именно с Растом это вдруг стало проблемой.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 14:27 
Единая точка отказа.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Anony , 11-Апр-24 14:46 
>> Пакетный менеджер системы, стрононние пакетные менеджеры (conan, vcpkg, xmake и т.д.). Руками можно поставить представь себе. CMake тоже может скачать и настроить ...
> Ну, вот. Теперь объясни, почему именно с Растом это вдруг стало проблемой.

Для меня не проблема, это как бы растовики сам считают проблемой пакетные менеджеры с++. Хотя я думаю растовики ничего сложнее hello world не писал на плюсах.

Мне на карго как человеку который пишет на С++ как хобби все равно :)


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 16:11 
> Хотя я думаю растовики ничего сложнее hello world не писал на плюсах.

Какие же вы ограниченные. И узнавать что-то, что противоречит вашему маня-мировоззрению, категорически не хотите. Даже жалко вас. Поспрашивай гугловцев, каких "hello world"'ов и сколько у них уже на расте написано. и Их мнения и планы насчет раста.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Anony , 11-Апр-24 16:18 
Первым языком который я изучал как раз был rust. После уже перещел на С++.
Причем тут ограниченность? Причем тут программисты из гугла? Если они хотят избавиться от С++ ну и бог с ними.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Anony , 11-Апр-24 16:23 
Я против раста ничего против не имею. Хороший язык да и пользуюсь терминалом alacritty каждый день.
Меня забавляют растовики которые топят за раст смешивая в одну кучу C и C++. и пишут что чуть ли hello world усыпан UB и течет. И я это замечаю, словно какая-то пропоганда против С++ и С.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Александр , 11-Апр-24 23:05 
> Пакетный менеджер системы

Windows. Если только msys2, но там свои приколы.
> conan

Первой версии был годным. Очень легко прикручивался почти к любой системе сборке. Во второй дичь нагородили. Ещё и bintray убрали. И вот недавно у друга: cmake + Conan + wsl2. Веселились неделю. Ну, то есть на порядок больше телодвижений.
> vcpkg

В принципе, хорош. Но последний раз, когда использовал, пакетов было маловато.
> xmake

На сколько помню, это система сборки. К пакетным менеджерам отношения не имеет.
> CMake тоже может скачать и настроить проект в качестве зависимости.

Особенно, когда зависимости не на CMake. Всё же мир C и C++ известен своим зоопарком симтем сборки


"Проект по созданию реализации zlib на языке Rust"
Отправлено Anony , 12-Апр-24 13:37 
Но cmake может решить зависимости (скачать, подготовить и собрать).

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:46 
>Превращение своего проекта в нечто путём автомагической скачки, не глядя

Да еще и антибезопасно

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:10 
> без необходимости иметь по 40 различных версий одновременно

Каждый решает "ад зависимостей" по своему. Но если возникло 40 версий пакетов в сборке, то явно в зависимостях тухляк, который всё это и тянет.

> Превращение своего проекта в нечто путём автомагической скачки, не глядя, всех зависимостей и зависимостей их зависимостей, не может в итоге закончиться чем-то кроме помойки

И надо исправлять это.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Cykooz , 11-Апр-24 12:00 
> Превращение своего проекта в нечто путём автомагической скачки, не глядя, всех зависимостей и зависимостей их зависимостей, не может в итоге закончиться чем-то кроме помойки (

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

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 12:12 
> Инструментарий раста позволяет просмотреть все зависимости, зафиксировать их версии и чек-суммы

Ты не понимаешь, нужно ВИДЕТЬ111

А если серьезно, этот подход без проблем применяется любом языке с пакетным менеджером, хоть в Python, хоть в Go, хоть в JavaScript. Нюанс в том, что местные воины против Раста ни на одном из них не пишут, и потому из новости в новость обоечены повторять одну и ту же чушь...


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 15:41 
Да никого из корпов не интересует десктоп, напилил сервисов, наклепал веба на реакте, опционально завернул в Электрон. Современные вычислительные мощности позволяют.

"Проект по созданию реализации zlib на языке Rust"
Отправлено laindono , 11-Апр-24 17:12 
А зачем тебе использовать rust-abi разных версий вообще? Лично я знаю лишь один реальный случай, когда динамическая линковка раст в раст через раст в принципе используется. В bevy можно линковать нутро таким способом. Используется оно для ускорения компиляции и только для дебага. В реальном мире ты скорее хочешь либо статическую линковку, либо c-abi.

Жирный std не нужен. Он итак содержит некоторое количество вещей, которых лучше бы там не было по разным причинам (впрочем не критично).

Если у тебя специфические требования к безопасности и нужен аудит зависимостей, то скачиваешь, проверяешь и следишь, чтоб Cargo.lock не менялся. Опять же никто тебе не запрещает всё скачать и в папочку положить, впрочем с этим лучше к психиатру обратиться.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 09:29 
> В качестве причины создания zlib-rs упоминается намерение предоставить вариант zlib, избавленный от потенциальных пробоем, вызванных ошибками при работе с памятью

Но ведь код на расте компилируется компилятором, написанным на C++. Вдруг там ошибки работы с памятью, которые приведут к неправильной компиляции безопасносного кода и вся безопасность пропадет?


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 09:37 
Согласен, пусть сначала llvm перепишут.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 09:59 
> Вдруг там ошибки работы с памятью, которые приведут к неправильной компиляции безопасносного кода и вся безопасность пропадет?

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:21 
На современном C++ тебе ненужно использовать адресную арифметику. Используй std::vector для массивов, используй умные указатели или лучше только ссылки.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:33 
> На современном C++ тебе ненужно использовать адресную арифметику. Используй std::vector для массивов, используй умные указатели или лучше только ссылки.

Действительно, как же инженеры из Google и Microsoft не догадались то такого простого и эффективного решения?


"Проект по созданию реализации zlib на языке Rust"
Отправлено BeLord , 11-Апр-24 11:52 
Каким образом название компании говорит о квалификации конкретного специалиста?-))

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 12:05 
> Каким образом название компании говорит о квалификации конкретного специалиста?-))

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 19:55 
Так инженеры из Google пишут Chrome именно таким образом, а тебя спросить забыли ))

"Проект по созданию реализации zlib на языке Rust"
Отправлено Маняним , 11-Апр-24 11:28 
> Предлагаешь сразу писать на C++, чтобы ошибки работы с памятью были в основной программе?

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Анонии , 11-Апр-24 11:59 
> А ты предлагаешь все свои косяки списать на с++

Из новости:

> По данным компаний Microsoft и Google около 70% уязвимостей вызваны небезопасной работой с памятью.

Что ты об этом думаешь?

Кстати, да, эти 70% - мои личные косяки. Предлагаю списать их на C++, а Раст провозгласить белым и пушистым.

> Клиентам насрать почему утекли данные.

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

> Они утекли из программы написанной на расте

Когда утекли? Из какой программы? Ссылочку можно?


"Проект по созданию реализации zlib на языке Rust"
Отправлено JackONeill , 11-Апр-24 10:16 
Разве компилятор хруста не сам себя компилирует уже давно?

"Проект по созданию реализации zlib на языке Rust"
Отправлено ferris , 11-Апр-24 10:21 
Фронтенд на расте, а бэкенд - нет.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:29 
Если так, то это позор
Потому что каждый, кто пишет свой язык, в первую очередь добивается чтобы этот язык мог скомпилировать сам себя, т.е. написать компилятор на самом себе это такой своеобразный хеллоуворлд для дизайнеров языка

"Проект по созданию реализации zlib на языке Rust"
Отправлено ferris , 11-Апр-24 11:39 
Не позор, а потому что нету смысла. Сейчас много языков компилируют в LLVM-IR: это существенно упрощает разработку компиляторов, и у тебя сразу бесплатно появляется поддержка кучи аппаратных платформ.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:57 
> Не позор, а потому что нету смысла. Сейчас много языков компилируют в
> LLVM-IR: это существенно упрощает разработку компиляторов, и у тебя сразу бесплатно
> появляется поддержка кучи аппаратных платформ.

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


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 13:13 
Отсутствие стандарта не делает язык плохим.
А вот наличие такого овностадарта как у сишки... лучше бы его вообще не было))

Вот тут вам в ваш распрекраснейший "стадарт" еще UB напихали linux.org.ru/forum/development/17495219
То что раньше было ID стало UB

до С23
if new_size is zero, the behavior is implementation defined (null pointer may be returned (in which case the old memory block may or may not be freed), or some non-null pointer may be returned that may not be used to access storage). Such usage is deprecated

в C23
if new_size is zero, the behavior is undefined.

Еще и обратную совместимость сломали.


"Проект по созданию реализации zlib на языке Rust"
Отправлено нах. , 11-Апр-24 13:23 
> Еще и обратную совместимость сломали.

а то у тебя дофига кода которому нужно было ТАК получать null pointer?


"Проект по созданию реализации zlib на языке Rust"
Отправлено нах. , 11-Апр-24 13:22 
> позор, позор. сдох llvm - сдох язык

открытый код не может сдохнуть - байтики никуда не пропадут.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 13:37 
>> позор, позор. сдох llvm - сдох язык
> открытый код не может сдохнуть - байтики никуда не пропадут.

скажи это XFree86.


"Проект по созданию реализации zlib на языке Rust"
Отправлено нах. , 11-Апр-24 14:32 
А что ей сделалось? На том железе и по сей день запустится.

А с llvm в этом плане и еще проще, поскольку он куда меньше зависит от шта6ле нонсенсов.
Как работал так и будет. Добавить новую платформу ты к нему конечно не сможешь, ну так ты и сейчас не сможешь.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 12-Апр-24 00:05 
Сдох LLVM — это как именно? С двенадцатым ударом часов перестанут компилироваться исходники? Ну что ж, печаль, ляжем и умрём все тогда, наверное.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 21:38 
> Если так, то это позор
> Потому что каждый, кто пишет свой язык, в первую очередь добивается чтобы

Позор - опять онанимным Ыкспердам, слашавшим звон.
"Компилятор на самом себе" совершенно не означает, что ты должен еще и переизобрести трансляцию в машкод всех возможных платформ.
Впрочем, ыкспрды ни о том, что байткод для LLVM <-> это "машкод для виртуального процессора" не слышали, ни о "чистом" бэкэнде на ржавом типа crane-lift (ест-но, поддерживающего заметно меньше архитектур), но им некогда - комменты сами себя не напишут ...


"Проект по созданию реализации zlib на языке Rust"
Отправлено Дамир , 11-Апр-24 10:55 
Компилятор раста 1.68 квалицифирован как безопасный для целей ISO 26262 (ASIL D) и IEC 61508 (SIL 4)  https://ferrous-systems.com/ferrocene/

"Проект по созданию реализации zlib на языке Rust"
Отправлено anonymmmeer , 11-Апр-24 12:44 
We plan to work on standards like DO-178C, ISO 21434, and IEC 62278 in the future.

ждём DO-178C, думаю лет за 15 управятся


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 12:58 
Ну так язык молодой, ему меньше 10 лет.
Как раз через 15, будет серьезный уважаемый язык, который используется в ядре и куче других сложных проектов.
А, кстати какие компиляторы СИ и С++ соответствуют этим стандартам?
Если кто-то знает, напишите какие.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 14:12 
> Ну так язык молодой, ему меньше 10 лет.

rust edition 2021 вышел в октябре с версией 1.56.0, ему всего-лишь 3 года!!!


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:01 
> Но ведь код на расте компилируется компилятором, написанным на C++

Код на расте давным-давно компилируется компилятором, написанным на расте. С таким же успехом ты мог бы сказать что код, написанный на сишке (включая ++) компилируется компилятором, написанным на паскале (первая версия gcc была именно на нём написана, https://www.gnu.org/bulletins/bull1.txt пруфом, цитирую:

Although I have a portable C and Pascal compiler, it has a serious drawback: it is a very large program, and intrinsically cannot be made smaller. It is also very hard to bootstrap.

The problem is that most of the compiler is written in Pastel, a super-hairy extended Pascal, and it is also the sole compiler for that language.  To make it smaller, we must eliminate the hair needed to compile Pastel; then we will not be able to compile Pastel, so it must all be rewritten into C.)


"Проект по созданию реализации zlib на языке Rust"
Отправлено ferris , 11-Апр-24 11:17 
Эти утверждения можно было бы засчитать, если бы rustc на выходе генерировал машинный код, а не LLVM-IR. Но пока что для сборки нужен LLVM, а оно, внезапно, написано на плюсах.

"Проект по созданию реализации zlib на языке Rust"
Отправлено Cykooz , 11-Апр-24 12:41 
Из таких соображений можно сказать, что все компиляторы, кроме C, написаны на С, т.к. они используют системные вызовы ядра операционной системы, которая написана на С.

Компилятор раста написан на расте, а не на LLVM-IR или C++. Имея в наличии только LLVM у вас не получится собрать этот компилятор. Значит ваш вывод не верен. Что бы собрать современный компилятор раста, надо иметь уже собранный компилятор раста. Вероятно более старой версии, но тут проблема "яйца и курицы", которая есть у всех языков и каждый решает её как может.

От того, что компилятор генерирует машинный код для виртуальной платформы LLVM, он не перестаёт быть полноценным компилятором. Даже наоборот, он отлично вписывается в Unix-Way. Делает только свою работ - компилировать программы на Rust. А вот что бы эти программы работали на разных аппаратных платформах, то пускай этим занимается LLVM, который специально для этого и сделан.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 13:25 
> Вероятно более старой версии, но тут проблема "яйца и курицы", которая есть у всех языков и каждый решает её как может.

И в самом начале цепочки увидим Ocaml, а не дыряшечку.


"Проект по созданию реализации zlib на языке Rust"
Отправлено Cykooz , 11-Апр-24 13:44 
> И в самом начале цепочки увидим Ocaml, а не дыряшечку.

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

И написал бы в readme, что вначале было "ничего", а потом бог создал бинарник с компилятором раста.


"Проект по созданию реализации zlib на языке Rust"
Отправлено n00by , 11-Апр-24 14:45 
> Из таких соображений можно сказать, что все компиляторы, кроме C, написаны на
> С, т.к. они используют системные вызовы ядра операционной системы, которая написана
> на С.

Довольно опасное заявление. Трансляция - это перевод  исходного текста в целевой машинный код. Для чего достаточно двух областей памяти - входной и выходной буфера. Если где-то там ещё вызываются mmap() или read()/write() - это такая мелочь, о которой странно упоминать.


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 09:51 
Почему я всегда отстаю от жизни? Наверное я никуда не хочу торопится. Я долго писал на асме и паскале, т.к. паскаль в общем случае более строгий и дружественный язык, плюс под паскаль есть божественные IDE типа Delphi, которые соответствуют идеологии RAD. И вот когда я наконец начал изучать плюсы, все пересаживаются на раст.

"Проект по реализации zlib на языке Rust"
Отправлено 12yoexpert , 11-Апр-24 10:16 
только вот никто не пересаживается на раст

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:55 
> только вот никто не пересаживается на раст

Как скажешь.


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 16:39 
Как скажешь, как скажешь... Тебе виднее. Но... тут гугловцы какую-то чушь порют, немного противоречащую твоей Абсолютной Истине:

(конец 2022-го, про раст в Андроид-разработке, кусочек из итогового резюме):

"Migrating away from C/C++ is challenging, but we’re making progress. Rust use is growing in the Android platform, but that’s not the end of the story. To meet the goals of improving security, stability, and quality Android-wide, we need to be able to use Rust anywhere in the codebase that native code is required.
...
As Android migrates away from C/C++ to Java/Kotlin/Rust, we expect the number of memory safety vulnerabilities to continue to fall. Here’s to a future where memory corruption bugs on Android are rare!"

("Переход от C/C++ - сложная задача, но мы добиваемся прогресса. Использование Rust в платформе Android растет, но это еще не конец истории. Чтобы достичь целей повышения безопасности, стабильности и качества Android в целом, мы должны иметь возможность использовать Rust в любом месте кодовой базы, где требуется нативный код.
...
По мере того как Android будет переходить от C/C++ к Java/Kotlin/Rust, мы ожидаем, что количество уязвимостей, связанных с безопасностью памяти, будет продолжать снижаться. За будущее, в котором ошибки повреждения памяти в Android будут редкостью!")


(А тут уже современное время, пару недель назад, Ларс Бергстром (технический директор Google)):

"Rust teams are twice as productive as teams using C++."
("Команды, работающие на Rust, в два раза продуктивнее команд, использующих C++")

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


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 17:11 
> ("Команды, работающие на Rust, в два раза продуктивнее команд, использующих C++")

В 2.0 раза или в 2.1 раза? Может в 2.2? будь в 2.5, они бы сказали "в два с половиной раза". Интересно, значит может быть и 2.4. Только вот непонятно, они бы округлили до 2.5, или в меньшую сторону до 2.0? Господи, а что если в 1.9? >_<


"Проект по реализации zlib на языке Rust"
Отправлено Анон из села Кукуево , 13-Апр-24 09:23 
Знаешь, мне местная секта отрицателей раста напоминает то ли детей из дет.сада, то ли вовку-педофила
И вы, и дети, и вовка-педофил верите, что если вы закроете глаза, то то что вам не нравится исчезнет
Вы отрицаете реальность и хотите жить в своих фантазиях(как и в случае с вовкой для взрослых это признак шизофрении)
А факты таковы, что раст постепенно наступает и те кто не хотят изучать новое рано или поздно останутся наедине со своим ашотом и его принтером, у вас явно закрылось уже окно обучения новому и вы только и способны твердить, что все старое хорошо, а новое плохо
Если честно, то вас даже жалко
Жалкие старички(да, вам 40-50, но вы в башках своих уже дряхлые старики), которые надеются, что если закрыть глаза, то им станет по 18 и х** снова будет стоять

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:09 
Все? Это фантастика.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:25 
К тому моменту, как освоишь плюсы, про раст уже забудут.

"Проект по реализации zlib на языке Rust"
Отправлено нах. , 11-Апр-24 13:06 
Вот это прям жизненная правда получается. За три эона - точно забудут.
(успеет ли он освоить плюсы - не факт, конечно)

"Проект по реализации zlib на языке Rust"
Отправлено BeLord , 11-Апр-24 11:56 
Плюсы последних стандартов не проще раста, более того челу, который писал на плюсах в стиле начала нулевых, для полноценного использования С++ 23, к примеру, придется фактически учить язык с нуля.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 13-Апр-24 23:27 
Бред какой-то пишешь

"Проект по реализации zlib на языке Rust"
Отправлено Ivan7 , 16-Апр-24 21:08 
Никто же не заставляет использовать всё, что есть в стандарте. Там есть разумные и очень полезные вещи, но есть и очень сомнительные. А кроме официального стандарта есть ещё важные дополнения в С++ в компиляторах GCC и Clang. Важно то, что есть самые разные возможности на любой вкус, а что из этого использовать - каждый решает сам, исходя из своей ситуации.

"Проект по реализации zlib на языке Rust"
Отправлено анон , 11-Апр-24 11:56 
Было бы логичным продолжить с языком Ada. Очень похоже на Pascal. Скучаю иногда по нему.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 18:54 
Чего скучать? В gcc есть актуальный компилятор Ада.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 20:53 
И Modula-2 есть для скучающих по Паскалю.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 18:42 
Не думаю, что имея Дельфи, есть смысл лезть в какие-то плюсы. Тогда уж в C#!

"Проект по реализации zlib на языке Rust"
Отправлено 12yoexpert , 11-Апр-24 10:16 
> Код zlib-rs написан на языке Rust

не написан, а переписан


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:40 
Зачем переписывать, если есть vlang и можно транслировать в него? У vlang, кстати, есть некоторые функции безопасности из Rust.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 10:50 
Маркетинг.

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


"Проект по реализации zlib на языке Rust"
Отправлено anonymmmeer , 11-Апр-24 12:47 
можно вообще на Dafny переписать с доказательством корректности.

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


"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 13-Апр-24 09:14 
>причём сомнительных и плохо изученных

В чём конкретно есть сомнения, и как проявляется плохая изученность?

>плюс гора агрессивного маркетинга

А это в чём конкретно проявляется?


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 14-Апр-24 22:51 
> А это в чём конкретно проявляется?

Ну, например доходит до полной ...

Когда новости о двух разных проектах на этом сайте в одну новость запихивают.

То что всем нужно и про недоделанную никем неиспользуемую реализацию аналого на rust.


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:06 
Снова переписывать...

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:07 
https://github.com/memorysafety/zlib-rs/issues/49 как бы намекает, что от проекта пока есть одно название.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:11 
Но хоть CoC написали?

"Проект по реализации zlib на языке Rust"
Отправлено нах. , 11-Апр-24 13:08 
нет, у тебя есть шанс внести свой вклад в ценный проект!
(но readme.md уже таки да!)

"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 14-Апр-24 03:09 
Сделано задач 9 из 36. Как бы уже не только одно название

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:07 
Лишь бы фигнёй страдать: https://docs.rs/deflate

"Проект по реализации zlib на языке Rust"
Отправлено Максим , 11-Апр-24 11:29 
А что, в zlib были какие-то проблемы с утечкой памяти или выходом за границы буфера?

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 11:36 
Прочти новость дальше заголовка...

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 12:36 
Ну и что там? "избавленный от потенциальных проблем" - т.е. от несуществующих проблем. А в программах на расте "потенциальных проблем", конечно же, нет.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 13:22 
> Ну и что там? "избавленный от потенциальных проблем" - т.е. от несуществующих проблем. А в программах на расте "потенциальных проблем", конечно же, нет.

Ты все таки поднатужься еще чуток и дойди до третьего параграфа. Там как раз об уязвимостях в zlib.


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 19:59 
Которых конечно же не будет в версии на Rust, совсем-совсем.

"Проект по реализации zlib на языке Rust"
Отправлено User , 11-Апр-24 11:36 
Просто ОЧЕНЬ сильно удивлюсь, если их там нет :)

"Проект по реализации zlib на языке Rust"
Отправлено BeLord , 11-Апр-24 11:57 
Удивление к делу не пришьешь, добейтесь реальной ситуации, когда память потечет или ошибки появятся, тогда и обсудим.

"Проект по реализации zlib на языке Rust"
Отправлено User , 11-Апр-24 12:06 
> Удивление к делу не пришьешь, добейтесь реальной ситуации, когда память потечет или
> ошибки появятся, тогда и обсудим.

Ставите на то, что это https://www.opennet.dev/opennews/art.shtml?num=56918 последняя была?
Ну ок.


"Проект по реализации zlib на языке Rust"
Отправлено Анонин , 11-Апр-24 12:48 
> когда память потечет или ошибки появятся, тогда и обсудим.

Лол, в смысле "КОГДА"?
CVE-2003-0107
CVE-2004-0797
CVE-2005-2096
CVE-2005-1849
...
CVE-2016-9842

И это только уязвимости.
Думаешь он какой-то особенный?
Не, жлиб был дыряв как и любой сишный код.


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 20:00 
А из прошлого века уязвимости есть?

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 12-Апр-24 01:00 
CVE-2021-3999, которая старше 95 винды подойдёт?

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 13:24 
> добейтесь реальной ситуации, когда память потечет или ошибки появятся, тогда и обсудим.

Чукча не читатель? Третий параграф в новости...


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 20:01 
Только он не отвечает на вопрос. В программах бываю ошибки - спасибо кеэп.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 12-Апр-24 10:48 
>  В программах бываю ошибки - спасибо кеэп.

Так это не просто ошибка.
Это классическая тупая ошибка работы с памятью.
Потому что дыряшечники как не умели в память 40 лет назад, так и сейчас не умеют.
Вот и выпрограммировают бесконечные CVE.


"Проект по реализации zlib на языке Rust"
Отправлено inklesspen , 11-Апр-24 12:40 
> zlib-rs с реализаций API zlib, не использующей unsafe-блоки;

А это что?
`https://github.com/memorysafety/zlib-rs/blob/d61889d4a208e82...

Вот тут
`https://github.com/memorysafety/zlib-rs/blob/d61889d4a208e82...


"Проект по реализации zlib на языке Rust"
Отправлено 12yoexpert , 11-Апр-24 12:52 
получается, переполнения буфера и сегфолты там небезопасны?
https://github.com/Speykious/cve-rs

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 12:57 
Тут opennet.ru/openforum/vsluhforumID3/133278.html#28 уже обсудили))

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


"Проект по реализации zlib на языке Rust"
Отправлено inklesspen , 11-Апр-24 13:14 
там чел не разобрал а заменил одну функцию другой, с другой сигнатурой, соответственно и типы получил другие, соответственно и компилятор начал орать на этот тип
Было &'a u8, ссылка, разрешена к использованию без unsafe
Стало *const u8, запрещена к использованию без unsafe

Я смотрел cve-rs, всё вполне логично и основывается почти всё на этом:
`https://github.com/Speykious/cve-rs/blob/ab0d48fd6e2f30a0cc9...

В transmute, например, создаются ссылки на один участок стека, но разного типа. С одним типом заносим данные, читаем уже другим типом


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 21:55 
> там чел не разобрал а заменил одну функцию другой, с другой сигнатурой,
> соответственно и типы получил другие, соответственно и компилятор начал орать на

А ничего, что там не только "свой" тип null_mut использовался, но и transmute - тоже свой?

И намекает он тебе на обсуждение в гите, где целый консилиум собрали, чтобы  получить настоящий и рабочий "оверфлоу" https://github.com/Speykious/cve-rs/issues/4


"Проект по реализации zlib на языке Rust"
Отправлено Анонин , 11-Апр-24 12:52 
Это вопрос к автору новости/переводчику

У него
"This repository contains 2 public crates
    zlib-rs, a rust implementation of zlib with a safe rust API
    libz-rs-sys, an unsafe C API"

превратился в
"Проектом разработаны две библиотеки: zlib-rs с реализаций API zlib, не использующей unsafe-блоки; libz-rs-sys - надстройка для использования в приложениях на языке Си."


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 13:04 
Вы все не о том рассуждаете. Проекта-то, по большому счёту и нет (кроме названия). Вот цитата со странички, на которую ведёт "главная ссылка к новости":

"We're currently seeking funding to complete work necessary to make the initial implementation"

Оценивать это не буду, чтоб не удалили коммент.


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 14:21 
Лол) Проорал конечно с этого)
Агрессивный маркетинг языка, теперь вот проект, где фигурирует этот язык явно клянчит деньги...
Мда, жаль(нет)

"Проект по реализации zlib на языке Rust"
Отправлено нах. , 11-Апр-24 14:35 
> Лол) Проорал конечно с этого)
> Агрессивный маркетинг языка, теперь вот проект, где фигурирует этот язык явно клянчит
> деньги...

ruffle.rs вон даже и выклянчил. И что? Хватило только на эскопету с кривым стволом, да и к той патронов не найдешь.


"Проект по реализации zlib на языке Rust"
Отправлено Прадед , 15-Апр-24 10:41 
В смысли что, им заплатиле. Или Вы думали там Васян субботним вечером под пивасик решил эту растятину вкурить?

"Проект по реализации zlib на языке Rust"
Отправлено Анон из села Кукуево , 13-Апр-24 10:01 
А помнишь, как в 70ых(а в совке и в 80ых, помню как шизик придумавший ЕЯП строчил во все журналы по теме статьи, что ему нужно всего миллион рублей и он завоюет все славяноязычные страны своим языком) те кто придумывали разные языки агрессивно клянчали деньги?
Или "это другое"?

"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 13-Апр-24 08:38 
Забавно не только это. Забавно то, сколько хейтеров поставили плюсики. Вот оно, счастье. Проект на ненавистном языке не взлетел пока. Разве ж это не повод порадоваться. 🤦

"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 13-Апр-24 08:58 
>Проекта-то, по большому счёту и нет

"Слона-то я и не заметил." (c) Последние правки были 4 дня назад.

>Вот цитата со странички, на которую ведёт "главная ссылка к новости"

А вот цитата из текста новости: "Проект находится в стадии разработки."


"Проект по реализации zlib на языке Rust"
Отправлено Прадед , 15-Апр-24 10:39 
Это они грамотно, а то чего ещё удумале

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 14:06 

//! the tests provide good coverage, the purpose of this fuzzer is to
//! discover memory safety issues in the SIMD implementations.

https://github.com/memorysafety/zlib-rs/blob/main/fuzz/fuzz_...

погодите-ка, какие такие memory safety issues? O_o


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 20:14 
А он мне говорит: "Пейн, я unsafe не вижу". А его и нет...

"Проект по реализации zlib на языке Rust"
Отправлено Tron is Whistling , 11-Апр-24 14:44 
Осталось только понять - зачем оно?

"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 13-Апр-24 08:32 
Очередной писатель, не умеющий читать дальше заголовка?

"Проект по реализации zlib на языке Rust"
Отправлено Tron is Whistling , 13-Апр-24 10:54 
> Очередной писатель, не умеющий читать дальше заголовка?

Спасибо, что представился. Всё ещё сомневаешься?


"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 14-Апр-24 02:59 
Это был риторический вопрос. Всё и так понятно, глядя на твои изначальные недоумения.

"Проект по реализации zlib на языке Rust"
Отправлено Ivan_83 , 11-Апр-24 15:09 
> Например, в 2022 году в zlib было выявлено переполнение буфера при попытке сжатия специально подготовленной последовательности символов, которое позволяло эксплуатировать уязвимость через передачу специально оформленных входящих данных.

Опять в дурке по недосмотру санитары включили инет.
Этому zlib уже лет 25+, и проще раз в 25 лет что то там в нём исправлять чем переписывать.
Я понимаю они бы взяли flash плеер, в котором каждую неделю по 5 зиродеев находили и его переписали, но нет, надо переписать то что проще и что в этом не нуждается.


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 15:31 
> Этому zlib уже лет 25+, и проще раз в 25 лет что то там в нём исправлять чем переписывать.

Хаха, ее уже 25 лет фиксят, и всё никак недофиксят.

И ничего что та конкретная проблема прожила не меньше 4 лет ("патч с исправлением уязвимости был предложен ещё в 2018 году, но разработчики не обратили на него внимания и не выпустили корректирующий выпуск")?
А либа используется дофига где и работает с сторонними данными в том числе.

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

> они бы взяли flash плеер

Так взяли. Ruffle называется. И прекрасно работает в связке с Flashpoint (проект по сохранению флеш наследия).

> надо переписать то что проще

Так ведь проще переписать то что проще, не?

> и что в этом не нуждается.

Еще как нуждается! в ней дырки по 5 лет живут


"Проект по реализации zlib на языке Rust"
Отправлено Ivan_83 , 11-Апр-24 19:04 
Она 25 лет работает без проблем, а всё что там было - мелочи не мешающие никому.


> Ruffle называется.

Ну вот и удачи в этом начинании :)


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 12-Апр-24 10:53 
> Она 25 лет работает без проблем, а всё что там было - мелочи не мешающие никому.

Боже, как же ты клоун...
Куча CVE с denial of service и code execution - это так "мелочи не мешающие никому".
Ты уже расписывал, что у тебя на компе ничего ценного нет. Вот и сиди на дыренях.
Но таких особенных не так уж много, нормальным людям нужно чтобы их комп не ломали после любого чиха.


"Проект по реализации zlib на языке Rust"
Отправлено Ivan_83 , 12-Апр-24 13:34 
У вас как в том анекдоте: "в теории мы миллионеры, а на практике наелись каках".

Вы когда начнёте различать теоритические/фантастические истории от того что реально было использовано и причинило вред?

Нормальным людям пофиг, главное чтобы мобила звонила и котиков/порнуху показывала.
Учитывая что вы считаете нормальными тех у кого компы - от нормы вы очень далеки.


"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 13-Апр-24 08:21 
>что реально было использовано

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

>Нормальным людям пофиг, главное чтобы мобила звонила и котиков/порнуху показывала.

Забавные у тебя представления о нормальности.

>Учитывая что вы считаете нормальными тех у кого компы - от нормы вы очень далеки.

И почему же? Подавляющее число бизнес-пользователей до сих пор сидят за компами.


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 17:01 
Ну Вам нравится сишная версия библиотеки, так пользуйтесь ей! Вам кто-то мешает? Зачем хамить про дурку? Если Вам Раст не нравится - пишите сами новости про сишку!

"Проект по реализации zlib на языке Rust"
Отправлено нах. , 11-Апр-24 17:10 
> Я понимаю они бы взяли flash плеер

Ну, они хотя бы попытались...
Вышло вот как-то так:  https://ruffle.rs/compatibility

И ведь эти еще из лучших...


"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 20:26 
Эмулятор для окончательно сдохшей, давно окоченевшей платформы это как раз подходящая область применения данного языка. И справедливости ради, он даже почти работает.

"Проект по реализации zlib на языке Rust"
Отправлено пох. , 12-Апр-24 09:42 
не сдохшей, а старательно убитой группой лиц по сговору.

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

Если бы он хотя бы "почти работал" ВОВРЕМЯ - наверное флэш никуда бы с сайтов и не делся, просто все заменили бы плагин на эмбеднутую wasm замену.

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


"Проект по реализации zlib на языке Rust"
Отправлено Ivan_83 , 12-Апр-24 13:38 
Насколько я помню историю, адоба купила готовый стартап, а сам флеш начали пилить в конце 90х.

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


"Проект по реализации zlib на языке Rust"
Отправлено нах. , 12-Апр-24 19:50 
> И флеш убили не из за дыр, а скорее потому что это был закрытый стандарт

открытый, прикинь, открытый.
У меня до сих пор где-то лежит пдф с описанием формата. А ты думал, они там крутые хакеры а не просто кодеры-на-безопастном? И было аж две попытки запилить открытый плагин - обе никому не нужны, потому что кривое, косое, глючное и падучее (как всегда в этом вашем опенсорсии если чуть посложнее хеловрота и без денег ibm) было нахрен никому не надо при наличии оригинала.

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

"В конце девяностых" был другой флэш - с action script v1, он нужен разьве что любителям ретроигрушек. (с ним у них, кстати, пошло лучше, и Language: 95% API: 76% - поэтому эскопета и работает... ну дырка в текстурах, подумаешь. Но это немного не совсем тот веб который мне лично хотелось бы сохранить.)


"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 13-Апр-24 08:29 
>не совсем тот веб который мне лично хотелось бы сохранить

И ты лично что-то сделал, чтобы мир внял твоим хотелкам? Например, денег дал кому надо, ну или сам поучаствовал в разработке? Или всё, как обычно, сидим и ноем, ждём у моря погоды?


"Проект по реализации zlib на языке Rust"
Отправлено нах. , 13-Апр-24 17:02 
>>не совсем тот веб который мне лично хотелось бы сохранить
> И ты лично что-то сделал, чтобы мир внял твоим хотелкам? Например, денег
> дал кому надо, ну или сам поучаствовал в разработке? Или всё,

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

> как обычно, сидим и ноем, ждём у моря погоды?

ну ты еще можешь наслаждаться escopeta.swf
(Но учти, тот лесник явно не на охоту ходит.)


"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 14-Апр-24 03:04 
>к счастью

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

>ну ты еще можешь наслаждаться

Да меня этот проект не интересует, от слова совсем.


"Проект по реализации zlib на языке Rust"
Отправлено нах. , 14-Апр-24 15:58 
>>к счастью
> Ты же хотел что-то получить, а теперь не получишь.

я бы и так получил ровно то же самое недоделанное - но стал бы беднее на $500

> Да меня этот проект не интересует, от слова совсем.

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



"Проект по реализации zlib на языке Rust"
Отправлено Прадед , 15-Апр-24 08:34 
Да, мокро-медиа flesh был конфетка

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 17:26 
Радует, что все больше и больше проектов переписывают на безопасные языки

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 18:08 
Ну это да, а вот логические ошибки никто не отменял. Лишь бы у Раст разрабов не было иллюзий...

"Проект по реализации zlib на языке Rust"
Отправлено Анонин , 11-Апр-24 18:23 
Иллюзий нет у всех, кто хоть раз читал растбук.
Так предельно ясно объясняются какие гарантии даются, а какие нет.
Напр. на memory leak гарантий не дается. И на логические ошибки тоже.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 11-Апр-24 20:22 
Тгда проще санитайзером по существующей кодовой базе пройти, вон даже у платных есть free-планы для open source.

"Проект по реализации zlib на языке Rust"
Отправлено Аноним , 12-Апр-24 00:08 
Хочешь сказать, что сишники настолько беспомощные, что даже это сделать не могут и лажают постоянно? Соглашусь, пожалуй, это действительно можно только новым языком исправить, чтобы отпугивал беспомощных и неспособных даже такую простую вещь, как санитайзер осилить.

"Проект по реализации zlib на языке Rust"
Отправлено Прохожий , 13-Апр-24 08:25 
А пацаны из Гугла и Микрософт и не знали.