зеркало из https://github.com/microsoft/git.git
commit.c/GPG signature verification: Also look at the first GPG status line
Signed-off-by: Sebastian Götte <jaseg@physik-pool.tu-berlin.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
ffb6d7d5c9
Коммит
f8aae8d0ef
17
commit.c
17
commit.c
|
@ -1054,13 +1054,20 @@ static void parse_gpg_output(struct signature_check *sigc)
|
|||
const char *buf = sigc->gpg_status;
|
||||
int i;
|
||||
|
||||
/* Iterate over all search strings */
|
||||
for (i = 0; i < ARRAY_SIZE(sigcheck_gpg_status); i++) {
|
||||
const char *found = strstr(buf, sigcheck_gpg_status[i].check);
|
||||
const char *next;
|
||||
if (!found)
|
||||
continue;
|
||||
const char *found, *next;
|
||||
|
||||
if (!prefixcmp(buf, sigcheck_gpg_status[i].check + 1)) {
|
||||
/* At the very beginning of the buffer */
|
||||
found = buf + strlen(sigcheck_gpg_status[i].check + 1);
|
||||
} else {
|
||||
found = strstr(buf, sigcheck_gpg_status[i].check);
|
||||
if (!found)
|
||||
continue;
|
||||
found += strlen(sigcheck_gpg_status[i].check);
|
||||
}
|
||||
sigc->result = sigcheck_gpg_status[i].result;
|
||||
found += strlen(sigcheck_gpg_status[i].check);
|
||||
sigc->key = xmemdupz(found, 16);
|
||||
found += 17;
|
||||
next = strchrnul(found, '\n');
|
||||
|
|
Загрузка…
Ссылка в новой задаче