Browse Source

implement global config for allowed ips

pull/1720/head
Bernd Storath 5 months ago
parent
commit
84d9e5e1c4
  1. 2
      src/app/pages/clients/[id].vue
  2. 2
      src/server/database/migrations/0000_short_skin.sql
  3. 4
      src/server/database/migrations/meta/0000_snapshot.json
  4. 6
      src/server/database/migrations/meta/0001_snapshot.json
  5. 4
      src/server/database/migrations/meta/_journal.json
  6. 2
      src/server/database/repositories/client/schema.ts
  7. 1
      src/server/database/repositories/client/service.ts
  8. 2
      src/server/database/repositories/client/types.ts

2
src/app/pages/clients/[id].vue

@ -44,7 +44,7 @@
<FormHeading :description="$t('client.allowedIpsDesc')">
{{ $t('general.allowedIps') }}
</FormHeading>
<FormArrayField v-model="data.allowedIps" name="allowedIps" />
<FormNullArrayField v-model="data.allowedIps" name="allowedIps" />
</FormGroup>
<FormGroup>
<FormHeading :description="$t('client.serverAllowedIpsDesc')">

2
src/server/database/migrations/0000_short_skin.sql

@ -12,7 +12,7 @@ CREATE TABLE `clients_table` (
`public_key` text NOT NULL,
`pre_shared_key` text NOT NULL,
`expires_at` text,
`allowed_ips` text NOT NULL,
`allowed_ips` text,
`server_allowed_ips` text NOT NULL,
`persistent_keepalive` integer NOT NULL,
`mtu` integer NOT NULL,

4
src/server/database/migrations/meta/0000_snapshot.json

@ -1,7 +1,7 @@
{
"version": "6",
"dialect": "sqlite",
"id": "80307290-b752-4fc4-8ba4-c6d39222c7f5",
"id": "8c2af02b-c4bd-4880-a9ad-b38805636208",
"prevId": "00000000-0000-0000-0000-000000000000",
"tables": {
"clients_table": {
@ -106,7 +106,7 @@
"name": "allowed_ips",
"type": "text",
"primaryKey": false,
"notNull": true,
"notNull": false,
"autoincrement": false
},
"server_allowed_ips": {

6
src/server/database/migrations/meta/0001_snapshot.json

@ -1,6 +1,6 @@
{
"id": "241a0a75-03d1-4b39-9a13-e7b1b621e8b2",
"prevId": "80307290-b752-4fc4-8ba4-c6d39222c7f5",
"id": "a61263b1-9af1-4d2e-99e9-80d08127b545",
"prevId": "8c2af02b-c4bd-4880-a9ad-b38805636208",
"version": "6",
"dialect": "sqlite",
"tables": {
@ -106,7 +106,7 @@
"name": "allowed_ips",
"type": "text",
"primaryKey": false,
"notNull": true,
"notNull": false,
"autoincrement": false
},
"server_allowed_ips": {

4
src/server/database/migrations/meta/_journal.json

@ -5,14 +5,14 @@
{
"idx": 0,
"version": "6",
"when": 1741354212954,
"when": 1741355094140,
"tag": "0000_short_skin",
"breakpoints": true
},
{
"idx": 1,
"version": "6",
"when": 1741354219144,
"when": 1741355098159,
"tag": "0001_classy_the_stranger",
"breakpoints": true
}

2
src/server/database/repositories/client/schema.ts

@ -24,7 +24,7 @@ export const client = sqliteTable('clients_table', {
publicKey: text('public_key').notNull(),
preSharedKey: text('pre_shared_key').notNull(),
expiresAt: text('expires_at'),
allowedIps: text('allowed_ips', { mode: 'json' }).$type<string[]>().notNull(),
allowedIps: text('allowed_ips', { mode: 'json' }).$type<string[]>(),
serverAllowedIps: text('server_allowed_ips', { mode: 'json' })
.$type<string[]>()
.notNull(),

1
src/server/database/repositories/client/service.ts

@ -115,7 +115,6 @@ export class ClientService {
ipv4Address,
ipv6Address,
mtu: clientConfig.defaultMtu,
allowedIps: clientConfig.defaultAllowedIps,
persistentKeepalive: clientConfig.defaultPersistentKeepalive,
serverAllowedIps: [],
enabled: true,

2
src/server/database/repositories/client/types.ts

@ -61,7 +61,7 @@ export const ClientUpdateSchema = schemaForType<UpdateClientType>()(
postUp: HookSchema,
preDown: HookSchema,
postDown: HookSchema,
allowedIps: AllowedIpsSchema,
allowedIps: AllowedIpsSchema.nullable(),
serverAllowedIps: serverAllowedIps,
mtu: MtuSchema,
persistentKeepalive: PersistentKeepaliveSchema,

Loading…
Cancel
Save