{"thread":{"id":"25729","subject":"[PATCH] Fix username and password extraction from HTTP URLs","startedAt":"2010-11-12T23:20:25Z","lastAt":"2010-11-13T21:33:20Z","messageCount":2,"participants":["Gabriel Corona","Sverre Rabbelier"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"155804","messageId":"1289604025-6406-1-git-send-email-gabriel.corona@enst-bretagne.fr","threadId":"25729","inReplyTo":null,"subject":"[PATCH] Fix username and password extraction from HTTP URLs","fromName":"Gabriel Corona","fromEmail":"gabriel.corona@enst-bretagne.fr","sentAt":"2010-11-12T23:20:25Z","receivedAt":"2010-11-12T23:20:25Z","isPatch":true,"sender":{"key":"gabriel.corona@enst-bretagne.fr","avatar":null},"body":"Change the authentification initialisation to percent-decode username\nand password for HTTP URLs.\n\nSigned-off-by: Gabriel Corona <gabriel.corona@enst-bretagne.fr>\n---\n http.c |   12 +++++++++++-\n 1 files changed, 11 insertions(+), 1 deletions(-)\n\ndiff --git a/http.c b/http.c\nindex 0a5011f..c9393a8 100644\n--- a/http.c\n+++ b/http.c\n@@ -2,6 +2,7 @@\n #include \"pack.h\"\n #include \"sideband.h\"\n #include \"run-command.h\"\n+#include \"url.h\"\n \n int data_received;\n int active_requests;\n@@ -297,7 +298,7 @@ static CURL *get_curl_handle(void)\n \n static void http_auth_init(const char *url)\n {\n-\tchar *at, *colon, *cp, *slash;\n+\tchar *at, *colon, *cp, *slash, *decoded;\n \tint len;\n \n \tcp = strstr(url, \"://\");\n@@ -322,16 +323,25 @@ static void http_auth_init(const char *url)\n \t\tuser_name = xmalloc(len + 1);\n \t\tmemcpy(user_name, cp, len);\n \t\tuser_name[len] = '\\0';\n+\t\tdecoded = url_decode(user_name);\n+\t\tfree(user_name);\n+\t\tuser_name = decoded;\n \t\tuser_pass = NULL;\n \t} else {\n \t\tlen = colon - cp;\n \t\tuser_name = xmalloc(len + 1);\n \t\tmemcpy(user_name, cp, len);\n \t\tuser_name[len] = '\\0';\n+\t\tdecoded = url_decode(user_name);\n+\t\tfree(user_name);\n+\t\tuser_name = decoded;\n \t\tlen = at - (colon + 1);\n \t\tuser_pass = xmalloc(len + 1);\n \t\tmemcpy(user_pass, colon + 1, len);\n \t\tuser_pass[len] = '\\0';\n+\t\tdecoded = url_decode(user_pass);\n+\t\tfree(user_pass);\n+\t\tuser_pass = decoded;\n \t}\n }\n \n-- \n1.7.2.3\n"},{"id":"155834","messageId":"AANLkTinf3T7_7WGv_W=f2bD0xs-VPS6d3iSQn_rOKn5S@mail.gmail.com","threadId":"25729","inReplyTo":"1289604025-6406-1-git-send-email-gabriel.corona@enst-bretagne.fr","subject":"Re: [PATCH] Fix username and password extraction from HTTP URLs","fromName":"Sverre Rabbelier","fromEmail":"srabbelier@gmail.com","sentAt":"2010-11-13T21:33:20Z","receivedAt":"2010-11-13T21:33:20Z","isPatch":true,"sender":{"key":"srabbelier@gmail.com","avatar":"https://avatars.githubusercontent.com/u/3098?v=4"},"body":"Heya,\n\nOn Sat, Nov 13, 2010 at 00:20, Gabriel Corona\n<gabriel.corona@enst-bretagne.fr> wrote:\n> Change the authentification initialisation to percent-decode username\n> and password for HTTP URLs.\n\nCan has tests?\n\n-- \nCheers,\n\nSverre Rabbelier\n"}]}