The OpenNET Project / Index page

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



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

Оглавление

Взлом Linux через подключение USB-устройства стал реальностью, opennews (ok), 08-Мрт-11, (0) [смотреть все]

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


57. "Взлом Linux через подключение USB-устройства стал реальностью"  +1 +/
Сообщение от klalafuda (?), 08-Мрт-11, 14:46 
> А новость писал чем-то обрадованный пользователь OpenBSD, исходя из имени правильной функции strlcpy()?

http://git.kernel.org/?p=linux%2Fkernel%2Fgit%...

--- a/sound/usb/caiaq/audio.c
+++ b/sound/usb/caiaq/audio.c
@@ -785,7 +785,7 @@ int snd_usb_caiaq_audio_init(struct snd_usb_caiaqdev *dev)
        }

        dev->pcm->private_data = dev;
-       strcpy(dev->pcm->name, dev->product_name);
+       strlcpy(dev->pcm->name, dev->product_name, sizeof(dev->pcm->name));

        memset(dev->sub_playback, 0, sizeof(dev->sub_playback));
        memset(dev->sub_capture, 0, sizeof(dev->sub_capture));

Причем тут OpenBSD? Она и в Linux ядре есть (linux/string.h)

Другой вопрос, что http://en.wikipedia.org/wiki/Strlcpy

GNU C Library maintainer Ulrich Drepper is among the critics of the strlcpy and strlcat functions;[2] consequently these functions have not been added to glibc. Drepper argues that strlcpy and strlcat make truncation errors easier for a programmer to ignore and thus can introduce more bugs than they remove.[2] His concern with possible truncation, when using any string function involving static allocation, is shared by others.[3]

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

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

74. "Взлом Linux через подключение USB-устройства стал реальностью"  +1 +/
Сообщение от nuclightemail (ok), 08-Мрт-11, 15:54 
С критикой, конечно, нельзя не согласиться. А вот с тем, что на основании этой критики функцию не включают в стандартную библиотеку, согласиться уже никак нельзя. По, как минимум, двум причинам:

1) совместимость: strcat/strcpy, очевидно, куда опаснее, и тем не менее они всё же поддерживаются

2) не включать на основании "тупое использование повредит" - это не Unix-way подход, а виндовый. Для того, кто знает, что делает, возможность должна присутствовать. В конце концов, в ядре и glib она есть, а в glibc нету, с какой стати Дреппер считает себя умнее?..

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

75. "Взлом Linux через подключение USB-устройства стал реальностью"  –1 +/
Сообщение от klalafuda (?), 08-Мрт-11, 16:10 
> 1) совместимость: strcat/strcpy, очевидно, куда опаснее, и тем не менее они всё же поддерживаются

Это - ANSI C. Плох он или хорош - это тем не менее стандарт. Так что - приходится.

> 2) не включать на основании "тупое использование повредит" - это не Unix-way подход, а виндовый. Для того, кто знает, что делает, возможность должна присутствовать. В конце концов, в ядре и glib она есть, а в glibc нету, с какой стати Дреппер считает себя умнее?..

А почему собственно дядя Дреппер - глупее? Почему strlcpy есть в ядре - понятно. Уже готовые 3d party драйвера. Тут хочешь не хочешь, но включишь. Не до жиру. Почему в glib есть - тоже понятно. Туда какой только гадости не пихают - все, до чего руки дотянутся. Что тут удивляться.. А вот зачем пихать нестандартную и вызывающую вполне обоснованные нарекания strlcpy в стандартную, замечу, libc - это конечно большой вопрос. В конце-концов, если так хочется strlcpy - берите glibc и вперед, с песнею. Иначе уже завтра (злая) половина гнутых поделий будет обвешана такими мелкими 'стандартными' (в одной системе) хаками, как елка игрушками. Вот включат strlibc в ANSI C/POSIX - пожалуйста.

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

96. "Взлом Linux через подключение USB-устройства стал реальностью"  +1 +/
Сообщение от коксюзер (?), 08-Мрт-11, 16:57 
> вызывающую вполне обоснованные нарекания strlcpy в стандартную, замечу, libc - это
> конечно большой вопрос. В конце-концов, если так хочется strlcpy - берите
> glibc и вперед, с песнею. Иначе уже завтра (злая) половина гнутых

