mirror of
https://github.com/fosrl/pangolin.git
synced 2025-09-01 15:25:17 +02:00
Add olm version
This commit is contained in:
parent
e7df29104e
commit
1f4a7a7f6f
3 changed files with 23 additions and 9 deletions
|
@ -536,6 +536,7 @@ export const olms = pgTable("olms", {
|
||||||
olmId: varchar("id").primaryKey(),
|
olmId: varchar("id").primaryKey(),
|
||||||
secretHash: varchar("secretHash").notNull(),
|
secretHash: varchar("secretHash").notNull(),
|
||||||
dateCreated: varchar("dateCreated").notNull(),
|
dateCreated: varchar("dateCreated").notNull(),
|
||||||
|
version: text("version").notNull(),
|
||||||
clientId: integer("clientId").references(() => clients.clientId, {
|
clientId: integer("clientId").references(() => clients.clientId, {
|
||||||
onDelete: "cascade"
|
onDelete: "cascade"
|
||||||
})
|
})
|
||||||
|
|
|
@ -243,6 +243,7 @@ export const olms = sqliteTable("olms", {
|
||||||
olmId: text("id").primaryKey(),
|
olmId: text("id").primaryKey(),
|
||||||
secretHash: text("secretHash").notNull(),
|
secretHash: text("secretHash").notNull(),
|
||||||
dateCreated: text("dateCreated").notNull(),
|
dateCreated: text("dateCreated").notNull(),
|
||||||
|
version: text("version").notNull(),
|
||||||
clientId: integer("clientId").references(() => clients.clientId, {
|
clientId: integer("clientId").references(() => clients.clientId, {
|
||||||
onDelete: "cascade"
|
onDelete: "cascade"
|
||||||
})
|
})
|
||||||
|
|
|
@ -21,7 +21,7 @@ export const handleOlmRegisterMessage: MessageHandler = async (context) => {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const clientId = olm.clientId;
|
const clientId = olm.clientId;
|
||||||
const { publicKey, relay } = message.data;
|
const { publicKey, relay, olmVersion } = message.data;
|
||||||
|
|
||||||
logger.debug(
|
logger.debug(
|
||||||
`Olm client ID: ${clientId}, Public Key: ${publicKey}, Relay: ${relay}`
|
`Olm client ID: ${clientId}, Public Key: ${publicKey}, Relay: ${relay}`
|
||||||
|
@ -65,14 +65,26 @@ export const handleOlmRegisterMessage: MessageHandler = async (context) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// THIS IS FOR BACKWARDS COMPATIBILITY
|
if (!olmVersion) {
|
||||||
await sendToClient(olm.olmId, {
|
// THIS IS FOR BACKWARDS COMPATIBILITY
|
||||||
type: "olm/wg/holepunch",
|
// THE OLDER CLIENTS DID NOT SEND THE VERSION
|
||||||
data: {
|
await sendToClient(olm.olmId, {
|
||||||
serverPubKey: allExitNodes[0].publicKey,
|
type: "olm/wg/holepunch",
|
||||||
endpoint: allExitNodes[0].endpoint
|
data: {
|
||||||
}
|
serverPubKey: allExitNodes[0].publicKey,
|
||||||
});
|
endpoint: allExitNodes[0].endpoint
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (olmVersion) {
|
||||||
|
await db
|
||||||
|
.update(olms)
|
||||||
|
.set({
|
||||||
|
version: olmVersion
|
||||||
|
})
|
||||||
|
.where(eq(olms.olmId, olm.olmId));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (now - (client.lastHolePunch || 0) > 6) {
|
if (now - (client.lastHolePunch || 0) > 6) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue