From: Joachim S. <js...@ac...> - 2006-12-09 02:00:40
|
Hello, In basic request creation and elsewhere, request fields are tagged as being LATIN1_LETTER (if one doesn't use UTF-8). In OpenCA::TRIStateCGI the corresponding check is defined. It excludes the characters [\]^_`{|}~ from entries. The same is done for fields with TEXT syntax. Why? This prevents the usage of basic requests for servers that may have an underscore (_) in their cn. There is also no obvious reasoning behind allowing ( and ), but not [ and ], or ' but not `. Can please somebody explain this irregular behaviour? According to RFC2252, these fields are printable strings. Therefore, in theory, one should simply use the regexp [:print:]+ for them, though this might need more control over locales. Therefore, I would assume that [\x20-\x7E\xA0-\xFF]+ is the most robust regexp for LATIN1_LETTER. Similar for TEXT, btw -- this regexp is also obviously wrong. LETTER is also strange, as it contains punctuation signs from \xA0 to \xBF. I am highly interested in any enlightening comments, as I'll change that for a deployment next Monday and would like to know if I destroy here something, owing to my not-enough knowledge. ;-) Joachim -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Joachim Schrod Email: js...@ac... Roedermark, Germany |