struct AuthRequest;
struct PreClient;
struct ListClient;
+struct scache_entry;
/*
* Atheme's coding standards require that we use BSD-style user-defined types
dlink_list invited; /* chain of invite pointer blocks */
char *away; /* pointer to away message */
int refcnt; /* Number of times this block is referenced */
- const char *server; /* pointer to scached server name */
char suser[NICKLEN+1];
};
struct Server
{
user_t *user; /* who activated this connection */
- const char *up; /* Pointer to scache name */
- const char *upid;
char by[NICKLEN];
dlink_list servers;
dlink_list users;
int caps; /* capabilities bit-field */
char *fullcaps;
+ struct scache_entry *nameinfo;
};
struct SlinkRpl
#define FLAGS_KILLED 0x0004 /* Prevents "QUIT" from being sent for this */
#define FLAGS_SENTUSER 0x0008 /* Client sent a USER command. */
#define FLAGS_CLOSING 0x0020 /* set when closing to suppress errors */
-#define FLAGS_CHKACCESS 0x0040 /* ok to check clients access if set */
#define FLAGS_GOTID 0x0080 /* successful ident lookup achieved */
-#define FLAGS_NEEDID 0x0100 /* I-lines say must use ident return */
#define FLAGS_NORMALEX 0x0400 /* Client exited normally */
#define FLAGS_SENDQEX 0x0800 /* Sendq exceeded */
#define FLAGS_SERVLINK 0x10000 /* servlink has servlink process */
UMODE_WALLOP | UMODE_LOCOPS)
#define DEFAULT_OPER_SNOMASK SNO_GENERAL
-#define FLAGS_ID (FLAGS_NEEDID | FLAGS_GOTID)
-
#define CLICAP_MULTI_PREFIX 0x0001
#define CLICAP_SASL 0x0002
* flags macros.
*/
#define IsPerson(x) (IsClient(x) && (x)->user != NULL)
-#define DoAccess(x) ((x)->flags & FLAGS_CHKACCESS)
-#define SetAccess(x) ((x)->flags |= FLAGS_CHKACCESS)
-#define ClearAccess(x) ((x)->flags &= ~FLAGS_CHKACCESS)
#define HasServlink(x) ((x)->flags & FLAGS_SERVLINK)
#define SetServlink(x) ((x)->flags |= FLAGS_SERVLINK)
#define MyConnect(x) ((x)->flags & FLAGS_MYCONNECT)
if (MyClient((x)) && !IsOper((x)) && !IsServer((x))) \
(x)->handler = CLIENT_HANDLER; }
-#define IsPrivileged(x) (IsOper(x) || IsServer(x))
-
/* umode flags */
#define IsInvisible(x) ((x)->umodes & UMODE_INVISIBLE)
#define SetInvisible(x) ((x)->umodes |= UMODE_INVISIBLE)
#define ClearInvisible(x) ((x)->umodes &= ~UMODE_INVISIBLE)
#define SendWallops(x) ((x)->umodes & UMODE_WALLOP)
-#define ClearWallops(x) ((x)->umodes &= ~UMODE_WALLOP)
#define SendLocops(x) ((x)->umodes & UMODE_LOCOPS)
#define SendServNotice(x) ((x)->umodes & UMODE_SERVNOTICE)
#define SendOperwall(x) ((x)->umodes & UMODE_OPERWALL)
-#define SetWallops(x) ((x)->umodes |= UMODE_WALLOP)
-#define SetCallerId(x) ((x)->umodes |= UMODE_CALLERID)
#define IsSetCallerId(x) ((x)->umodes & UMODE_CALLERID)
#define IsService(x) ((x)->umodes & UMODE_SERVICE)
#define IsDeaf(x) ((x)->umodes & UMODE_DEAF)
#define IsNoForward(x) ((x)->umodes & UMODE_NOFORWARD)
#define IsSetRegOnlyMsg(x) ((x)->umodes & UMODE_REGONLYMSG)
-#define SetNeedId(x) ((x)->flags |= FLAGS_NEEDID)
-#define IsNeedId(x) (((x)->flags & FLAGS_NEEDID) != 0)
-
#define SetGotId(x) ((x)->flags |= FLAGS_GOTID)
#define IsGotId(x) (((x)->flags & FLAGS_GOTID) != 0)