repositories
/
deb_shairplay.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of https://github.com/juhovh/shairplay into upstream
[deb_shairplay.git]
/
src
/
lib
/
raop.c
diff --git
a/src/lib/raop.c
b/src/lib/raop.c
index e5c6539c0b60bb20af6337b9ef492aab3cf1aad0..e59254a81f87f1297deefde9762887316b516126 100644
(file)
--- a/
src/lib/raop.c
+++ b/
src/lib/raop.c
@@
-123,6
+123,10
@@
conn_init(void *opaque, unsigned char *local, int locallen, unsigned char *remot
static void
conn_request(void *ptr, http_request_t *request, http_response_t **response)
{
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;
raop_conn_t *conn = ptr;
raop_t *raop = conn->raop;
@@
-139,7
+143,13
@@
conn_request(void *ptr, http_request_t *request, http_response_t **response)
}
res = http_response_init("RTSP/1.0", 200, "OK");
}
res = http_response_init("RTSP/1.0", 200, "OK");
+<<<<<<< HEAD
if (strlen(raop->password)) {
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");
const char *authorization;
authorization = http_request_get_header(request, "Authorization");
@@
-147,17
+157,31
@@
conn_request(void *ptr, http_request_t *request, http_response_t **response)
logger_log(conn->raop->logger, LOGGER_DEBUG, "Our nonce: %s", conn->nonce);
logger_log(conn->raop->logger, LOGGER_DEBUG, "Authorization: %s", authorization);
}
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("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 */
char *authstr;
int authstrlen;
/* Allocate the authenticate string */
+<<<<<<< HEAD
authstrlen = sizeof("Digest realm=\"AppleTV\", nonce=\"\"") + sizeof(conn->nonce) + 1;
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);
authstr = malloc(authstrlen);
/* Concatenate the authenticate string */
memset(authstr, 0, authstrlen);
+<<<<<<< HEAD
strcat(authstr, "Digest realm=\"AppleTV\", nonce=\"");
strcat(authstr, "Digest realm=\"AppleTV\", nonce=\"");
+=======
+ strcat(authstr, "Digest realm=\"");
+ strcat(authstr, realm);
+ strcat(authstr, "\", nonce=\"");
+>>>>>>> 64d59e3087f829006d091fa0d114efb50972a2bf
strcat(authstr, conn->nonce);
strcat(authstr, "\"");
strcat(authstr, conn->nonce);
strcat(authstr, "\"");