The OpenNET Project / Index page

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



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

Оглавление

Выпуск Red Hat Enterprise Linux 6.9, opennews (ok), 21-Мрт-17, (0) [смотреть все]

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


21. "Выпуск Red Hat Enterprise Linux 6.9"  +12 +/
Сообщение от Аноним84701 (ok), 21-Мрт-17, 19:58 
> Объясните, пожалуйста, чем так плох systemd? По пунктам, аргументированно.

Пункт первый:
Перлы в коде, типа магических строк и прочего:


arg_header = strdup(option+7);

strcpy(stpcpy(stpcpy(stpcpy(mempcpy(t, p, fn - p), ".#"), extra), fn), «XXXXXX»);

if (path_is_absolute(option+15))

ret = new(char, (e - slice) + 1 + strlen(name) + 6 + 1);

strcpy(mempcpy(mempcpy(r, f, a + 1), i, b), e);

static int env_append(char **r, char ***k, char **a) {

char **strv_env_unset(char **l, const char *p) {

char **strv_env_set(char **x, const char *p) {


там еще есть интересный пунктик с проверками входных данных - они довольно бессистемны и дубли-"триплируются".
Т.е. классичесая проверка входящего аргумента, потом с этим аргументом вызывается еще что-то, что проверя свои входные данные тем же макаром, потом все это дело парсится, при этом повторяя как минимум часть кода из проверок. Результат используется только частично и только "на месте" и чуть видоизмененный (а иногда и не чуть, а скопипащенный) парсинг проводится в следующем вызове. Хотя казалось бы, разбери один раз, с нормальной проверкой и передавай что-то типа "parsed data struct".
В общем, самосборочный велосипед парсера в действии. Со всеми "вытекающими":
http://www.openwall.com/lists/oss-security/2016/09/28/9
> systemd v209+: local denial-of-service attack
> systemd[1] fails an assertion in manager_invoke_notify_message[2] when a zero-length message is received over its notification socket

Намек на второй пункт претензий:
https://www1.opennet.ru/opennews/art.shtml?num=41301
> В Systemd добавлен код для разбора формата JSON
> В дополнение к уже присутствующей поддержке формата XML

Про классику типа QR кодов и встроенного httpd скромно умолчим.

Третий:
https://lists.freedesktop.org/archives/systemd-devel/2016-Fe...
> * Most configurable timeouts in systemd now expect an argument of "infinity" to turn them off, instead of "0" as before.

А чтобы жизнь медом не казалась
> To maintain backwards compatibility, "0" continues to  turn off previously existing timeout settings

или
https://lwn.net/Articles/490413/
> you can still build it for usage outside of systemd systems, and we will support these builds
> officially. In fact, we will be supporting this for a long time

Да, лонг-тайм оказался периодом аж в два года.

Или очередной велосипедизм с элементами гвоздеприбивания колес:
https://lists.freedesktop.org/archives/systemd-devel/2015-Fe...
> When the user presses Ctrl-Alt-Del more than 7x within 2s an immediate reboot is triggered.
>

Хотя в принципе, в долгосрочной перспективе достаточно и первых двух – монстр, которого очень тяжело поддерживать, как-то не является пределом мечтаний. А уж с таким глав-разработчиком …

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

27. "Выпуск Red Hat Enterprise Linux 6.9"  +/
Сообщение от Аноним (-), 21-Мрт-17, 21:03 
"Читал я. Мелкие нападки
На шрифт, виньетки, опечатки,
Намеки тонкие на то,
Чего не ведает никто."
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск Red Hat Enterprise Linux 6.9"  –2 +/
Сообщение от Аноним (-), 21-Мрт-17, 21:19 
А что, одмены или юзеры частенько встречаются с проблемой того, что упоминаются некие option+15? Нет конечно. Ты привел программистские проблемы = проблемы сопровождения самой системды, с которыми не сталкивается никто, кроме коммитеров в системду. Если там заменить option+15 на вменяемые конструкции, ты успокоишься? Нет конечно, пойдешь и будешь дальше разоблачать системду, находя то тут, то нам "а вон здесь не оставили пустую строчку после ифа, код не красив".
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

37. "Выпуск Red Hat Enterprise Linux 6.9"  –1 +/
Сообщение от Аноним (-), 21-Мрт-17, 22:04 
> А что, одмены или юзеры частенько встречаются с проблемой того, что упоминаются некие option+15?

Нет конечно. Но когда встречаются, приходится в срочном (читай: часы, а не недели) порядке обновлять парк систем и надеяться, что никакая зараза не успела проникнуть через этот option+15.

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

42. "Выпуск Red Hat Enterprise Linux 6.9"  –2 +/
Сообщение от Аноним (-), 21-Мрт-17, 22:26 
> Но когда встречаются, приходится в срочном (читай: часы, а не недели) порядке обновлять парк систем и надеяться, что никакая зараза не успела проникнуть через этот option+15.

Помню, когда на горе свистнул рак (это пришлось аккурат к греческим календам), одна из зараз проникла "через этот option+15", и мне пришлось "в срочном (читай: часы, а не недели) порядке обновлять парк систем". Это было уже после Второго пришествия.

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

39. "Выпуск Red Hat Enterprise Linux 6.9"  +/
Сообщение от gogo (?), 21-Мрт-17, 22:13 
"некрасивый" код ведет за собой вполне красивые дыры. На одну из них тебе даже ссылку человек дал.

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

Я более чем уверен, что после смерти (дай Бог, не скорой) Линуса Торвальдса, Столмана и еще горстки "древних монстров", "линуксы" прогнут под корпорации. И без блобов ничего работать не будет в принципе. Как это уже сейчас на половине систем не работает.

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

44. "Выпуск Red Hat Enterprise Linux 6.9"  –1 +/
Сообщение от Аноним (-), 21-Мрт-17, 22:37 
> "некрасивый" код ведет за собой вполне красивые дыры. На одну из них
> тебе даже ссылку человек дал.

Дыры бывают и при вполне красивом коде. Даже у (дай Бог, пусть Он проживет еще долго) Линуса Торвальдса.

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

Системда идеальна для корпоративной среды. По причинам, которые уже указаны выше. Бизнесу необходимо, чтобы ни один из сотрудников не был незаменимым.

> Я более чем уверен, что после смерти (дай Бог, не скорой) Линуса
> Торвальдса, Столмана и еще горстки "древних монстров", "линуксы" прогнут под корпорации.
> И без блобов ничего работать не будет в принципе. Как это
> уже сейчас на половине систем не работает.

Не понимаю, при чем тут системда. Там есть какие-то блобы? Нет конечно. У критиков системды частенько бывают кажущиеся им логически верными заносы вроде "если установим системду, линус умрет, а корпорации внедрят блобы".

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

74. "Выпуск Red Hat Enterprise Linux 6.9"  –3 +/
Сообщение от Аноним (-), 22-Мрт-17, 10:59 
>Ты привел программистские проблемы

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

Плохой демагог, плохой!

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

76. "Выпуск Red Hat Enterprise Linux 6.9"  +4 +/
Сообщение от Аноним (-), 22-Мрт-17, 13:27 
> многочисленные примеры быдлoкода

После усиленного изучения исходных кодов системды, Аноним привел всего 10 примеров "6ыдлокода". Учитывая, что исходники системды уже объемнее исходников ядра, не совсем, чтобы это были "многочисленные" примеры "6ыдлокода". Единичные - да. Написанные на скорую руку - да. Поддается исправлению - да. Является поводом отказаться от системды - нет.

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

77. "Выпуск Red Hat Enterprise Linux 6.9"  –4 +/
Сообщение от Аноним (-), 22-Мрт-17, 14:03 
>После усиленного изучения исходных кодов

Что за бессовестное передергивание? С чего ты взял, что изучение было "усиленным"?
Остальную часть его поста ты так и будешь продолжать игнорировать?

Плохой демагог, плохой! [2]

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

78. "Выпуск Red Hat Enterprise Linux 6.9"  +3 +/
Сообщение от Аноним (-), 22-Мрт-17, 14:07 
С того, что эти куски кода копируются из темы в тему, лишь изредка при этом пополняясь новыми пунктами.
Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск Red Hat Enterprise Linux 6.9"  –1 +/
Сообщение от Аноним (-), 22-Мрт-17, 14:21 
1) Почему же до сих пор никто не исправил тогда?
2) Сколько пунктов необходимо, чтобы убедить тебя? 100? 1000? 1000000? Какой смысл приводить столько примеров в риторических целях?
3) То, что список копируется из темы в тему (что еще необходимо проверить и подтвердить, но мне лень и бремя доказательства не на мне) еще не означает, что анализ кода был "усиленным". Ну либо приведи логическую цепочку, как именно из этой предпосылки ты пришел к такому выводу.
Ответить | Правка | Наверх | Cообщить модератору

