The OpenNET Project / Index page

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

Проект по реализации zlib на языке Rust

11.04.2024 09:00

Организация 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 - надстройка с C API, содержащая код в режиме "unsafe". Проект находится в стадии разработки.

В качестве причины создания zlib-rs упоминается намерение предоставить вариант zlib, избавленный от потенциальных проблем, вызванных ошибками при работе с памятью. По данным компаний Microsoft и Google около 70% уязвимостей вызваны небезопасной работой с памятью. Предполагается, что использование языка Rust для разработки zlib-rs позволит снизить риск появления уязвимостей, вызванных небезопасной работой с памятью, и исключить появление таких ошибок, как обращение к области памяти после её освобождения и выход за границы буфера.

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

  1. Главная ссылка к новости (https://www.memorysafety.org/i...)
  2. OpenNews: Компания Cloudflare открыла код Pingora, инструментария для создания сетевых сервисов
  3. OpenNews: DNS-сервер Trust-DNS переименован в Hickory и будет задействован в инфраструктуре Let's Encrypt
  4. OpenNews: Первый стабильный выпуск sudo-rs, реализации утилит sudo и su на языке Rust
  5. OpenNews: Первый стабильный выпуск zlib-ng, высокопроизводительного форка zlib
  6. OpenNews: Уязвимость в zlib, проявляющаяся при сжатии специально оформленных данных
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60970-zlib
Ключевые слова: zlib, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (179) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:06, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    С си проектами слинкуется?
     
     
  • 2.34, Аноним (34), 10:02, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > libz-rs-sys - надстройка с поддержкой Си API, содержащая код в режиме "unsafe".
     
     
  • 3.64, Карлос Сношайтилис (ok), 10:54, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для некоторых, новость полностью читать – себя не уважать
     
  • 3.68, Аноним (68), 11:01, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Долго врубался в эту фразу, посмотрел код, оказался Си-интерфейс к zlib-rs
     

  • 1.5, leap42 (ok), 09:14, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    лол, зочем вообще тратить силы на zlib? есть же кое-как написанное, вот пусть и используется как легаси себе потихоньку. тогда было непонятно, а сейчас понятно: нужна низкая задержка/высокая скорость кодека/низкие требования к cpu и памяти? - Берём lz4. Для всего остального zstd.
     
     
  • 2.7, Аноним (7), 09:18, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Для PNG например.


     
     
  • 3.208, Аноним (208), 21:18, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Для PNG например.

    WEBP lossless

     
  • 2.51, penetrator (?), 10:36, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    и для браузера rfc1951 (deflate format)
     
     
  • 3.255, Аноним (255), 23:09, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть brotli и zstd
     
     
  • 4.270, penetrator (?), 18:59, 16/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    zstd нет много где на клиенте, а brotli и не на всех серверах из каропки
     
  • 2.76, Аноним (68), 11:13, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так как раз удобно начать переписывать на безопасном языке, а оригинал то будет работать и дальше.
     
     
  • 3.223, jt3k (ok), 07:46, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а кто вам сказал что переписанное будет без ошибок?

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

     
  • 2.77, Аноним (-), 11:14, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что на ЗЛибу завязано много чего, включая сторонние либы.
    И если ее выкинуть, то куча всего поломается.
    А у нас и так stable anything is nonsense)

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

     
     
  • 3.222, Bidon (?), 06:31, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/PSeitz/lz4_flex
     

  • 1.6, Аноним (7), 09:16, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А существование библиотек miniz и libdeflate игнорируется?
     
     
  • 2.42, Аноним (42), 10:14, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +10 +/
    У них есть фатальный недостаток™.
     
  • 2.50, Аноним (-), 10:26, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    libdeflate это C 92.0% - т.е та же дыряшка только в профиль
    тут можно спростить, а "нафига libdeflate если есть zlib", но я в теоремах Эскобара не очень разбираюсь

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

     
  • 2.207, Аноним (207), 21:13, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Игнорируется в каком контексте? Переписать их на rust? Ну перепиши. Или взять их вместо переписывания libz на rust? А что, они для этого написаны на rust? Или хотя бы не хрен знает кем, используются более чем в 1.5 игрушечных проектах, аудит проводился?
     

  • 1.8, Страдивариус (?), 09:20, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Пишу на rust по работе. Отличный язык. Но не для обычных программ пока что. Запилить микросервис для раскатки в контейнере на кубе - огонь. Но делать на нём апликухи для юзеров - нет. Пока не будет стабильного ABI, пока crate'ы не будут нормально работать shared object'ам без необходимости иметь по 40 различных версий одновременно, пока std::lib не наберёт достаточной мощи, чтобы отказаться от внешних crate'ов с самыми элементарными вещами - не готово для десктопа. Так же ждём захвата популярных crate'ов злоумышленниками с целью внедрения зловредов.

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

     
     
  • 2.12, Аноним (12), 09:26, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > пока crate'ы не будут нормально работать shared object'ам без необходимости иметь по 40 различных версий одновременно

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

     
     
  • 3.27, ferris (?), 09:47, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не совсем. Есть поддержка стандартного FFI через C ABI, оно стабильное и с обратной совместимостью. Но на практике работать немного больно, т.к. доступны только примитивы, Box, Option, и ещё пару структур. Но через C ABI это в любом языке так будет.
     
     
  • 4.204, Аноним (204), 20:32, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То есть правда.
     
     
  • 5.247, Прохожий (??), 09:07, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    То есть, не совсем. Это означает, что частично.
     
  • 4.263, Страдивариус (?), 00:23, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Не совсем. Есть поддержка стандартного FFI через C ABI, оно стабильное и
    > с обратной совместимостью. Но на практике работать немного больно, т.к. доступны
    > только примитивы, Box, Option, и ещё пару структур. Но через C
    > ABI это в любом языке так будет.

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

     
  • 3.121, Бывалый Смузихлёб (ok), 12:49, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    как и всё остальное
    В общем и целом, сказки примерно те же что с жабой и жс
    > Эй, оно же интерпретируемое, оно по определению не может быть дырявым и уязвимым(тм)[для жс. Но годится для обоих]
    > Эй, там ведь продвинутое управление памятью и карманный движок того кого надо
    > Сам байткод не может исполняться на ЦП, т.е оно в принципе не может содержать дыр
    > Ведь он не неограниченно-жирнющий, а его разрабы - не долб**ы(ты)

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

     
     
  • 4.203, Молодой Смузихлёб (?), 20:29, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Эй, оно же интерпретируемое, оно по определению не может быть дырявым и уязвимым(тм)[для жс. Но годится для обоих]

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

     
     
  • 5.230, Бывалый Смузихлёб (ok), 11:37, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Большая проблема где угодно начинается с JIT в том виде в котором он есть
    Это, вроде бы, даёт и серьёзный прирост производительности, но проблема в том, что при желании можно даже под конкретное число тактов проца совершенно конкретные команды подстраивать( ведь заранее известно каков будет выхлоп по коду )

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

     
  • 2.28, Карлос Сношайтилис (ok), 09:50, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > пока std::lib не наберёт достаточной мощи, чтобы отказаться от внешних crate'ов

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

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

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

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

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

     
     
  • 3.30, ferris (?), 09:56, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Это ты про что? Можно пример?

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

     
     
  • 4.214, Карлос Сношайтилис (ok), 00:00, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это?

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

     
  • 3.33, Loki13 (ok), 09:59, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >От этого вообще непонятно как защищаться. Общая проблема для всех централизованных пакетных репозиториев

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

     
     
  • 4.56, Аноним (56), 10:49, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Просто никаких авторов не будет и всё.
     
  • 4.60, Анонин (-), 10:52, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Что-то вроде мейнтейнеров в дистрибутивах, мейнтейнеры репозитория.

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

     
     
  • 5.191, Loki13 (ok), 19:03, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Сильно тебе помогли мейнтейнеры в ситуации с xz?

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

     
     
  • 6.217, Аноним (217), 00:46, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Единственный ставший известным.
     
     
  • 7.218, Аноним (218), 00:59, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Единственный ставший известным.

    доказывай.

     
  • 3.264, Страдивариус (?), 00:28, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/

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

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

     
     
  • 4.267, Карлос Сношайтилис (ok), 09:16, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чел про другое писал, походу.

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

     
  • 2.36, Аноним (36), 10:04, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > пока std::lib не наберёт достаточной мощи, чтобы отказаться от внешних crate'ов с самыми элементарными вещами

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

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

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

     
     
  • 3.80, Маняним (?), 11:17, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Лол. Расскажи, как ты устанвливаешь зависимости в проекте на C++?

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

     
     
  • 4.95, BeLord (ok), 11:51, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Динозавры встречаются чаще, чем подобный подход, к сожалению. Обычный dev c трудом представляет, где его код лежит через полгода и что это код делает, про зависимости я просто молчу-)))
     
  • 4.166, Аноним (166), 16:06, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И кто мешает растовику тысячу раз подумать, включать ли очередной крейт в проект? И проверить эти зависимости и зависимости зависимостей, как в си/плюсах? И после проверки скачать это в локальный репозиторий и проект подключить только на локальный? И, так же как в си/плюсах, в случае обновлений, снова всё перепроверять и перекачивать в локальный репозиторий?

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

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

     
     
  • 5.212, Александр (??), 22:51, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В отличие от многих современных языков в C и C++ зависимости - это целая эпопея. Это не строчку прописать в каком-то конфиге. Тут начинаются вопросы о том, как прикрутить. В линуксе с этим несколько проще, так как в роли централизации собственно, сам пакетный менеджер дистра выступает. А на винде тот ещё треш. Не редко в нишевых или не опенсорсных проектах нужные либы вообще в исходниках затягивают к себе в репу, а то и под местную систему сборки. Ещё и падчинг не редкий. Тут хочешь-не хочешь, треть либы само собой освоится
     
     
  • 6.224, Советский инженер (ok), 08:25, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >В отличие от многих современных языков в C и C++ зависимости - это целая эпопея.

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

     
  • 3.89, Аноним (89), 11:31, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Ага, в C++ библиотека достаточно мощна, чтобы не использовать внешние либы. А в C так еще мощнее!

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

     
     
  • 4.111, Аноним (36), 12:07, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сколько софта в твоем дистре зависят сугубо от glibc и ни от чего больше?
     
  • 4.114, Советский инженер (ok), 12:14, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Как будто это не так. GLibc может всё, на что способно ядро плюс ещё

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

     
  • 3.129, Anony (?), 13:03, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пакетный менеджер системы, стрононние пакетные менеджеры (conan, vcpkg, xmake и т.д.). Руками можно поставить представь себе. CMake тоже может скачать и настроить проект в качестве зависимости.

    Что дальше?

     
     
  • 4.135, Аноним (36), 13:19, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Пакетный менеджер системы, стрононние пакетные менеджеры (conan, vcpkg, xmake и т.д.). Руками можно поставить представь себе. CMake тоже может скачать и настроить ...

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

     
     
  • 5.149, Аноним (149), 14:27, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Единая точка отказа.
     
  • 5.157, Anony (?), 14:46, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Пакетный менеджер системы, стрононние пакетные менеджеры (conan, vcpkg, xmake и т.д.). Руками можно поставить представь себе. CMake тоже может скачать и настроить ...
    > Ну, вот. Теперь объясни, почему именно с Растом это вдруг стало проблемой.

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

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

     
     
  • 6.167, Аноним (166), 16:11, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Хотя я думаю растовики ничего сложнее hello world не писал на плюсах.

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

     
     
  • 7.168, Anony (?), 16:18, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Первым языком который я изучал как раз был rust. После уже перещел на С++.
    Причем тут ограниченность? Причем тут программисты из гугла? Если они хотят избавиться от С++ ну и бог с ними.
     
  • 7.169, Anony (?), 16:23, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я против раста ничего против не имею. Хороший язык да и пользуюсь терминалом alacritty каждый день.
    Меня забавляют растовики которые топят за раст смешивая в одну кучу C и C++. и пишут что чуть ли hello world усыпан UB и течет. И я это замечаю, словно какая-то пропоганда против С++ и С.
     
  • 4.213, Александр (??), 23:05, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Пакетный менеджер системы

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

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

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

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

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

     
     
  • 5.232, Anony (?), 13:37, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Но cmake может решить зависимости (скачать, подготовить и собрать).

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

     
  • 2.55, Аноним (55), 10:46, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Превращение своего проекта в нечто путём автомагической скачки, не глядя

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

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

     
  • 2.74, Аноним (68), 11:10, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > без необходимости иметь по 40 различных версий одновременно

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

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

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

     
  • 2.107, Cykooz (ok), 12:00, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Превращение своего проекта в нечто путём автомагической скачки, не глядя, всех зависимостей и зависимостей их зависимостей, не может в итоге закончиться чем-то кроме помойки (

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

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

     
     
  • 3.113, Аноним (36), 12:12, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Инструментарий раста позволяет просмотреть все зависимости, зафиксировать их версии и чек-суммы

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

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

     
  • 2.164, Аноним (164), 15:41, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да никого из корпов не интересует десктоп, напилил сервисов, наклепал веба на реакте, опционально завернул в Электрон. Современные вычислительные мощности позволяют.
     
  • 2.175, laindono (ok), 17:12, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем тебе использовать rust-abi разных версий вообще? Лично я знаю лишь один реальный случай, когда динамическая линковка раст в раст через раст в принципе используется. В bevy можно линковать нутро таким способом. Используется оно для ускорения компиляции и только для дебага. В реальном мире ты скорее хочешь либо статическую линковку, либо c-abi.

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

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

     

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

  • 1.15, Аноним (12), 09:29, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +16 +/
    > В качестве причины создания zlib-rs упоминается намерение предоставить вариант zlib, избавленный от потенциальных пробоем, вызванных ошибками при работе с памятью

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

     
     
  • 2.21, Аноним (21), 09:37, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Согласен, пусть сначала llvm перепишут.
     
  • 2.32, Аноним (36), 09:59, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вдруг там ошибки работы с памятью, которые приведут к неправильной компиляции безопасносного кода и вся безопасность пропадет?

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

     
     
  • 3.82, Аноним (89), 11:21, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    На современном C++ тебе ненужно использовать адресную арифметику. Используй std::vector для массивов, используй умные указатели или лучше только ссылки.
     
     
  • 4.90, Аноним (36), 11:33, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > На современном C++ тебе ненужно использовать адресную арифметику. Используй std::vector для массивов, используй умные указатели или лучше только ссылки.

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

     
     
  • 5.98, BeLord (ok), 11:52, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Каким образом название компании говорит о квалификации конкретного специалиста?-))
     
     
  • 6.109, Аноним (36), 12:05, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Каким образом название компании говорит о квалификации конкретного специалиста?-))

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

     
  • 5.194, Аноним (204), 19:55, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так инженеры из Google пишут Chrome именно таким образом, а тебя спросить забыли ))
     
  • 3.85, Маняним (?), 11:28, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Предлагаешь сразу писать на C++, чтобы ошибки работы с памятью были в основной программе?

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

     
     
  • 4.106, Анонии (?), 11:59, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А ты предлагаешь все свои косяки списать на с++

    Из новости:

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

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

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

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

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

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

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

     
  • 2.45, JackONeill (?), 10:16, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Разве компилятор хруста не сам себя компилирует уже давно?
     
     
  • 3.48, ferris (?), 10:21, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фронтенд на расте, а бэкенд - нет.
     
     
  • 4.86, Аноним (86), 11:29, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Если так, то это позор
    Потому что каждый, кто пишет свой язык, в первую очередь добивается чтобы этот язык мог скомпилировать сам себя, т.е. написать компилятор на самом себе это такой своеобразный хеллоуворлд для дизайнеров языка
     
     
  • 5.93, ferris (?), 11:39, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не позор, а потому что нету смысла. Сейчас много языков компилируют в LLVM-IR: это существенно упрощает разработку компиляторов, и у тебя сразу бесплатно появляется поддержка кучи аппаратных платформ.
     
     
  • 6.104, Аноним (218), 11:57, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Не позор, а потому что нету смысла. Сейчас много языков компилируют в
    > LLVM-IR: это существенно упрощает разработку компиляторов, и у тебя сразу бесплатно
    > появляется поддержка кучи аппаратных платформ.

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

     
     
  • 7.133, Аноним (-), 13:13, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Отсутствие стандарта не делает язык плохим.
    А вот наличие такого овностадарта как у сишки... лучше бы его вообще не было))

    Вот тут вам в ваш распрекраснейший "стадарт" еще 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.

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

     
     
  • 8.138, нах. (?), 13:23, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а то у тебя дофига кода которому нужно было ТАК получать null pointer ... текст свёрнут, показать
     
  • 7.137, нах. (?), 13:22, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > позор, позор. сдох llvm - сдох язык

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

     
     
  • 8.143, Аноним (218), 13:37, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    скажи это XFree86 ... текст свёрнут, показать
     
     
  • 9.151, нах. (?), 14:32, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что ей сделалось На том железе и по сей день запустится А с llvm в этом план... текст свёрнут, показать
     
  • 7.215, Аноним (215), 00:05, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сдох LLVM — это как именно? С двенадцатым ударом часов перестанут компилироваться исходники? Ну что ж, печаль, ляжем и умрём все тогда, наверное.
     
  • 5.209, Аноним (209), 21:38, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Если так, то это позор
    > Потому что каждый, кто пишет свой язык, в первую очередь добивается чтобы

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

     
  • 2.66, Дамир (??), 10:55, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Компилятор раста 1.68 квалицифирован как безопасный для целей ISO 26262 (ASIL D) и IEC 61508 (SIL 4)  https://ferrous-systems.com/ferrocene/
     
     
  • 3.118, anonymmmeer (?), 12:44, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    We plan to work on standards like DO-178C, ISO 21434, and IEC 62278 in the future.

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

     
     
  • 4.128, Аноним (-), 12:58, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну так язык молодой, ему меньше 10 лет.
    Как раз через 15, будет серьезный уважаемый язык, который используется в ядре и куче других сложных проектов.
    А, кстати какие компиляторы СИ и С++ соответствуют этим стандартам?
    Если кто-то знает, напишите какие.

     
     
  • 5.147, Аноним (218), 14:12, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так язык молодой, ему меньше 10 лет.

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

     
  • 2.69, Аноним (217), 11:01, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Код на расте давным-давно компилируется компилятором, написанным на расте С так... большой текст свёрнут, показать
     
     
  • 3.79, ferris (?), 11:17, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Эти утверждения можно было бы засчитать, если бы rustc на выходе генерировал машинный код, а не LLVM-IR. Но пока что для сборки нужен LLVM, а оно, внезапно, написано на плюсах.
     
     
  • 4.117, Cykooz (ok), 12:41, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Из таких соображений можно сказать, что все компиляторы, кроме C, написаны на С,... большой текст свёрнут, показать
     
     
  • 5.140, Аноним (217), 13:25, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вероятно более старой версии, но тут проблема "яйца и курицы", которая есть у всех языков и каждый решает её как может.

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

     
     
  • 6.144, Cykooz (ok), 13:44, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > И в самом начале цепочки увидим Ocaml, а не дыряшечку.

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

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

     
  • 5.156, n00by (ok), 14:45, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Из таких соображений можно сказать, что все компиляторы, кроме C, написаны на
    > С, т.к. они используют системные вызовы ядра операционной системы, которая написана
    > на С.

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

     

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

  • 1.29, Аноним (29), 09:51, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Почему я всегда отстаю от жизни? Наверное я никуда не хочу торопится. Я долго писал на асме и паскале, т.к. паскаль в общем случае более строгий и дружественный язык, плюс под паскаль есть божественные IDE типа Delphi, которые соответствуют идеологии RAD. И вот когда я наконец начал изучать плюсы, все пересаживаются на раст.
     
     
  • 2.46, 12yoexpert (ok), 10:16, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +7 +/
    только вот никто не пересаживается на раст
     
     
  • 3.65, Аноним (36), 10:55, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > только вот никто не пересаживается на раст

    Как скажешь.

     
  • 3.170, Аноним (166), 16:39, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как скажешь, как скажешь Тебе виднее Но тут гугловцы какую-то чушь порют,... большой текст свёрнут, показать
     
     
  • 4.174, Аноним (218), 17:11, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > ("Команды, работающие на Rust, в два раза продуктивнее команд, использующих C++")

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

     
  • 3.249, Анон из села Кукуево (?), 09:23, 13/04/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.73, Аноним (89), 11:09, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Все? Это фантастика.
     
  • 2.84, Аноним (84), 11:25, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    К тому моменту, как освоишь плюсы, про раст уже забудут.
     
     
  • 3.131, нах. (?), 13:06, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот это прям жизненная правда получается. За три эона - точно забудут.
    (успеет ли он освоить плюсы - не факт, конечно)
     
  • 2.101, BeLord (ok), 11:56, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Плюсы последних стандартов не проще раста, более того челу, который писал на плюсах в стиле начала нулевых, для полноценного использования С++ 23, к примеру, придется фактически учить язык с нуля.
     
     
  • 3.256, Аноним (255), 23:27, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бред какой-то пишешь
     
  • 3.271, Ivan7 (ok), 21:08, 16/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Никто же не заставляет использовать всё, что есть в стандарте. Там есть разумные и очень полезные вещи, но есть и очень сомнительные. А кроме официального стандарта есть ещё важные дополнения в С++ в компиляторах GCC и Clang. Важно то, что есть самые разные возможности на любой вкус, а что из этого использовать - каждый решает сам, исходя из своей ситуации.
     
  • 2.102, анон (?), 11:56, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Было бы логичным продолжить с языком Ada. Очень похоже на Pascal. Скучаю иногда по нему.
     
     
  • 3.190, Аноним (190), 18:54, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чего скучать? В gcc есть актуальный компилятор Ада.
     
     
  • 4.206, Аноним (206), 20:53, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И Modula-2 есть для скучающих по Паскалю.
     
  • 2.184, Аноним (184), 18:42, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не думаю, что имея Дельфи, есть смысл лезть в какие-то плюсы. Тогда уж в C#!
     

  • 1.43, 12yoexpert (ok), 10:16, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Код zlib-rs написан на языке Rust

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

     
  • 1.53, Аноним (53), 10:40, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Зачем переписывать, если есть vlang и можно транслировать в него? У vlang, кстати, есть некоторые функции безопасности из Rust.
     
     
  • 2.57, Аноним (57), 10:50, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Маркетинг.

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

     
  • 2.119, anonymmmeer (?), 12:47, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    можно вообще на Dafny переписать с доказательством корректности.

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

     
     
  • 3.248, Прохожий (??), 09:14, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >причём сомнительных и плохо изученных

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

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

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

     
     
  • 4.262, Аноним (262), 22:51, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А это в чём конкретно проявляется?

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

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

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

     

  • 1.70, Аноним (89), 11:06, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Снова переписывать...
     
  • 1.71, Аноним (71), 11:07, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://github.com/memorysafety/zlib-rs/issues/49 как бы намекает, что от проекта пока есть одно название.
     
     
  • 2.75, Аноним (89), 11:11, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но хоть CoC написали?
     
     
  • 3.132, нах. (?), 13:08, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    нет, у тебя есть шанс внести свой вклад в ценный проект!
    (но readme.md уже таки да!)
     
  • 2.259, Прохожий (??), 03:09, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сделано задач 9 из 36. Как бы уже не только одно название
     

  • 1.72, Аноним (72), 11:07, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Лишь бы фигнёй страдать: https://docs.rs/deflate
     
  • 1.87, Максим (??), 11:29, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А что, в zlib были какие-то проблемы с утечкой памяти или выходом за границы буфера?
     
     
  • 2.91, Аноним (36), 11:36, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Прочти новость дальше заголовка...
     
     
  • 3.115, Аноним (115), 12:36, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну и что там? "избавленный от потенциальных проблем" - т.е. от несуществующих проблем. А в программах на расте "потенциальных проблем", конечно же, нет.
     
     
  • 4.136, Аноним (36), 13:22, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и что там? "избавленный от потенциальных проблем" - т.е. от несуществующих проблем. А в программах на расте "потенциальных проблем", конечно же, нет.

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

     
     
  • 5.195, Аноним (204), 19:59, 11/04/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.92, User (??), 11:36, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Просто ОЧЕНЬ сильно удивлюсь, если их там нет :)
     
     
  • 3.103, BeLord (ok), 11:57, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Удивление к делу не пришьешь, добейтесь реальной ситуации, когда память потечет или ошибки появятся, тогда и обсудим.
     
     
  • 4.110, User (??), 12:06, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Удивление к делу не пришьешь, добейтесь реальной ситуации, когда память потечет или
    > ошибки появятся, тогда и обсудим.

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

     
  • 4.120, Анонин (-), 12:48, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > когда память потечет или ошибки появятся, тогда и обсудим.

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

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

     
     
  • 5.196, Аноним (204), 20:00, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А из прошлого века уязвимости есть?
     
     
  • 6.219, Аноним (217), 01:00, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    CVE-2021-3999, которая старше 95 винды подойдёт?
     
  • 4.139, Аноним (36), 13:24, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > добейтесь реальной ситуации, когда память потечет или ошибки появятся, тогда и обсудим.

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

     
     
  • 5.197, Аноним (204), 20:01, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Только он не отвечает на вопрос. В программах бываю ошибки - спасибо кеэп.
     
     
  • 6.228, Аноним (-), 10:48, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >  В программах бываю ошибки - спасибо кеэп.

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

     

  • 1.116, inklesspen (ok), 12:40, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > zlib-rs с реализаций API zlib, не использующей unsafe-блоки;

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

    Вот тут
    'https://github.com/memorysafety/zlib-rs/blob/d61889d4a208e822404f1ea74f1b57f0e

     
     
  • 2.122, 12yoexpert (ok), 12:52, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    получается, переполнения буфера и сегфолты там небезопасны?
    https://github.com/Speykious/cve-rs
     
     
  • 3.127, Аноним (-), 12:57, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Тут opennet.ru/openforum/vsluhforumID3/133278.html#28 уже обсудили))

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

     
     
  • 4.134, inklesspen (ok), 13:14, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    там чел не разобрал а заменил одну функцию другой, с другой сигнатурой, соответственно и типы получил другие, соответственно и компилятор начал орать на этот тип
    Было &'a u8, ссылка, разрешена к использованию без unsafe
    Стало *const u8, запрещена к использованию без unsafe

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

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

     
     
  • 5.210, Аноним (209), 21:55, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > там чел не разобрал а заменил одну функцию другой, с другой сигнатурой,
    > соответственно и типы получил другие, соответственно и компилятор начал орать на

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

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

     
  • 2.123, Анонин (-), 12:52, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это вопрос к автору новости/переводчику

    У него
    "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 - надстройка для использования в приложениях на языке Си."

     

  • 1.130, Аноним (130), 13:04, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Вы все не о том рассуждаете. Проекта-то, по большому счёту и нет (кроме названия). Вот цитата со странички, на которую ведёт "главная ссылка к новости":

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

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

     
     
  • 2.148, Аноним (86), 14:21, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Лол) Проорал конечно с этого)
    Агрессивный маркетинг языка, теперь вот проект, где фигурирует этот язык явно клянчит деньги...
    Мда, жаль(нет)
     
     
  • 3.153, нах. (?), 14:35, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Лол) Проорал конечно с этого)
    > Агрессивный маркетинг языка, теперь вот проект, где фигурирует этот язык явно клянчит
    > деньги...

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

     
     
  • 4.269, Прадед (?), 10:41, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В смысли что, им заплатиле. Или Вы думали там Васян субботним вечером под пивасик решил эту растятину вкурить?
     
  • 3.251, Анон из села Кукуево (?), 10:01, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А помнишь, как в 70ых(а в совке и в 80ых, помню как шизик придумавший ЕЯП строчил во все журналы по теме статьи, что ему нужно всего миллион рублей и он завоюет все славяноязычные страны своим языком) те кто придумывали разные языки агрессивно клянчали деньги?
    Или "это другое"?
     
  • 2.244, Прохожий (??), 08:38, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Забавно не только это. Забавно то, сколько хейтеров поставили плюсики. Вот оно, счастье. Проект на ненавистном языке не взлетел пока. Разве ж это не повод порадоваться. 🤦
     
  • 2.246, Прохожий (??), 08:58, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Проекта-то, по большому счёту и нет

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

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

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

     
  • 2.268, Прадед (?), 10:39, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это они грамотно, а то чего ещё удумале
     

  • 1.146, Аноним (218), 14:06, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/



    //! 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_targets/checksum.r

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

     
     
  • 2.199, Аноним (204), 20:14, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А он мне говорит: "Пейн, я unsafe не вижу". А его и нет...
     

  • 1.154, Tron is Whistling (?), 14:44, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Осталось только понять - зачем оно?
     
     
  • 2.243, Прохожий (??), 08:32, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Очередной писатель, не умеющий читать дальше заголовка?
     
     
  • 3.253, Tron is Whistling (?), 10:54, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Очередной писатель, не умеющий читать дальше заголовка?

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

     
     
  • 4.257, Прохожий (??), 02:59, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это был риторический вопрос. Всё и так понятно, глядя на твои изначальные недоумения.
     

  • 1.160, Ivan_83 (ok), 15:09, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Например, в 2022 году в zlib было выявлено переполнение буфера при попытке сжатия специально подготовленной последовательности символов, которое позволяло эксплуатировать уязвимость через передачу специально оформленных входящих данных.

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

     
     
  • 2.161, Аноним (-), 15:31, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хаха, ее уже 25 лет фиксят, и всё никак недофиксят И ничего что та конкретная п... большой текст свёрнут, показать
     
     
  • 3.192, Ivan_83 (ok), 19:04, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Она 25 лет работает без проблем, а всё что там было - мелочи не мешающие никому.


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

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

     
     
  • 4.229, Аноним (-), 10:53, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Она 25 лет работает без проблем, а всё что там было - мелочи не мешающие никому.

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

     
     
  • 5.231, Ivan_83 (ok), 13:34, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У вас как в том анекдоте: "в теории мы миллионеры, а на практике наелись каках".

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

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

     
     
  • 6.240, Прохожий (??), 08:21, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >что реально было использовано

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

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

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

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

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

     
  • 2.172, Аноним (172), 17:01, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну Вам нравится сишная версия библиотеки, так пользуйтесь ей! Вам кто-то мешает? Зачем хамить про дурку? Если Вам Раст не нравится - пишите сами новости про сишку!
     
  • 2.173, нах. (?), 17:10, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Я понимаю они бы взяли flash плеер

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

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

     
     
  • 3.202, Аноним (204), 20:26, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эмулятор для окончательно сдохшей, давно окоченевшей платформы это как раз подходящая область применения данного языка. И справедливости ради, он даже почти работает.
     
     
  • 4.227, пох. (?), 09:42, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не сдохшей, а старательно убитой группой лиц по сговору.

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

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

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

     
     
  • 5.233, Ivan_83 (ok), 13:38, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Насколько я помню историю, адоба купила готовый стартап, а сам флеш начали пилить в конце 90х.

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

     
     
  • 6.235, нах. (?), 19:50, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    открытый, прикинь, открытый У меня до сих пор где-то лежит пдф с описанием форм... большой текст свёрнут, показать
     
     
  • 7.242, Прохожий (??), 08:29, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >не совсем тот веб который мне лично хотелось бы сохранить

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

     
     
  • 8.254, нах. (?), 17:02, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    к счастью, пока я изыскивал в дырявых штанах лишние 500 баксиков, которые можно ... текст свёрнут, показать
     
     
  • 9.258, Прохожий (??), 03:04, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты же хотел что-то получить, а теперь не получишь Это счастьем так называется у... текст свёрнут, показать
     
     
  • 10.261, нах. (?), 15:58, 14/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    я бы и так получил ровно то же самое недоделанное - но стал бы беднее на 500 ка... текст свёрнут, показать
     
  • 7.266, Прадед (?), 08:34, 15/04/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, мокро-медиа flesh был конфетка
     

  • 1.178, Аноним (178), 17:26, 11/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Радует, что все больше и больше проектов переписывают на безопасные языки
     
     
  • 2.180, Аноним (172), 18:08, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну это да, а вот логические ошибки никто не отменял. Лишь бы у Раст разрабов не было иллюзий...
     
     
  • 3.181, Анонин (-), 18:23, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Иллюзий нет у всех, кто хоть раз читал растбук.
    Так предельно ясно объясняются какие гарантии даются, а какие нет.
    Напр. на memory leak гарантий не дается. И на логические ошибки тоже.
     
     
  • 4.201, Аноним (204), 20:22, 11/04/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тгда проще санитайзером по существующей кодовой базе пройти, вон даже у платных есть free-планы для open source.
     
     
  • 5.216, Аноним (215), 00:08, 12/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хочешь сказать, что сишники настолько беспомощные, что даже это сделать не могут и лажают постоянно? Соглашусь, пожалуй, это действительно можно только новым языком исправить, чтобы отпугивал беспомощных и неспособных даже такую простую вещь, как санитайзер осилить.
     
  • 5.241, Прохожий (??), 08:25, 13/04/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А пацаны из Гугла и Микрософт и не знали.
     

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



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

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