Glibc - единственная мейнстримная libc, в которой нет strl-функций.

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

105. "Взлом Linux через подключение USB-устройства стал реальностью"  +/
Сообщение от исчо_адын_аноним (?), 08-Мрт-11, 17:15 

> Glibc - единственная мейнстримная libc,

Fixed


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

98. "Взлом Linux через подключение USB-устройства стал реальностью"  +1 +/
Сообщение от nuclightemail (ok), 08-Мрт-11, 17:02 
>> 1) совместимость: strcat/strcpy, очевидно, куда опаснее, и тем не менее они всё же поддерживаются
> Это - ANSI C. Плох он или хорош - это тем не
> менее стандарт. Так что - приходится.

А подумать? В стандарте оно до сих пор именно по причине совместимости.

>> 2) не включать на основании "тупое использование повредит" - это не Unix-way подход, а виндовый. Для того, кто знает, что делает, возможность должна присутствовать. В конце концов, в ядре и glib она есть, а в glibc нету, с какой стати Дреппер считает себя умнее?..
> А почему собственно дядя Дреппер - глупее? Почему strlcpy есть в ядре
> - понятно. Уже готовые 3d party драйвера. Тут хочешь не хочешь,
> но включишь. Не до жиру. Почему в glib есть - тоже
> понятно. Туда какой только гадости не пихают - все, до чего
> руки дотянутся. Что тут удивляться.. А вот зачем пихать нестандартную и
> вызывающую вполне обоснованные нарекания strlcpy в стандартную, замечу, libc - это

Дядя Дреппер _считает_ себя умнее и вправе указывать другим. У него и других идиосинкразий хватает, впрочем, об этом лучше netch расскажет. Кроме glib, еще есть кеды, самба и rsync - они тоже идиоты гадость пихают, да? Ну и "готовые 3d party" - это ровно та же причина, совместимость. Приложений-то, чай, побольше с этой функцией будет, чем драйверов.

На самом деле за позицией Дреппера совершенно явно торчат уши "оно придумано не нами, а в BSD" - иначе бы в обосновании была не идеологически-политическая хрень (а у *никсов, напомню, философия Tools, not policy), а гораздо более практичное "оно по-разному работает на BSD и солярке, чего нам выбрать-то?".

> Иначе уже завтра (злая) половина гнутых
> поделий будет обвешана такими мелкими 'стандартными' (в одной системе) хаками, как
> елка игрушками. Вот включат strlibc в ANSI C/POSIX - пожалуйста.

Вы, может быть, сильно удивитесь, но они _уже_ обвешаны хаками от одной системы, причем как бы уже не половина, а большинство софта написаны непортабельно, т.е. на отличных от Linux системах собираются только с напильником.

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

110. "Взлом Linux через подключение USB-устройства стал реальностью"  +1 +/
Сообщение от klalafuda (?), 08-Мрт-11, 17:43 
> А подумать? В стандарте оно до сих пор именно по причине совместимости.

При чем здесь - подумать? Стандарт на libc есть? Есть. В стандарте strcpy & K присутствуют? Присутствуют. Пардон, но если реализация libc претендует на совместимость со стандартом она просто обязана их иметь. Не задавая ненужных вопросов на тему хорошие они или нет. Пусть каждый сам для себя решает - использовать ту или иную ф-ть предоставляемую *стандартной* libc или же не использовать.

> Дядя Дреппер _считает_ себя умнее и вправе указывать другим. У него и других идиосинкразий хватает, впрочем, об этом лучше netch расскажет. Кроме glib, еще есть кеды, самба и rsync - они тоже идиоты гадость пихают, да? Ну и "готовые 3d party" - это ровно та же причина, совместимость. Приложений-то, чай, побольше с этой функцией будет, чем драйверов.

Дядя Дреппер как бы не ананимус с лора. В отличие от он все-таки мейнтейнит ту самую glibc. И было бы очень странным, если бы он в свою очередь не имел права веского а то и решающего голоса. Равно как и права иметь своё, собственное, мнение на то, как и что должно включаться в его проект а что - нет. Не нравится? Используйте что-то другое, делайте своё, etc - не проблема. Существует достаточно большое количество систем в том числе популярных, в которых нет 'проблемы' в лице дяди Дреппера. Впрочем, в каждой из них есть уже свой дядя ровно с такими же правами вето и своими собственными тараканами в голове.

