LINUX.ORG.RU

Сообщения edigaryev

 

А посоветуйте GUIню для APT

Сабж. Кто чем пользуется?

Сейчас вот обновляю вообще руками, наблюдая за рассылкой debian-security.

Использовать unattended upgrades не хочется, потому-что нужно чтобы человек сам начинал устанавливать причинно-следственную связь между «обновился сегодня утром» и «почему у XFCE на заставке теперь не мышка».

На Ubuntu перекатываться не вижу смысла, особенно в свете недавних новостей про Canonical и Google.

 ,

edigaryev ()

sin_addr vs sin_addr.s_addr

Перечитываю Стивенса, грепаю по исходникам OpenBSD, примерам в интернете и везде вижу примерно следующий код:

struct sockaddr_in sin;
inet_pton(AF_INET, "1.2.3.4", &sin.sin_addr);

...вместо:

struct sockaddr_in sin;
inet_pton(AF_INET, "1.2.3.4", &sin.sin_addr.s_addr);

Да, стандарт ставит знак равно между указателем на структуру и указателем на первый её объект:

A pointer to a structure object, suitably converted, points to its initial member [...]

(http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf, §6.7.2.1, p. 13)

Но POSIX при этом предъявляет лишь одно требование касательно структуры in_addr (в которой лежит s_addr):

The <netinet/in.h> header shall define the in_addr structure, which shall include at least the following member:

in_addr_t s_addr

(http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netinet_in.h.html)

А это значит что запиливатели ОС могут вполне себе засунуть в структуру in_addr перед s_addr что-нибудь еще, и все поломается.

Это такой масштабный карго-культ или я что-то упускаю?

 

edigaryev ()

Спортивное программирование наоборот

Ни для кого не секрет, что задачи, которые решают на олимпиадах по спортивному программированию, не поощряют корректность и безопасность кода:

  • формат входных данных четко определен, поэтому нет смысла тратить время на secure input and output handling
  • программа может успешно пройти все тесты и уложиться в отведенное время, несмотря на наличие в ней серьезных ошибок и implementation-defined/undefined behaviour
  • программа, ровно как и программист, ограничены по времени и доступным ресурсам (память для программы, доступ к документации для программиста), поэтому всякие там проверки возвращаемых значений невыгодны в плане производительности

Собственно к чему я это: а существуют ли online judge системы (или сервисы, или же научные статьи, которые такие системы описывают), в которых основным критерием оценки является не скорость, а безопасность и корректность реализации?

 ,

edigaryev ()

BGP full view без зарегистрированной AS

Существуют ли сервисы, позволяющие получать все маршруты интернета по протоколу BGP, имея в наличии лишь private ASN?

RIPE предоставляет дампы в формате MRT, но совершенно непонятно почему нельзя делать то же самое, но при помощи самого протокола BGP, тем более что возможность фильтровать анонсы от левых пиров в нормальном софте обычно имеется.

 

edigaryev ()

Директор Oracle по безопасности: «Прекратите искать уязвимости в наших продуктах»

Директор Oracle по безопасности Мэри Энн Девидсон опубликовала в блоге корпорации гневную заметку с просьбой прекратить присылать Oracle сообщения о найденных уязвимостях в ее продуктах. Потому что Oraclе разбирается в уязвимостях лучше, а те, кто выполняют обратный инжиниринг кода, нарушают лицензию на продукт.

Девидсон напомнила, что обратный инжиниринг является нарушением лицензионного соглашения с Oracle на использование продукта. Таким образом, компания не может «быть благодарна за нарушение лицензии», даже если эксперт нашел уязвимость, говорит Дэвидсон.

«Если вы пытаетесь увидеть код под другим ракурсом, то есть не в том виде, в котором вы его получили от нас, скорее всего, вы пытаетесь провести обратный инжиниринг. Не надо. Просто не делайте этого», — попросила Девидсон.

Кроме того, Девидсон дала понять, что Oracle лучше справляется с поиском уязвимостей и получает множество ложных сообщений. «Потому, пожалуйста, не тратьте ваше время на то, чтобы сообщить нам, что увидели маленьких зеленых человечков в нашем коде», — заявила она в своем открытом обращении. Вместо этого, добавила она, стоило бы заняться укреплением своей собственной ИТ-инфраструктуры.

Источник: http://www.cnews.ru/top/2015/08/12/topmenedzher_oracle_prekratite_iskat_uyazv...

Оригинальный источник: https://blogs.oracle.com/maryanndavidson/entry/no_you_really_can_t (в кеше гугла)

 ,

edigaryev ()

Хостинг в России

Требуется VDS на KVM с возможностью произвести установку из своего .iso или любой dedicated с 2 HDD и KVM по цене, сравнимой с европейскими дедиками.

Касательно dedicated прошерстил кучу сайтов, о 95% из них складывается впечатление, что это компании однодневки или же просто забыли выключить сайт после прекращения деятельности. Примеры можно найти тут: http://hosting101.ru/catalog/dedicated-servers

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

Неужели в России нету своего Hetzner'а (а для дедиков online.net), которого бы можно было смело рекоммендовать для большинства задач?

 

edigaryev ()

ASCII, КАРЛ!

Просматривал тут исходники ЛОРа и наткнулся на следующий фрагмент:

case Failure(e: FileNotFoundException) ⇒
    logger.warn(s"Userpic not found for ${user.getNick}: ${e.getMessage}")
    None
case Failure(e) ⇒
    logger.warn(s"Bad userpic for ${user.getNick}", e)
    None
case Success(u) ⇒
    Some(u)

Мое внимание привлек данный символ: ⇒

Сначала я подумал что это проделки веб-морды гитхаба, но открыв файл в режиме «raw», я увидел тот же самый символ. WTF?

 ,

edigaryev ()

Угадал по автора по заголовку

Это адовый треш и никуда не годится.

maxcom, верни юзернеймы в трекер!

 

edigaryev ()

Завершение соединения при помощи FIN+ACK вместо FIN

1 23:08:29.110089 IP cli.43512 > srv.22: Flags [S], seq 818015366, win 29200, options [mss 1460,sackOK,TS val 28178215 ecr 0,nop,wscale 7], length 0
2 23:08:29.294750 IP srv.22 > cli.43512: Flags [S.], seq 3935023731, ack 818015367, win 16384, options [mss 1460,nop,nop,sackOK,nop,wscale 3,nop,nop,TS val 1301048581 ecr 28178215], length 0
3 23:08:29.294810 IP cli.43512 > srv.22: Flags [.], ack 1, win 229, options [nop,nop,TS val 28178400 ecr 1301048581], length 0
4 23:08:29.499011 IP srv.22 > cli.43512: Flags [P.], seq 1:22, ack 1, win 2172, options [nop,nop,TS val 1301048582 ecr 28178400], length 21
5 23:08:29.499059 IP cli.43512 > srv.22: Flags [.], ack 22, win 229, options [nop,nop,TS val 28178604 ecr 1301048582], length 0
6 23:08:35.134925 IP cli.43512 > srv.22: Flags [F.], seq 1, ack 22, win 229, options [nop,nop,TS val 28184240 ecr 1301048582], length 0
7 23:08:35.319602 IP srv.22 > cli.43512: Flags [.], ack 2, win 2172, options [nop,nop,TS val 1301048593 ecr 28184240], length 0
8 23:08:35.319796 IP srv.22 > cli.43512: Flags [F.], seq 22, ack 2, win 2172, options [nop,nop,TS val 1301048593 ecr 28184240], length 0
9 23:08:35.319843 IP cli.43512 > srv.22: Flags [.], ack 23, win 229, options [nop,nop,TS val 28184425 ecr 1301048593], length 0

На приведенном дампе видно как клиент подключается к SSH-серверу (1-3), который отправляет клиенту свой баннер (4) после чего клиент подтверждает прием (5).

Через шесть секунд клиент производит активное закрытие (6), выставляя в сегменте FIN зачем-то еще флаг ACK, таким образом подтверждая уже подтвержденные данные.

Вопрос: зачем это делается?

Почти во всей литературе, в которой разбирается TCP, можно наблюдать такую схему: https://upload.wikimedia.org/wikipedia/commons/5/55/TCP_CLOSE.svg

В RFC 793 в разделе 3.5 (Closing a Connection) говорится:

Case 1: Local user initiates the close

In this case, a FIN segment can be constructed and placed on the outgoing segment queue.

cli: Linux 3.18.7
srv: OpenBSD 5.4

 ,

edigaryev ()

Google шатает XMPP?

Пару дней назад пропала связь с контактами, которые используют XMPP Яндекса.

Думал что временно, но до сих пор на попытку отправить сообщения, обратно приходит dead letter:

<message type='error' id='purplea80696b8' to='edigaryev@gmail.com/pidgin' from='username@yandex.ru'>
	<active xmlns='http://jabber.org/protocol/chatstates'/>
	<body>test</body>
	<x xmlns='google:nosave' value='disabled'/>
	<record xmlns='http://jabber.org/protocol/archive' otr='false'/>
	<error code='404' type='cancel'>
		<remote-server-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
	</error>
</message>

Глянул статус s2s для гмыла:

https://xmpp.net/result.php?domain=gmail.com&type=server

xmpp-server.l.google.com:5269

Error: Connection failed.

При этом у Яндекса вроде как все ОК:

https://xmpp.net/result.php?domain=yandex.ru&type=server

Можно закапывать?

 , ,

edigaryev ()

Почта и доменные имена: проблема курицы и яйца

