case SENDER_ALLOW:
if (argc != 4 && argc != 5)
return -E_COMMAND_SYNTAX;
- if (!inet_pton(AF_INET, argv[3], &scd->addr))
+ if (!is_valid_ipv4_address(argv[3]))
return -E_COMMAND_SYNTAX;
scd->netmask = 32;
if (argc == 5) {
if (scd->netmask < 0 || scd->netmask > 32)
return -E_COMMAND_SYNTAX;
}
+ strncpy(scd->host, argv[3], sizeof(scd->host));
break;
case SENDER_ADD:
case SENDER_DELETE:
- if (argc != 4 && argc != 5)
- return -E_COMMAND_SYNTAX;
- if (!inet_pton(AF_INET, argv[3], &scd->addr))
+ if (argc != 4 || parse_url(argv[3], scd->host,
+ sizeof(scd->host), &scd->port) == NULL)
return -E_COMMAND_SYNTAX;
- scd->port = -1;
- if (argc == 5) {
- scd->port = atoi(argv[4]);
- if (scd->port < 0 || scd->port > 65535)
- return -E_COMMAND_SYNTAX;
- }
break;
default:
return -E_COMMAND_SYNTAX;
usleep(100 * 1000);
continue;
}
- mmd->sender_cmd_data = scd;
+ memcpy(&mmd->sender_cmd_data, &scd, sizeof(scd));
mutex_unlock(mmd_mutex);
break;
}
"server_pid: %d\n"
"afs_pid: %d\n"
"connections (active/accepted/total): %u/%u/%u\n"
- "current loglevel: %i\n"
+ "current loglevel: %s\n"
"supported audio formats: %s\n"
"supported senders: %s\n"
"%s",