diff options
author | Junio C Hamano <gitster@pobox.com> | 2020-06-08 18:06:30 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-06-08 18:06:30 -0700 |
commit | b37fd14beb39b9f545bd72e42e1bdbb00bad4b3d (patch) | |
tree | 73b0516cbdf8593e0fb045d56809db3285275d05 /Documentation | |
parent | Merge branch 'bc/filter-process' (diff) | |
parent | stateless-connect: send response end packet (diff) | |
download | tgif-b37fd14beb39b9f545bd72e42e1bdbb00bad4b3d.tar.xz |
Merge branch 'dl/remote-curl-deadlock-fix'
On-the-wire protocol v2 easily falls into a deadlock between the
remote-curl helper and the fetch-pack process when the server side
prematurely throws an error and disconnects. The communication has
been updated to make it more robust.
* dl/remote-curl-deadlock-fix:
stateless-connect: send response end packet
pkt-line: define PACKET_READ_RESPONSE_END
remote-curl: error on incomplete packet
pkt-line: extern packet_length()
transport: extract common fetch_pack() call
remote-curl: remove label indentation
remote-curl: fix typo
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/gitremote-helpers.txt | 4 | ||||
-rw-r--r-- | Documentation/technical/protocol-v2.txt | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/Documentation/gitremote-helpers.txt b/Documentation/gitremote-helpers.txt index f48a031dc3..93baeeb029 100644 --- a/Documentation/gitremote-helpers.txt +++ b/Documentation/gitremote-helpers.txt @@ -405,7 +405,9 @@ Supported if the helper has the "connect" capability. trying to fall back). After line feed terminating the positive (empty) response, the output of the service starts. Messages (both request and response) must consist of zero or more - PKT-LINEs, terminating in a flush packet. The client must not + PKT-LINEs, terminating in a flush packet. Response messages will + then have a response end packet after the flush packet to + indicate the end of a response. The client must not expect the server to store any state in between request-response pairs. After the connection ends, the remote helper exits. + diff --git a/Documentation/technical/protocol-v2.txt b/Documentation/technical/protocol-v2.txt index 7e3766cafb..3996d70891 100644 --- a/Documentation/technical/protocol-v2.txt +++ b/Documentation/technical/protocol-v2.txt @@ -33,6 +33,8 @@ In protocol v2 these special packets will have the following semantics: * '0000' Flush Packet (flush-pkt) - indicates the end of a message * '0001' Delimiter Packet (delim-pkt) - separates sections of a message + * '0002' Message Packet (response-end-pkt) - indicates the end of a response + for stateless connections Initial Client Request ---------------------- |