The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Уязвимость в сетевых библиотеках языков Rust и Go, позволяющая обойти проверку IP-адресов, opennews (??), 08-Авг-21, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


358. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –2 +/
Сообщение от Ordu (ok), 09-Авг-21, 00:41 
>> Ой, фу. Ненавижу rfc. Такое ощущение, что их писали в хлам обдолбанные
>> люди.  И пример с ip адресами -- очень показывает, что
> их писали люди, которым страдания неумеющих программировать были,мягко говоря, непонятны.

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

>> там не так. Нахрена нужны восьмеричные или шестнадцатеричные адреса? Нахрена нужны
> ими удобно оперировать, когда нужно считать попадание в сети.

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

>> И ведь в данном случае, это C'шные проблемы догнали, грабли разложенные Ритчи.
>> Что ему мешало восьмеричные числа записывать в синтаксисе по типу шестнадцатеричных,
> то что восьмиричными числами пользовались на тех платформах постоянно, а шестнадцатиричными
> никогда. И то что их делали для людей, а не для
> упрощения жизни разработчику компилятора.

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

>> типа как 0o123? Такой синтаксис замечателен: пользователь чётко говорит, что он
>> хочет, а софту, который не хочет связываться с восьмеричными числами, вовсе
>> не обязательно знать про существование восьмеричных чисел, чтобы отбрасывать их --
>> он их отбросит потому, что буква o затесалась между цифр.
> то-то удивится софт, работающий с 32тиричными.

Если у тебя система счисления по базе 32, то запили синтаксис под эту базу. Добавь префикс, говорящий о том, что это именно 32-х-ричная система.

>> Но нет же, так ВАЖНО было сэкономить по символу на каждое восьмеричное
> важно. В те времена код набирали руками. Поэтому и присваивание без ненужного
> символа набираемого двумя руками, и много еще подобных фич.
>> [1] https://datatracker.ietf.org/doc/html/rfc6943
>   This document is not an Internet Standards Track specification; it
> is
>    published for informational purposes.
> т.е. это одни ниасиляторы передавали привет другим ниасиляторам.

Угу. Я о том же. Надо писать комментарии, поясняющие что имелось в виду в основном тексте.

Ответить | Правка | Наверх | Cообщить модератору

413. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +3 +/
Сообщение от пох. (?), 09-Авг-21, 09:58 
> Возможно, но это лишь подтверждает моё мнение, что их писали люди не
> имеющие достаточного опыта программирования. Если ты имеешь достаточно опыта, то ты

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

Но зато потом отыгрались на ipv6.

>>> там не так. Нахрена нужны восьмеричные или шестнадцатеричные адреса? Нахрена нужны
>> ими удобно оперировать, когда нужно считать попадание в сети.
> Оперируй ты чем угодно, но не забудь прежде чем заносить эти адреса
> в конфиг или аргументом в программу, сконвертировать их в десятичное представление.

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

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

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

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

А вишенкой на тортике стал ipv6. Вот тут уже ни запомнить, ни скопировать без мышки.

> Ой, можно оправдываться сколько угодно, и придумывать что вот эта вот o
> добавленная в синтаксис трындец как усложняет жизнь программисту. Я никогда не

повторяю: это писали программисты для программистов. А не для страдальцев.

> использовал восьмеричный синтаксис, но использовал шестнадцатеричный, причём местами

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

Т.е. они искренне не понимали, почему в старых системах именно восьмиричная система счисления, а не 16 или 32 (еще ж короче! Правда, уже сложно отличить от идентификатора, но для этого снова есть удобный макакерам способ. тссс, а то внедрят)

>> то-то удивится софт, работающий с 32тиричными.
> Если у тебя система счисления по базе 32, то запили синтаксис под

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

> эту базу. Добавь префикс, говорящий о том, что это именно 32-х-ричная
> система.

Ну-ка, ну-ка, какой же это должен быть префикс? ;-)

> Угу. Я о том же. Надо писать комментарии, поясняющие что имелось в
> виду в основном тексте.

что поделать, зумеры неосилил без комментариев. До 2013го года обходились.

Ответить | Правка | Наверх | Cообщить модератору

557. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –2 +/
Сообщение от Аноньимъ (ok), 10-Авг-21, 11:29 
>Их (как и весь v4 стек) писали люди, имеющие опыт - программирования. Причем у них сразу получалось хорошо

Ну, это мягко говоря не так.

>(нормальные человеки испытывают сложности со счетом в уме в системах счисления по модулю больше 10

Двенадцатеричная система счисления возникла в древнем Шумере. Предполагается, что такая система возникала исходя из количества фаланг пальцев на руке при подсчёте их большим пальцем той же руки. Фаланги пальцев использовались как простейшие счёты (текущее состояние счёта засекалось большим пальцем), вместо загибания пальцев, принятого в европейской цивилизации. Некоторые народы Нигерии и Тибета используют двенадцатеричную систему счисления в настоящее время.

Так же существует гипотеза, что до 12 считали сидя, загибая не только 10 пальцев рук, но и 2 ноги. Хотя, возможно, такое случалось, когда европейцам приходилось сталкиваться с восточным двенадцатеричным счётом.

Двенадцатые доли часто встречались и в европейских системах мер. У римлян стандартной дробью была унция (1/12). 1 английский пенс = 1/12 шиллинга, 1 дюйм = 1/12 фута и т. д.

Переход на двенадцатеричную систему счисления предлагался неоднократно. В XVII веке её сторонником был знаменитый французский естествоиспытатель Бюффон. Вольтер в «Истории Карла XII» утверждает, что этот монарх готовил указ о переходе на двенадцатеричную систему.[1] Во времена Великой французской революции была учреждена «Революционная комиссия по весам и мерам», которая длительный период рассматривала подобный проект, однако усилиями Лагранжа и других противников реформы дело удалось свернуть.

Ответить | Правка | Наверх | Cообщить модератору

586. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от Урри (ok), 10-Авг-21, 22:11 
И в результате на нее так никто и не перешел. Потому что, как и написал аноним выше, "нормальные человеки испытывают сложности со счетом в уме в системах счисления по модулю больше 10".
Ответить | Правка | Наверх | Cообщить модератору

590. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от Аноньимъ (ok), 11-Авг-21, 01:38 
Вы букрвы не прочитали, их многа, букав. С неё перешли, а потом да, неосилили обратно вернуться, но по экономическим причинам.

А про лёгкость, вы таблицу умножения в 12 системе гляньте, она сильно проще.
И дроби сильно проще, потому что делителей больше.

Считать в уме на 12ричной системе одно удовольствие в сравнении с адом 10ричной.

А вот в двоичной удачи вам хоть в уме хоть на пальцах что-то посчитать.

Ответить | Правка | Наверх | Cообщить модератору

612. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от Урри (ok), 11-Авг-21, 19:13 
> вы таблицу умножения в 12 системе гляньте, она сильно проще

Глянул. Не сказал бы что легче - все равно зубрить надо:
6*5=26, 5*8=34, 5*9=39, 7*4=24.

Те же яйца, только запоминать на 44% больше.

> Считать в уме на 12ричной системе одно удовольствие в сравнении с адом 10ричной.

Странно, что вам легче. Например, 78*9: все равно надо вспомнить, что 7*8=48, 8*9=60, 480+60 с учетом переноса дают 530. То же самое, что в десятичной, только полнить больше надо.

Если что, то я во всех системах считал - у меня дети во втором классе проходили системы счисления, и доча тему проболела. Пришлось прочитать учебник и вместе с ней позаниматься. Мое имхо: в качестве "в уме считать" - чем меньше основание, тем легче.

> А вот в двоичной удачи вам хоть в уме хоть на пальцах что-то посчитать.

А что там считать то? 0+0=0, 0+1=1, 1+0=1, 1+1=10. Все.
Даже помнить ничего не надо. Можно даже курицу надрессировать, чтобы считала.

Ответить | Правка | Наверх | Cообщить модератору

617. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Аноньимъ (ok), 11-Авг-21, 23:46 
>Те же яйца, только запоминать на 44% больше.

Там числа повторяются везде в 12б системе.

>А что там считать то? 0+0=0, 0+1=1, 1+0=1, 1+1=10. Все.

У вас в двоичной в вашем примере ничего коме сложения чисел от 0 до 2х нет.
Вы прикалываетесь?
78 на 9 умножте.
А лучше поделите.
В уме причём.

>Можно даже курицу надрессировать, чтобы считала.

Курицу вы не натренируете гарантированно.

Ответить | Правка | Наверх | Cообщить модератору

619. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  –1 +/
Сообщение от Урри (ok), 13-Авг-21, 17:07 
Преимущества я нашел здесь: https://pikabu.ru/story/nekotoryie_naglyadnyie_preimushchest...

Заманчиво выглядит, но к таблице умножения это не относится.

> 78 на 9 умножте.

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

> Курицу вы не натренируете гарантированно.

Вообще-то можно. Причем это уже делали - две полоски с нулями и единицами, а курица в третьей полоске их сумму отмечала. Бинарная логика же.

Ответить | Правка | Наверх | Cообщить модератору

620. "Уязвимость в сетевых библиотеках языков Rust и Go, позволяющ..."  +/
Сообщение от Аноньимъ (ok), 13-Авг-21, 17:23 
>Вообще-то можно. Причем это уже делали - две полоски с нулями и единицами, а курица в третьей полоске их сумму отмечала. Бинарная логика же.

Так речь же про умножение в уме.
Десятичными счётами то-же не хитро пользоваться.

>но к таблице умножения это не относится.

https://pikabu.ru/story/dvenadtsaterichnaya_sistema_schislen...

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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