FMT_CITADEL, \
SUBJECT)
-
-#define CtdlAideFPMessage(TEXT, SUBJECT, N, STR, STRLEN, ccid, ioid, TIME) \
- flood_protect_quickie_message( \
- "Citadel", \
- NULL, \
- NULL, \
- AIDEROOM, \
- TEXT, \
- FMT_CITADEL, \
- SUBJECT, \
- N, \
- STR, \
- STRLEN, \
- ccid, \
- ioid, \
- TIME)
/*
* Hook functions available to modules.
*/
#define PRIO_UNSTEALTH 45000
/* Priorities for EVT_STEALTH */
#define PRIO_STEALTH 50000
-void CtdlRegisterTDAPVetoHook(int (*fcn_ptr)(StrBuf*), int EventType, int Priority);
-void CtdlUnregisterTDAPVetoHook(int (*fcn_ptr) (StrBuf*), int EventType);
void CtdlRegisterSessionHook(void (*fcn_ptr)(void), int EventType, int Priority);
void CtdlUnregisterMessageHook(int (*handler)(struct CtdlMessage *, recptypes *),
int EventType);
-void CtdlRegisterNetprocHook(int (*handler)(struct CtdlMessage *, char *) );
-void CtdlUnregisterNetprocHook(int (*handler)(struct CtdlMessage *, char *) );
-
void CtdlRegisterRoomHook(int (*fcn_ptr)(struct ctdlroom *) );
void CtdlUnregisterRoomHook(int (*fnc_ptr)(struct ctdlroom *) );
int avoid_access,
int new_room_view);
int CtdlGetRoom(struct ctdlroom *qrbuf, const char *room_name);
-int CtdlGetRoomLock(struct ctdlroom *qrbuf, char *room_name);
+int CtdlGetRoomLock(struct ctdlroom *qrbuf, const char *room_name);
int CtdlDoIHavePermissionToDeleteThisRoom(struct ctdlroom *qr);
void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf, int *result, int *view);
void CtdlPutRoomLock(struct ctdlroom *qrbuf);
typedef void (*ForEachRoomCallBack)(struct ctdlroom *EachRoom, void *out_data);
void CtdlForEachRoom(ForEachRoomCallBack CB, void *in_data);
typedef void (*ForEachRoomNetCfgCallBack)(struct ctdlroom *EachRoom, void *out_data, OneRoomNetCfg *OneRNCFG);
-void CtdlForEachNetCfgRoom(ForEachRoomNetCfgCallBack CB, void *in_data, RoomNetCfg filter);
+char *LoadRoomNetConfigFile(long roomnum);
+void CtdlForEachNetCfgRoom(ForEachRoomNetCfgCallBack CB, void *in_data);
void SaveChangedConfigs(void);
void CtdlDeleteRoom(struct ctdlroom *qrbuf);
int CtdlRenameRoom(char *old_name, char *new_name, int new_floor);
struct OneRoomNetCfg {
long lastsent;
- long changed;
+ // long changed;
StrBuf *Sender;
StrBuf *RoomInfo;
RoomNetCfgLine *NetConfigs[maxRoomNetCfg];
RoomNetCfgLine *DuplicateOneGenericCfgLine(const RoomNetCfgLine *data);
void AddRoomCfgLine(OneRoomNetCfg *OneRNCfg, struct ctdlroom *qrbuf, RoomNetCfg LineType, RoomNetCfgLine *Line);
-OneRoomNetCfg* CtdlGetNetCfgForRoom(long QRNumber);
+OneRoomNetCfg *CtdlGetNetCfgForRoom(long QRNumber);
+void SaveRoomNetConfigFile(OneRoomNetCfg *, long);
+void FreeRoomNetworkStruct(OneRoomNetCfg **);
typedef struct _nodeconf {
int DeleteMe;
HashList* CtdlReadNetworkMap(void);
StrBuf *CtdlSerializeNetworkMap(HashList *Map);
-void NetworkLearnTopology(char *node, char *path, HashList *the_netmap, int *netmap_changed);
-int CtdlIsValidNode(const StrBuf **nexthop,
- const StrBuf **secret,
- StrBuf *node,
- HashList *IgnetCfg,
- HashList *the_netmap);
-
-int CtdlNetworkTalkingTo(const char *nodename, long len, int operation);
-
-/*
- * Operations that can be performed by network_talking_to()
- */
-enum {
- NTT_ADD,
- NTT_REMOVE,
- NTT_CHECK
-};
/*
* Expose API calls from user_ops.c
int CtdlGetUserLock(struct ctdluser *usbuf, char *name);
void CtdlPutUser(struct ctdluser *usbuf);
void CtdlPutUserLock(struct ctdluser *usbuf);
-
int CtdlLockGetCurrentUser(void);
void CtdlPutCurrentUserLock(void);
-
int CtdlGetUserByNumber(struct ctdluser *usbuf, long number);
-void CtdlGetRelationship(visit *vbuf,
- struct ctdluser *rel_user,
- struct ctdlroom *rel_room);
-void CtdlSetRelationship(visit *newvisit,
- struct ctdluser *rel_user,
- struct ctdlroom *rel_room);
+void CtdlGetRelationship(visit *vbuf, struct ctdluser *rel_user, struct ctdlroom *rel_room);
+void CtdlSetRelationship(visit *newvisit, struct ctdluser *rel_user, struct ctdlroom *rel_room);
void CtdlMailboxName(char *buf, size_t n, const struct ctdluser *who, const char *prefix);
-
-int CtdlLoginExistingUser(char *authname, const char *username);
+int CtdlLoginExistingUser(const char *username);
/*
* Values which may be returned by CtdlLoginExistingUser()
void CtdlUserLogout(void);
-
-
-
/*
* Expose API calls from msgbase.c
*/
-
/*
* Expose API calls from euidindex.c
*/
long CtdlLocateMessageByEuid(char *euid, struct ctdlroom *qrbuf);
+/*
+ * Expose API calls from modules/openid/serv_openid_rp.c in order to turn it into a generic external authentication driver
+ */
+int attach_extauth(struct ctdluser *who, StrBuf *claimed_id);
#endif /* CTDL_MODULE_H */