diff --git a/api_keys.php b/api_keys.php index 5f516905..0670262e 100644 --- a/api_keys.php +++ b/api_keys.php @@ -94,7 +94,7 @@ if ($action == 'delete') { unset ($ip_list[$idx]); } } - $ip_list = array_map('inet_pton', $ip_list); + $ip_list = array_map('inet_ntop', array_map('inet_pton', $ip_list)); $allowed_from = implode(",", array_unique($ip_list)); if ($valid_until <= 0 || !is_numeric($valid_until)) { diff --git a/lib/classes/api/class.FroxlorRPC.php b/lib/classes/api/class.FroxlorRPC.php index 41b7aeef..f238fab9 100644 --- a/lib/classes/api/class.FroxlorRPC.php +++ b/lib/classes/api/class.FroxlorRPC.php @@ -62,9 +62,9 @@ class FroxlorRPC if ($result) { if ($result['apikey'] == $key && $result['secret'] == $secret && ($result['valid_until'] == -1 || $result['valid_until'] >= time())) { if (!empty($result['allowed_from'])) { + // @todo allow specification and validating of whole subnets later $ip_list = explode(",", $result['allowed_from']); - $ip_list = array_map('inet_pton', $ip_list); - $access_ip = inet_pton($_SERVER['REMOTE_ADDR']); + $access_ip = inet_ntop(inet_pton($_SERVER['REMOTE_ADDR'])); if (in_array($access_ip, $ip_list)) { return true; } diff --git a/lng/english.lng.php b/lng/english.lng.php index 77be7df5..a69b82c8 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -2140,7 +2140,7 @@ $lng['apikeys']['apikey_removed'] = 'The api key with the id #%s has been remove $lng['apikeys']['apikey_added'] = 'A new api key has been generated successfully'; $lng['apikeys']['clicktoview'] = 'Click to view'; $lng['apikeys']['allowed_from'] = 'Allowed from'; -$lng['apikeys']['allowed_from_help'] = 'Comma separated list of ip addresses. Default empty.'; +$lng['apikeys']['allowed_from_help'] = 'Comma separated list of ip addresses. Default empty.
Specifying a subgnet e.g. 192.168.1.1/24 is currently not supported.'; $lng['apikeys']['valid_until'] = 'Valid until'; $lng['apikeys']['valid_until_help'] = 'Date until valid, format YYYY-MM-DD'; $lng['serversettings']['enable_api']['title'] = 'Enable external API usage'; diff --git a/lng/german.lng.php b/lng/german.lng.php index c7668615..1648e606 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1788,7 +1788,7 @@ $lng['apikeys']['no_api_keys'] = 'Keine API Keys gefunden'; $lng['apikeys']['key_add'] = 'API Key hinzufügen'; $lng['apikeys']['apikey_removed'] = 'Der API Key mit der ID #%s wurde erfolgreich gelöscht.'; $lng['apikeys']['allowed_from'] = 'Erlaube Zugriff von'; -$lng['apikeys']['allowed_from_help'] = 'Komma getrennte Liste von IPs. Standard ist leer.'; +$lng['apikeys']['allowed_from_help'] = 'Komma getrennte Liste von IPs. Standard ist leer.
Angabe von Subnetzen z.B. 192.168.1.1/24 wird derzeit nicht unterstützt.'; $lng['apikeys']['valid_until'] = 'Gültig bis'; $lng['apikeys']['valid_until_help'] = 'Datum Gültigkeitsende, Format JJJJ-MM-TT'; $lng['serversettings']['enable_api']['title'] = 'Aktiviere externe API Nutzung';