feat(fingerprint): add platform fingerprint hash

This commit is contained in:
Varun Narravula
2026-01-14 20:19:09 -08:00
parent fcee735578
commit e9e935d6c4
4 changed files with 12 additions and 6 deletions

View File

@@ -790,7 +790,8 @@ export const fingerprints = pgTable("fingerprints", {
kernelVersion: text("kernelVersion"), kernelVersion: text("kernelVersion"),
arch: text("arch"), arch: text("arch"),
deviceModel: text("deviceModel"), deviceModel: text("deviceModel"),
serialNumber: text("serialNumber") serialNumber: text("serialNumber"),
platformFingerprint: varchar("platformFingerprint")
}); });
export const olmSessions = pgTable("clientSession", { export const olmSessions = pgTable("clientSession", {

View File

@@ -509,7 +509,8 @@ export const fingerprints = sqliteTable("fingerprints", {
kernelVersion: text("kernelVersion"), kernelVersion: text("kernelVersion"),
arch: text("arch"), arch: text("arch"),
deviceModel: text("deviceModel"), deviceModel: text("deviceModel"),
serialNumber: text("serialNumber") serialNumber: text("serialNumber"),
platformFingerprint: text("platformFingerprint")
}); });
export const twoFactorBackupCodes = sqliteTable("twoFactorBackupCodes", { export const twoFactorBackupCodes = sqliteTable("twoFactorBackupCodes", {

View File

@@ -196,7 +196,8 @@ export const handleOlmPingMessage: MessageHandler = async (context) => {
kernelVersion: fingerprint.kernelVersion, kernelVersion: fingerprint.kernelVersion,
arch: fingerprint.arch, arch: fingerprint.arch,
deviceModel: fingerprint.deviceModel, deviceModel: fingerprint.deviceModel,
serialNumber: fingerprint.serialNumber serialNumber: fingerprint.serialNumber,
platformFingerprint: fingerprint.platformFingerprint
}); });
} else { } else {
await db await db
@@ -211,7 +212,8 @@ export const handleOlmPingMessage: MessageHandler = async (context) => {
kernelVersion: fingerprint.kernelVersion, kernelVersion: fingerprint.kernelVersion,
arch: fingerprint.arch, arch: fingerprint.arch,
deviceModel: fingerprint.deviceModel, deviceModel: fingerprint.deviceModel,
serialNumber: fingerprint.serialNumber serialNumber: fingerprint.serialNumber,
platformFingerprint: fingerprint.platformFingerprint
}) })
.where(eq(fingerprints.olmId, olm.olmId)); .where(eq(fingerprints.olmId, olm.olmId));
} }

View File

@@ -319,7 +319,8 @@ export const handleOlmRegisterMessage: MessageHandler = async (context) => {
kernelVersion: fingerprint.kernelVersion, kernelVersion: fingerprint.kernelVersion,
arch: fingerprint.arch, arch: fingerprint.arch,
deviceModel: fingerprint.deviceModel, deviceModel: fingerprint.deviceModel,
serialNumber: fingerprint.serialNumber serialNumber: fingerprint.serialNumber,
platformFingerprint: fingerprint.platformFingerprint
}); });
} else { } else {
await db await db
@@ -334,7 +335,8 @@ export const handleOlmRegisterMessage: MessageHandler = async (context) => {
kernelVersion: fingerprint.kernelVersion, kernelVersion: fingerprint.kernelVersion,
arch: fingerprint.arch, arch: fingerprint.arch,
deviceModel: fingerprint.deviceModel, deviceModel: fingerprint.deviceModel,
serialNumber: fingerprint.serialNumber serialNumber: fingerprint.serialNumber,
platformFingerprint: fingerprint.platformFingerprint
}) })
.where(eq(fingerprints.olmId, olm.olmId)); .where(eq(fingerprints.olmId, olm.olmId));
} }