Kevin,
This error occurs if the client side of a QMClient connection sends an action request that is not compatible with the current state of the connection. In this specific case it appears to be attempting to login when already logged in.
The most common cause of this sort of error is for a multi-threaded client to attempt to initiate actions on the same QMClient session from two threads simultaneously, however, the wording of your email suggests that this is happening all the time rather than occasionally which makes this unlikely.
Is your client multi-threaded?
Martin
From: ope...@googlegroups.com <ope...@googlegroups.com> On Behalf Of Kevin Powick
Sent: 17 January 2021 18:37
To: OpenQM <ope...@googlegroups.com>
Subject: QMClient: illegal action code (10001)
--
You received this message because you are subscribed to the Google Groups "OpenQM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
openqm+un...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/openqm/3fa21104-9ca9-4595-8d1a-ec22c0f44624n%40googlegroups.com.
Solved.
The qmlnxd process is primarily responsible for launching a new QM process when a network connection arrives though it does other things too. QM allows this process to run as root or non-root with a subtle but important difference.
For a secure system, qmlnxd should run as root. It then has access to the necessary APIs to create the child QM process as the user identified in the authentication mechanism. For QMClient, that is the details pass to QMConnect(). Users must connect with a username and password known to the underlying o/s and all the security related stuff built around Linux file permissions come into play.
Running qmlnxd as a non-root user is possible but nowhere near as secure because the child process cannot change its uid/gid to become someone else. Instead, the child process runs as the same user as qmlnxd.
There was a defect in the server side of QMClient which affected only non-root use of qmlnxd and caused the client side to attempt the secure login. This was fixed in QM release 3.4-13.
Quite why upgrading the o/s led to qmlnxd being non-root is unclear but appears to be caused by changes introduced by Apple relating to system security.
To view this discussion on the web visit https://groups.google.com/d/msgid/openqm/1e742823-cae2-4135-97d0-67e6483aac38n%40googlegroups.com.