mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
fix -pw bug in dnssd.c (fixes #426)
This commit is contained in:
@@ -164,8 +164,8 @@ dnssd_init(const char* name, int name_len, const char* hw_addr, int hw_addr_len,
|
||||
unsigned long features;
|
||||
/* pin_pw = 0: no pin or password
|
||||
1: use onscreen pin for client access control
|
||||
2: require password for client accress control.
|
||||
*/
|
||||
2 or 3: require password for client access control
|
||||
*/
|
||||
|
||||
if (error) *error = DNSSD_ERROR_NOERROR;
|
||||
|
||||
@@ -308,6 +308,7 @@ dnssd_register_raop(dnssd_t *dnssd, unsigned short port)
|
||||
dnssd->TXTRecordSetValue(&dnssd->raop_record, "rhd", strlen(RAOP_RHD), RAOP_RHD);
|
||||
switch (dnssd->pin_pw) {
|
||||
case 2:
|
||||
case 3:
|
||||
dnssd->TXTRecordSetValue(&dnssd->raop_record, "pw", strlen("true"), "true");
|
||||
dnssd->TXTRecordSetValue(&dnssd->raop_record, "sf", 4, "0x84");
|
||||
break;
|
||||
@@ -316,7 +317,7 @@ dnssd_register_raop(dnssd_t *dnssd, unsigned short port)
|
||||
dnssd->TXTRecordSetValue(&dnssd->raop_record, "sf", 3, "0x8c");
|
||||
break;
|
||||
default:
|
||||
dnssd->TXTRecordSetValue(&dnssd->raop_record, "pw", strlen("true"), "false");
|
||||
dnssd->TXTRecordSetValue(&dnssd->raop_record, "pw", strlen("false"), "false");
|
||||
dnssd->TXTRecordSetValue(&dnssd->raop_record, "sf", strlen(RAOP_SF), RAOP_SF);
|
||||
break;
|
||||
}
|
||||
@@ -384,6 +385,7 @@ dnssd_register_airplay(dnssd_t *dnssd, unsigned short port)
|
||||
dnssd->TXTRecordSetValue(&dnssd->airplay_record, "flags", 3, "0x4");
|
||||
break;
|
||||
case 2: // require password
|
||||
case 3:
|
||||
dnssd->TXTRecordSetValue(&dnssd->airplay_record, "pw", strlen("true"), "true");
|
||||
dnssd->TXTRecordSetValue(&dnssd->airplay_record, "flags", 3, "0x4");
|
||||
break;
|
||||
|
||||
@@ -588,7 +588,7 @@ raop_handler_setup(raop_conn_t *conn,
|
||||
if (!conn->authenticated && conn->raop->callbacks.passwd) {
|
||||
int len;
|
||||
const char *password = conn->raop->callbacks.passwd(conn->raop->callbacks.cls, &len);
|
||||
// len = -1 means use a random password for this connection
|
||||
// len = -1 means use a random password for this connection; len = 0 means no password
|
||||
if (len == -1 && conn->raop->random_pw && conn->raop->auth_fail_count >= 5) {
|
||||
// change random_pw after 5 failed authentication attempts
|
||||
logger_log(conn->raop->logger, LOGGER_INFO, "Too many authentication failures: generate new random password");
|
||||
|
||||
Reference in New Issue
Block a user