Skip to content

Commit a115c71

Browse files
committed
Change SFTP username to be name_uuidShort
1 parent 20db3f9 commit a115c71

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

app/Repositories/ServerRepository.php

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,19 +51,17 @@ public function __construct()
5151

5252
/**
5353
* Generates a SFTP username for a server given a server name.
54+
* format: mumble_67c7a4b0
5455
*
5556
* @param string $name
57+
* @param string $uuid
5658
* @return string
5759
*/
58-
protected function generateSFTPUsername($name)
60+
protected function generateSFTPUsername($name, $uuid = null)
5961
{
6062

61-
$name = preg_replace('/\s+/', '', $name);
62-
if (strlen($name) > 6) {
63-
return strtolower('ptdl-' . substr($name, 0, 6) . '_' . str_random(5));
64-
}
65-
66-
return strtolower('ptdl-' . $name . '_' . str_random((11 - strlen($name))));
63+
$uuid = is_null($uuid) ? str_random(8) : $uuid;
64+
return strtolower(substr(preg_replace('/\s+/', '', $name), 0, 6) . '_' . $uuid);
6765

6866
}
6967

@@ -230,10 +228,11 @@ public function create(array $data)
230228

231229
// Add Server to the Database
232230
$server = new Models\Server;
233-
$generatedUuid = $uuid->generate('servers', 'uuid');
231+
$genUuid = $uuid->generate('servers', 'uuid');
232+
$genShortUuid = $uuid->generateShort('servers', 'uuidShort', $generatedUuid);
234233
$server->fill([
235-
'uuid' => $generatedUuid,
236-
'uuidShort' => $uuid->generateShort('servers', 'uuidShort', $generatedUuid),
234+
'uuid' => $genUuid,
235+
'uuidShort' => $genShortUuid,
237236
'node' => $node->id,
238237
'name' => $data['name'],
239238
'suspended' => 0,
@@ -250,7 +249,7 @@ public function create(array $data)
250249
'startup' => $data['startup'],
251250
'daemonSecret' => $uuid->generate('servers', 'daemonSecret'),
252251
'image' => (isset($data['custom_image_name'])) ? $data['custom_image_name'] : $option->docker_image,
253-
'username' => $this->generateSFTPUsername($data['name']),
252+
'username' => $this->generateSFTPUsername($data['name'], $genShortUuid),
254253
'sftp_password' => Crypt::encrypt('not set')
255254
]);
256255
$server->save();

0 commit comments

Comments
 (0)