mirror of
https://github.com/owntone/owntone-server.git
synced 2025-02-03 09:56:00 -05:00
add a ffid txt record so rsp and iTunes entries can be correlated
This commit is contained in:
parent
fb2e9382c5
commit
9705113b40
@ -108,9 +108,9 @@ CONFIG config; /**< Main configuration structure, as read from configfile */
|
|||||||
* Forwards
|
* Forwards
|
||||||
*/
|
*/
|
||||||
static void usage(char *program);
|
static void usage(char *program);
|
||||||
static void txt_add(char *txtrecord, char *fmt, ...);
|
|
||||||
static void main_handler(WS_CONNINFO *pwsc);
|
static void main_handler(WS_CONNINFO *pwsc);
|
||||||
static int main_auth(WS_CONNINFO *pwsc, char *username, char *password);
|
static int main_auth(WS_CONNINFO *pwsc, char *username, char *password);
|
||||||
|
static void txt_add(char *txtrecord, char *fmt, ...);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* build a dns text string
|
* build a dns text string
|
||||||
@ -440,13 +440,15 @@ int main(int argc, char *argv[]) {
|
|||||||
txt_add(txtrecord,"iTSh Version=131073"); /* iTunes 6.0.4 */
|
txt_add(txtrecord,"iTSh Version=131073"); /* iTunes 6.0.4 */
|
||||||
txt_add(txtrecord,"Version=196610"); /* iTunes 6.0.4 */
|
txt_add(txtrecord,"Version=196610"); /* iTunes 6.0.4 */
|
||||||
txt_add(txtrecord,"Password=%s",conf_isset("general","password") ? "true" : "false");
|
txt_add(txtrecord,"Password=%s",conf_isset("general","password") ? "true" : "false");
|
||||||
|
srand(time(NULL));
|
||||||
|
txt_add(txtrecord,"ffid=%08x",rand());
|
||||||
|
|
||||||
DPRINTF(E_LOG,L_MAIN|L_REND,"Registering rendezvous names\n");
|
DPRINTF(E_LOG,L_MAIN|L_REND,"Registering rendezvous names\n");
|
||||||
iface = conf_alloc_string("general","interface","");
|
iface = conf_alloc_string("general","interface","");
|
||||||
rend_register(servername,"_daap._tcp",ws_config.port,iface,txtrecord);
|
rend_register(servername,"_daap._tcp",ws_config.port,iface,txtrecord);
|
||||||
rend_register(servername,"_http._tcp",ws_config.port,iface,txtrecord);
|
rend_register(servername,"_http._tcp",ws_config.port,iface,txtrecord);
|
||||||
|
|
||||||
plugin_rend_register(servername,ws_config.port,iface);
|
plugin_rend_register(servername,ws_config.port,iface,txtrecord);
|
||||||
|
|
||||||
free(servername);
|
free(servername);
|
||||||
free(iface);
|
free(iface);
|
||||||
|
10
src/plugin.c
10
src/plugin.c
@ -403,10 +403,10 @@ void plugin_url_handle(WS_CONNINFO *pwsc) {
|
|||||||
* walk through the plugins and register whatever rendezvous
|
* walk through the plugins and register whatever rendezvous
|
||||||
* names the clients want
|
* names the clients want
|
||||||
*/
|
*/
|
||||||
int plugin_rend_register(char *name, int port, char *iface) {
|
int plugin_rend_register(char *name, int port, char *iface, char *txt) {
|
||||||
PLUGIN_ENTRY *ppi;
|
PLUGIN_ENTRY *ppi;
|
||||||
PLUGIN_REND_INFO *pri;
|
PLUGIN_REND_INFO *pri;
|
||||||
char *txt;
|
char *supplied_txt;
|
||||||
char *new_name;
|
char *new_name;
|
||||||
int name_len;
|
int name_len;
|
||||||
|
|
||||||
@ -419,9 +419,9 @@ int plugin_rend_register(char *name, int port, char *iface) {
|
|||||||
if(ppi->rend_info) {
|
if(ppi->rend_info) {
|
||||||
pri = ppi->rend_info;
|
pri = ppi->rend_info;
|
||||||
while(pri->type) {
|
while(pri->type) {
|
||||||
txt = pri->txt;
|
supplied_txt = pri->txt;
|
||||||
if(!pri->txt)
|
if(!pri->txt)
|
||||||
txt = "";
|
supplied_txt = txt;
|
||||||
|
|
||||||
DPRINTF(E_DBG,L_PLUG,"Registering %s\n",pri->type);
|
DPRINTF(E_DBG,L_PLUG,"Registering %s\n",pri->type);
|
||||||
|
|
||||||
@ -437,7 +437,7 @@ int plugin_rend_register(char *name, int port, char *iface) {
|
|||||||
} else {
|
} else {
|
||||||
snprintf(new_name,name_len,"%s",name);
|
snprintf(new_name,name_len,"%s",name);
|
||||||
}
|
}
|
||||||
rend_register(new_name,pri->type,port,iface,txt);
|
rend_register(new_name,pri->type,port,iface,supplied_txt);
|
||||||
free(new_name);
|
free(new_name);
|
||||||
|
|
||||||
pri++;
|
pri++;
|
||||||
|
@ -34,7 +34,7 @@ extern int plugin_deinit(void);
|
|||||||
extern int plugin_url_candispatch(WS_CONNINFO *pwsc);
|
extern int plugin_url_candispatch(WS_CONNINFO *pwsc);
|
||||||
extern void plugin_url_handle(WS_CONNINFO *pwsc);
|
extern void plugin_url_handle(WS_CONNINFO *pwsc);
|
||||||
extern int plugin_auth_handle(WS_CONNINFO *pwsc, char *username, char *pw);
|
extern int plugin_auth_handle(WS_CONNINFO *pwsc, char *username, char *pw);
|
||||||
extern int plugin_rend_register(char *name, int port, char *iface);
|
extern int plugin_rend_register(char *name, int port, char *iface, char *txt);
|
||||||
extern void plugin_event_dispatch(int event_id, int intval, void *vp, int len);
|
extern void plugin_event_dispatch(int event_id, int intval, void *vp, int len);
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user