Authentication message¶
Authentication message is sent by both ends of connection once connection is established. No data is transferred until authentication messages have been exchanged and accepted.
name |
bytes |
type |
use |
|---|---|---|---|
SYSFRAME_TYPE |
1 |
uchar |
Constant IOC_AUTHENTICATION_DATA (2) indicating an authentication message.s |
AUTH_FLAGS |
1 |
uchar |
Flag for some connection attributes and remainder of authentication message fields. IOC_AUTH_ADMINISTRATOR (1) = client requires administrator priviliges. IOC_AUTH_UNIQUE_ID (2) = authentication message contains unique device ID.s IOC_AUTH_CERTIFICATE_REQUEST (4) = client request for a copy of server certificate. IOC_AUTH_CLOUD_CON (8) = this may be OBSOLETED. IOC_AUTH_CONNECT_UP (16) = connecting upwards in device hierarchy (from device to server, etc). IOC_AUTH_DEVICE_NR_2_BYTES (32) - Two bytes needed for device number in this message. IOC_AUTH_DEVICE_NR_4_BYTES (64) - Four bytes needed for device number in this message. IOC_AUTH_BIDIRECTIONAL_COM (128) - Bidirectional memory blocks supported. This may be OBSOLETED. |
DEVICE_NAME |
N |
char[N] |
Device or user name, without serial number. NULL terminated C string. |
DEVICE_NR |
1/2/4 |
number |
Device number. Number 0 is unspecified, and device number may be assigned by server. 1, 2 or 4 bytes, least significant byte first. Flag IOC_AUTH_DEVICE_NR_2_BYTES indicates that this has 2 bytes and flag IOC_AUTH_DEVICE_NR_4_BYTES four bytes. If none is specified, one byte. |
UNIQUE_ID |
0/12 |
uchar[12] |
Unique device ID. This is used by server to assign same device number to reconnecting client which doesn’t request a specific device number. This field is optional, flag IOC_AUTH_UNIQUE_ID indicates if it is here. |
NETWORK_NAME |
N |
char[N] |
Network name, without serial number. NULL terminated C string. Client may use this to select IO network to connect to and server publishes it’s default IO network. Asterisk * or empty value mean unspecified. |
PASSWORD |
N |
char[N] |
User’s or devices password. NULL terminated C string. For unsecured connections this is always empty string, just NULL character. |
Authentication message is wrapped within iocom message frame.
210910, updated 11.9.2021/pekka