![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Дописал к sstp-client-у поддержку клиентских сертификатов и engines, чтобы можно было авторизовываться ключом с eToken-а. Первый раз в жизни послал на github-е pull-реквест.
Оказалось, что для того, чтобы ходить в нашу корпоративную VPN, этого мало. Нужна еще поддержка PEAP в pppd. А её там из коробки нет. (удивительно, уже семь лет существует Windows server 2008, в котором RAS эти извращенные способы доступа умеет, а в апстрим это еще не пропихнули).
Нашел, правда, готовый патч. Судя по комментариям автора, довольно наколеночный, нужно будет внимательно проаудитить.
Видимо, в наше время для людей, которые умеют программировать под *nix крайне нехарактерно работать в конторах, где критичные элементы инфраструктуры строятся на технологиях Microsoft.
Оказалось, что для того, чтобы ходить в нашу корпоративную VPN, этого мало. Нужна еще поддержка PEAP в pppd. А её там из коробки нет. (удивительно, уже семь лет существует Windows server 2008, в котором RAS эти извращенные способы доступа умеет, а в апстрим это еще не пропихнули).
Нашел, правда, готовый патч. Судя по комментариям автора, довольно наколеночный, нужно будет внимательно проаудитить.
Видимо, в наше время для людей, которые умеют программировать под *nix крайне нехарактерно работать в конторах, где критичные элементы инфраструктуры строятся на технологиях Microsoft.
Re: Оффтоп
Date: 2015-06-29 06:04 pm (UTC)Проблема, как я ему писал, нифига не в engine. А в TLS-ном коде, PKCS12 и куче мелких мелочей, которые нифига не pluggable, начиная с OIDов.
Про систему сборки я понимаю. Я ща код пишу, так без mkerr.pl при сборке тяжко, а при дистрибуции он наоборот, вреден.
Re: Оффтоп
Date: 2015-06-29 06:09 pm (UTC)Re: Оффтоп
Date: 2015-06-29 06:23 pm (UTC)Возможно, получится договориться о том, что часть кода они одноразово инкорпорируют.
Re: Оффтоп
Date: 2015-06-29 06:36 pm (UTC)Ну и надо им обещать те fprintf-ы, кооторые не под #ifdef DEBUG
повычистить. Впрочем, те которые под - тоже.
Кстати, не помнишь, почему у нас попытка повторного вызова bind_gost считается ошибкой?
Может быть стоит, обнаружив что все уже проинициализировано, возвращать успех?
Re: Оффтоп
Date: 2015-06-29 06:45 pm (UTC)Re: Оффтоп
Date: 2015-06-29 07:14 pm (UTC)Вообще надо в два приема.
Сначала на концептуальном уровне:
Вот нам нужны такие-то такие-то идентификаторы. Сейчас аналогичные идентификаторы hardcoded туда-то и туда-то.
А вообще нам бы надо OID-ы регистрировать по-нормальному. (насколько я посмотрел, ситуация с регистрацией OID_ов с 0.9.8 не изменилась.
Можно было бы смириться с OID-ами в конфиге, но есть уйма приложений, в том числе такие важные как mod_ssl , stunnel и openvpn, которые этот конфиг не читают, причем по принципиальным соображениям.
Ну и так далее. Потом после описания преимуществ и недостатков вариантов решения этих проблем - выкатываем патч, как пример нашего решения.
Насколько я понимаю, как раз с micalg-ами все довольно дешево получается - добавить поле в EVP_MD, и, возможно, к нему accessor.
А вот с TLS-ом там и правда сильно сложнее.
Re: Оффтоп
Date: 2015-06-29 09:12 pm (UTC)OID-ы можно регистрировать нормально. Уже тогда можно было. Но там есть чёртова тонна псевдомассивов с константами, в которые надо бы что-то добавлять, но получится это тяжеловесно. В лучшем случае это массивы непубличных структур, в худшем - набор #define.
Любимый пример от Игуса - русские буквы в X.509 extension по какому-то документу, устанавливающему требования к квалифицированному сертификату. Коллбеки пляшут от NID-ов, NID-ы упорядочиваются по возрастанию. Структура закрытая, хрен что добавишь.