receive-pack: log received client session ID
When receive-pack receives a session-id capability from the client, log the received session ID via a trace2 data event. Signed-off-by: Josh Steadmon <steadmon@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
8c4870029d
commit
a2a066d96a
|
@ -2039,6 +2039,7 @@ static struct command *read_head_info(struct packet_reader *reader,
|
||||||
if (linelen < reader->pktlen) {
|
if (linelen < reader->pktlen) {
|
||||||
const char *feature_list = reader->line + linelen + 1;
|
const char *feature_list = reader->line + linelen + 1;
|
||||||
const char *hash = NULL;
|
const char *hash = NULL;
|
||||||
|
const char *client_sid;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
if (parse_feature_request(feature_list, "report-status"))
|
if (parse_feature_request(feature_list, "report-status"))
|
||||||
report_status = 1;
|
report_status = 1;
|
||||||
|
@ -2061,6 +2062,12 @@ static struct command *read_head_info(struct packet_reader *reader,
|
||||||
}
|
}
|
||||||
if (xstrncmpz(the_hash_algo->name, hash, len))
|
if (xstrncmpz(the_hash_algo->name, hash, len))
|
||||||
die("error: unsupported object format '%s'", hash);
|
die("error: unsupported object format '%s'", hash);
|
||||||
|
client_sid = parse_feature_value(feature_list, "session-id", &len, NULL);
|
||||||
|
if (client_sid) {
|
||||||
|
char *sid = xstrndup(client_sid, len);
|
||||||
|
trace2_data_string("transfer", NULL, "client-sid", client_sid);
|
||||||
|
free(sid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strcmp(reader->line, "push-cert")) {
|
if (!strcmp(reader->line, "push-cert")) {
|
||||||
|
|
|
@ -28,13 +28,17 @@ do
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success "session IDs not advertised by default (push v${PROTO})" '
|
test_expect_success "session IDs not advertised by default (push v${PROTO})" '
|
||||||
test_when_finished "rm -rf local tr2-client-events" &&
|
test_when_finished "rm -rf local tr2-client-events tr2-server-events" &&
|
||||||
|
test_when_finished "git -C local push --delete origin new-branch" &&
|
||||||
cp -r "$LOCAL_PRISTINE" local &&
|
cp -r "$LOCAL_PRISTINE" local &&
|
||||||
git -C local pull --no-rebase origin &&
|
git -C local pull --no-rebase origin &&
|
||||||
GIT_TRACE2_EVENT_NESTING=5 \
|
GIT_TRACE2_EVENT_NESTING=5 \
|
||||||
GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \
|
GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \
|
||||||
git -c protocol.version=$PROTO -C local push origin &&
|
git -c protocol.version=$PROTO -C local push \
|
||||||
test -z "$(grep \"key\":\"server-sid\" tr2-client-events)"
|
--receive-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-receive-pack" \
|
||||||
|
origin HEAD:new-branch &&
|
||||||
|
test -z "$(grep \"key\":\"server-sid\" tr2-client-events)" &&
|
||||||
|
test -z "$(grep \"key\":\"client-sid\" tr2-server-events)"
|
||||||
'
|
'
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -57,13 +61,17 @@ do
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success "session IDs advertised (push v${PROTO})" '
|
test_expect_success "session IDs advertised (push v${PROTO})" '
|
||||||
test_when_finished "rm -rf local tr2-client-events" &&
|
test_when_finished "rm -rf local tr2-client-events tr2-server-events" &&
|
||||||
|
test_when_finished "git -C local push --delete origin new-branch" &&
|
||||||
cp -r "$LOCAL_PRISTINE" local &&
|
cp -r "$LOCAL_PRISTINE" local &&
|
||||||
git -C local pull --no-rebase origin &&
|
git -C local pull --no-rebase origin &&
|
||||||
GIT_TRACE2_EVENT_NESTING=5 \
|
GIT_TRACE2_EVENT_NESTING=5 \
|
||||||
GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \
|
GIT_TRACE2_EVENT="$(pwd)/tr2-client-events" \
|
||||||
git -c protocol.version=$PROTO -C local push origin &&
|
git -c protocol.version=$PROTO -C local push \
|
||||||
grep \"key\":\"server-sid\" tr2-client-events
|
--receive-pack "GIT_TRACE2_EVENT=\"$(pwd)/tr2-server-events\" git-receive-pack" \
|
||||||
|
origin HEAD:new-branch &&
|
||||||
|
grep \"key\":\"server-sid\" tr2-client-events &&
|
||||||
|
grep \"key\":\"client-sid\" tr2-server-events
|
||||||
'
|
'
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue