Представлен (http://www.openntpd.org/txt/release-5.7p1.txt) релиз cервера синхронизации точного времени OpenNTPD 5.7p1 (http://www.openntpd.org/), развиваемого проектом OpenBSD. Это первый переносимый (http://openntpd.org/portable.html) выпуск OpenNTPD, рассчитанный на работу в операционных системах отличных от OpenBSD, представленный после длительного перерыва. Прошлая переносимая версия OpenNTPD 3.9p1 вышла в 2006 году, после чего из-за отсутствия интереса к портированию развитие OpenNTPD ограничивалось только платформой OpenBSD. Интерес к работе OpenNTPD на других платформах возродился после выявления (http://www.opennet.me/opennews/art.shtml?num=41309) критической уязвимости в NTPD и осознания (http://www.opennet.me/opennews/art.shtml?num=41318) проблематичности повышения качества кода из-за раздутости кодовой базы NTPD. За разработкой переносимой версии можно проследить в зеркале (https://github.com/openntpd-portable/openntpd-portable) репозитория на GitHub.
OpenNTPD создан в 2004 году для замены демона ntpd, который по лицензионным соображениям пришлось удалить из базовой системы и переместить в порты. Проект обеспечивает поддержку протокола NTP в соответствии с RFC 1305 и RFC 5905, но в отличие от остальных реализаций NTPD развивается с первичной оглядкой на обеспечение безопасности и обладает только самым необходимым набором возможностей (простой и понятный для аудита код). Для дополнительной защиты в OpenNTPD применяется механизм разделения привилегий, разделяющий работу непривилегированного кода обработки сетевых соединений от привилегированного кода установки времени. Демон ntpd запускается в отдельном изолированном chroot-окружении. Реализация кода определения имён через DNS работает в асинхронном режиме, т.е. определение имени будет выполнено даже если демон стартовал в момент, когда не было доступно сетевое соединение.Поддерживается как синхронизация локального времени с удалённым NTP-сервером, так и работа в роли NTP-сервера, который в том числе может получать точное время от специального оборудования через sensorsd(8) (http://www.openbsd.org/cgi-bin/man.cgi?query=sensorsd). Настройка осуществляется через файл конфигурации
ntpd.conf (http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man5/...). Работа OpenNTPD 5.7p1 проверена в Linux (Ubuntu 12.04, 14.04), FreeBSD (9.x, 10.x), Solaris (10.x, 11.x) и OS X (10.9).
Особенности новой версии:- Переход на новую сборочную инфраструктуру, основанную на наработках переносимых версий OpenSSH и LibreSSL;
- Исходные тексты интегрированы непосредственно в дерев OpenBSD с внесением небольших ручных изменений, нацеленных на упрощение сопровождения;
- Удаление поддержки устаревших операционных систем (IRIX, HP-UX, AIX и т.п.), для которых не подтверждена работоспособность OpenNTPD и не обновлён переносимый код;
- Поддержка протокола SNTPv4 (Simple Network Time Protocol), определённого в RFC 5905;
- Поддержка виртуализации таблицы маршрутизации (rdomain) для ограничения доступа по сети;
- Создана утилита ntpctl (http://www.openbsd.org/cgi-bin/man.cgi?query=ntpctl), позволяющая на лету управлять работой демона ntpd (http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man8/...).
- Более точная корректировка часов, благодаря использованию вызовов adjfreq / ntp_adjtime, если они доступны;
- Проведена работа по увеличению отзывчивости (latency) на высоко нагруженных системах.URL: http://www.openntpd.org/txt/release-5.7p1.txt
Новость: http://www.opennet.me/opennews/art.shtml?num=41419
> из-за отсутствия интереса к портированию развитие OpenNTPD ограничивалось только платформой OpenBSD. Интерес к работе OpenNTPD на других платформах возродился после выявления критической уязвимости в NTPDоно 8 лет было никому не нужно, а теперь разрабы надеются, что что-то изменилось. ну, поживём - увидим, но лично я не верю, что что-то изменилось...
>оно 8 лет было никому не нужноГлупость какая-то. Когда хотел первый раз настроить синхронизацию времени, посмотрел на обилие ненужных настроек в NTPd и сразу испытал отвращение. Много лет пользуюсь OpenNTPd на FreeBSD и Debian - никакой головной боли при настройке, никаких уязвимостей, никаких проблем. Делает всё, что нужно - синхронизирует время и ничего кроме.
> посмотрел на обилие ненужных настроек в NTPd и сразу испытал отвращениеПодобные фразы сразу характеризует вас как специалиста :)
Любой безопасник под этим подпишется. Как известно, больше кода - больше багов. А проблемы безопасности - частный случай багов...
> Любой безопасник под этим подпишется. Как известно, больше кода - больше багов.Только детишки начинают безопасничать с кода, в реальности это самый последний этап.
Только павлин любит высказываться по темам, в которых ничего не понимает.Не существует никакого аппаратного или программного обеспечения, которые сделают уязвимый код безопасным. Fuzzy testing всех смотрящих в небезопасную среду (в частном случае -- в Интернет) -- это второе, с чего начинается борьба за безопасность.
Первое -- это отключение всего ненужного. Нет сервиса -- нет дыры.
> Только павлин любит высказываться по темам, в которых ничего не понимает.
> Не существует никакого аппаратного или программного обеспечения, которые сделают уязвимый
> код безопасным. Fuzzy testing всех смотрящих в небезопасную среду (в частном
> случае -- в Интернет) -- это второе, с чего начинается борьба
> за безопасность.
> Первое -- это отключение всего ненужного. Нет сервиса -- нет дыры.Вы полностью согласись с тезисом Павлина. Вы уверены, что хотели сказать именно это?
Минимизация кода вывешенного в сеть сводится и к минимизации размера сервисов. Так что при прочих равных лучше всего предпочесть компактную и простую программу, если ее возможностей хватает.Мне вот например от ntpd надо чтобы тягал время с ремоты и раздавал в локалке. Куча фич типа GSSAPI и прочего энтерпрайзного барахла мне как-то ну совсем без надобности.
> Минимизация кода вывешенного в сеть сводится и к минимизации размера сервисов. Так
> что при прочих равных лучше всего предпочесть компактную и простую программу,
> если ее возможностей хватает.Ну, сравнение portable openntpd и ISC ntpd - явно не при "прочих равных". В код портируемой версии openntpd уже семь лет никто не заглядывал, так что о количестве различных насекомых там можно только догадываться.
В результате оказалось проще спортировать текущую версию openntpd, которая по перегруженности мало уступает ISC.
>> Минимизация кода вывешенного в сеть сводится и к минимизации размера сервисов. Так
>> что при прочих равных лучше всего предпочесть компактную и простую программу,
>> если ее возможностей хватает.
> Ну, сравнение portable openntpd и ISC ntpd - явно не при "прочих
> равных". В код портируемой версии openntpd уже семь лет никто не
> заглядывал, так что о количестве различных насекомых там можно только догадываться.OpenNTPD как таковой постоянно развивался в составе OpenBSD. А портабельная устаревшая версия была доступна в других ОС, включая, наверняка, и вашу любимую. Уж за столько лет о насекомых стало бы известно, как вы думаете?
> В результате оказалось проще спортировать текущую версию openntpd, которая по перегруженности
> мало уступает ISC.Вы вообще не видели оба продукта, иначе бы не писали эту ахинею.
> Ну, сравнение portable openntpd и ISC ntpd - явно не при "прочих равных".Время синхронизируют и раздают одинаково. А больше мне от них нифига и не надо.
> В код портируемой версии openntpd уже семь лет никто не заглядывал,
Тем не менее, на нее нет известных уязвимостей, а на ntpd есть. И при разнице в размере это не удивительно. Bloatware всегда дырявое.
> мало уступает ISC.
Правильно, давайте равняться на г-но!
> Не существует никакого аппаратного или программного обеспечения, которые сделают уязвимый код безопасным.Дитятко, безопасность - это СИСТЕМА, а не отсутствие дыры в программе, или не фонящий wifi.
Локалка из 486 компов, с MSDOS, в бункере, на глубине 500 метров, с 50 сотрудниками,
изолированными там на 20 лет, есть самая безопасная сеть на планете! Ну это я так, чтоб вкурили.
> Fuzzy testing всех смотрящих в небезопасную среду (в частном случае -- в Интернет)
> -- это второе, с чего начинается борьба за безопасность.С доверенного лица, с заместителя, с отдела кадров, с помещения и его обустройства, ... начинается безопасность.
Короча, ФСБшники ржут на твоими суперметодами бИзопасности, сидя под окном в автобусе,
считывая инфу со стёкол офеса, твои довольные селфи фоткают на спутнег, снимают дампы у провайдера,
и на ночь слушают mp3 от ОПСОСа с твоими сказками.
После пассажа про фсб можно уверенно сказать две вещи
- в систему безопасности тебя пускать рано
- да ты к ней отношения и не имел
> После пассажа про фсб можно уверенно сказать две вещи
> - в систему безопасности тебя пускать рано
> - да ты к ней отношения и не имелЯ тя обрадую - ты двойной лох.
> Я тя обрадую - ты двойной лох.Павлин - в жюри?
>> После пассажа про фсб можно уверенно сказать две вещи
>> - в систему безопасности тебя пускать рано
>> - да ты к ней отношения и не имел
> Я тя обрадую - ты двойной лохНу т.е. угадал дважды. А павлинчегу в два разА обиднее...
> Короча, ФСБшники ржут на твоими суперметодами бИзопасности, сидя под окном в автобусе,
> считывая инфу со стёкол офеса, твои довольные селфи фоткают на спутнег, снимают
> дампы у провайдера,
> и на ночь слушают mp3 от ОПСОСа с твоими сказками.Спалил контору.
> изолированными там на 20 лет, есть самая безопасная сеть на планете! Ну
> это я так, чтоб вкурили.Несомненно :). Но правда и функциональность всего этого ограниченная. В смысле, в бункере вообще с точным временем напряг. GPS/GLONASS не ловит, сети нету. Но можно песочными часами время отмерять, конечно. Хотя особо крутые могут и атомные часы поставить, конечно.
> С доверенного лица, с заместителя, с отдела кадров, с помещения и его
> обустройства, ... начинается безопасность.Да что там, с правильной прокладки канализации. А то затопит еще дepьмом - и вся безопасность насмарку...
> Короча, ФСБшники ржут на твоими суперметодами бИзопасности, сидя под окном в автобусе,
> считывая инфу со стёкол офеса,Так прямо и представляю себе радость ФСБшников торчать перед офисом каких-то лабухов в надежде что что-то ценное скажут. А за бабкой на рынок агентов посылают? А то вдруг старая карга купит оружие вместо помидор?!
> твои довольные селфи фоткают на спутнег,
Да, прямо через адскую облачность и снегопад, где я через 300 метров не вижу нифига. Такое клевое селфи получается - белый квадрат Сноудэна.
> снимают дампы у провайдера,
Боюсь они малоинформативны.
> и на ночь слушают mp3 от ОПСОСа с твоими сказками.
А это мысль, надо будет чего-нибудь прикольное врубать. Ну там звонишь на случайный номер и врубаешь какой-нибудь писк модема. Пусть слушают :).
>[оверквотинг удален]
> в надежде что что-то ценное скажут. А за бабкой на рынок
> агентов посылают? А то вдруг старая карга купит оружие вместо помидор?!
>> твои довольные селфи фоткают на спутнег,
> Да, прямо через адскую облачность и снегопад, где я через 300 метров
> не вижу нифига. Такое клевое селфи получается - белый квадрат Сноудэна.
>> снимают дампы у провайдера,
> Боюсь они малоинформативны.
>> и на ночь слушают mp3 от ОПСОСа с твоими сказками.
> А это мысль, надо будет чего-нибудь прикольное врубать. Ну там звонишь на
> случайный номер и врубаешь какой-нибудь писк модема. Пусть слушают :).Я не сомневался в IQ местных анонимов, посяму спорить с вауумом не буду.
>Не существует никакого аппаратного или программного обеспечения, которые сделают уязвимый код безопаснымПочитай про архитектуру "Эльбрус"
Всё логично: Нет сервиса - нет вектора атаки. Нет бага - нет уязвимости - нет реализации. Чем меньше по периметру (фронту) векторов, тем легче жизнь у сервисов. Тугугл «monlist». Наворотили для не авторизованных клиентов, потом "гребли".
> Много лет пользуюсь OpenNTPd на FreeBSD и DebianК счастью, вскоре, благодаря сабжевой инициативе, в FreeBSD и Debian придет актуальная версия openntpd, которая по жирности и раздутости лишь немногим уступает ntpd.
> Делает всё, что нужно - синхронизирует время и ничего кроме.
Вы не поверите, но про ntpd можно сказать то же самое. Все его "жирные" и "ненужные" фичи обеспечивают исключительно синхронизацию времени.
> К счастью, вскоре, благодаря сабжевой инициативе, в FreeBSD и Debian придет актуальная версия openntpd, которая по жирности и раздутости лишь немногим уступает ntpd.Например? В чём именно ты потерялся, заенька?
http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man8/...
Вообще, вся настройка - это ответить на один-единственный вопрос при установке. Что там может быть ещё - мне даже неизвестно.
> Вообще, вся настройка - это ответить на один-единственный вопрос при установке.Если ты про ISCшный ntpd - полезно сказать ему хотя-бы --help и прифигеть. Оно умеет жарить, парить, шарить и крестиком вышивать. Правда вот в результате там уязвимости находят. В этом плане openntpd явно лучше - там кода в разы меньше, а время синхронизирует не хуже. И даже как сервер выступает. Одна из немногих программ опеночников которая мне по вкусу.
> Если ты про ISCшный ntpd - полезно сказать ему хотя-бы --help и
> прифигеть. Оно умеет жарить, парить, шарить и крестиком вышивать. Правда вот
> в результате там уязвимости находят. В этом плане openntpd явно лучше
> - там кода в разы меньше,Всего-то в два раза. И судя по темпам роста - скоро может и обогнать ISC.
> а время синхронизирует не хуже.
На самом деле - спорный вопрос. В ntpd довольно много кода, специфичного для никсовых ядер различных семейств, и учитывающего различные тонкости, вроде clock discipline. В openntpd учитываются только особенности ядра OpenBSD.
> Всего-то в два раза.Тут надо смотреть какой код реально работает и прочая. Но в целом - да, опеночники что-то наворотили. Какие-то утилиты управления и что там еще. Постепенно превращается в монстрило.
> И судя по темпам роста - скоро может и обогнать ISC.
Да блин, эти могут. Вон sshd уже превратился в какого-то макаронного монстра, с встроенным файлтрансфером, впн, портфорвардом и что я там еще забыл.
> для никсовых ядер различных семейств, и учитывающего различные тонкости, вроде clock
> discipline. В openntpd учитываются только особенности ядра OpenBSD.Ну меня как-то устраивала работа старого opennntpd и мне его хватало. А кода в 10 раз меньше чем у ntpd. ISC вообще любит наворачивать какие-то энтерпрайзные фичи, когда под ntpd в пору чуть ли не отдельный сервак ставить. У них такая фигня со всем софтом и в результате предсказуемо плохо с уязвимостями. Потому что дофига кода == дофига багов.
> Да блин, эти могут. Вон sshd уже превратился в какого-то макаронного монстра,
> с встроенным файлтрансфером, впн, портфорвардом и что я там еще забыл.А знаете почему? Потому что это _удобно_. У людей, не страдающих юношеским максимализмом и желанием выделиться, реальное удобство перевешивает "минимализм" и прочие мнимые достоинства.
> Ну меня как-то устраивала работа старого opennntpd и мне его хватало.Не использовать синхронизацию времени - еще проще и надежнее. И безопаснее, само собой.
Думаю, если поработать над собой, можно сформировать убеждение, что и без NTP "всего хватает".> А кода в 10 раз меньше чем у ntpd.
Разработчики OpenBSD за последние семь лет много сделали для сокращения этого разрыва.
Ждите новый, толстый и энтепрайзный openntpd в своих линуксах уже в ближайшие месяцы!
> реальное удобство перевешивает "минимализм" и прочие мнимые достоинства.Мне из ntpd надо чтобы он
1) Тягал время снаружи
2) Раздавал в локалке.Сауна и массажистки от ntpd совершенно не требуются, а разбираться в 100500 опций программы которая должна работать и не иметь мне мозг мне как-то не сильно удобно, если честно.
> Не использовать синхронизацию времени - еще проще и надежнее. И безопаснее,
Не поспоришь. Но вот синхронизация времени - это удобно. А если с этим справляется программа в 10 раз меньше - нафиг мне программа в 10 раз больше? Я все-равно ее фичами типа всяких GSSAPI не пользуюсь и не планирую. Потому что мне нужна синхронизация времени а не гибрид парового экскаватора с подводной лодкой и самолетом, который на все случаи жизни и во всех случаях являет собой кучу проблем.
> Думаю, если поработать над собой, можно сформировать убеждение, что и без NTP
> "всего хватает".Ну так поработайте, я не возражаю.
> Разработчики OpenBSD за последние семь лет много сделали для сокращения этого разрыва.
Ну так я не обязан пользоваться новой версией. В старой никаких известных проблем нет.
> Ждите новый, толстый и энтепрайзный openntpd в своих линуксах уже в ближайшие месяцы!Ну ок, посмотрим насколько он будет толстым и энтерпрайзным.
> Всего-то в два раза.Дитятко, в российских школах уже и числа сравнивать не учат?
http://sources.debian.net/src/openntpd/20080406p-7~bpo70.../
http://sources.debian.net/src/ntp/1:4.2.6.p5%2Bdfsg-2.../
(openntpd взял более поздний, как более "жирный")Имеем sloc(ansic) 5,168 против 144,067. Это не в два раза, это больше чем даже в 22 раза...
> различные тонкости, вроде clock discipline
И ведь держу пари - ты даже понятия не имеешь что это и
зачем. Кто сказал что это тебе в локалке сдалось? Или такой боевой детсадник
будет stratum-1 сервер подымать?> В openntpd учитываются только особенности ядра OpenBSD.
В сад. Ну нельзя трепаться, настолько не имея представления о subj.
>> Вообще, вся настройка - это ответить на один-единственный вопрос при установке.
> Если ты про ISCшный ntpd - полезно сказать ему хотя-бы --help и
> прифигеть. Оно умеет жарить, парить, шарить и крестиком вышивать.Сказал. Практически все опции связаны с синхронизацией времени, кроме классических, типа configfile, nice, logfile, jaildir, user, которые есть у большинства демонов.
> Сказал. Практически все опции связаны с синхронизацией времени,Единственная загвоздка - мне из этого надо пару штук этих опций, а остальное - dead code, который не приносит мне пользы и только почем зря упрощает проведение атак.
Dead code не может никак повлиять на упрощение (или усложнение) атак. На то он и dead.
> Dead code не может никак повлиять на упрощение (или усложнение) атак. На
> то он и dead.Щаз. Он dead для *меня* и моих задач. А вот ремота его может дернуть. А мне это надо - чтобы код который бесполезен для меня и моих систем дергали какие-то левые хpeны, с шансом наступить там на баг?
и вот
>> К счастью, вскоре, благодаря сабжевой инициативе, в FreeBSD и Debian придет актуальная версия openntpd, которая по жирности и раздутости лишь немногим уступает ntpd.
> Например? В чём именно ты потерялся, заенька?Мало настроек - не значит, что мало кода :)
find + wc - это вам не маны читать.> Вообще, вся настройка - это ответить на один-единственный вопрос при установке.
А при установке ntpd вообще никаких вопросов. Из коробки синкается с pool.ntp.org.
>>> К счастью, вскоре, благодаря сабжевой инициативе, в FreeBSD и Debian придет актуальная версия openntpd, которая по жирности и раздутости лишь немногим уступает ntpd.
>> Например? В чём именно ты потерялся, заенька?
> Мало настроек - не значит, что мало кода :)
> find + wc - это вам не маны читать.Если бы вы ещё умели find пользоваться (см. комментарии ниже)...
>> Вообще, вся настройка - это ответить на один-единственный вопрос при установке.
> А при установке ntpd вообще никаких вопросов. Из коробки синкается с pool.ntp.org.Имелся в виду вопрос при установке самой OpenBSD.
я даже могу показать эти легендарные вопросы:http://openbsd.51t.ru/ntparc/ntp1.png
http://openbsd.51t.ru/ntparc/ntp2.png
> Имелся в виду вопрос при установке самой OpenBSD.В дебиане точно так же, несмотря на то, что по умолчанию там ISC ntpd :)
> его "жирные" и "ненужные" фичи обеспечивают исключительно синхронизацию времени.Да, конечно, всякие там GSSAPI и еще десять экранов всякой левой буиты - это для синхронизации времени оказывается.
> Да, конечно, всякие там GSSAPI и еще десять экранов всякой левой буиты
> - это для синхронизации времени оказывается.Внезапно, но синхронизация времени может быть и защищенной.
> Внезапно, но синхронизация времени может быть и защищенной.Внезапно потом оказывается что через кучу багов и фич этой защиты или того что вокруг и поимеют. А чем меньше кода - тем меньше багов в этом коде. Этот тезис еще никто оспорить не смог.
> Внезапно потом оказывается что через кучу багов и фич этой защиты или того что вокруг и поимеют.Ну да, давайте не будем закрывать дверь на замок, его же могут взломать.
> А чем меньше кода - тем меньше багов в этом коде. Этот тезис еще никто оспорить не смог.
Лично мне неоднократно приходилось сталкиваться с контрпримерами.
Например, если ЧСВ автора маленького куска кода велико, он может наделать там целый лес багов, в отличие от скромных профессионалов, написавших много хорошего кода.
Кстати, у опенбсдшников ЧСВ просто зашкаливающее ;) Достаточно почитать их отбрехи "почему не осилили MAC".
> Ну да, давайте не будем закрывать дверь на замок, его же могут взломать.Ну, знаете, если вы понаставили электронных замков, а потом от китайского блока питания который пыхнул - сгорела вся хата, может ну его нафиг такую защиту? От нее вреда больше чем от грабителей. Ну вот и от сервера синхронизации времени позволяющего грабителям влезть в сетку - тоже вреда как-то многовато.
> Лично мне неоднократно приходилось сталкиваться с контрпримерами.
Тем не менее, тезис о том что код ntpd в разы качественнее чем openntpd не выглядит убедительным. Особенно после нахождения там уязвимостей. И вообще, у всех переростков от ISC плохая репутация по части безопасности. Как-то так статистически видно что ISC безопасностью не парится и городит абы что и абы как.
> Кстати, у опенбсдшников ЧСВ просто зашкаливающее ;)
Но кучи багов в их коде все-таки не видно. Хотя в целом они достаточно #$%нутые граждане, но это не отменяет того что даже они могут быть в каком-то случае правы. А тезис про размер кода - D.J. Bernstein вообще. Который в безопасности толк знает.
> Ну, знаете, если вы понаставили электронных замков, а потом от китайского блока
> питания который пыхнул - сгорела вся хата, может ну его нафиг
> такую защиту? От нее вреда больше чем от грабителей. Ну вот
> и от сервера синхронизации времени позволяющего грабителям влезть в сетку -
> тоже вреда как-то многовато.В настоящих юниксах это даже dhcp-клиент позволяет :)
>> Лично мне неоднократно приходилось сталкиваться с контрпримерами.
> Тем не менее, тезис о том что код ntpd в разы качественнее
> чем openntpd не выглядит убедительным. Особенно после нахождения там уязвимостей.У меня нет иллюзий относительно качества кода и кривизны ручек кодеров из ISC.
А вот у вас - есть, относительно кодеров из опенка :)> Но кучи багов в их коде все-таки не видно.
А у них все, что не remote root in default install - не баг.
> В настоящих юниксах это даже dhcp-клиент позволяет :)Я в курсе, спасибо.
> У меня нет иллюзий относительно качества кода и кривизны ручек кодеров из ISC.
> А вот у вас - есть, относительно кодеров из опенка :)Исторически они зарекомендовали себя несколько более пряморукими. И что важнее - их легче расстрелять чем заставить добавить новый код без сильной причины. В отличие от индусов ISC, которым наверное зарплату по числу строк платят, судя по тому как все продукты ISC распухают от энтерпрайзных фич и потом в них баги не успевают гасить.
> А у них все, что не remote root in default install - не баг.
Ну я пока не видел примеров поимения систем через openntpd, а в ntpd дыру нашли. Так что в конкретно этой ситуации счет 1:0, как ни крути :). А пользоваться опенбздой я не собираюсь, поэтому как они там system-wide в своем замшелом болоте баги мочат - не мои проблемы.
> оно 8 лет было никому не нужно, а теперь разрабы надеются, что что-то изменилось.Изменилось очень многое.
openntpd-20080406p$ find . -name '*.c' -o -name '*.h' -exec cat '{}' + | wc -l
1801
openntpd-20080406p$ cd ../openntpd-openbsd-master
openntpd-openbsd-master$ find . -name '*.c' -o -name '*.h' -exec cat '{}' + | wc -l
17609Кодовая база раздулась раз этак в 10. Скоро догонит и перегонит ntpd.
> 17609
> Кодовая база раздулась раз этак в 10. Скоро догонит и перегонит ntpd.Не догонит. Код ntpd занимает около _300 тысяч_ строк!
> Не догонит. Код ntpd занимает около _300 тысяч_ строк!А чего не триста триллионов? Не мелочитесь, вам же все равно на сколько порядков соврать :P
ntp-4.2.6p2$ find . -name '*.c' -o -name '*.h' -exec cat '{}' + | wc -l
36822
>> Не догонит. Код ntpd занимает около _300 тысяч_ строк!
> А чего не триста триллионов? Не мелочитесь, вам же все равно на
> сколько порядков соврать :P
> ntp-4.2.6p2$ find . -name '*.c' -o -name '*.h' -exec cat '{}' +
> | wc -l
> 36822Юзер, за ассоциативность слышал?
ntp-4.2.8$ find \( -name "*.c" -o -name "*.h" \) -exec cat {} \; |wc -l
353984
> Юзер, за ассоциативность слышал?
> ntp-4.2.8$ find \( -name "*.c" -o -name "*.h" \) -exec cat {} \; |wc -l
> 353984Ну вот, опять пришел поручик и все опошлил :(
> Юзер, за ассоциативность слышал?Какой юзер? O_O
Это какой-то левый хрен с ntpd. Юзеру как раз openntpd нравится, одна из немногих полезных программ от опенбсдшников.
>> Юзер, за ассоциативность слышал?
> Какой юзер? O_O
> Это какой-то левый хрен с ntpd. Юзеру как раз openntpd нравится, одна
> из немногих полезных программ от опенбсдшников.По всем признакам Юзер. Даже минусов Анониму в своем стиле отгрузил.
Юзер пользуется Линуксом, соответственно нравиться ему может только старый openntpd-portable, а здесь "критика" openntpd-openbsd-master.
> По всем признакам Юзер. Даже минусов Анониму в своем стиле отгрузил.
> Юзер пользуется Линуксом, соответственно нравиться ему может только старый openntpd-portable,
> а здесь "критика" openntpd-openbsd-master.ой, да ладно - тут этих демагогов-дебилов без грамма адекватности и приличий - десятки. и все абсолютно одинаковые, ибо "своё" мнение из одних источников берут :)
впрочем, это, наверное, уже имя нарицательное стало :)
Мне кажется их не так много, но те что есть очень говорливые.
> ой, да ладно - тут этих демагогов-дeбилов без грамма адекватности и приличий
> - десятки. и все абсолютно одинаковые, ибо "своё" мнение из одних
> источников берут :)И вы, наверное, уверены, что не принадлежите к их числу? :)
>> ой, да ладно - тут этих демагогов-дeбилов без грамма адекватности и приличий
>> - десятки. и все абсолютно одинаковые, ибо "своё" мнение из одних источников берут :)
> И вы, наверное, уверены, что не принадлежите к их числу? :)Я нормальный. И подавляющее большинство здесь - нормальные. Но вот визгливое меньшинство, которое с упорством, достойным лучшего применения начинает рассказывать, что земля плоская, потому что они так видят... оно раздражает.
> Я нормальный.ЧСХ, каждый Наполеон орет именно так :)
> По всем признакам Юзер. Даже минусов Анониму в своем стиле отгрузил.Не угадал. Это был какой-то другой аноним.
> Юзер пользуется Линуксом, соответственно нравиться ему может только старый openntpd-portable,
Так он мне и нравится.
> а здесь "критика" openntpd-openbsd-master....которая мне в целом относительно перпедикулярна. Ну то-есть я не поддерживаю разжирение софтины, но оно там умеренное. А если сравнить с ntpd от ISC - сразу видно кто там макаронный^W энтерпрайзный монстр. Меня ISC своей энтерпрайзятиной с кучей дыр уже достало. У них кто dhcp проблемы огребает, что ntpd, что dns. У опенбсдшников нет такого послужного списка, хоть там как факты подтасовывай.
>> По всем признакам Юзер. Даже минусов Анониму в своем стиле отгрузил.
> Не угадал. Это был какой-то другой аноним.Хорошо, не настаиваю, тебе виднее.
> Хорошо, не настаиваю, тебе виднее.Мне смешнее - у ряда местных кадров развилась мания подакакивать к совершенно левым субъектам и вопить что-то про юзера, вызывая у людей довольно странные эмоции :)
>> Хорошо, не настаиваю, тебе виднее.
> Мне смешнее - у ряда местных кадров развилась мания подакакивать к совершенно
> левым субъектам и вопить что-то про юзера, вызывая у людей довольно
> странные эмоции :)9 из 10 угадал. Один мимо, но близко, ибо и по поведению и по скилу очень похож.
> 9 из 10 угадал.Честно говоря не похоже.
> Один мимо, но близко, ибо и по поведению и по скилу очень похож.
У людей бывают похожие стили мышления. И мой стиль мышления в контексте этого сайта может вполне ощутимо совпадать с кем-то еще. Более того - если бы мой стиль мышления сильно не совпадал с большинством посетителей по ключевым вопросам, мне было бы тут не слишком комфортно и я, вероятно, нашел бы себе другое место для обитания.
тут только один врётв ntp.4.2.6.orig из debian - 5.5 мб c и h файлов, полный архив - 13.5 мб
/usr/src/usr.sbin/ntpd - ровно 130982 байта. из них .c и .h - 105237 байт
> оно 8 лет было никому не нужно,Отучаемся говорить за всех. Меня вот мелкий демон на пару десятков кило, который и клиент и сервер - вполне радует. И он сииииииильно меньше ntpd. А у ISC весь софт переросточный и потому дырявый и проблемный. Bind10 вообще получился какой-то невменяемой энтерпрайзятиной, например.
>> оно 8 лет было никому не нужно,
> Отучаемся говорить за всех. Меня вот мелкий демон на пару десятков кило,
> который и клиент и сервер - вполне радует. И он сииииииильно
> меньше ntpd.Не сильно. Судя по сорцам - раза в два.
А судя по тому, что за последние годы openntpd вымахал в _десять_ раз больше, чем был (и пока остается в линуксах и фре), какие-то жалкие два раза - далеко не проблема.> А у ISC весь софт переросточный
Ну, современный openntpd ему в этом мало чем уступает.
> и потому дырявый и проблемный.
Полагаю, что если кто-то всерьез займется за аудит openntpd, он тоже окажется не менее дырявым. Больше жира - больше дыр, а жира сейчас в openntpd навалом.
> Не сильно. Судя по сорцам - раза в два.Если сравнивать с старой версией портабельного openntpd - разница была буквально в 10 раз если не больше.
> какие-то жалкие два раза - далеко не проблема.
Ну как бы в 2 раза больше багов - не есть хорошо. Но все-таки зря они его раздувают.
> Ну, современный openntpd ему в этом мало чем уступает.
Да у меня НеСовременный вроде работает и дыр известных в нем нет. Смысл его замены не понятен. Утилиты упрввления демоном ntpd мне и правда не требуются и это уже замашки в стиле ISC какие-то. Нафига - не понятно.
> Полагаю, что если кто-то всерьез займется за аудит openntpd, он тоже окажется
> не менее дырявым. Больше жира - больше дыр, а жира сейчас в openntpd навалом.Так я и не одобряю разжирение кода оного. С другой стороны предыдущая версия сколько лет была - и никто никаких дыр не нашел пока. Наверное в том числе и потому что там кода в десятки раз меньше ntpd.
> Если сравнивать с старой версией портабельного openntpd - разница была буквально в
> 10 раз если не больше.Так ей уже семь лет в обед.
И осталась она на том уровне не потому, что "во, зашибись, идеально, так и оставим", а просто потому, что разрабам было лень париться с портированием.>> какие-то жалкие два раза - далеко не проблема.
> Ну как бы в 2 раза больше багов - не есть хорошо.А кто сказал, что багов там больше ровно в 2 раза?
Вполне может быть, что и столько же. Или в 2 раза меньше.
Не надо выдавать свои домыслы за доказанные факты.> Да у меня НеСовременный вроде работает и дыр известных в нем нет.
Как насчет 0day? ;)
В случайном снашпоте кода семилетней давности найти что-то такое - вполне вероятно.
> Так я и не одобряю разжирение кода оного. С другой стороны предыдущая
> версия сколько лет была - и никто никаких дыр не нашел
> пока. Наверное в том числе и потому что там кода в
> десятки раз меньше ntpd.Наверное, прежде всего потому, что "белым шляпам" он нафиг не сдался, а "черные" на каждом углу о своих находках кричать не будут.
> Так ей уже семь лет в обед.И что? А известных дыр нет. Вот прям все семь лет. Зашибись, как-то так и должен выглядеть сетевой сервис :)
> И осталась она на том уровне не потому, что "во, зашибись, идеально,
> так и оставим", а просто потому, что разрабам было лень париться с портированием.А для меня это "зашибись, идеально". Потому что свою работу выполняет и известных дыр нет. Прямо даже и не знаю что мне еще от синхрилки времени надо. Нет, 100500 энтерпрайзных фич на что горазды ISC мне никуда не вперлись. Я ими не пользуюсь. И это для меня dead code, который только увеличиает шансы получить эксплойтом в бубен, не принося мне никакой пользы.
> А кто сказал, что багов там больше ровно в 2 раза?
> Вполне может быть, что и столько же. Или в 2 раза меньше.У продуктов ISC по статистике плохая история секурити и больше кода. А у опеночников проколы в секурити редки и кода сильно меньше. В той версии 2008 года кода было в ДЕСЯТКИ раз меньше. Ну и багов минимум во столько же раз меньше.
> Не надо выдавать свои домыслы за доказанные факты.
Это не мои домыслы. Это вполне логически обоснованные тезисы D. J. Bernstein. Которые выглядят здраво и поэтому я склонен с ними согласиться. Он как-то так очень генерализованно все вывел.
> Как насчет 0day? ;)
Так же как с любой иной программой - если он будет, его запатчат. А вот вероятность появления оного для программы где в 10 раз меньше кода - в 10 раз ниже. А может и более чем в 10, все-таки параноики из опенбзды и криворукая индусня из ISC могут иметь разницу в квалификации и скорее всего совсем не в пользу индусни.
> В случайном снашпоте кода семилетней давности найти что-то такое - вполне вероятно.
Не менее реально найти это и в снапшоте кода 2015 года. Програмеры за 7 лет мало изменились. А ISC вообще известные бракоделы, норовящие наворотить энтерпрайзных фич а потом выносить баги лопатой.
> "черные" на каждом углу о своих находках кричать не будут.
Для начала элементарная логика подсказывает что вероятность что черные шляпы что-то там вообще найдут - в десятки раз ниже. Более того - с точки зрения черной шляпы жирный кусок энтерпрайзятины который напихан везде - явно более перспектинвая мишень чем мизерный и не очень популярный плевок кода от персон с закидонами по безопасности.
> Так я и не одобряю разжирение кода оного.если не брать некоторых служебных данных cvs, суммарно где-то байт 100, то:
openbsd 3.6 - 78373 байта
openbsd 3.7 - 79063 байта
3.8 - 80816
3.9 - 81325
4.0 - 94k
4.1 - 96k
4.2 - 95k
4.3 - 102k
4.4 - 103k
4.5 - 108k
4.6 - 117k
4.7 - 117k
4.8 - 103k
4.9 - 103k
5.0 - 103k
5.1 - 106k
5.2 - 106k
5.3 - 107k
5.4 - 107k
5.5 - 130k
5.6 - 130k
current - 131kпросто чудовищный рост: с 78 тыщ байт до 131 тыщ байт за 11 лет
можете сами сравнивать, что изменилось:
http://openbsd.51t.ru/ntparc/
> http://openbsd.51t.ru/ntparc/Вот что бывает когда разработчики не могут научиться пользоваться git. Приходится заниматься вот таким утонченным онанизмом.
Интересно, а systemd уже поддерживает ntp?
Да, давно поддерживает ntp-клиент
> Интересно, а systemd уже поддерживает ntp?Только SNTP, только как клиент и только через отдельного демона. Увы, но это не юникс-вей.
> это не юникс-вей.Юникс-вей - это когда рута на системе получает DHCP сервер, потому что навалили скриптов где не попадя и передали им что попало прямо от внешнего сервера.
> Юникс-вей - это когда рута на системе получает DHCP сервер, потому что
> навалили скриптов где не попадя и передали им что попало прямо
> от внешнего сервера.Все правильно, юникс - родина червей. Моррисон подтвердит.
>> это не юникс-вей.
> Юникс-вей - это когда рута на системе получает DHCP сервер, потому что
> навалили скриптов где не попадя и передали им что попало прямо
> от внешнего сервера.Потому что используют монстра bash там, где должно хватать легковесного шелла.
> Потому что используют монстра bash там, где должно хватать легковесного шелла.И скрипты писаные как курица лапой, где авторы ни разу не парились тем что это недоверяемые данные с внешних систем. А у шеллов куча закидонов по специальной интерпретации разных символов там и тут. Непаханое поле с граблями.
>> Потому что используют монстра bash там, где должно хватать легковесного шелла.
> И скрипты писаные как курица лапой, где авторы ни разу не парились
> тем что это недоверяемые данные с внешних систем. А у шеллов
> куча закидонов по специальной интерпретации разных символов там и тут. Непаханое
> поле с граблями.И спецы по безопасности и мейнтейнеры признали, что дыра конкретно в bash и только у грандиозного ыксперта Юзер294 (или будешь опять утверждать что я обознался) всё наоборот.
> И спецы по безопасности и мейнтейнеры признали, что дыра конкретно в bashА посмотрев на то как писано большинство скриптов - я могу себе представить сколько еще вселых открытий нас ждет.
> и только у грандиозного ыксперта Юзер294 (или будешь опять утверждать что
> я обознался) всё наоборот.Засчитывается результат. И если он таков что ремотный DHCP нахаляву получает рут - это обcиpoн, с брызгами.
>> И спецы по безопасности и мейнтейнеры признали, что дыра конкретно в bash
> А посмотрев на то как писано большинство скриптов - я могу себе
> представить сколько еще вселых открытий нас ждет.Реально большинство посмотрел? Молодец. Теперь посмотри на большинство компилируемого кода.
>> и только у грандиозного ыксперта Юзер294 (или будешь опять утверждать что
>> я обознался) всё наоборот.
> Засчитывается результат. И если он таков что ремотный DHCP нахаляву получает рут
> - это обcиpoн, с брызгами.Это проблемы конкретного DHCP клиента. Что ты этим доказать хочешь? Если проблема в скрипте, покажи в каком месте.
Если что код из переменных среды выполняется еще до того как скрипт начал интерпретироваться.
Тебе даже Solar Designer объяснял. Если он не смог, то я бессилен. Не умею с деревьями разговаривать.
> Реально большинство посмотрел? Молодец.Ну я mc люблю, поэтому прошлепать немеряную иерархию для меня фигня вопрос. Попутно просмаатривая встроенной вьюхой по F3 "а что у нас вот тут?". Так что да, я смотрел на кучу скриптов. В системе инициализации. В обвязках всего и вся и прочая. И имею заметить что чаще всего открытия там неприятные.
> Теперь посмотри на большинство компилируемого кода.
На мое нескромное мнение, сишный код читать как правило заметно приятнее: по нему видно что его писали намного более квалифицированные и опытные люди. Которые чаще всего хотя-бы понимают что они делают. У них тоже бывают обсиpaки, но если бы они писали код как пишут шелскрипты - обсupaков было бы в 10 раз больше.
> Это проблемы конкретного DHCP клиента.
Это намного более фундаментальная проблема - кормление черти как написаного скрипта, с интерпретатором делающим хзчто непроверенными входными данными от внешних источников. И да, шеллскрипты в целом - та еще дрянь, когда вопрос заходит об обработке ПРОИЗВОЛЬНЫХ данных, когда ремота может везде пихать произвольные байты. В шелскриптах работа с потенциально бинарными данными - на уровне плинтуса. Делается много допущений о свойствах входящих данных. А атакующий на ремоте следовать этим допущениям ВНЕЗАПНО не обязан. Технические ограничения протоколов позволяют впихивать в большинство полей практически любые данные. И большинство шеллскриптов соврешенно не готовы к тому факту что им с ремоты приедут по сути произвольные данные.
> Что ты этим доказать хочешь? Если проблема в скрипте, покажи в каком месте.
Среди виденных шеллскриптов практически ни один не делал валидацию ввода, при том что шелл имеет свойство специальным образом реагировать на те или иные спецсимволы. Предусмотреть все последствия - имхо просто нереально.
> Если что код из переменных среды выполняется еще до того как скрипт
> начал интерпретироваться.Спасибо, мне утешение на дыру класа "ремотный рут нахаляву" в стиле микрософта что-то не нравится.
> Тебе даже Solar Designer объяснял.
Он как раз относительно вменяемый кадр, который как раз по ощущениям понимает tradeoff. И с ним конструктивная дискуссия возможна, в отличие от вас.
> Если он не смог, то я бессилен. Не умею с деревьями разговаривать.
Вот и потеряйся.
Ты здесь академичишь, что сжатый и красивый код == хорошо и баналишь, что грязные портянки -eq плохо. ОК, с этим даже Поттеринг спорить не будет.А теперь факты:
/sbin/dhclient(~100k строк C) установил переменные окружения из вражеских данных(читай кода).
/bin/bash(~100k строк C) шутки ради(вероятно) выполнил из переменных окружения вражеский код(читай данные) еще до того как начал обрабатывать скрипт, ради которого его и запустили.
dhclient-script(~300 строк шелла) ничего мог бы и не делать, так как PWN уже состоялся.
Ну И? Кто здесь грязная портянка?
PS: На вопрос "Если проблема в скрипте, покажи в каком месте" правильный ответ: В первой строке.
> /sbin/dhclient(~100k строк C) установил переменные окружения из вражеских данных(читай кода).Кстати если уж на то пошло, еще одна пакость от ISC. Не, ну серьезно, 100К строк в DHCP? Дорогой ISC, умрите. Нельзя так сетевой софт писать! Вдвойне галимо когда такой софт потом кто-то еще в систему по дефолту втыкает. Потому что в 100К строк - прилично места для багов и самих по себе.
> /bin/bash(~100k строк C) шутки ради(вероятно) выполнил из переменных окружения
За такие шутки в зубах бывают промежутки.
> dhclient-script(~300 строк шелла) ничего мог бы и не делать, так как PWN
> уже состоялся.Это круто, но зачем было звать bash (и вообще шелл) и чего-то ему передавать, если я даже в проекте не начинал ничего скриптить и кастомизирвать - загадка природы. Вот уж воистину горе от ума.
> Ну И? Кто здесь грязная портянка?
Да все понемногу. Невменяемый монстр от ISC, c манией дергать простынки. Интерпретатор, который лоханулся даже до запуска простынки. Майнтайнеры дистра которые зачем-то какие-то скрипты вообще фигачат, когда юзер ничего кастомного даже не начинал делать.
> PS: На вопрос "Если проблема в скрипте, покажи в каком месте" правильный
> ответ: В первой строке.В данном случае проблема не в скрипте а в общем подходе - когда какое-то падло вообще пытается дергать какие-то скрипты, хотя его об этом не просили, ибо даже не начинали ничего кастомизировать. Вот нахрена запускать какие-то скрипты в совершенно стандартной конфиге? Чтобы было больше грабель? ОК, вот вам грабли. Теперь ссыкуйте DHCP пользоваться с непатченых систем, канальи. Иначе вам систему конкретно кастомизируют с DHCP сервака.
> Потому что используют монстра bash там, где должно хватать легковесного шелла.Понятие "легковестности" весьма относительно.
По сравнению с zsh, bash весьма легковесен.Но действительно легковесно - не совать шелл-код туда, где можно обойтись простым конфигом.
>> Потому что используют монстра bash там, где должно хватать легковесного шелла.
> Понятие "легковестности" весьма относительно.
> По сравнению с zsh, bash весьма легковесен.Понятия избыточной функциональности и совместимости весьма конкретны.
Не нужно совать полноценный интерактивный шелл со всеми его свистелками и хотелками туда, где достаточно интерпретатора.
Баш хорош как логин шелл и для быстрой автоматизации на коленке.
> Но действительно легковесно - не совать шелл-код туда, где можно обойтись простым
> конфигом.Полноценный код не заменяется конфигом. Если вместо скрипта у тебя конфиг, тогда код, функционально заменяющий скрипт, будет находиться в каком-нибудь бинарнике. В результате система будет менее гибкая, но не более безопасная.
> Понятия избыточной функциональности и совместимости весьма конкретны.Определения в студию.
> туда, где достаточно интерпретатора.
Интерпретатор - понятие растяжимое. Вон перл или питон - тоже интерпретаторы. С бинарем в несколько раз больше баша.
> и для быстрой автоматизации на коленке.
Ну вот некоторые решили что автоматизировать - так каждый пук. И автоматизировали, блин, DHCP. Который и так вроде автоматический, но оказалось что можно автоматизировать посильнее. Например чтобы ремота рута автоматически получала.
> Полноценный код не заменяется конфигом.
Не очень понимаю на кой ляд полноценный код при получении айпишника с DHCP. Я не против чтобы тем кому надо что-то очень кастомное было можно какой-то hook прицепить, чтобы их дернули. Но вот зачем это по дефолту всем вообще пихать - не понятно. Западло и есть западло.
> система будет менее гибкая, но не более безопасная.
Просто нефиг скриптить без реальной на то нужды, "чтоб было". Потом оказывается что в скриптах гомнокод, интерпретаторы разваливаются от легкого тыкания палочкой - удачи проаудитить все фичи бинаря на метр. Про половину которых все давно забыли. Кроме вон тех хацкеров, решивших проявить креативность.
>> Понятия избыточной функциональности и совместимости весьма конкретны.
> Определения в студию.Когда сказать больше нечего, начинаешь уводить в сторону спором о понятиях. Может просто не стоило изначально в лужу пукать?
>> туда, где достаточно интерпретатора.
> Интерпретатор - понятие растяжимое. Вон перл или питон - тоже интерпретаторы. С
> бинарем в несколько раз больше баша.Ты пользуешься Питоном и Перлом как интерактивной оболочкой вместо Баша? И как, удобно?
>> и для быстрой автоматизации на коленке.
> Ну вот некоторые решили что автоматизировать - так каждый пук. И автоматизировали,
> блин, DHCP. Который и так вроде автоматический, но оказалось что можно
> автоматизировать посильнее. Например чтобы ремота рута автоматически получала.Имеются в виду то что ты сам запускаешь для облегчения жизни. В случае dhcpclient нужно было именно простой POSIX shell запускать, или тот же Perl, а не Баш. Ну это кроме всех прочих фейлов в этой программе, которая кстати бинарная.
>> Полноценный код не заменяется конфигом.
> Не очень понимаю на кой ляд полноценный код при получении айпишника с
> DHCP. Я не против чтобы тем кому надо что-то очень кастомное
> было можно какой-то hook прицепить, чтобы их дернули. Но вот зачем
> это по дефолту всем вообще пихать - не понятно. Западло и
> есть западло.
>> система будет менее гибкая, но не более безопасная.
> Просто нефиг скриптить без реальной на то нужды, "чтоб было". Потом оказывается
> что в скриптах гомнокод,Не умеешь — не пиши скриптов. Тем более на Баше. Но если ты на шелле "гомнокод" пишешь, на C ты напишешь не лучше, поверь.
> интерпретаторы разваливаются от легкого тыкания палочкой -
То есть выполнять скомпилированный код безопаснее скрипта?
> удачи проаудитить все фичи бинаря на метр. Про половину которых все
> давно забыли. Кроме вон тех хацкеров, решивших проявить креативность.Удачи проаудитить все метры библиотек в своей системе.
> Когда сказать больше нечего, начинаешь уводить в сторону спором о понятиях.Мне просто интересно как эти общие слова с потолка определены :). Что интереснее - для себя я могу определение того что я считаю блоатварью выдать. В отличие от.
> Ты пользуешься Питоном и Перлом как интерактивной оболочкой вместо Баша? И как, удобно?
Мне - нет. Но вообще для как минимум питона бывают и интерактивные оболочки. Но если честно, мне и синтаксис шеллскриптов для сколь-нибудь сложного программирования не нравится. Я на таком готов только мелкую автоматизацию вида "а давайте вот эти 20 файлов подвинем вон туда по вот такому критерию". А 100500 строк программной логики на баше в какой-нибудь обвязке DHCP - это авгиевы конюшни, простите.
>>> и для быстрой автоматизации на коленке.
>> Ну вот некоторые решили что автоматизировать - так каждый пук. И автоматизировали,
>> блин, DHCP. Который и так вроде автоматический, но оказалось что можно
>> автоматизировать посильнее. Например чтобы ремота рута автоматически получала.
> случае dhcpclient нужно было именно простой POSIX shell запускать,Я считаю что по дефолту не надо запускать вообще ни-че-го. А если кому надо - ну ок, механизм для кастомных хуков пусть будет. Если юзверю мало простого получения айпи без приключений - ну ок, дергайте юзерский хук, при том имхо писаный на том чем там удобно этому юзеру. А дерг 100500 скриптов для просто получения айпи без спецтребоаний - форменное западло.
> в этой программе, которая кстати бинарная.
Зато в шеллскриптах все очень плохо с работой с произвольными данными (грубо говоря произвольным набором байтов). А большинство протоколов чисто технически позволяют ремоте всучить локальной системе произвольный хлам. Просто потому что пакет в таком формате чисто технически можно выдавить в провод, он прилетит и будет разобран. Точнее, его попытаются разобрать. А что там окажется и какой отвал башки вызовет - очень отдельный вопрос. Учитывая что шелскрипты плохо реагируют на произвольные данные - для меня это звучит как заявка на грабли. И я совсем не испытываю желание по ним прыгать лишний раз. Ну то-есть я не против если будет возможность повесить свой скрипт или программу на энное событие вида "мы тут айпи с DHCP получили" и перехватить инициативу в свои руки. Но зачем мне куча скриптятины по дефолту при том то я ничего там не кастомизировал - для меня загадка. Мне DHCP который работает вот так - ни к чему, спасиб.
> Не умеешь — не пиши скриптов. Тем более на Баше. Но если
> ты на шелле "гомнокод" пишешь, на C ты напишешь не лучше, поверь.На мое нескромное мнение шелскрипты ок только для мелкой местечковой автоматизации.
> То есть выполнять скомпилированный код безопаснее скрипта?
В случае сей - пожалуй, да. Просто потому что там рантайм сам по себе делает абсолютный минимум специальных действий с входными даными и ему решительно все-равно что там за данные. Могут быть любые из 256 возможных значений, всем пофигу. Наступить на грабли можно и там, но там по крайней мере рантайм не пытается умничать с спецобработкой входных данных лишний раз. Что избавляет от кучи грабель на входных данных присланых неизвестно кем. А кто криворук и боится переполнений буферов - ну вон там для таких нынче Go какой-нибудь моднявый есть.
А еще - низкоуровневая системная автоматизация из сей лучше получается. Скажем какой-нибудь ioctl дернуть оттуда явно сподручнее, как и фичу вон той либы дернуть.
> Удачи проаудитить все метры библиотек в своей системе.
По этой причине я в целом предпочитаю относительно небольшие программы с минимальными зависимостями. Особенно в случае если это ж...й в сеть вывешивается.
Ждём в телефонах Nokia.
> Ждём в телефонах Nokia.Nokia не может производить телефоны в ближайшее время. По условиям сделки с MS. Впрочем, планшетку на ведроиде они сделали - не телефон, типа :)
кстати, о птичках. точнее, рыбках:
http://openntpd.org/images/openntpd.jpg
CVSROOT: /cvs
Module name: src
Changes by: bcook@cvs.openbsd.org 2015/01/12 19:28:56Modified files:
usr.sbin/ntpd : config.c ntp_dns.c ntpd.c ntpd.hLog message:
fix some memory leaks in dns handling.- Nothing seems to free the result of host_dns(), so add host_dns_free() and
call after each query.
- If imsg_add() fails, it frees buf. Avoid subsequently dereferencing the
freed buf in imsg_close().ok millert@ deraadt@