#include <openssl/ssl.h>
#endif
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-
/*
* New format for a message in memory
*/
#define CTDLEXIT_HOME 103 /* Citadel home directory not found */
#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 */
unsigned cs_flags; /* miscellaneous flags */
void (*h_command_function) (void) ; /* service command function */
void (*h_async_function) (void) ; /* do async msgs function */
- void (*h_greeting_function) (void) ; /* service startup function */
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 */
char upl_path[PATH_MAX];
char upl_comment[256];
char upl_filedir[PATH_MAX];
+ char upl_mimetype[64];
char dl_is_net;
char upload_type;
char *session_specific_data; /* Used by individual protocol modules */
struct cit_ical *CIT_ICAL; /* calendaring data */
struct ma_info *ma; /* multipart/alternative data */
- const char* ServiceName; /**< whats our actual purpose? */
-
- struct timeval client_expires_at; /** When this client will expire */
+ const char *ServiceName; /* readable purpose of this session */
+ void *openid_data; /* Data stored by the OpenID module */
};
typedef struct CitContext t_context;
*/
enum {
CON_IDLE, /* This context is doing nothing */
- CON_START, /* This context is starting up */
CON_READY, /* This context needs attention */
CON_EXECUTING /* This context is bound to a thread */
};
S_THREAD_LIST,
S_XMPP_QUEUE,
S_SCHEDULE_LIST,
+ S_OPENID_ASSOC,
MAX_SEMAPHORES
};
int meta_refcount; /* Number of rooms pointing to this msg */
char meta_content_type[64]; /* Cached MIME content-type */
long meta_rfc822_length; /* Cache of RFC822-translated msg length */
+ char mimetype[64]; /* if we were able to guess the mimetype for the data */
};
/* Calls to AdjRefCount() are queued and deferred, so the user doesn't
/* ********** Important fields */
/* *************** Semi-important fields */
/* * Message text (MUST be last) */
-#define FORDER "IPTAFONHRDBCEJGKLQSVWXZYUM"
+#define FORDER "IPTAFONHRDBCEWJGKLQSVXZYUM"
#endif /* SERVER_H */