1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-09 21:33:12 +02:00

Lots of changes again. Most notable: Cmdoverride -> CommandOverride,

including things like CallCmdoverride() to CallCommandOverride().
Type changes like aTKline -> TKL and many more (in particular
aSomething to Something etc. such as aWatch to Watch) but these are
less used by 3rd party module coders.
This commit is contained in:
Bram Matthys
2019-09-11 10:18:09 +02:00
parent f55682cbaa
commit 2a5ea10453
33 changed files with 304 additions and 306 deletions
+26 -26
View File
@@ -52,7 +52,7 @@ extern MODVAR char umodestring[UMODETABLESZ+1];
#define get_recvq(x) ((x)->local->class->recvq ? (x)->local->class->recvq : DEFAULT_RECVQ)
#define CMD_FUNC(x) int (x) (Client *cptr, Client *sptr, MessageTag *recv_mtags, int parc, char *parv[])
#define CMD_OVERRIDE_FUNC(x) int (x)(Cmdoverride *ovr, Client *cptr, Client *sptr, MessageTag *recv_mtags, int parc, char *parv[])
#define CMD_OVERRIDE_FUNC(x) int (x)(CommandOverride *ovr, Client *cptr, Client *sptr, MessageTag *recv_mtags, int parc, char *parv[])
/* Configuration preprocessor */
extern int parse_preprocessor_item(char *start, char *end, char *filename, int linenumber, ConditionalConfig **cc);
@@ -379,7 +379,7 @@ extern int del_from_watch_hash_table(char *, Client *);
extern int hash_check_watch(Client *, int);
extern int hash_del_watch_list(Client *);
extern void count_watch_memory(int *, u_long *);
extern aWatch *hash_get_watch(char *);
extern Watch *hash_get_watch(char *);
extern Channel *hash_get_chan_bucket(uint64_t);
extern Client *hash_find_client(const char *, Client *);
extern Client *hash_find_id(const char *, Client *);
@@ -503,7 +503,7 @@ extern int init_conf(char *filename, int rehash);
extern void validate_configuration(void);
extern void run_configuration(void);
extern void rehash_motdrules();
extern void read_motd(const char *filename, aMotdFile *motd); /* s_serv.c */
extern void read_motd(const char *filename, MOTDFile *motd); /* s_serv.c */
extern void send_proto(Client *, ConfigItem_link *);
extern void unload_all_modules(void);
extern void set_sock_opts(int fd, Client *cptr, int ipv6);
@@ -638,37 +638,37 @@ extern MODVAR int (*register_user)(Client *cptr, Client *sptr, char *nick, char
extern MODVAR int (*tkl_hash)(unsigned int c);
extern MODVAR char (*tkl_typetochar)(int type);
extern MODVAR int (*tkl_chartotype)(char c);
extern MODVAR char *(*tkl_type_string)(aTKline *tk);
extern MODVAR aTKline *(*tkl_add_serverban)(int type, char *usermask, char *hostmask, char *reason, char *setby,
extern MODVAR char *(*tkl_type_string)(TKL *tk);
extern MODVAR TKL *(*tkl_add_serverban)(int type, char *usermask, char *hostmask, char *reason, char *setby,
time_t expire_at, time_t set_at, int soft, int flags);
extern MODVAR aTKline *(*tkl_add_banexception)(int type, char *usermask, char *hostmask, char *reason, char *set_by,
extern MODVAR TKL *(*tkl_add_banexception)(int type, char *usermask, char *hostmask, char *reason, char *set_by,
time_t expire_at, time_t set_at, int soft, char *bantypes, int flags);
extern MODVAR aTKline *(*tkl_add_nameban)(int type, char *name, int hold, char *reason, char *setby,
extern MODVAR TKL *(*tkl_add_nameban)(int type, char *name, int hold, char *reason, char *setby,
time_t expire_at, time_t set_at, int flags);
extern MODVAR aTKline *(*tkl_add_spamfilter)(int type, unsigned short target, unsigned short action, Match *match, char *setby,
extern MODVAR TKL *(*tkl_add_spamfilter)(int type, unsigned short target, unsigned short action, Match *match, char *setby,
time_t expire_at, time_t set_at,
time_t spamf_tkl_duration, char *spamf_tkl_reason,
int flags);
extern MODVAR aTKline *(*find_tkl_serverban)(int type, char *usermask, char *hostmask, int softban);
extern MODVAR aTKline *(*find_tkl_banexception)(int type, char *usermask, char *hostmask, int softban);
extern MODVAR aTKline *(*find_tkl_nameban)(int type, char *name, int hold);
extern MODVAR aTKline *(*find_tkl_spamfilter)(int type, char *match_string, unsigned short action, unsigned short target);
extern MODVAR void (*sendnotice_tkl_del)(char *removed_by, aTKline *tkl);
extern MODVAR void (*sendnotice_tkl_add)(aTKline *tkl);
extern MODVAR void (*free_tkl)(aTKline *tkl);
extern MODVAR aTKline *(*tkl_del_line)(aTKline *tkl);
extern MODVAR void (*tkl_check_local_remove_shun)(aTKline *tmp);
extern MODVAR TKL *(*find_tkl_serverban)(int type, char *usermask, char *hostmask, int softban);
extern MODVAR TKL *(*find_tkl_banexception)(int type, char *usermask, char *hostmask, int softban);
extern MODVAR TKL *(*find_tkl_nameban)(int type, char *name, int hold);
extern MODVAR TKL *(*find_tkl_spamfilter)(int type, char *match_string, unsigned short action, unsigned short target);
extern MODVAR void (*sendnotice_tkl_del)(char *removed_by, TKL *tkl);
extern MODVAR void (*sendnotice_tkl_add)(TKL *tkl);
extern MODVAR void (*free_tkl)(TKL *tkl);
extern MODVAR TKL *(*tkl_del_line)(TKL *tkl);
extern MODVAR void (*tkl_check_local_remove_shun)(TKL *tmp);
extern MODVAR int (*find_tkline_match)(Client *cptr, int skip_soft);
extern MODVAR int (*find_shun)(Client *cptr);
extern MODVAR int (*find_spamfilter_user)(Client *sptr, int flags);
extern MODVAR aTKline *(*find_qline)(Client *cptr, char *nick, int *ishold);
extern MODVAR aTKline *(*find_tkline_match_zap)(Client *cptr);
extern MODVAR TKL *(*find_qline)(Client *cptr, char *nick, int *ishold);
extern MODVAR TKL *(*find_tkline_match_zap)(Client *cptr);
extern MODVAR void (*tkl_stats)(Client *cptr, int type, char *para);
extern MODVAR void (*tkl_synch)(Client *sptr);
extern MODVAR int (*m_tkl)(Client *cptr, Client *sptr, MessageTag *recv_mtags, int parc, char *parv[]);
extern MODVAR int (*place_host_ban)(Client *sptr, BanAction action, char *reason, long duration);
extern MODVAR int (*run_spamfilter)(Client *sptr, char *str_in, int type, char *target, int flags, aTKline **rettk);
extern MODVAR int (*join_viruschan)(Client *sptr, aTKline *tk, int type);
extern MODVAR int (*run_spamfilter)(Client *sptr, char *str_in, int type, char *target, int flags, TKL **rettk);
extern MODVAR int (*join_viruschan)(Client *sptr, TKL *tk, int type);
extern MODVAR void (*send_list)(Client *cptr);
extern MODVAR unsigned char *(*StripColors)(unsigned char *text);
extern MODVAR const char *(*StripControlCodes)(unsigned char *text);
@@ -710,7 +710,7 @@ extern MODVAR int (*tkl_ip_hash_type)(int type);
extern MODVAR int (*find_tkl_exception)(int ban_type, Client *cptr);
/* /Efuncs */
extern MODVAR aMotdFile opermotd, svsmotd, motd, botmotd, smotd, rules;
extern MODVAR MOTDFile opermotd, svsmotd, motd, botmotd, smotd, rules;
extern MODVAR int max_connection_count;
extern int add_listmode(Ban **list, Client *cptr, Channel *chptr, char *banid);
extern int add_listmode_ex(Ban **list, Client *cptr, Channel *chptr, char *banid, char *setby, time_t seton);
@@ -720,8 +720,8 @@ extern char *clean_ban_mask(char *, int, Client *);
extern int find_invex(Channel *chptr, Client *sptr);
extern void DoMD5(unsigned char *mdout, const unsigned char *src, unsigned long n);
extern char *md5hash(unsigned char *dst, const unsigned char *src, unsigned long n);
extern MODVAR aTKline *tklines[TKLISTLEN];
extern MODVAR aTKline *tklines_ip_hash[TKLIPHASHLEN1][TKLIPHASHLEN2];
extern MODVAR TKL *tklines[TKLISTLEN];
extern MODVAR TKL *tklines_ip_hash[TKLIPHASHLEN1][TKLIPHASHLEN2];
extern char *cmdname_by_spamftarget(int target);
extern void unrealdns_delreq_bycptr(Client *cptr);
extern void sendtxtnumeric(Client *to, FORMAT_STRING(const char *pattern), ...) __attribute__((format(printf,2,3)));
@@ -741,14 +741,14 @@ extern char *cm_getparameter_ex(void **p, char mode);
extern void cm_putparameter_ex(void **p, char mode, char *str);
extern void cm_freeparameter_ex(void **p, char mode, char *str);
extern int file_exists(char* file);
extern void free_motd(aMotdFile *motd); /* s_serv.c */
extern void free_motd(MOTDFile *motd); /* s_serv.c */
extern void fix_timers(void);
extern char *chfl_to_sjoin_symbol(int s);
extern char chfl_to_chanmode(int s);
extern void add_pending_net(Client *sptr, char *str);
extern void free_pending_net(Client *sptr);
extern Client *find_non_pending_net_duplicates(Client *cptr);
extern aPendingNet *find_pending_net_by_sid_butone(char *sid, Client *exempt);
extern PendingNet *find_pending_net_by_sid_butone(char *sid, Client *exempt);
extern Client *find_pending_net_duplicates(Client *cptr, Client **srv, char **sid);
extern MODVAR char serveropts[];
extern MODVAR char *IsupportStrings[];
+10 -10
View File
@@ -97,7 +97,7 @@ typedef enum ModuleObjectType {
MOBJ_VERSIONFLAG = 5,
MOBJ_SNOMASK = 6,
MOBJ_UMODE = 7,
MOBJ_CMDOVERRIDE = 8,
MOBJ_COMMANDOVERRIDE = 8,
MOBJ_EXTBAN = 9,
MOBJ_CALLBACK = 10,
MOBJ_ISUPPORT = 11,
@@ -537,7 +537,7 @@ typedef struct ModuleObject {
Versionflag *versionflag;
Snomask *snomask;
Umode *umode;
Cmdoverride *cmdoverride;
CommandOverride *cmdoverride;
Extban *extban;
Callback *callback;
Efunction *efunction;
@@ -788,10 +788,10 @@ extern Command *AliasAdd(Module *module, char *cmd, AliasCmdFunc aliasfunc, unsi
extern void CommandDel(Command *command);
extern void CommandDelX(Command *command, RealCommand *cmd);
extern int CommandExists(char *name);
extern Cmdoverride *CmdoverrideAdd(Module *module, char *cmd, OverrideCmdFunc func);
extern Cmdoverride *CmdoverrideAddEx(Module *module, char *name, int priority, OverrideCmdFunc func);
extern void CmdoverrideDel(Cmdoverride *ovr);
extern int CallCmdoverride(Cmdoverride *ovr, Client *cptr, Client *sptr, MessageTag *mtags, int parc, char *parv[]);
extern CommandOverride *CommandOverrideAdd(Module *module, char *cmd, OverrideCmdFunc func);
extern CommandOverride *CommandOverrideAddEx(Module *module, char *name, int priority, OverrideCmdFunc func);
extern void CommandOverrideDel(CommandOverride *ovr);
extern int CallCommandOverride(CommandOverride *ovr, Client *cptr, Client *sptr, MessageTag *mtags, int parc, char *parv[]);
extern void moddata_free_client(Client *acptr);
extern void moddata_free_channel(Channel *chptr);
@@ -985,10 +985,10 @@ int hooktype_channel_destroy(Channel *chptr, int *should_destroy);
int hooktype_tkl_except(Client *cptr, int ban_type);
int hooktype_umode_change(Client *sptr, long setflags, long newflags);
int hooktype_rehash_complete(void);
int hooktype_tkl_add(Client *cptr, Client *sptr, aTKline *tkl);
int hooktype_tkl_del(Client *cptr, Client *sptr, aTKline *tkl);
int hooktype_tkl_add(Client *cptr, Client *sptr, TKL *tkl);
int hooktype_tkl_del(Client *cptr, Client *sptr, TKL *tkl);
int hooktype_log(int flags, char *timebuf, char *buf);
int hooktype_local_spamfilter(Client *acptr, char *str, char *str_in, int type, char *target, aTKline *tkl);
int hooktype_local_spamfilter(Client *acptr, char *str, char *str_in, int type, char *target, TKL *tkl);
int hooktype_silenced(Client *cptr, Client *sptr, Client *to, int notice);
int hooktype_rawpacket_in(Client *sptr, char *readbuf, int *length);
int hooktype_local_nickpass(Client *sptr, Client *nickserv);
@@ -1018,7 +1018,7 @@ int hooktype_require_sasl(Client *sptr, char *reason);
int hooktype_sasl_continuation(Client *sptr, char *buf);
int hooktype_sasl_result(Client *sptr, int success);
int hooktype_place_host_ban(Client *sptr, int action, char *reason, long duration);
int hooktype_find_tkline_match(Client *sptr, aTKline *tk);
int hooktype_find_tkline_match(Client *sptr, TKL *tk);
int hooktype_welcome(Client *sptr, int after_numeric);
int hooktype_pre_command(Client *from, MessageTag *mtags, char *buf);
int hooktype_post_command(Client *from, MessageTag *mtags, char *buf);
+1 -1
View File
@@ -52,7 +52,7 @@ extern char *my_itoa(int i);
/* s_serv.c */
extern void load_tunefile(void);
extern EVENT(save_tunefile);
extern void read_motd(const char *filename, aMotdFile *motd);
extern void read_motd(const char *filename, MOTDFile *motd);
/* s_user.c */
extern int check_for_target_limit(Client *sptr, void *target, const char *name);
+39 -41
View File
@@ -62,7 +62,7 @@
#include "channel.h"
typedef struct LoopStruct LoopStruct;
typedef struct aTKline aTKline;
typedef struct TKL TKL;
typedef struct Spamfilter Spamfilter;
typedef struct ServerBan ServerBan;
typedef struct BanException BanException;
@@ -116,26 +116,25 @@ typedef struct ListStructPrio ListStructPrio;
#define CFG_SIZE 0x0002
#define CFG_YESNO 0x0004
typedef struct Watch aWatch;
typedef struct Watch Watch;
typedef struct Client Client;
typedef struct LocalClient aLocalClient;
typedef struct LocalClient LocalClient;
typedef struct Channel Channel;
typedef struct User ClientUser;
typedef struct Server Server;
typedef struct SLink Link;
typedef struct Link Link;
typedef struct Ban Ban;
typedef struct Mode Mode;
typedef struct MessageTag MessageTag;
typedef struct ListOptions LOpts;
typedef struct Motd aMotdFile; /* represents a whole MOTD, including remote MOTD support info */
typedef struct MotdItem aMotdLine; /* one line of a MOTD stored as a linked list */
typedef struct ChannelListOptions ChannelListOptions;
typedef struct MOTDFile MOTDFile; /* represents a whole MOTD, including remote MOTD support info */
typedef struct MOTDLine MOTDLine; /* one line of a MOTD stored as a linked list */
#ifdef USE_LIBCURL
typedef struct MotdDownload aMotdDownload; /* used to coordinate download of a remote MOTD */
typedef struct MOTDDownload MOTDDownload; /* used to coordinate download of a remote MOTD */
#endif
typedef struct trecord aTrecord;
typedef struct RealCommand RealCommand;
typedef struct Cmdoverride Cmdoverride;
typedef struct CommandOverride CommandOverride;
typedef struct Member Member;
typedef struct Membership Membership;
typedef struct MembershipL MembershipL;
@@ -525,16 +524,15 @@ union _moddata
};
#ifdef USE_LIBCURL
struct Motd;
struct MotdDownload
struct MOTDDownload
{
struct Motd *themotd;
MOTDFile *themotd;
};
#endif /* USE_LIBCURL */
struct Motd
struct MOTDFile
{
struct MotdItem *lines;
struct MOTDLine *lines;
struct tm last_modified; /* store the last modification time */
#ifdef USE_LIBCURL
@@ -547,7 +545,7 @@ struct Motd
To prevent such a situation from leading to a segfault, we
introduce this remote control pointer. It works like this:
1. read_motd() is called with a URL. A new MotdDownload is
1. read_motd() is called with a URL. A new MOTDDownload is
allocated and the pointer is placed here. This pointer is
also passed to the asynchrnous download handler.
2.a. The download is completed and read_motd_asynch_downloaded()
@@ -560,13 +558,13 @@ struct Motd
the download. read_motd_asynch_downloaded() is eventually called
and frees motd_download.
*/
struct MotdDownload *motd_download;
struct MOTDDownload *motd_download;
#endif /* USE_LIBCURL */
};
struct MotdItem {
struct MOTDLine {
char *line;
struct MotdItem *next;
struct MOTDLine *next;
};
struct LoopStruct {
@@ -648,7 +646,7 @@ struct User {
char *virthost;
char *server;
SWhois *swhois; /* special whois entries */
LOpts *lopt; /* Saved /list options */
ChannelListOptions *lopt; /* Saved /list options */
aWhowas *whowas;
int snomask;
#ifdef LIST_DEBUG
@@ -820,8 +818,8 @@ struct BanException {
#define TKL_FLAG_CONFIG 0x0001 /* Entry from configuration file. Cannot be removed by using commands. */
/** A TKL entry, such as a KLINE, GLINE, Spamfilter, QLINE, Exception, .. */
struct aTKline {
aTKline *prev, *next;
struct TKL {
TKL *prev, *next;
unsigned int type; /**< TKL type. One of TKL_*, such as TKL_KILL|TKL_GLOBAL for gline */
unsigned short flags; /**< One of TKL_FLAG_*, such as TKL_FLAG_CONFIG */
char *set_by; /**< By who was this entry added */
@@ -860,7 +858,7 @@ extern MODVAR ircstats IRCstats;
typedef int (*CmdFunc)(Client *cptr, Client *sptr, MessageTag *mtags, int parc, char *parv[]);
typedef int (*AliasCmdFunc)(Client *cptr, Client *sptr, MessageTag *mtags, int parc, char *parv[], char *cmd);
typedef int (*OverrideCmdFunc)(Cmdoverride *ovr, Client *cptr, Client *sptr, MessageTag *mtags, int parc, char *parv[]);
typedef int (*OverrideCmdFunc)(CommandOverride *ovr, Client *cptr, Client *sptr, MessageTag *mtags, int parc, char *parv[]);
#include "modules.h"
@@ -912,7 +910,7 @@ struct Client {
struct list_head client_node; /* for global client list (client_list) */
struct list_head client_hash; /* for clientTable */
struct list_head id_hash; /* for idTable */
aLocalClient *local; /* for locally connected clients */
LocalClient *local; /* for locally connected clients */
ClientUser *user; /* ...defined, if this is a User */
Server *serv; /* ...defined, if this is a server */
time_t lastnick; /* TimeStamp on nick */
@@ -1250,7 +1248,7 @@ struct ConfigItem_tld {
char *mask, *channel;
char *motd_file, *rules_file, *smotd_file;
char *botmotd_file, *opermotd_file;
aMotdFile rules, motd, smotd, botmotd, opermotd;
MOTDFile rules, motd, smotd, botmotd, opermotd;
u_short options;
};
@@ -1450,7 +1448,7 @@ struct ConfigItem_help {
ConfigItem_help *prev, *next;
ConfigFlag flag;
char *command;
aMotdLine *text;
MOTDLine *text;
};
struct ConfigItem_offchans {
@@ -1504,8 +1502,8 @@ typedef struct MemoryInfo {
unsigned long classesmem;
} MemoryInfo;
struct ListOptions {
LOpts *next;
struct ChannelListOptions {
ChannelListOptions *next;
Link *yeslist, *nolist;
unsigned int starthash;
short int showall;
@@ -1537,7 +1535,7 @@ struct Mode {
/* Used for notify-hash buckets... -Donwulff */
struct Watch {
aWatch *hnext;
Watch *hnext;
time_t lasttime;
Link *watch;
char nick[1];
@@ -1545,14 +1543,14 @@ struct Watch {
/* general link structure used for chains */
struct SLink {
struct SLink *next;
struct Link {
struct Link *next;
int flags;
union {
Client *cptr;
Channel *chptr;
ListStruct *aconf;
aWatch *wptr;
Watch *wptr;
aName *whowas;
char *cp;
struct {
@@ -1850,16 +1848,16 @@ struct RealCommand {
unsigned long bytes;
Module *owner;
RealCommand *friend; /* cmd if token, token if cmd */
Cmdoverride *overriders;
Cmdoverride *overridetail;
CommandOverride *overriders;
CommandOverride *overridetail;
#ifdef DEBUGMODE
unsigned long lticks;
unsigned long rticks;
#endif
};
struct Cmdoverride {
Cmdoverride *prev, *next;
struct CommandOverride {
CommandOverride *prev, *next;
int priority;
Module *owner;
RealCommand *command;
@@ -1893,17 +1891,17 @@ struct ParseMode {
char buf[512]; /* internal parse buffer */
};
typedef struct PendingServer aPendingServer;
typedef struct PendingServer PendingServer;
struct PendingServer {
aPendingServer *prev, *next;
PendingServer *prev, *next;
char sid[IDLEN+1];
};
typedef struct PendingNet aPendingNet;
typedef struct PendingNet PendingNet;
struct PendingNet {
aPendingNet *prev, *next; /* Previous and next in list */
PendingNet *prev, *next; /* Previous and next in list */
Client *sptr; /**< Client to which these servers belong */
aPendingServer *servers; /**< The list of servers connected to the client */
PendingServer *servers; /**< The list of servers connected to the client */
};
extern void init_throttling();