QM-API Server

From ScarletDME
Revision as of 17:29, 3 March 2009 by Diccon (talk | contribs) (added features)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Feature requests

  • SSL encryption -GlenB
  • Human readble console/logging of any given QMClient session activity (for app debugging) -Diccon
  • Fine grained, or group configurable command permissions. ie user/group "webaccess" can run Read,write, readnext only etc, etc. -Diccon
  • Any other commands? (OConv, IConv?)
  • PAM usage by QMClient -Diccon (Wrote the subroutine for Martin a while back, apparently it's only deployed for specific sites atm. I want it integrated, LDAP auth is a must for us)

Server Setup Howto

First we need to register port 4243 in /etc/services to let the system recognize it.

Personally I just manually edited /etc/services, found the apropriate place (ie entry's in port order) to put it in and popped in the following:

 qmclient        4243/tcp                        # Open QM API

Save and exit.

Xinitd

Firstly you will need xinetd installed, if you are running on telnet it's already there.

Second you will need an entry in xinit for qmclient. So put the following in /etc/xinit.d/qmclient

# default: on
# description: OpenqQMs API port, unencrypted binary protocol.
service qmclient
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/qmsys/bin/qm
        server_args     = -n -q
        log_on_failure  += USERID
        disable         = no
        port            = 4243
}

Now restart xinetd (/etc/init.d/xinetd restart)

Testing

If you need to. Telnet localhost 4243 can check if your changes have worked. Telnet will connect but leave you clung on, but it will not refuse your connection. Ctr-] will allow you to quit. You can test WAN port availability, firewalls, etc, using this test.