Суть:

  1. Нам понадобился адрес электронной почты, но для этого нужен почтовый сервер
  2. Для почтового сервера нужно доменное имя
  3. Идем регистрировать домен, но для его регистрации нужен адрес электронной почты
  4. ???
  5. GOTO 1

Выходит, доменная система интернета в её текущем виде активно поощеряет различные костыли типа регистрации временных емейлов на различных бесплатных сервисах (Gmail, XXminutemail, etc).

Можно конечно указывать адрес username@IPv4-addr (или username@[IPv4-addr]) — гугл на такой адрес почту доставляет, чего не скажешь о многих доменных регистраторах, угоревших по email regexp'ам.

 , ,

edigaryev ()

Gentoo и небезопасный emerge --sync

При установке Gentoo предполагается что дерево ебилдов получено по надежному каналу, в противном случае достаточно тривиально устроить MITM, и в результате пользователь скомпиляет у себя ядро/Firefox/etc. с патчами от Three Letter Agency.

В Debian, например, уже много лет по дефолту включен SecureApt (а ключи разделены между разработчиками при помощи Shamir's Secret Sharing Scheme). Для того чтобы быть уверенным в подлинности апдейтов, достаточно лишь проверить цифровую подпись для скачиваемой ISO'шки.

Есть emerge-webrsync который умеет проверять скачанный снэпшот с ебилдами, но чтобы он это делал, необходимо ставить и настраивать GnuPG, а также добавлять соответствующие настройки make.conf.

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

 ,

edigaryev ()

RFC и Errata

Вот есть, например, RFC в стадии интернет-стандарта: https://tools.ietf.org/html/rfc793 (Transmission Control Protocol)

И список с кучей ошибок в нем, которые в самом стандарте никак не исправлены: http://www.rfc-editor.org/errata_search.php?rfc=793

Меня интересует следующее:

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

2. Почему эти ошибки публикуются в виде, непригодном для автоматического патчинга или хотя бы автоматической их индикации во время чтения документа?

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

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

Я либо чего-то не понимаю, либо IETF/ISOC находятся в каменном веке.

edigaryev ()

I'd just like to interject for a moment...

 ,

edigaryev ()

Возможность подписываться на форумы

Сабж. На теги подписываться можно, а на форумы почему-то еще нет.

 , ,

edigaryev ()

Принужденная заморозка

Последнее время, заходя в трекер, удивлялся почему стало так уныло. Оказывается:

https://github.com/maxcom/lorsource/commit/23d82352a770431b06865eeb4ab47bfbfe...

настройка фильтра трекера

теперь по умолчанию трекер показывается с фильтром «основные».

режим по-умолчанию изменяется в настройках

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

 

edigaryev ()

SELinux Coloring Book

Кто там жаловался что SELinux слишком запутан? RedHat таки запилили книжку-раскраску на основе вот этой статьи:

https://github.com/mairin/selinux-coloring-book (прямая ссылка на A4 PDF, Letter PDF и SVG)

Расчехляем гуашь и фломастеры, дамы и господа!

 ,

edigaryev ()

Добавить возможность удаления аккаунта

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

Причем вовсе не обязательно подчистую «сносить» все оставленные пользователем сообщения и темы, тем самым нарушая ветвь обсуждения, можно сделать этот процесс минимально нарушающим целостность сайта, подобно процессу удалению аккаунта на reddit.com или Stack Overflow:

  • никнейм у каждого оставленного пользователем сообщением меняется на [deleted]/ anonymous/etc.
  • профиль перестает быть доступным
  • (опционально) содержимое сообщений заменяется на [deleted]/удалено/etc.

Выглядит подобная практика вполне прилично: http://www.reddit.com/r/linux/comments/xp9yw/if_you_used_linux_back_in_the_da... (Ctrl+F → [deleted])

Или так, с полностью удаленным сообщением: http://www.reddit.com/r/minimalism/comments/14jpq9/digital_minimalism_your_th...

Хотелось бы услышать мнение maxcom по этому поводу: даже если у тебя сейчас в планы не входит реализация подобной возможности, примешь ли ты патч от коммьюнити, и если да, то каким он должен быть?

 , ,

edigaryev ()

Некликабельный тег

Преобразование сырых данных в структуру. C.

Тег «низкоуровщина.» не является ссылкой и почему-то содержит в себе знак ".".

 

edigaryev ()

«Некропостинг» и правила

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

Возможно, достаточно будет просто уменьшить время, которое тред проводит в ожидании архивации.

Свежие примеры:

Сообщение «Некропостиииинг!» оставленное в треде, который не был активен 266 дней: Google и NASA покупают квантовый компьютер (комментарий)

Сообщение «+1» оставленное в треде, который не был активен 324 дня: Реквестирую возможность доступа к linux.org.ru по IPv6 (комментарий)

/cast maxcom

edigaryev ()

RSS подписка на новые темы