diff options
author | brian m. carlson <sandals@crustytoothpaste.net> | 2024-04-17 00:02:35 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-04-17 05:39:07 (GMT) |
commit | bd590bde5846889dea72d301d7cd8abd70e5b0e1 (patch) | |
tree | 4470be293706fcac6354e35efd3f17abf2760950 /Documentation | |
parent | 36f7d865e340c3afe578df05c6d9e8f9a7bda887 (diff) | |
download | git-bd590bde5846889dea72d301d7cd8abd70e5b0e1.zip git-bd590bde5846889dea72d301d7cd8abd70e5b0e1.tar.gz git-bd590bde5846889dea72d301d7cd8abd70e5b0e1.tar.bz2 |
docs: set a limit on credential line length
We recently introduced a way for credential helpers to add arbitrary
state as part of the protocol. Set some limits on line length to avoid
helpers passing extremely large amounts of data. While Git doesn't have
a fixed parsing length, there are other tools which support this
protocol and it's kind to allow them to use a reasonable fixed-size
buffer for parsing. In addition, we would like to be moderate in our
memory usage and imposing reasonable limits is helpful for that purpose.
In the event a credential helper is incapable of storing its serialized
state in 64 KiB, it can feel free to serialize it on disk and store a
reference instead.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/git-credential.txt | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Documentation/git-credential.txt b/Documentation/git-credential.txt index f63a8e0..4bbf2db 100644 --- a/Documentation/git-credential.txt +++ b/Documentation/git-credential.txt @@ -111,7 +111,9 @@ attribute per line. Each attribute is specified by a key-value pair, separated by an `=` (equals) sign, followed by a newline. The key may contain any bytes except `=`, newline, or NUL. The value may -contain any bytes except newline or NUL. +contain any bytes except newline or NUL. A line, including the trailing +newline, may not exceed 65535 bytes in order to allow implementations to +parse efficiently. Attributes with keys that end with C-style array brackets `[]` can have multiple values. Each instance of a multi-valued attribute forms an |