Add support for receiving iTunes streams back, got broken in the process
[deb_shairplay.git] / src / lib / dnssd.c
index 3f6d9cf283c748e77bcca4a0105a2a15ba8be31f..dea813721152754a998a5c0f157912ba3eaad92e 100644 (file)
@@ -169,7 +169,7 @@ dnssd_destroy(dnssd_t *dnssd)
 }
 
 int
-dnssd_register_raop(dnssd_t *dnssd, const char *name, unsigned short port, const char *hwaddr, int hwaddrlen)
+dnssd_register_raop(dnssd_t *dnssd, const char *name, unsigned short port, const char *hwaddr, int hwaddrlen, int password)
 {
        TXTRecordRef txtRecord;
        char servname[MAX_SERVNAME];
@@ -188,13 +188,17 @@ dnssd_register_raop(dnssd_t *dnssd, const char *name, unsigned short port, const
        dnssd->TXTRecordSetValue(&txtRecord, "da", strlen(RAOP_DA), RAOP_DA);
        dnssd->TXTRecordSetValue(&txtRecord, "sr", strlen(RAOP_SR), RAOP_SR);
        dnssd->TXTRecordSetValue(&txtRecord, "ss", strlen(RAOP_SS), RAOP_SS);
-       dnssd->TXTRecordSetValue(&txtRecord, "pw", strlen(RAOP_PW), RAOP_PW);
+       if (password) {
+               dnssd->TXTRecordSetValue(&txtRecord, "pw", strlen("true"), "true");
+       } else {
+               dnssd->TXTRecordSetValue(&txtRecord, "pw", strlen("false"), "false");
+       }
        dnssd->TXTRecordSetValue(&txtRecord, "vn", strlen(RAOP_VN), RAOP_VN);
        dnssd->TXTRecordSetValue(&txtRecord, "tp", strlen(RAOP_TP), RAOP_TP);
        dnssd->TXTRecordSetValue(&txtRecord, "md", strlen(RAOP_MD), RAOP_MD);
        dnssd->TXTRecordSetValue(&txtRecord, "vs", strlen(GLOBAL_VERSION), GLOBAL_VERSION);
-       dnssd->TXTRecordSetValue(&txtRecord, "am", strlen(RAOP_AM), RAOP_AM);
-       dnssd->TXTRecordSetValue(&txtRecord, "sf", strlen(RAOP_SF), RAOP_SF);
+       dnssd->TXTRecordSetValue(&txtRecord, "sm", strlen(RAOP_SM), RAOP_SM);
+       dnssd->TXTRecordSetValue(&txtRecord, "ek", strlen(RAOP_EK), RAOP_EK);
 
        /* Convert hardware address to string */
        ret = utils_hwaddr_raop(servname, sizeof(servname), hwaddr, hwaddrlen);