Блог* – Telegram
1.9K subscribers
3.46K photos
135 videos
15 files
3.69K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Тутова на днях ВНЕЗАПНО11!!11 в Confluence нашли дырку страшную в авторизации, что аж 10/10 поставили. Могут все данные удалить, а могут ransomware залить.

As part of Atlassian's ongoing monitoring and investigation of this CVE, we observed several active exploits and reports of threat actors using ransomware. We have escalated CVE-2023-22518 from CVSS 9.1 to 10, the highest critical rating, due to the change in the scope of the attack. 
. . .
All versions of Confluence Data Center and Server are affected by this vulnerability. This Improper Authorization vulnerability allows an unauthenticated attacker to reset Confluence and create a Confluence instance administrator account. Using this account, an attacker can then perform all administrative actions that are available to Confluence instance administrator leading to a full loss of confidentiality, integrity and availability.

https://confluence.atlassian.com/security/cve-2023-22518-improper-authorization-vulnerability-in-confluence-data-center-and-server-1311473907.html

По ссылке на GH лежит скрипт на Python, который позволяет проверить как дела у вашей инсталляции
https://github.com/ForceFledgling/CVE-2023-22518
🤣5👍1😱1
Forwarded from Афиша Daily
This media is not supported in your browser
VIEW IN TELEGRAM
«ТНТ Music» заблюрил радугу в клипе кей-поп-группы Seventeen «God Of Music» — вместо нее показали черно-белое изображение. В интернете предположили, что канал опасается новых штрафов за «ЛГБТ-пропаганду».

Подписывайтесь на Афишу Daily 🙃
🤡24😁7👍1
Вы когда-нибудь пробовали в аэропорту договориться с улетающим пассажиром, чтобы тот передал нужную вещь?

Вот я не просто пробовал, но и успешно договорился.

Кто молодец? Я молодец.
💯15🌚8🤡41
😺
😁16🤮6🤡5💩43💯1🖕1
#prog #article

How we found and fixed a rare race condition in our session handling

Статья от Github о вызванном состоянием гонки баге, из-за которого пользователь мог залогиниться как другой пользователь, о том, как его нашли и как починили.
🌚3👍2
#prog #cpp #python #meme изобличающий
Уход от копирайта в действии
😁11🌚3
А кто-нибудь помнит Punch quest?
1
#prog #rust

Faster compilation with the parallel front-end in nightly

TL;DR:

RUSTFLAGS="-Z threads=8" cargo +nightly build --release

Пока что на nightly, потому что в реализации всё ещё есть баги, вызывающие дедлоки, и потому что параллельность фронтенда пока что не эксплуатируется в полной мере.

Использование threads=1 в среднем примерно на полтора процента медленнее текущего однопоточного фронтенда.

Как ни странно, бекенд это тоже в некоторой степени ускоряет, потому что генерация LLVM IR для codegen unit-ов также происходит параллельно.
👍7❤‍🔥1🔥1
Forwarded from Segment@tion fault
- а как ты дебажишь Rust в проде?
- я заливаю специальную сборку
- что за сборка? ты же не просто обложил её принтами?
- ...
🥰31
🥰10👍1
#prog #rust

В Google переписывают Android binder (компонент ядра для IPC) с C на Rust. Это компонент, который используется практически всем на Android, а потому для нормального функционирования он должен быть быстрым и корректным.

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

В качестве преимуществ Rust называют:

* возможность закодировать в системах типов инварианты, которые в C надо поддерживать самостоятельно.
* деструкторы, избавляющие от необходимости вручную освобождать ресурсы (корректная деинициализация в C требует неловкого паттерна goto cleanup).
* обработка ошибок проще: игнорирование потенциальных ошибок приводит к ошибке компиляции.

Переписанный вариант имеет отличную от текущего варианта Binder архитектуру, но имеет почти ту же функциональность. Пока что не реализованы фичи для отладки. Все тесты проходят, а бенчмарки показывают, что переписанный вариант сопоставим по производительности с исходным (где-то быстрее, где медленнее). Автор патча при этом отмечает, что это синтетические бенчмарки и для полной уверенности следует проверить производительность на реальной системе.

В наборе патчей непереписанным остался компонент binderfs:

We have left the binderfs filesystem component in C. Rewriting it in Rust would be a large amount of work and requires a lot of bindings to the file system interfaces. Binderfs has not historically had the same challenges with security and complexity, so rewriting binderfs seems to have lower value than the rest of Binder.
❤‍🔥32👍8👎1
Не нравятся недалёкие?

Отойдите.
8🥴5👍3🌚1
👍1
Пере-переслал, не хочу давать публичности каналу-источнику
👍4👎2
#prog #rust хайлайты:

▪️Несколько изменений, связанных с гарантиями языка:
🔸char имеет одинаковый с u32 размер и выравнивание
🔸null-указатель имеет нулевой адрес. Насколько я понимаю, у разработчиков Rust нет планов поддерживать платформы, где это не так.
🔸касты между разнымии типами сырых указателей на слайсы (и содержащими их DST) сохраняют число элементов в части метаданных жирных указателей
🔸для некоторых типов гарантируется, что transmute от нулевых байт в Option от этого типа легален и даёт None.

▪️Следующие операции теперь доступны к const-контексте:
🔸std::mem::discriminant
🔸BinaryHeap::{new, new_in}
🔸Операции для байтовых смещений указателей (и в принципе стабилизированы)
🔸std::mem::zeroed и MaybeUninit::zeroed

▪️Парсер теперь избегает патологического квадратичного поведения на больших последовательностях непарных угловых скобок (до фикса подобный код приводил к OOM).

▪️Реализации Ord, PartialOrd и Hash для SocketAddr{V4, V6} теперь дерайвятся, а не написаны вручную. До этого изменения реализация PartialEq для SocketAddrV6, как и всякий дерайв, сравнивала все поля, включая flowinfo и scope_id, а вот реализации трейтов для упорядочивания эти поля игнорировали. По какому-то недоразумению этот баг просуществовал 28 версий!

▪️Компилятор теперь замечает, когда на значении вызывается метод трейта, реализованный для его типа, и предлагает импортировать трейт вместо того, чтобы предложить его реализовать.

▪️Компилятор теперь корректно отлавливает ситуации, когда тип становится слишком большим из-за паддинга

▪️При panic_immediate_abort теперь меньше втягивается связанного с паникой кода.

▪️При невозможности создания трейт-объекта из трейта компилятор теперь предлагает использовать enum, если число типов, реализовывающих трейт, невелико (и предлагает использовать тип напрямую, если всего один тип реализует трейт).

▪️Компилятор при попытке сделать биндинг на unsized значение теперь жалуется только на let вместо всех мест, где используется этот биндинг.

▪️Компилятор на попытку сконструировать кортежную структуру с приватными полями теперь предлагает вызвать конструктор (при его наличии). Фиксит issue от 2015 года!

К сожалению, сейчас сделано довольно костыльно, но нормальный фикс затруднителен.

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

▪️Стабилизирован инлайн-ассемблер с бекендом cranelift.

▪️Компилятор восстанавливается на коде вида S { ref field: name } и предлагает переписать на правильный S { field: ref name }.

▪️Стабилизированы API для манипуляции с временными отметками файлов.

▪️offset_of! теперь поддерживает поля внутри вариантов enum.
🎉15👍5🔥1🤔1
Forwarded from концлагерь "закат-13" [экстремист edition]
слишком сложно.
👍29❤‍🔥63😁3