As someone ask me (Frederico B.) to do it, there is a new structured
protocol for user management :

All request must have an answer with something to say if it is good or not.
Thus all answer must begin with
   +OK   if the request is correct and the answer too
   -ERR  if the request is incorrect or if the remote manager cna't answer
the request

There are the function of the remote manager :

    - Add a new user :
        ADDUSER username password

        possible results:
            -ERR usage : ADDUSER [username] [password]
            -ERR User already exists
            +OK User {username} added

    - Delete an existing user :
        DELUSER username

        possible results:
            -ERR usage : DELUSER [username]
            +OK User [username] deleted
            +OK User [username] doesn't exist

        comment :
            I don't know how to distinguish the response when a user does
not exist,
            because if it doesn't exist it isn't in the list of user and a
delete action is to remove it from this list.
            Tell me what you think.

    - List all existing user :
        LISTUSERS

        possible results:
            -OK {nbusers} existing accounts
            user: {username}
            ...(repeat the same structure fo all user)

    - Count the existing user :
        COUNTUSERS

        possible results:
            +OK {nbusers} existing accounts

    - Verify if a user exists or not :
        VERIFYUSER [username]

        posible results:
            -ERR usage : VERIFYUSER [username]
            -ERR User {username} does not exists
            +OK User {username} exists

        comment :
            I change the name of the command to be close of the other
command.
            I think in a near future the remote manager will do a lot of
other stuff (like configuration of the server) not related to the user
management so it may exist another command VERIFY related to this other
stuff.

    - Change the password of an existing user :
        CHGUSERPASS [username] [newpassword]

        possible results:
            -ERR usage : CHGUSERPASS [username] [newpassword]
            -ERR User does not exist
            +OK Password changed for {username}

    - Quit the remote manager :
        QUIT

        possible result:
            +OK Bye

    - Help :
          HELP

          possible results:
            +OK Currently implemented commands :
            HELP
Display this help
            ADDUSER [username] [password]                    Add a new user
            DELUSER [username]                                    delete
existing user
            LISTUSERS
display existing accounts
            COUNTUSERS
display the number of existing accounts
            VERIFYUSER [username]                                verify if
specified user exist
            CHGUSERPASS [username] [newpassword]     change password of an
existing user
            QUIT
close connection

If the request is none of this, the result is :
        -ERR Unknown command

As you see there isn't a lot of change to do :
    - Change the message response of all command
    - Change the VERIFY command
    - Add the CHGUSERPASS command

I hope someone can quickly make change because I'm not already familiar with
CVS and I have not already successful compile the James source, so it's not
easy for the test.


Christophe Marchal



------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/>
Problems?:           [EMAIL PROTECTED]

Reply via email to