[airplay] Separate naming of AirPlay 1 and 2, incl log domains
This commit is contained in:
parent
f16dc204b2
commit
ef0f41dc46
|
@ -89,6 +89,10 @@ AC_SEARCH_LIBS([pthread_setname_np], [pthread],
|
|||
[AC_SEARCH_LIBS([pthread_set_name_np], [pthread],
|
||||
[AC_CHECK_FUNCS([pthread_set_name_np])])])
|
||||
|
||||
AC_SEARCH_LIBS([uuid_generate_random], [uuid],
|
||||
[AC_DEFINE([HAVE_UUID], 1,
|
||||
[Define to 1 if you have uuid_generate_random function])])
|
||||
|
||||
AC_SEARCH_LIBS([log10], [m])
|
||||
AC_SEARCH_LIBS([lrint], [m])
|
||||
AC_SEARCH_LIBS([fabs], [m])
|
||||
|
|
|
@ -21,7 +21,8 @@ Debug domains; available domains are: \fIconfig\fP, \fIdaap\fP,
|
|||
\fIrsp\fP, \fIscan\fP, \fIxcode\fP, \fIevent\fP, \fIhttp\fP, \fIremote\fP,
|
||||
\fIdacp\fP, \fIffmpeg\fP, \fIartwork\fP, \fIplayer\fP, \fIraop\fP,
|
||||
\fIlaudio\fP, \fIdmap\fP, \fIfdbperf\fP, \fIspotify\fP, \fIlastfm\fP,
|
||||
\fIcache\fP, \fImpd\fP, \fIstream\fP, \fIcast\fP, \fIfifo\fP, \fIlib\fP.
|
||||
\fIcache\fP, \fImpd\fP, \fIstream\fP, \fIcast\fP, \fIfifo\fP, \fIlib\fP,
|
||||
\fIweb\fP, \fIairplay\fP.
|
||||
.TP
|
||||
\fB\-c, \-\-config=\fR\fIfile\fP
|
||||
Use \fIfile\fP as the configuration file.
|
||||
|
|
|
@ -58,7 +58,7 @@ static uint32_t logger_repeat_counter;
|
|||
static uint32_t logger_last_hash;
|
||||
static char *logfilename;
|
||||
static FILE *logfile;
|
||||
static char *labels[] = { "config", "daap", "db", "httpd", "http", "main", "mdns", "misc", "rsp", "scan", "xcode", "event", "remote", "dacp", "ffmpeg", "artwork", "player", "raop", "laudio", "dmap", "dbperf", "spotify", "lastfm", "cache", "mpd", "stream", "cast", "fifo", "lib", "web" };
|
||||
static char *labels[] = { "config", "daap", "db", "httpd", "http", "main", "mdns", "misc", "rsp", "scan", "xcode", "event", "remote", "dacp", "ffmpeg", "artwork", "player", "raop", "laudio", "dmap", "dbperf", "spotify", "lastfm", "cache", "mpd", "stream", "cast", "fifo", "lib", "web", "airplay" };
|
||||
static char *severities[] = { "FATAL", "LOG", "WARN", "INFO", "DEBUG", "SPAM" };
|
||||
|
||||
|
||||
|
|
|
@ -36,8 +36,9 @@
|
|||
#define L_FIFO 27
|
||||
#define L_LIB 28
|
||||
#define L_WEB 29
|
||||
#define L_AIRPLAY 30
|
||||
|
||||
#define N_LOGDOMAINS 30
|
||||
#define N_LOGDOMAINS 31
|
||||
|
||||
/* Severities */
|
||||
#define E_FATAL 0
|
||||
|
|
44
src/misc.c
44
src/misc.c
|
@ -34,11 +34,15 @@
|
|||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <inttypes.h>
|
||||
#include <limits.h>
|
||||
#include <sys/param.h>
|
||||
#ifndef CLOCK_REALTIME
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
#ifdef HAVE_UUID
|
||||
#include <uuid/uuid.h>
|
||||
#endif
|
||||
|
||||
#include <unistr.h>
|
||||
#include <uniconv.h>
|
||||
|
@ -1011,6 +1015,46 @@ murmur_hash64(const void *key, int len, uint32_t seed)
|
|||
# error Platform not supported
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UUID
|
||||
void
|
||||
uuid_make(char *str)
|
||||
{
|
||||
uuid_t uu;
|
||||
|
||||
uuid_generate_random(uu);
|
||||
uuid_unparse_upper(uu, str);
|
||||
}
|
||||
#else
|
||||
void
|
||||
uuid_make(char *str)
|
||||
{
|
||||
uint16_t uuid[8];
|
||||
time_t now;
|
||||
int i;
|
||||
|
||||
now = time(NULL);
|
||||
|
||||
srand((unsigned int)now);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(uuid); i++)
|
||||
{
|
||||
uuid[i] = (uint16_t)rand();
|
||||
|
||||
// time_hi_and_version, set version to 4 (=random)
|
||||
if (i == 3)
|
||||
uuid[i] = (uuid[i] & 0x0FFF) | 0x4000;
|
||||
// clock_seq, variant 1
|
||||
if (i == 4)
|
||||
uuid[i] = (uuid[i] & 0x3FFF) | 0x8000;
|
||||
|
||||
|
||||
if (i == 2 || i == 3 || i == 4 || i == 5)
|
||||
str += sprintf(str, "-");
|
||||
|
||||
str += sprintf(str, "%04" PRIX16, uuid[i]);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
int
|
||||
linear_regression(double *m, double *b, double *r2, const double *x, const double *y, int n)
|
||||
|
|
|
@ -150,6 +150,9 @@ b64_encode(const uint8_t *src, int srclen);
|
|||
uint64_t
|
||||
murmur_hash64(const void *key, int len, uint32_t seed);
|
||||
|
||||
void
|
||||
uuid_make(char *str);
|
||||
|
||||
int
|
||||
linear_regression(double *m, double *b, double *r, const double *x, const double *y, int n);
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -81,19 +81,19 @@ struct pair_definition
|
|||
void (*pair_setup_free)(struct pair_setup_context *sctx);
|
||||
int (*pair_setup_result)(const uint8_t **key, size_t *key_len, struct pair_setup_context *sctx);
|
||||
|
||||
uint8_t *(*pair_setup_request1)(uint32_t *len, struct pair_setup_context *sctx);
|
||||
uint8_t *(*pair_setup_request2)(uint32_t *len, struct pair_setup_context *sctx);
|
||||
uint8_t *(*pair_setup_request3)(uint32_t *len, struct pair_setup_context *sctx);
|
||||
uint8_t *(*pair_setup_request1)(size_t *len, struct pair_setup_context *sctx);
|
||||
uint8_t *(*pair_setup_request2)(size_t *len, struct pair_setup_context *sctx);
|
||||
uint8_t *(*pair_setup_request3)(size_t *len, struct pair_setup_context *sctx);
|
||||
|
||||
int (*pair_setup_response1)(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len);
|
||||
int (*pair_setup_response2)(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len);
|
||||
int (*pair_setup_response3)(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len);
|
||||
int (*pair_setup_response1)(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len);
|
||||
int (*pair_setup_response2)(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len);
|
||||
int (*pair_setup_response3)(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len);
|
||||
|
||||
uint8_t *(*pair_verify_request1)(uint32_t *len, struct pair_verify_context *vctx);
|
||||
uint8_t *(*pair_verify_request2)(uint32_t *len, struct pair_verify_context *vctx);
|
||||
uint8_t *(*pair_verify_request1)(size_t *len, struct pair_verify_context *vctx);
|
||||
uint8_t *(*pair_verify_request2)(size_t *len, struct pair_verify_context *vctx);
|
||||
|
||||
int (*pair_verify_response1)(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len);
|
||||
int (*pair_verify_response2)(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len);
|
||||
int (*pair_verify_response1)(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len);
|
||||
int (*pair_verify_response2)(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len);
|
||||
|
||||
struct pair_cipher_context *(*pair_cipher_new)(struct pair_definition *type, int channel, const uint8_t *shared_secret, size_t shared_secret_len);
|
||||
void (*pair_cipher_free)(struct pair_cipher_context *cctx);
|
||||
|
|
|
@ -299,7 +299,7 @@ pair_setup_errmsg(struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
uint8_t *
|
||||
pair_setup_request1(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request1(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
if (!sctx->type->pair_setup_request1)
|
||||
return NULL;
|
||||
|
@ -313,7 +313,7 @@ pair_setup_request1(uint32_t *len, struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
uint8_t *
|
||||
pair_setup_request2(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request2(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
if (!sctx->type->pair_setup_request2)
|
||||
return NULL;
|
||||
|
@ -322,7 +322,7 @@ pair_setup_request2(uint32_t *len, struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
uint8_t *
|
||||
pair_setup_request3(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request3(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
if (!sctx->type->pair_setup_request3)
|
||||
return NULL;
|
||||
|
@ -331,7 +331,7 @@ pair_setup_request3(uint32_t *len, struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
int
|
||||
pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
if (!sctx->type->pair_setup_response1)
|
||||
return -1;
|
||||
|
@ -340,7 +340,7 @@ pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
}
|
||||
|
||||
int
|
||||
pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
if (!sctx->type->pair_setup_response2)
|
||||
return -1;
|
||||
|
@ -349,7 +349,7 @@ pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
}
|
||||
|
||||
int
|
||||
pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
if (!sctx->type->pair_setup_response3)
|
||||
return -1;
|
||||
|
@ -466,7 +466,7 @@ pair_verify_errmsg(struct pair_verify_context *vctx)
|
|||
}
|
||||
|
||||
uint8_t *
|
||||
pair_verify_request1(uint32_t *len, struct pair_verify_context *vctx)
|
||||
pair_verify_request1(size_t *len, struct pair_verify_context *vctx)
|
||||
{
|
||||
if (!vctx->type->pair_verify_request1)
|
||||
return NULL;
|
||||
|
@ -475,7 +475,7 @@ pair_verify_request1(uint32_t *len, struct pair_verify_context *vctx)
|
|||
}
|
||||
|
||||
uint8_t *
|
||||
pair_verify_request2(uint32_t *len, struct pair_verify_context *vctx)
|
||||
pair_verify_request2(size_t *len, struct pair_verify_context *vctx)
|
||||
{
|
||||
if (!vctx->type->pair_verify_request2)
|
||||
return NULL;
|
||||
|
@ -484,7 +484,7 @@ pair_verify_request2(uint32_t *len, struct pair_verify_context *vctx)
|
|||
}
|
||||
|
||||
int
|
||||
pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
if (!vctx->type->pair_verify_response1)
|
||||
return -1;
|
||||
|
@ -493,7 +493,7 @@ pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uin
|
|||
}
|
||||
|
||||
int
|
||||
pair_verify_response2(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_verify_response2(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
if (!vctx->type->pair_verify_response2)
|
||||
return -1;
|
||||
|
|
|
@ -35,18 +35,18 @@ const char *
|
|||
pair_setup_errmsg(struct pair_setup_context *sctx);
|
||||
|
||||
uint8_t *
|
||||
pair_setup_request1(uint32_t *len, struct pair_setup_context *sctx);
|
||||
pair_setup_request1(size_t *len, struct pair_setup_context *sctx);
|
||||
uint8_t *
|
||||
pair_setup_request2(uint32_t *len, struct pair_setup_context *sctx);
|
||||
pair_setup_request2(size_t *len, struct pair_setup_context *sctx);
|
||||
uint8_t *
|
||||
pair_setup_request3(uint32_t *len, struct pair_setup_context *sctx);
|
||||
pair_setup_request3(size_t *len, struct pair_setup_context *sctx);
|
||||
|
||||
int
|
||||
pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len);
|
||||
pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len);
|
||||
int
|
||||
pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len);
|
||||
pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len);
|
||||
int
|
||||
pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len);
|
||||
pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len);
|
||||
|
||||
/* Returns a 0-terminated string that is the authorisation key, along with a
|
||||
* pointer to the binary representation. The string can be used to initialize
|
||||
|
@ -73,14 +73,14 @@ const char *
|
|||
pair_verify_errmsg(struct pair_verify_context *vctx);
|
||||
|
||||
uint8_t *
|
||||
pair_verify_request1(uint32_t *len, struct pair_verify_context *vctx);
|
||||
pair_verify_request1(size_t *len, struct pair_verify_context *vctx);
|
||||
uint8_t *
|
||||
pair_verify_request2(uint32_t *len, struct pair_verify_context *vctx);
|
||||
pair_verify_request2(size_t *len, struct pair_verify_context *vctx);
|
||||
|
||||
int
|
||||
pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len);
|
||||
pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len);
|
||||
int
|
||||
pair_verify_response2(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len);
|
||||
pair_verify_response2(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len);
|
||||
|
||||
/* Returns a pointer to the shared secret that is the result of the pairing.
|
||||
* Note that the pointers become invalid when you free vctx.
|
||||
|
|
|
@ -634,11 +634,12 @@ pair_setup_free(struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_setup_request1(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request1(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
plist_t dict;
|
||||
plist_t method;
|
||||
plist_t user;
|
||||
uint32_t uint32;
|
||||
char *data = NULL; // Necessary to initialize because plist_to_bin() uses value
|
||||
|
||||
sctx->user = srp_user_new(HASH_SHA1, SRP_NG_2048, USERNAME, (unsigned char *)sctx->pin, sizeof(sctx->pin), 0, 0);
|
||||
|
@ -650,19 +651,21 @@ pair_setup_request1(uint32_t *len, struct pair_setup_context *sctx)
|
|||
|
||||
plist_dict_set_item(dict, "method", method);
|
||||
plist_dict_set_item(dict, "user", user);
|
||||
plist_to_bin(dict, &data, len);
|
||||
plist_to_bin(dict, &data, &uint32);
|
||||
plist_free(dict);
|
||||
|
||||
*len = (size_t)uint32;
|
||||
return (uint8_t *)data;
|
||||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_setup_request2(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request2(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
plist_t dict;
|
||||
plist_t pk;
|
||||
plist_t proof;
|
||||
const char *auth_username = NULL;
|
||||
uint32_t uint32;
|
||||
char *data = NULL;
|
||||
|
||||
// Calculate A
|
||||
|
@ -677,18 +680,20 @@ pair_setup_request2(uint32_t *len, struct pair_setup_context *sctx)
|
|||
dict = plist_new_dict();
|
||||
plist_dict_set_item(dict, "pk", pk);
|
||||
plist_dict_set_item(dict, "proof", proof);
|
||||
plist_to_bin(dict, &data, len);
|
||||
plist_to_bin(dict, &data, &uint32);
|
||||
plist_free(dict);
|
||||
|
||||
*len = (size_t)uint32;
|
||||
return (uint8_t *)data;
|
||||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_setup_request3(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request3(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
plist_t dict;
|
||||
plist_t epk;
|
||||
plist_t authtag;
|
||||
uint32_t uint32;
|
||||
char *data = NULL;
|
||||
const unsigned char *session_key;
|
||||
int session_key_len;
|
||||
|
@ -740,14 +745,15 @@ pair_setup_request3(uint32_t *len, struct pair_setup_context *sctx)
|
|||
dict = plist_new_dict();
|
||||
plist_dict_set_item(dict, "epk", epk);
|
||||
plist_dict_set_item(dict, "authTag", authtag);
|
||||
plist_to_bin(dict, &data, len);
|
||||
plist_to_bin(dict, &data, &uint32);
|
||||
plist_free(dict);
|
||||
|
||||
*len = (size_t)uint32;
|
||||
return (uint8_t *)data;
|
||||
}
|
||||
|
||||
static int
|
||||
pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
plist_t dict;
|
||||
plist_t pk;
|
||||
|
@ -773,7 +779,7 @@ pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
}
|
||||
|
||||
static int
|
||||
pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
plist_t dict;
|
||||
plist_t proof;
|
||||
|
@ -804,7 +810,7 @@ pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
}
|
||||
|
||||
static int
|
||||
pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
plist_t dict;
|
||||
plist_t epk;
|
||||
|
@ -855,7 +861,7 @@ pair_setup_result(const uint8_t **key, size_t *key_len, struct pair_setup_contex
|
|||
|
||||
|
||||
static uint8_t *
|
||||
pair_verify_request1(uint32_t *len, struct pair_verify_context *vctx)
|
||||
pair_verify_request1(size_t *len, struct pair_verify_context *vctx)
|
||||
{
|
||||
const uint8_t basepoint[32] = {9};
|
||||
uint8_t *data;
|
||||
|
@ -884,7 +890,7 @@ pair_verify_request1(uint32_t *len, struct pair_verify_context *vctx)
|
|||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_verify_request2(uint32_t *len, struct pair_verify_context *vctx)
|
||||
pair_verify_request2(size_t *len, struct pair_verify_context *vctx)
|
||||
{
|
||||
uint8_t shared_secret[crypto_scalarmult_BYTES];
|
||||
uint8_t key[SHA512_DIGEST_LENGTH];
|
||||
|
@ -952,9 +958,9 @@ pair_verify_request2(uint32_t *len, struct pair_verify_context *vctx)
|
|||
}
|
||||
|
||||
static int
|
||||
pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
uint32_t wanted;
|
||||
size_t wanted;
|
||||
|
||||
wanted = sizeof(vctx->server_eph_public_key) + sizeof(vctx->server_public_key);
|
||||
if (data_len < wanted)
|
||||
|
@ -970,7 +976,7 @@ pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uin
|
|||
}
|
||||
|
||||
static int
|
||||
pair_verify_response2(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_verify_response2(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
// TODO actually check response
|
||||
return 0;
|
||||
|
|
|
@ -739,7 +739,7 @@ tlv_debug(const tlv_values_t *values)
|
|||
#endif
|
||||
|
||||
static tlv_values_t *
|
||||
response_process(const uint8_t *data, uint32_t data_len, const char **errmsg)
|
||||
response_process(const uint8_t *data, size_t data_len, const char **errmsg)
|
||||
{
|
||||
tlv_values_t *response;
|
||||
tlv_t *error;
|
||||
|
@ -767,7 +767,7 @@ response_process(const uint8_t *data, uint32_t data_len, const char **errmsg)
|
|||
if (error)
|
||||
{
|
||||
if (error->value[0] == TLVError_Authentication)
|
||||
*errmsg = "Device returned an authtication failure";
|
||||
*errmsg = "Device returned an authentication failure";
|
||||
else if (error->value[0] == TLVError_Backoff)
|
||||
*errmsg = "Device told us to back off pairing attempts\n";
|
||||
else if (error->value[0] == TLVError_MaxPeers)
|
||||
|
@ -1081,7 +1081,7 @@ pair_setup_free(struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_setup_request1(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request1(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
tlv_values_t *request;
|
||||
uint8_t *data;
|
||||
|
@ -1138,7 +1138,7 @@ pair_setup_request1(uint32_t *len, struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_setup_request2(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request2(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
tlv_values_t *request;
|
||||
uint8_t *data;
|
||||
|
@ -1179,7 +1179,7 @@ pair_setup_request2(uint32_t *len, struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_setup_request3(uint32_t *len, struct pair_setup_context *sctx)
|
||||
pair_setup_request3(size_t *len, struct pair_setup_context *sctx)
|
||||
{
|
||||
tlv_values_t *request;
|
||||
uint8_t *data;
|
||||
|
@ -1282,7 +1282,7 @@ pair_setup_request3(uint32_t *len, struct pair_setup_context *sctx)
|
|||
}
|
||||
|
||||
static int
|
||||
pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
tlv_values_t *response;
|
||||
tlv_t *pk;
|
||||
|
@ -1291,7 +1291,6 @@ pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
response = response_process(data, data_len, &sctx->errmsg);
|
||||
if (!response)
|
||||
{
|
||||
sctx->errmsg = "Setup response 1: Could not parse TLV";
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -1320,7 +1319,7 @@ pair_setup_response1(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
}
|
||||
|
||||
static int
|
||||
pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
tlv_values_t *response;
|
||||
tlv_t *proof;
|
||||
|
@ -1328,7 +1327,6 @@ pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
response = response_process(data, data_len, &sctx->errmsg);
|
||||
if (!response)
|
||||
{
|
||||
sctx->errmsg = "Setup response 2: Could not parse TLV";
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -1364,7 +1362,7 @@ pair_setup_response2(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
}
|
||||
|
||||
static int
|
||||
pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
tlv_values_t *response;
|
||||
tlv_t *encrypted_data;
|
||||
|
@ -1380,7 +1378,6 @@ pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
response = response_process(data, data_len, &sctx->errmsg);
|
||||
if (!response)
|
||||
{
|
||||
sctx->errmsg = "Setup response 3: Could not parse TLV";
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -1429,7 +1426,6 @@ pair_setup_response3(struct pair_setup_context *sctx, const uint8_t *data, uint3
|
|||
response = response_process(decrypted_data, encrypted_len, &sctx->errmsg);
|
||||
if (!response)
|
||||
{
|
||||
sctx->errmsg = "Setup response 3: Could not parse decrypted TLV";
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -1477,7 +1473,7 @@ pair_setup_result(const uint8_t **key, size_t *key_len, struct pair_setup_contex
|
|||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_verify_request1(uint32_t *len, struct pair_verify_context *vctx)
|
||||
pair_verify_request1(size_t *len, struct pair_verify_context *vctx)
|
||||
{
|
||||
const uint8_t basepoint[32] = {9};
|
||||
tlv_values_t *request;
|
||||
|
@ -1518,7 +1514,7 @@ pair_verify_request1(uint32_t *len, struct pair_verify_context *vctx)
|
|||
}
|
||||
|
||||
static uint8_t *
|
||||
pair_verify_request2(uint32_t *len, struct pair_verify_context *vctx)
|
||||
pair_verify_request2(size_t *len, struct pair_verify_context *vctx)
|
||||
{
|
||||
tlv_values_t *request;
|
||||
uint8_t *data;
|
||||
|
@ -1588,7 +1584,7 @@ pair_verify_request2(uint32_t *len, struct pair_verify_context *vctx)
|
|||
}
|
||||
|
||||
static int
|
||||
pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
tlv_values_t *response;
|
||||
tlv_t *encrypted_data;
|
||||
|
@ -1603,7 +1599,6 @@ pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uin
|
|||
response = response_process(data, data_len, &vctx->errmsg);
|
||||
if (!response)
|
||||
{
|
||||
vctx->errmsg = "Verify response 1: Could not parse TLV";
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -1660,7 +1655,6 @@ pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uin
|
|||
response = response_process(decrypted_data, encrypted_len, &vctx->errmsg);
|
||||
if (!response)
|
||||
{
|
||||
vctx->errmsg = "Verify response 1: Could not parse decrypted TLV";
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
@ -1677,7 +1671,7 @@ pair_verify_response1(struct pair_verify_context *vctx, const uint8_t *data, uin
|
|||
}
|
||||
|
||||
static int
|
||||
pair_verify_response2(struct pair_verify_context *vctx, const uint8_t *data, uint32_t data_len)
|
||||
pair_verify_response2(struct pair_verify_context *vctx, const uint8_t *data, size_t data_len)
|
||||
{
|
||||
// TODO actually check response
|
||||
return 0;
|
||||
|
|
|
@ -4035,7 +4035,7 @@ raop_pair_request_send(int step, struct raop_session *rs, void (*cb)(struct evrt
|
|||
{
|
||||
struct evrtsp_request *req;
|
||||
uint8_t *body;
|
||||
uint32_t len;
|
||||
size_t len;
|
||||
const char *errmsg;
|
||||
const char *url;
|
||||
const char *ctype;
|
||||
|
@ -4952,7 +4952,7 @@ raop_deinit(void)
|
|||
|
||||
struct output_definition output_raop =
|
||||
{
|
||||
.name = "AirPlay",
|
||||
.name = "AirPlay 1",
|
||||
.type = OUTPUT_TYPE_RAOP,
|
||||
#ifdef PREFER_AIRPLAY2
|
||||
.priority = 2,
|
||||
|
|
Loading…
Reference in New Issue