mirror of
https://git.proxmox.com/git/libgit2
synced 2025-12-29 22:08:45 +00:00
Merge pull request #3383 from libgit2/cmn/http-error
http: propagate the credentials callback's error code
This commit is contained in:
commit
f594b6ff15
@ -36,6 +36,8 @@ static const char *post_verb = "POST";
|
||||
|
||||
#define PARSE_ERROR_GENERIC -1
|
||||
#define PARSE_ERROR_REPLAY -2
|
||||
/** Look at the user field */
|
||||
#define PARSE_ERROR_EXT -3
|
||||
|
||||
#define CHUNK_SIZE 4096
|
||||
|
||||
@ -78,6 +80,7 @@ typedef struct {
|
||||
git_vector www_authenticate;
|
||||
enum last_cb last_cb;
|
||||
int parse_error;
|
||||
int error;
|
||||
unsigned parse_finished : 1;
|
||||
|
||||
/* Authentication */
|
||||
@ -351,7 +354,8 @@ static int on_headers_complete(http_parser *parser)
|
||||
if (error == GIT_PASSTHROUGH) {
|
||||
no_callback = 1;
|
||||
} else if (error < 0) {
|
||||
return PARSE_ERROR_GENERIC;
|
||||
t->error = error;
|
||||
return t->parse_error = PARSE_ERROR_EXT;
|
||||
} else {
|
||||
assert(t->cred);
|
||||
|
||||
@ -712,6 +716,10 @@ replay:
|
||||
goto replay;
|
||||
}
|
||||
|
||||
if (t->parse_error == PARSE_ERROR_EXT) {
|
||||
return t->error;
|
||||
}
|
||||
|
||||
if (t->parse_error < 0)
|
||||
return -1;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user