diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b9a1e0..a74d63f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ v1.7 - Fix FLEXIAPI-262 Bypass the JWT auth if we have an API Key - Fix FLEXIAPI-264 Add -k|api_key_ip parameter to accounts:create-admin-account to set/clear the related API Key restriction - Fix FLEXIAPI-256 Publish an empty string while deleting a device on Redis to force the refresh on the other clients +- Fix FLEXIAPI-268 Allow pn-param in Apple format for the push notifications endpoints v1.6 ---- diff --git a/flexiapi/app/Rules/PnParam.php b/flexiapi/app/Rules/PnParam.php index 10a3539..5cd40fb 100644 --- a/flexiapi/app/Rules/PnParam.php +++ b/flexiapi/app/Rules/PnParam.php @@ -9,11 +9,11 @@ class PnParam implements Rule { public function passes($attribute, $value) { - return $value == null || Validator::regex('/^\w+$/')->validate($value); + return $value == null || Validator::regex('/^[\w\.]+$/')->validate($value); } public function message() { - return 'The :attribute should be null or contain only alphanumeric and underscore characters'; + return 'The :attribute should be null or contain only alphanumeric, dots and underscore characters'; } } diff --git a/flexiapi/tests/Feature/ApiPushNotificationTest.php b/flexiapi/tests/Feature/ApiPushNotificationTest.php index 8634717..b3751f7 100644 --- a/flexiapi/tests/Feature/ApiPushNotificationTest.php +++ b/flexiapi/tests/Feature/ApiPushNotificationTest.php @@ -67,5 +67,23 @@ class ApiPushNotificationTest extends TestCase 'type' => $this->type, 'call_id' => 'call_id-123' ])->assertStatus(503); + + $this->keyAuthenticated($account) + ->json($this->method, $this->tokenRoute, [ + 'pn_provider' => $this->pnProvider, + 'pn_param' => 'ABCD1234.org.linphone.phone.voip', + 'pn_prid' => $this->pnPrid, + 'type' => $this->type, + 'call_id' => 'call_id-123' + ])->assertStatus(503); + + $this->keyAuthenticated($account) + ->json($this->method, $this->tokenRoute, [ + 'pn_provider' => $this->pnProvider, + 'pn_param' => '@blabla@', + 'pn_prid' => $this->pnPrid, + 'type' => $this->type, + 'call_id' => 'call_id-123' + ])->assertJsonValidationErrors(['pn_param']); } }