fml 8 tutorial
Prev | Chapter 37. Command (Command Mail, CUI And GUI) | Next

# Data Flow Of Command Request Processing

All command processing calls FML::Command::MODE::COMMAND class via FML::Command class. GUI, CUI and command mail has different pre processing stage.

## Command Mail Procssing

Caution
We adopt new frame work after 2004/03/05.

Firstly, parse and analyze each line in one message.

An empty line is ignored. The buffer is clean up. After them, check if the command line is allowed in our context.

For example,

1) if this command matches anonymous command such as "guide" or "subscribe", call command processor. Allowd list of commands are defined in $anonymous_command_mail_allowed_commands.

2) if this command matches a normal command which are allowd for a member, check other conditions based on rules of $command_mail_restrictions. Allowd list of commands are defined in $user_command_mail_allowed_commands.

Command dispatcher checks the return path dependent on the command and the syntax, finally executes the command via FML::Command class. This process runs as normal user priviledge.

"admin" command needs administrator priviledge. So an exception. If "admin" command is given, process user priviledged "admin" command and execute FML::Command::User::admin class. [1] In this user command class, checks the context by $admin_command_mail_restrictions to see that the current context has remote administrator priveledge. If enough priviledge is satisfied, execute FML::Command::Admin::COMMAND class via FML::Command again. FML::Command::Admin::COMMAND needs admin priviledge.

## CUI (makefml/fml)

If you use this program, you can have priveledge to login the mailing list server host and switch user to the user "fml". So please use CUI as you like. In this case, CUI calls FML::Command::Admin::COMMAND directly.

### Notes

[1] | admin command is defined in $user_command_mail_allowed_commands as a normal user command.

Prev | Home | Next
Command (Command Mail, CUI And GUI) | Up | Command Extension: Command Mail

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.