server notes

This commit is contained in:
ansuz 2021-04-02 09:59:28 +05:30
parent 416ba823bd
commit 67af5c220c

View file

@ -12,6 +12,17 @@ Data.getMetadataRaw = function (Env, channel /* channelName */, _cb) {
if (channel.length !== HK.STANDARD_CHANNEL_LENGTH &&
channel.length !== HK.ADMIN_CHANNEL_LENGTH) { return cb("INVALID_CHAN_LENGTH"); }
// return synthetic metadata for admin broadcast channels as a safety net
// in case anybody manages to write metadata
/*
if (channel.length === HK.ADMIN_CHANNEL_LENGTH) { // XXX
return void cb(void 0, {
channel: channel,
creation: +new Date(),
owners: Env.admins,
});
} */
var cached = Env.metadata_cache[channel];
if (HK.isMetadataMessage(cached)) {
Env.checkCache(channel);
@ -141,7 +152,7 @@ Data.setMetadata = function (Env, safeKey, data, cb, Server) {
const metadata_cache = Env.metadata_cache;
// update the cached metadata
metadata_cache[channel] = metadata;
metadata_cache[channel] = metadata; // XXX guard against malicious takeover of the broadcast channel
// it's easy to check if the channel is restricted
const isRestricted = metadata.restricted;