[standards-jig] JEP-0045 Suggestions

Richard Dobson richard at dobson-i.net
Tue Sep 17 10:23:22 UTC 2002


> Since conferencing is a module/service/agent, access and use to special
> services should be restricted within the "basic" protocol. Hm?

Of course it will be restricted it will be restricted to people with the
appropriate privileges to perform said actions, only server operators
(admins) will probably be able to ban people entirely from the server, room
operators will only be able to ban people from the rooms they have control
over, also all of these are extensions to the "basic" protocol are exactly
that extensions, no client needs to support banning, admin etc.

Before someone can be banned the real jid has to first be discovered,
someone with the appropriate access can perform the following (automatic in
the client):

<iq type="get" id="tag1" to="room at gc.server.com/naughtyboy"
from="roomop at server.com">
    <query xmlns="jabber:iq:gcrealjid"/>
</iq>

The reply would be like this:

<iq type="result" id="tag1" to="roomop at server.com"
from="room at gc.server.com/naughtyboy">
    <query xmlns="jabber:iq:gcrealjid">
        <jid>naughtyboy at server.com</jid>
    </query>
</iq>

So i propose for banning people from a room the following could be sent to
the server:

<iq type="set" to="room at gc.server.com" from="roomop at server.com">
    <query xmlns="jabber:iq:gcmanage">
        <ban duration="0">naughyboy at server.com</ban>
    </query>
</iq>

(duration of 0 denotes permanent ban, specifically until removed)

This could also be used to ban someone from the room for a set time:

<iq type="set" to="room at gc.server.com" from="roomop at server.com">
    <query xmlns="jabber:iq:gcmanage">
        <ban duration="300">naughyboy at server.com</ban>
    </query>
</iq>

This particular example bans someone for 5 minutes

Now if an admin wants to ban someone from the entire server.

<iq type="set" to="gc.server.com" from="serverop at server.com">
    <query xmlns="jabber:iq:gcmanage">
        <ban duration="0">naughyboy at server.com</ban>
    </query>
</iq>

Now this uses the same methods as a room ban but is sent to the server
instead of the room, it will only work for server ops, or people with
similar access, now it is the responsibility of the client/admintool
developer to make sure that when the admin is banning someone from the whole
server that that is what they are meaning to do, its nothing to do with the
protocol, and there is no need to make it more complex to solve this
perceived problem which I dont think even exists (i.e. not the job of the
protocol to try and solve it).

Richard





More information about the Standards mailing list