+#define CTDLEXIT_SHUTDOWN 0 /* Normal shutdown; do NOT auto-restart */
+
/*
* Exit codes 101 through 109 are used for conditions in which
* we deliberately do NOT want the service to automatically
#define CTDLEXIT_OOD 104 /* Out Of Date config - rerun setup */
#define CTDLEXIT_DB 105 /* Unable to initialize database */
#define CTDLEXIT_LIBCITADEL 106 /* Incorrect version of libcitadel */
-
+#define CTDL_EXIT_UNSUP_AUTH 107 /* Unsupported auth mode configured */
int is_async; /* Nonzero if client accepts async msgs */
int async_waiting; /* Nonzero if there are async msgs waiting */
int input_waiting; /* Nonzero if there is client input waiting */
+ int can_receive_im; /* Session is capable of receiving instant messages */
/* Client information */
int cs_clientdev; /* client developer ID */
int cs_clienttyp; /* client type code */
int cs_clientver; /* client version number */
+ uid_t cs_UDSclientUID; /* the uid of the client when talking via UDS */
char cs_clientname[32]; /* name of client software */
char cs_host[64]; /* host logged in from */
char cs_addr[64]; /* address logged in from */
struct ma_info *ma; /* multipart/alternative data */
const char *ServiceName; /* readable purpose of this session */
void *openid_data; /* Data stored by the OpenID module */
+ char *ldap_dn; /* DN of user when using AUTHMODE_LDAP */
};
typedef struct CitContext t_context;