Причем тут кеды, самба и рсинк я так и не понял. Если я не ошибаюсь, мы сейчас про strlcpy и glibc. Внутренности самбы сами по себе вызывают большие сомнения в адекватности разработчиков. Использовать strlcpy в кедах, имея на руках нормальный C++ в придачу с Qt - тоже.

> На самом деле за позицией Дреппера совершенно явно торчат уши "оно придумано не нами, а в BSD" - иначе бы в обосновании была не идеологически-политическая хрень (а у *никсов, напомню, философия Tools, not policy), а гораздо более практичное "оно по-разному работает на BSD и солярке, чего нам выбрать-то?".

Интриги заговоры разоблачения... Враги. Вокруг одни враги, это факт.

> Вы, может быть, сильно удивитесь, но они _уже_ обвешаны хаками от одной системы, причем как бы уже не половина, а большинство софта написаны непортабельно, т.е. на отличных от Linux системах собираются только с напильником.

То, что что-то обвешано хаками - это конечно же веский повод добавить ещё одну степень свободы. Чтобы уж до кучи.

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

111. "Взлом Linux через подключение USB-устройства стал реальностью"  +1 +/
Сообщение от nuclightemail (ok), 08-Мрт-11, 17:48 
klalafuda, вот не надо FUDа. В этом сообщении нет ни одного аргумента, одна херота. Ответить можно только на абзац о самбе: в приводившейся статье на википедии есть такое: "Many application packages and libraries include their own copies of these functions, including glib, rsync, Samba, KDE, and the Linux kernel itself."
Ответить | Правка | Наверх | Cообщить модератору

115. "Взлом Linux через подключение USB-устройства стал реальностью"  +1 +/
Сообщение от klalafuda (?), 08-Мрт-11, 18:05 
> klalafuda, вот не надо FUDа. В этом сообщении нет ни одного аргумента, одна херота. Ответить можно только на абзац о самбе: в приводившейся статье на википедии есть такое: "Many application packages and libraries include their own copies of these functions, including glib, rsync, Samba, KDE, and the Linux kernel itself."

Ну и что, что некоторые пакеты включают? А некоторые ещё и BSDшные анахронизмы за собой таскают вместо того, чтобы использовать современные ANSI C/POSIX аналоги. Видимо, им так удобнее. Да и хрен бы в общем то с ними. Но это явно не повод включать все это хозяйство в стандартную libc. Содержимое которой в первую очередь регламентируется не пожеланиями того или иного гения но вполне конкретным описанным стандартом. Хотите расширений в любых мыслимых измерениях? Какие проблеме - используйте glib & K или аналоги.

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

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

120. "Взлом Linux через подключение USB-устройства стал реальностью"  –1 +/
Сообщение от nuclightemail (ok), 08-Мрт-11, 18:23 
> то с ними. Но это явно не повод включать все это
> хозяйство в стандартную libc. Содержимое которой в первую очередь регламентируется не
> пожеланиями того или иного гения но вполне конкретным описанным стандартом. Хотите
> расширений в любых мыслимых измерениях? Какие проблеме - используйте

Это не аргумент, потому что расширения сверх стандарта в glibc присутствуют, и не так уж мало. Остальное - опять херня.

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

Могу посоветовать посмотреть на Луговского.

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

180. "Взлом Linux через подключение USB-устройства стал реальностью"  +/
Сообщение от Michael Shigorinemail (ok), 08-Мрт-11, 22:29 
> Могу посоветовать посмотреть на Луговского.

1) не стоит (я был против допущения его в ALT и свои разрушения там он нанёс);
2) тем более не стоит, что http://m-ike.livejournal.com/118340.html

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

307. "Взлом Linux через подключение USB-устройства стал реальностью"  +/
Сообщение от nuclightemail (ok), 24-Май-11, 18:43 
>> Могу посоветовать посмотреть на Луговского.
> 1) не стоит (я был против допущения его в ALT и свои
> разрушения там он нанёс);
> 2) тем более не стоит, что http://m-ike.livejournal.com/118340.html

Михаил, я немного более в курсе ситуации с Луговским, чем большинство сторонних людей. Я с ним не раз переписывался лично. И про этот пост, разумеется, был в курсе, когда писал. Так вот, в контексте треда - не роляет совершенно.

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

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

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




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

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