beldmit: (Программизм)
[personal profile] beldmit
Когда-то в ТЦИ делали исследовательский проект по интернациональной почте (то есть с не-латиницей до собаки). Я в рамках этого проекта начал реализовывать драфт по поддержке таких адресов в X.509-сертификатах. Реализовал, понятно, с ошибками, но патч засабмитил, его почитали в OpenSSL и заставили переделать драфт. В итоге документ стал RFC 8398 только в этом году.

Автор документа меня, однако, запомнил, и спросил, не допилю ли я патч. Начал допиливать и стал изживать одну из претензий к собственно патчу — зависимость от лишней библиотеки в OpenSSL сочли недопустимой. Ок, всего одна функция. Причём частично прописана в RFC в формате C-шного кода.

А дальше, блин, начинается кино. Разбить доменное имя на части по точке. Сконвертировать каждую часть в последовательность байт (UTF8 же), склеить. Не вылезя нигде за пределы буфера. А длину буфера вернуть, чтобы вызывающая сторона знала, какой буфер передать. В общем, тут даже при готовых функциях то, что на Perl с использованием библиотеки — три вызова, split, map и join, на C даёт пол-экрана.

Написать я это написал. Даже скомпилировал. А вот запускать и отлаживать страшно.

Специально для [personal profile] ufm: нет, не-ASCII символы в именах доменов и email-адресах — не коварный замысел страшных любителей чебурнета, а нормальный ход нормальных любителей денег. Которым аудиторию по месту (нелатиноалфавитную) очень хочется расширить.

Date: 2018-07-19 04:18 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan
Ну, положим, диктовать по телефону латинские буквы среднестатистическому русскоязычному собеседнику тоже больно. Потому что «сьерра» он не понимает, а учить таблицу «эс как доллар» — это унизительно.

Date: 2018-07-19 04:22 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
Это унизительно, но технически возможно.
Если у тебя на клавиатуре нет украинской раскладки, хоть объобясняйся, ты этот адрес не введёш.

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

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28 293031   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 08:12 pm
Powered by Dreamwidth Studios