We rise up for the things we believe in over and over again
Увидев сегодня такое на работе, я глазам не поверил. Картина была "Андрей аж проснулся от удивления". Дома решил проверить, да еще и с повышением версии. Дичь никуда не делась, а значит, подобное поведение изначально заложено в систему. Собственно, дичь:

Для непосвященных - поясняю. На скрине показана настройка DHCP-сервера и процедура резервирования IP-адреса за конкретным компьютером в сети. Для того, чтобы понять, какому из компьютеров какой адрес назначать, DHCP-сервер использует MAC-адрес сетевых адаптеров этих самых компьютеров. MAC-адрес жесточайшим образом зарегламентирован - это строго 12 символов из набора английских букв a-f и арабских цифр 0-9. Только так и никак иначе, никаких других символов, никакого другого их количества. Только 12 и только a-f и 0-9.
И вот сегодня мне винда на голубом глазу заявляет - чувак, ты втираешь дичь, но если ты абсолютно уверен, что так надо - так и быть, я это схаваю. И действительно, если нажать кнопку Yes, дичь в поле MAC address преспокойно будет записана в недра базы данных.
Собственно, как это обнаружилось. Поставили принтер. Старенький уже, но рабочий. И надо было ему все сетевые дела настроить. Известно, какой адрес этот принтер принял из временного диапазона, но нужно настроить нужный. Лезу в оснастку DHCP и вижу там лютейшую хрень - этот принтер скормил DHCP-серверу в место MAC-адреса последовательность из 16 символов. Взыграло любопытство, после чего полез проверять, действительно ли Windows способна такое переварить. Оказалось, способна. И более того, это ее поведение сохранено уже в течение нескольких версий. Правда, для чего - не ясно. Более того, мне совершенно непонятно, где и как эта дичь может в дальнейшем вылезти, и что она может при этом поломать. Понятное дело, что несчастный принтер-старичок только благодаря этой "фиче" смог вообще в сети зарегистрироваться, но тут и к принтеру вопросы - а с какого кипариса он такую хренотень в сеть отправил.
Короче, вопросы, вопросы. На которые нет ответов.

Для непосвященных - поясняю. На скрине показана настройка DHCP-сервера и процедура резервирования IP-адреса за конкретным компьютером в сети. Для того, чтобы понять, какому из компьютеров какой адрес назначать, DHCP-сервер использует MAC-адрес сетевых адаптеров этих самых компьютеров. MAC-адрес жесточайшим образом зарегламентирован - это строго 12 символов из набора английских букв a-f и арабских цифр 0-9. Только так и никак иначе, никаких других символов, никакого другого их количества. Только 12 и только a-f и 0-9.
И вот сегодня мне винда на голубом глазу заявляет - чувак, ты втираешь дичь, но если ты абсолютно уверен, что так надо - так и быть, я это схаваю. И действительно, если нажать кнопку Yes, дичь в поле MAC address преспокойно будет записана в недра базы данных.
Собственно, как это обнаружилось. Поставили принтер. Старенький уже, но рабочий. И надо было ему все сетевые дела настроить. Известно, какой адрес этот принтер принял из временного диапазона, но нужно настроить нужный. Лезу в оснастку DHCP и вижу там лютейшую хрень - этот принтер скормил DHCP-серверу в место MAC-адреса последовательность из 16 символов. Взыграло любопытство, после чего полез проверять, действительно ли Windows способна такое переварить. Оказалось, способна. И более того, это ее поведение сохранено уже в течение нескольких версий. Правда, для чего - не ясно. Более того, мне совершенно непонятно, где и как эта дичь может в дальнейшем вылезти, и что она может при этом поломать. Понятное дело, что несчастный принтер-старичок только благодаря этой "фиче" смог вообще в сети зарегистрироваться, но тут и к принтеру вопросы - а с какого кипариса он такую хренотень в сеть отправил.
Короче, вопросы, вопросы. На которые нет ответов.
Сожрал и не подавился
Сдаётся мне, однажды мы узнаем, что человек, который писал интерфейс, понятия не имел о мак адресах и прописал патттерн под IP, потому вин и в ужасе, а всё работает
zHz00, да и стараться не особо надо. "Нажми на кнопку, получишь результат" (с) XD
Shit, you didn't mention this on the phone! ©
Можно любую строку загнать
Насколько я помню, она проверяет алфавит и принимает только [0-9a-f]. Да же двоеточия пришлось удалять.
Два сценария. Первый - мы добавляем заведомо неправильный мак, содержащий символы за пределами допустимых диапазонов:
Тут вроде все ок, убогая винда все же проверила, что ей пытаются ересь скормить. И в этот раз ее жрать не стала.
Сценарий номер два. Мы редактируем имеющуюся запись с нормальным маком, внеся туда неправильный:
Убогая ты наша! Какого еще стораджа тебе не хватает?!