From: Jérôme Benoit Date: Tue, 25 Nov 2014 23:43:23 +0000 (+0100) Subject: Merge branch 'master' of https://github.com/juhovh/shairplay into upstream X-Git-Tag: upstream/0.9.0~4 X-Git-Url: https://git.piment-noir.org/?p=deb_shairplay.git;a=commitdiff_plain;h=dd28c44f7f25627039b067c2d4f4b40e6a228ab4 Merge branch 'master' of https://github.com/juhovh/shairplay into upstream Signed-off-by: Jérôme Benoit Conflicts: .gitignore README.md configure.ac src/lib/digest.c src/lib/dnssd.c src/lib/httpd.c src/lib/netutils.c src/lib/raop.c src/lib/raop_buffer.c src/shairplay.c src/test/example.c --- dd28c44f7f25627039b067c2d4f4b40e6a228ab4 diff --cc src/lib/raop.c index e5c6539,0c640b5..e59254a --- a/src/lib/raop.c +++ b/src/lib/raop.c @@@ -123,6 -123,7 +123,10 @@@ conn_init(void *opaque, unsigned char * static void conn_request(void *ptr, http_request_t *request, http_response_t **response) { ++<<<<<<< HEAD ++======= + const char realm[] = "airplay"; ++>>>>>>> 64d59e3087f829006d091fa0d114efb50972a2bf raop_conn_t *conn = ptr; raop_t *raop = conn->raop; @@@ -139,7 -140,9 +143,13 @@@ } res = http_response_init("RTSP/1.0", 200, "OK"); ++<<<<<<< HEAD + if (strlen(raop->password)) { ++======= + + /* We need authorization for everything else than OPTIONS request */ + if (strcmp(method, "OPTIONS") != 0 && strlen(raop->password)) { ++>>>>>>> 64d59e3087f829006d091fa0d114efb50972a2bf const char *authorization; authorization = http_request_get_header(request, "Authorization"); @@@ -147,17 -150,19 +157,31 @@@ logger_log(conn->raop->logger, LOGGER_DEBUG, "Our nonce: %s", conn->nonce); logger_log(conn->raop->logger, LOGGER_DEBUG, "Authorization: %s", authorization); } ++<<<<<<< HEAD + if (!digest_is_valid("AppleTV", raop->password, conn->nonce, method, http_request_get_url(request), authorization)) { ++======= + if (!digest_is_valid(realm, raop->password, conn->nonce, method, http_request_get_url(request), authorization)) { ++>>>>>>> 64d59e3087f829006d091fa0d114efb50972a2bf char *authstr; int authstrlen; /* Allocate the authenticate string */ ++<<<<<<< HEAD + authstrlen = sizeof("Digest realm=\"AppleTV\", nonce=\"\"") + sizeof(conn->nonce) + 1; ++======= + authstrlen = sizeof("Digest realm=\"\", nonce=\"\"") + sizeof(realm) + sizeof(conn->nonce) + 1; ++>>>>>>> 64d59e3087f829006d091fa0d114efb50972a2bf authstr = malloc(authstrlen); /* Concatenate the authenticate string */ memset(authstr, 0, authstrlen); ++<<<<<<< HEAD + strcat(authstr, "Digest realm=\"AppleTV\", nonce=\""); ++======= + strcat(authstr, "Digest realm=\""); + strcat(authstr, realm); + strcat(authstr, "\", nonce=\""); ++>>>>>>> 64d59e3087f829006d091fa0d114efb50972a2bf strcat(authstr, conn->nonce); strcat(authstr, "\"");