mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-10 12:46:37 +00:00
Add olm version
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user