Skip to content

Commit d518f6f

Browse files
committed
Implement V2 registration support
1 parent 2629bcb commit d518f6f

15 files changed

Lines changed: 614 additions & 90 deletions

File tree

.typos.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ extend-ignore-re = [
1515
"(?i)helo_name",
1616
"Server name sent during.+HELO",
1717
# COSE Is short for CBOR Object Signing and Encryption, ignore these specific items
18+
"COSE",
1819
"COSEKey",
1920
"COSEAlgorithm",
2021
# Ignore this specific string as it's valid

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ serde = { version = "1.0.229", features = ["derive"] }
106106
serde_json = "1.0.151"
107107

108108
# A safe, extensible ORM and Query builder
109-
diesel = { version = "2.3.11", features = ["chrono", "r2d2", "numeric"] }
109+
diesel = { version = "2.3.11", features = ["chrono", "r2d2", "numeric", "64-column-tables"] }
110110
diesel_migrations = "2.3.2"
111111

112112
derive_more = { version = "2.1.1", features = [
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
DROP TABLE IF EXISTS user_signature_key_pairs;
2+
3+
ALTER TABLE users DROP COLUMN signed_public_key;
4+
ALTER TABLE users DROP COLUMN security_state;
5+
ALTER TABLE users DROP COLUMN security_version;
6+
ALTER TABLE users DROP COLUMN v2_upgrade_token;
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
ALTER TABLE users ADD COLUMN signed_public_key TEXT;
2+
ALTER TABLE users ADD COLUMN security_state TEXT;
3+
ALTER TABLE users ADD COLUMN security_version INTEGER;
4+
ALTER TABLE users ADD COLUMN v2_upgrade_token TEXT;
5+
6+
DROP TABLE IF EXISTS user_signature_key_pairs;
7+
8+
CREATE TABLE user_signature_key_pairs (
9+
uuid CHAR(36) NOT NULL PRIMARY KEY,
10+
user_uuid CHAR(36) NOT NULL UNIQUE,
11+
signature_algorithm INTEGER NOT NULL, -- 0 = ed25519, 1 = mldsa44
12+
signing_key TEXT NOT NULL,
13+
verifying_key TEXT NOT NULL,
14+
created_at DATETIME NOT NULL,
15+
updated_at DATETIME NOT NULL,
16+
FOREIGN KEY (user_uuid) REFERENCES users (uuid) ON DELETE CASCADE
17+
);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
DROP TABLE IF EXISTS user_signature_key_pairs;
2+
3+
ALTER TABLE users DROP COLUMN signed_public_key;
4+
ALTER TABLE users DROP COLUMN security_state;
5+
ALTER TABLE users DROP COLUMN security_version;
6+
ALTER TABLE users DROP COLUMN v2_upgrade_token;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
ALTER TABLE users ADD COLUMN signed_public_key TEXT;
2+
ALTER TABLE users ADD COLUMN security_state TEXT;
3+
ALTER TABLE users ADD COLUMN security_version INTEGER;
4+
ALTER TABLE users ADD COLUMN v2_upgrade_token TEXT;
5+
6+
DROP TABLE IF EXISTS user_signature_key_pairs;
7+
8+
CREATE TABLE user_signature_key_pairs (
9+
uuid CHAR(36) NOT NULL PRIMARY KEY,
10+
user_uuid CHAR(36) NOT NULL UNIQUE REFERENCES users (uuid) ON DELETE CASCADE,
11+
signature_algorithm INTEGER NOT NULL, -- 0 = ed25519, 1 = mldsa44
12+
signing_key TEXT NOT NULL,
13+
verifying_key TEXT NOT NULL,
14+
created_at TIMESTAMP NOT NULL,
15+
updated_at TIMESTAMP NOT NULL
16+
);
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
DROP TABLE IF EXISTS user_signature_key_pairs;
2+
3+
ALTER TABLE users DROP COLUMN signed_public_key;
4+
ALTER TABLE users DROP COLUMN security_state;
5+
ALTER TABLE users DROP COLUMN security_version;
6+
ALTER TABLE users DROP COLUMN v2_upgrade_token;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
ALTER TABLE users ADD COLUMN signed_public_key TEXT;
2+
ALTER TABLE users ADD COLUMN security_state TEXT;
3+
ALTER TABLE users ADD COLUMN security_version INTEGER;
4+
ALTER TABLE users ADD COLUMN v2_upgrade_token TEXT;
5+
6+
DROP TABLE IF EXISTS user_signature_key_pairs;
7+
8+
CREATE TABLE user_signature_key_pairs (
9+
uuid TEXT NOT NULL PRIMARY KEY,
10+
user_uuid TEXT NOT NULL UNIQUE REFERENCES users (uuid) ON DELETE CASCADE,
11+
signature_algorithm INTEGER NOT NULL, -- 0 = ed25519, 1 = mldsa44
12+
signing_key TEXT NOT NULL,
13+
verifying_key TEXT NOT NULL,
14+
created_at DATETIME NOT NULL,
15+
updated_at DATETIME NOT NULL
16+
);

0 commit comments

Comments
 (0)