Skip to content

Commit 371c7a6

Browse files
authored
api: fix docker_image validation for local images (pterodactyl#5103)
1 parent 37055fe commit 371c7a6

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

app/Http/Requests/Admin/Egg/EggFormRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public function rules(): array
1111
$rules = [
1212
'name' => 'required|string|max:191',
1313
'description' => 'nullable|string',
14-
'docker_images' => ['required', 'string', 'regex:/^[\w#\.\/\- ]*\|*[\w\.\/\-:@ ]*$/im'],
14+
'docker_images' => ['required', 'string', 'regex:/^[\w#\.\/\- ]*\|?~?[\w\.\/\-:@ ]*$/im'],
1515
'force_outgoing_ip' => 'sometimes|boolean',
1616
'file_denylist' => 'array',
1717
'startup' => 'required|string',

app/Http/Requests/Api/Client/Servers/Settings/SetDockerImageRequest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function rules(): array
2424
Assert::isInstanceOf($server, Server::class);
2525

2626
return [
27-
'docker_image' => ['required', 'string', 'max:191', 'regex:/^[\w#\.\/\- ]*\|*[\w\.\/\-:@ ]*$/', Rule::in(array_values($server->egg->docker_images))],
27+
'docker_image' => ['required', 'string', 'max:191', 'regex:/^[\w#\.\/\- ]*\|?~?[\w\.\/\-:@ ]*$/', Rule::in(array_values($server->egg->docker_images))],
2828
];
2929
}
3030
}

app/Models/Egg.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class Egg extends Model
123123
'file_denylist' => 'array|nullable',
124124
'file_denylist.*' => 'string',
125125
'docker_images' => 'required|array|min:1',
126-
'docker_images.*' => ['required', 'string', 'max:191', 'regex:/^[\w#\.\/\- ]*\|*[\w\.\/\-:@ ]*$/'],
126+
'docker_images.*' => ['required', 'string', 'max:191', 'regex:/^[\w#\.\/\- ]*\|?~?[\w\.\/\-:@ ]*$/'],
127127
'startup' => 'required|nullable|string',
128128
'config_from' => 'sometimes|bail|nullable|numeric|exists:eggs,id',
129129
'config_stop' => 'required_without:config_from|nullable|string|max:191',

app/Models/Server.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ class Server extends Model
163163
'egg_id' => 'required|exists:eggs,id',
164164
'startup' => 'required|string',
165165
'skip_scripts' => 'sometimes|boolean',
166-
'image' => ['required', 'string', 'max:191', 'regex:/^[\w\.\/\-:@ ]*$/'],
166+
'image' => ['required', 'string', 'max:191', 'regex:/^~?[\w\.\/\-:@ ]*$/'],
167167
'database_limit' => 'present|nullable|integer|min:0',
168168
'allocation_limit' => 'sometimes|nullable|integer|min:0',
169169
'backup_limit' => 'present|nullable|integer|min:0',

0 commit comments

Comments
 (0)