File

doc/roster_format.txt @ 12648:f299e570a0fe

mod_authz_internal: Use util.roles, some API changes and config support This commit was too awkward to split (hg record didn't like it), so: - Switch to the new util.roles lib to provide a consistent representation of a role object. - Change API method from get_role_info() to get_role_by_name() (touches sessionmanager and usermanager) - Change get_roles() to get_user_roles(), take a username instead of a JID This is more consistent with all other usermanager API methods. - Support configuration of custom roles and permissions via the config file (to be documented).
author Matthew Wild <mwild1@gmail.com>
date Tue, 19 Jul 2022 18:02:02 +0100
parent 132:9a4aa57af367
line wrap: on
line source


This file documents the structure of the roster object.

table roster {
  [string bare_jid] = roster_item
}

table roster_item {
  string subscription = "none" | "to" | "from" | "both"
  string name = Opaque string set by client. (optional)
  set groups = a set of opaque strings set by the client
  boolean ask = nil | "subscribe" - a value of true indicates subscription is pending
}

The roster is available as
 hosts[host].sessions[username].roster
and a copy is made to session.roster for all sessions.

All modifications to a roster should be done through the rostermanager.