From d561b9fed787b4b20025210f00db981f25f1ae50 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 29 Jan 2020 15:46:10 +0300 Subject: Restrict manifest text with only Unicode graphic characters, '\t', '\r', and '\n' --- doc/manual.cli | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/manual.cli b/doc/manual.cli index 65e96c4..49afefd 100644 --- a/doc/manual.cli +++ b/doc/manual.cli @@ -311,8 +311,9 @@ of a repository, respectively. \h#manifest-format|Manifest Format| -The manifest format is a UTF-8 encoded text containing a list of name-value -pairs in the form: +A manifest is a UTF-8 encoded text restricted to the Unicode graphic +characters, tabs (\c{\\t}), carriage returns (\c{\\r}), and line feeds +(\c{\\n}). It contains a list of name-value pairs in the form: \ : @@ -325,6 +326,10 @@ name: libfoo version: 1.2.3 \ +\N|If a value needs to be able to contain other Unicode codepoints, they +should be escaped in a value-specific manner. For example, the backslash +(\c{\\}) escaping described below can be extended for this purpose.| + The name can contain any characters except \c{:} and whitespaces. Newline terminates the pair unless escaped with \c{\\} (see below). Leading and trailing whitespaces before and after name and value are ignored except in the -- cgit v1.1