Может ли PARAM-VALUE содержать пробелы? - PullRequest
0 голосов
/ 01 ноября 2011

Чтение syslog rfc

6.3.3. SD-PARAM

   Each SD-PARAM consists of a name, referred to as PARAM-NAME, and a
   value, referred to as PARAM-VALUE.

Может ли значение параметра содержать пробелы?или это должно быть имя из одного слова?

1 Ответ

3 голосов
/ 01 ноября 2011

Чтение остальной части этого раздела:

Для поддержки международных символов поле PARAM-VALUE ДОЛЖНО быть кодируется с использованием UTF-8. Приложение системного журнала МОЖЕТ выпустить любой действительный UTF-8 последовательность. Приложение системного журнала ДОЛЖНО принимать любую действительную последовательность UTF-8 в «кратчайшей форме». НЕ ДОЛЖЕН не работать, если управляющие символы присутствует в PARAM-VALUE. Приложение системного журнала МОЖЕТ изменить сообщения содержащие управляющие символы (например, путем изменения октета со значением 0 (USASCII NUL) до четырех символов "# 000"). По причинам описанный в UNICODE TR36 [UNICODE-TR36], раздел 3.1, составитель ДОЛЖНЫ кодировать сообщения в «кратчайшей форме» и коллектор или ретранслятор НЕ ДОЛЖЕН интерпретировать сообщения в «кратчайшей форме».

Внутри PARAM-VALUE, символы «» (ABNF% d34), «\» (ABNF% d92), и ']' (ABNF% d93) ДОЛЖЕН быть экранирован. Это необходимо, чтобы избежать ошибки разбора. Избегать ']' не обязательно, но это ТРЕБУЕТСЯ этой спецификацией, чтобы избежать применения системного журнала ошибки реализации. Каждый из этих трех символов ДОЛЖЕН быть экранированы как '\ "', '\\' и '\]' соответственно. Используется обратный слеш для управляющего символа, сбегающего для согласованности с его использованием для экранирование в других частях сообщения системного журнала, а также в традиционный системный журнал.

Обратная косая черта ('\'), за которой не следует ни один из трех описанных символов считается недопустимой escape-последовательностью. В этом случае обратная косая черта ДОЛЖЕН рассматриваться как обычный обратный слеш, а следующий символ обычный персонаж. Таким образом, недопустимая последовательность НЕ ДОЛЖНА быть изменена.

Пробел, безусловно, может быть частью «действительной последовательности UTF-8». Во втором цитируемом абзаце упоминаются три символа, которые должны быть экранированы; символ пробела не является одним из них.

Вывод: поле PARAM-VALUE может содержать пробелы.

...