File

tools/migration/migrator.cfg.lua @ 13765:7c57fb2ffbb0 13.0

mod_websocket: Merge session close handling changes from mod_c2s (bug fixes) This should bring some fixes and general robustness that mod_websocket had missed out on. The duplicated code here is not at all ideal. To prevent this happening again, we should figure out how to have the common logic in a single place, while still being able to do the websocket-specific parts that we need. The main known bug that this fixes is that it's possible for a session to get into a non-destroyable state. For example, if we try to session:close() a hibernating session, then session.conn is nil and the function will simply return without doing anything. In the mod_c2s code we already handle this, and just destroy the session. But if a hibernating websocket session is never resumed or becomes non-resumable, it will become immortal! By merging the fix from mod_c2s, the session should now be correctly destroyed.
author Matthew Wild <mwild1@gmail.com>
date Tue, 11 Mar 2025 18:44:40 +0000
parent 13296:803a4ef6244d
line wrap: on
line source

local data_path = "../../data";

local vhost = {
	"accounts",
	"account_details",
	"account_roles",
	"roster",
	"vcard",
	"private",
	"blocklist",
	"privacy",
	"archive-archive",
	"offline-archive",
	"pubsub_nodes-pubsub",
	"pep-pubsub",
	"cron",
	"smacks_h",
}
local muc = {
	"persistent",
	"config",
	"state",
	"muc_log-archive",
	"cron",
};
local upload = {
	"uploads-archive",
	"upload_stats",
	"cron",
}

input {
	hosts = {
		["example.com"] = vhost;
		["conference.example.com"] = muc;
		["share.example.com"] = upload;
	};
	type = "internal";
	path = data_path;
}

output {
	type = "sql";
	driver = "SQLite3";
	database = data_path.."/prosody.sqlite";
}

--[[

input {
	type = "internal";
	path = data_path;
}
output {
	type = "sql";
	driver = "SQLite3";
	database = data_path.."/prosody.sqlite";
}

]]