80. "Выпуск Red Hat Enterprise Linux 6.9"  +2 +/
Сообщение от Аноним (-), 22-Мрт-17, 14:32 
> Почему же до сих пор никто не исправил тогда?

Возможно, потому что никто не обратил на них внимание самих разработчиков.

> Сколько пунктов необходимо, чтобы убедить тебя? 100? 1000? 1000000?

Думаю, для обоснования __тотальной__ __замены__ системды на что-то иное понадобится четырехзначное число подобных (мелочных) пунктов. Мы же о __тотальной__ замене говорим?

> бремя доказательства не на мне

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

> не означает, что анализ кода был "усиленным"

Я понимаю, что тебе очень хочется убедить всех, что ты открыл первый попавшийся файл и тут же (без всяких усилий) нашел сдесяток option+15. А знаешь что? Давай проведем эксперимент. Прямо сейчас ты -- без всяких усилий -- возьмешь и приведешь еще 10 сомнительных строк. Таких, чтоб они не гуглились со ссылкой на опеннет. Будем считать временем начала твоих поисков 14:47 MSK (ты же не сразу прочитаешь этот коммент - даю тебе фору в 15 мин)

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

82. "Выпуск Red Hat Enterprise Linux 6.9"  +1 +/
Сообщение от Аноним (-), 22-Мрт-17, 15:30 
Первый попавшийся файл:
https://github.com/systemd/systemd/blob/master/src/libsystem...

Дублирующиеся магические строчки: 329 и 337, 443 и 451, 850 883 и 908.
Хардкода столько, что я даже не буду начинать перечислять.
Практически все переменные - однобуквенные и совершенно непонятные (я честно не могу понять, почему, например, на 850 результат процедуры get_files_in_directory записывается в переменную, названную r).
Брезгует фигурными скобками, никакой последовательности в стиле. Особенно феерично смотрятся строки 832 и 833.
Странное разделение всех объявленных процедур на _public_ и static - опять же, бардак в стиле (ну обозвал бы _private_, раз на родное похапе так тянет, хоть бы выглядело однородно).

Там еще подключается файл macro.h - вот там тоже много веселья, у меня даже глаза разбегаются:
https://github.com/systemd/systemd/blob/master/src/basic/mac...

На 238 пушка просто: /* We override the glibc assert() here. */. Молодец, Леня!
В макросе на 323 ошибка: не учитывается знак минуса для отрицательных чисел (а они, судя по комментарию для соседнего макроса на стр. 313-316, ожидаются).
Опасный макрос на 333.
Какой-то ад на строках 335-361.
Опять же, непоследовательный стиль: где есть вертикальное выравнивание для \ в макросах, а где нет. Про однобуквенные переменные и абсолютно нечитабельные битовые хаки и начинать уже не хочется.

Уверен, что есть и еще.

Плохой демагог. Очень плохой демагог!

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

83. "Выпуск Red Hat Enterprise Linux 6.9"  +3 +/
Сообщение от Аноним (-), 22-Мрт-17, 15:50 
> Дублирующиеся магические строчки: 329 и 337, 443 и 451, 850 883 и 908
> p = strappend("/run/systemd/sessions/", session);
> p = strappend("/run/systemd/sessions/", session);

Правильно. Нужно было создать единую функцию strappendRunSystemdSessions. Зато не "магически" и не "дублируется". Даешь также функцию strappendRunSystemdSeats и так далее. И после этого код, конечно же, станет читабельнее.

> я честно не могу понять, почему, например, на 850 результат процедуры get_files_in_directory записывается в переменную, названную r
> результат
> r
> r[esult]

Ну, видимо ты из тех, кто не использует i для счетчика, l для количества и т. д. Есть определенные символы, которые имеют однозначный смысл.

> Брезгует фигурными скобками

Это код-стайл такой. Аргументик-то так себе. Чисто вкусовщина. Как я и говорил выше, "а у вас пустая строчка после ифа отсутствует".

> На 238 пушка просто: /* We override the glibc assert() here. */. Молодец, Леня!

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

Слабо, очень слабо! Я ожидал что-нибудь типа option+15. А в ответ одни лишь "фигурная скобка стоит не там, пробел поставили не здесь, переменную назвали не так".

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

84. "Выпуск Red Hat Enterprise Linux 6.9"  +/
Сообщение от Аноним (-), 22-Мрт-17, 16:07 
>А в ответ одни лишь

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

Если есть, что ответить по существу по остальным аргументам - отвечайте на предыдущий большой пост второго анонимуса.

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

85. "Выпуск Red Hat Enterprise Linux 6.9"  +/
Сообщение от Аноним (-), 22-Мрт-17, 16:35 
> странности

Говорим не о странностях, а о том, что исходники системды не вписываются в конкретно твой любимый кодстайл. Только и всего.

> усилий прикладывать не нужно

Разумеется, не нужно прикладывать усилия, чтобы обнаружить, что фломастер не того цвета/вкуса. Я просил треш вроде option+15, а ты за полчаса копаний сумел привести лишь "ой, у них там результат именован как r, а не result".

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

87. "Выпуск Red Hat Enterprise Linux 6.9"  +1 +/
Сообщение от Аноним (-), 22-Мрт-17, 16:55 
Все потому, что ты жонглируешь понятием "стиля" так, как тебе удобно. Вот и получается, что все вышеперечисленное - это у тебя всего лишь вопросы "стиля", а вот +15 - это да, другое совсем дело. Хотя при желании ты бы и +15 без проблем "стилем" назвал.

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

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

89. "Выпуск Red Hat Enterprise Linux 6.9"  +/
Сообщение от Аноним (-), 22-Мрт-17, 17:16 
> ты жонглируешь понятием "стиля" так, как тебе удобно

То есть то, что там фигурные скобки после else не поставлены - это не стиль, а что-то другое? Ну-ка подробнее с этого места.

>  при желании ты бы и +15 без проблем "стилем" назвал.

Ни в коем случае. option+15 -- это треш, я ж тебе с самого начала сказал (при этом треш не настолько велик, чтобы полностью выбрасывать системду). А вот r вместо result - это просто мелкая придирочка. При этом складывается ощущение, что ты готов с легкостью расстаться с проектами, где употребляются односимвольные переменные -- выбрасывай тогда весь ГНУ/Линукс, раз такое дело.

> Демагог по-прежнему плох

Так улучшайся. Еще не все приемы демагогии ты заюзал. Еще есть, куда развиваться.

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

90. "Выпуск Red Hat Enterprise Linux 6.9"  +/
Сообщение от другой Аноним (?), 22-Мрт-17, 17:28 

>  i для счетчика, l для количества и т. д. Есть определенные символы, которые имеют однозначный смысл.

Особенно l. Cразу вместе с I. В древних шрифтах. И конечно, для обозначения количества, а не длины.
Признавайся, на самом деле это такая проверка?

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

91. "Выпуск Red Hat Enterprise Linux 6.9"  –2 +/
Сообщение от Аноним (-), 22-Мрт-17, 17:45 
Если твой любимый шрифт заставляет тебя напрягаться, чтобы отличить i от I, I от l, а 0 от O - выбрасывай свой ШГ на помойку.
Ответить | Правка | К родителю #90 | Наверх | Cообщить модератору

88. "Выпуск Red Hat Enterprise Linux 6.9"  +/
Сообщение от Аноним (-), 22-Мрт-17, 17:01 
> А что, одмены или юзеры частенько встречаются с проблемой того, что упоминаются
> некие option+15? Нет конечно. Ты привел программистские проблемы = проблемы сопровождения
> самой системды, с которыми не сталкивается никто, кроме коммитеров в системду.

Лишь были бы желуди, да?


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

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

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




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

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