users.c File Reference

#include "services.h"

Include dependency graph for users.c:

Go to the source code of this file.

Defines

#define HASH(nick)   (((nick)[0]&31)<<5 | ((nick)[1]&31))
#define HASH2(nick)   (((nick)[0]&31)<<5 | ((nick)[1]&31))

Functions

static Usernew_user (const char *nick)
static void change_user_nick (User *user, const char *nick)
void update_host (User *user)
void change_user_host (User *user, const char *host)
void change_user_realname (User *user, const char *realname)
void change_user_username (User *user, const char *username)
void delete_user (User *user)
void get_user_stats (long *nusers, long *memuse)
Userfinduser (const char *nick)
Userfirstuser (void)
Usernextuser (void)
Userfind_byuid (const char *uid)
Userfirst_uid (void)
Usernext_uid (void)
Uidnew_uid (const char *nick, char *uid)
Uidfind_uid (const char *nick)
Uidfind_nickuid (const char *uid)
Userdo_nick (const char *source, char *nick, char *username, char *host, char *server, char *realname, time_t ts, uint32 svid, uint32 ip, char *vhost, char *uid)
void do_umode (const char *source, int ac, char **av)
void do_umode2 (const char *source, int ac, char **av)
void do_quit (const char *source, int ac, char **av)
void do_kill (char *nick, char *msg)
int is_protected (User *user)
int is_oper (User *user)
int is_excepted (ChannelInfo *ci, User *user)
int is_excepted_mask (ChannelInfo *ci, char *mask)
int match_usermask (const char *mask, User *user)
int match_userip (const char *mask, User *user, char *iphost)
void split_usermask (const char *mask, char **nick, char **user, char **host)
char * create_mask (User *u)

Variables

Useruserlist [1024]
Uiduidlist [1024]
int32 usercnt = 0
int32 opcnt = 0
uint32 maxusercnt = 0
time_t maxusertime
static Usercurrent
static int next_index
static Usercurrent_uid
static int next_index_uid


Define Documentation

#define HASH ( nick   )     (((nick)[0]&31)<<5 | ((nick)[1]&31))

Definition at line 17 of file users.c.

#define HASH2 ( nick   )     (((nick)[0]&31)<<5 | ((nick)[1]&31))

Definition at line 20 of file users.c.


Function Documentation

void change_user_host ( User user,
const char *  host 
)

static void change_user_nick ( User user,
const char *  nick 
) [static]

Definition at line 66 of file users.c.

References findnick(), HASH, user_::na, user_::next, user_::nick, NICKMAX, user_::prev, stricmp(), strscpy(), and nickalias_::u.

Referenced by do_nick().

void change_user_realname ( User user,
const char *  realname 
)

void change_user_username ( User user,
const char *  username 
)

char* create_mask ( User u  ) 

Definition at line 1083 of file users.c.

References common_get_vhost(), common_get_vident(), smalloc(), sstrdup(), strspn(), and USERMAX.

Referenced by do_confirm(), and get_idealban().

void delete_user ( User user  ) 

void do_kill ( char *  nick,
char *  msg 
)

User* do_nick ( const char *  source,
char *  nick,
char *  username,
char *  host,
char *  server,
char *  realname,
time_t  ts,
uint32  svid,
uint32  ip,
char *  vhost,
char *  uid 
)

Ugly swap routine for Flop's bug :)

End of ugly swap

DefCon AKILL system, if we want to akill all connecting user's here's where to do it then force check_akill again on them...

Definition at line 487 of file users.c.

References add_akill(), add_session(), alog(), anope_cmd_nc_change(), anope_cmd_svid_umode(), anope_cmd_svid_umode2(), anope_cmd_svid_umode3(), Anope_Free, cancel_user(), change_user_nick(), check_akill(), check_memos(), ircdvars_::check_nick_id, check_sgline(), check_sqline(), check_szline(), checkDefCon(), common_get_vhost(), common_get_vident(), debug, DEFCON_AKILL_NEW_CLIENTS, DefConAKILL, DefConAkillReason, display_news(), dotime(), EVENT_CHANGE_NICK, EVENT_NEWNICK, find_byuid(), findserver(), finduser(), user_::host, user_::hostip, HOSTMAX, ircd, is_oper(), is_sync(), is_ulined(), user_::isSuperAdmin, nickalias_::last_seen, nickalias_::last_usermask, LimitSessions, LogUsers, user_::my_signon, user_::na, server_::name, nickalias_::nc, new_user(), NEWS_LOGON, NEWS_RANDOM, user_::nick, nick_identified(), nick_recognized(), ircdvars_::nickip, ircdvars_::nickvhost, normalizeBuffer(), NS_IDENTIFIED, NS_TRANSGROUP, nsCheckNickTracking(), NSNickTracking, nsStartNickTracking(), ntoa(), user_::realname, s_NickServ, s_OperServ, send_event(), user_::server, servlist, ircdvars_::sgline, smalloc(), snprintf(), ircdvars_::sqline, sstrdup(), nickalias_::status, stricmp(), user_::svid, ircdvars_::szline, user_::timestamp, user_::uid, USERMAX, user_::username, UseTS6, validate_user(), ircdvars_::vhost, user_::vhost, and user_::vident.

Referenced by anope_event_client(), anope_event_euid(), anope_event_nick(), anope_event_sanick(), and anope_event_snick().

void do_quit ( const char *  source,
int  ac,
char **  av 
)

void do_umode ( const char *  source,
int  ac,
char **  av 
)

Definition at line 788 of file users.c.

References alog(), anope_set_umode(), finduser(), and merge_args().

Referenced by anope_event_mode().

void do_umode2 ( const char *  source,
int  ac,
char **  av 
)

Definition at line 806 of file users.c.

References alog(), anope_set_umode(), finduser(), and merge_args().

Referenced by anope_event_mode(), and anope_event_umode2().

User* find_byuid ( const char *  uid  ) 

Uid* find_nickuid ( const char *  uid  ) 

Definition at line 467 of file users.c.

References uid_::next, stricmp(), and uid_::uid.

Referenced by anope_event_privmsg(), anope_event_whois(), and findbot().

Uid* find_uid ( const char *  nick  ) 

Definition at line 452 of file users.c.

References uid_::next, uid_::nick, and stricmp().

Referenced by charybdis_cmd_akill(), charybdis_cmd_bot_chan_mode(), charybdis_cmd_global(), charybdis_cmd_global_legacy(), charybdis_cmd_invite(), charybdis_cmd_join(), charybdis_cmd_kick(), charybdis_cmd_mode(), charybdis_cmd_notice(), charybdis_cmd_notice2(), charybdis_cmd_notice_ops(), charybdis_cmd_part(), charybdis_cmd_privmsg(), charybdis_cmd_privmsg2(), charybdis_cmd_quit(), charybdis_cmd_remove_akill(), charybdis_cmd_sgline(), charybdis_cmd_sqline(), charybdis_cmd_svskill(), charybdis_cmd_topic(), charybdis_cmd_unsgline(), charybdis_cmd_unsqline(), ratbox_cmd_akill(), ratbox_cmd_bot_chan_mode(), ratbox_cmd_global(), ratbox_cmd_global_legacy(), ratbox_cmd_invite(), ratbox_cmd_join(), ratbox_cmd_kick(), ratbox_cmd_mode(), ratbox_cmd_notice(), ratbox_cmd_notice2(), ratbox_cmd_part(), ratbox_cmd_privmsg(), ratbox_cmd_privmsg2(), ratbox_cmd_quit(), ratbox_cmd_remove_akill(), ratbox_cmd_sgline(), ratbox_cmd_sqline(), ratbox_cmd_svskill(), ratbox_cmd_topic(), ratbox_cmd_unsgline(), ratbox_cmd_unsqline(), shadowircd_cmd_akill(), shadowircd_cmd_bot_chan_mode(), shadowircd_cmd_global(), shadowircd_cmd_global_legacy(), shadowircd_cmd_invite(), shadowircd_cmd_join(), shadowircd_cmd_kick(), shadowircd_cmd_mode(), shadowircd_cmd_notice(), shadowircd_cmd_notice2(), shadowircd_cmd_part(), shadowircd_cmd_privmsg(), shadowircd_cmd_privmsg2(), shadowircd_cmd_quit(), shadowircd_cmd_remove_akill(), shadowircd_cmd_svskill(), and shadowircd_cmd_topic().

User* finduser ( const char *  nick  ) 

User* first_uid ( void   ) 

Definition at line 403 of file users.c.

References alog(), debug, next_index_uid, user_::nick, and user_::uid.

Referenced by find_byuid().

User* firstuser ( void   ) 

Definition at line 351 of file users.c.

References alog(), debug, next_index, and user_::nick.

Referenced by add_sgline(), add_sqline(), delete_server(), do_noop(), and services_shutdown().

void get_user_stats ( long *  nusers,
long *  memuse 
)

int is_excepted ( ChannelInfo ci,
User user 
)

Definition at line 922 of file users.c.

References chaninfo_::c, elist_match_user(), ircdvars_::except, channel_::excepts, and ircd.

Referenced by bot_raw_ban(), canBanUser(), check_kick(), and do_ban().

int is_excepted_mask ( ChannelInfo ci,
char *  mask 
)

Definition at line 936 of file users.c.

References chaninfo_::c, elist_match_mask(), ircdvars_::except, channel_::excepts, and ircd.

Referenced by do_akick().

int is_oper ( User user  ) 

int is_protected ( User user  ) 

int match_userip ( const char *  mask,
User user,
char *  iphost 
)

Definition at line 999 of file users.c.

References match_wild_nocase(), user_::nick, result, sstrdup(), user_::username, and user_::vhost.

int match_usermask ( const char *  mask,
User user 
)

Uid* new_uid ( const char *  nick,
char *  uid 
)

static User* new_user ( const char *  nick  )  [static]

User* next_uid ( void   ) 

Definition at line 418 of file users.c.

References alog(), debug, user_::next, next_index_uid, user_::nick, and user_::uid.

Referenced by find_byuid().

User* nextuser ( void   ) 

Definition at line 363 of file users.c.

References alog(), debug, user_::next, next_index, and user_::nick.

Referenced by add_sgline(), add_sqline(), delete_server(), do_noop(), and services_shutdown().

void split_usermask ( const char *  mask,
char **  nick,
char **  user,
char **  host 
)

Definition at line 1046 of file users.c.

References sstrdup().

Referenced by do_akick().

void update_host ( User user  ) 


Variable Documentation

User* current [static]

Definition at line 348 of file users.c.

User* current_uid [static]

Definition at line 400 of file users.c.

Definition at line 24 of file users.c.

time_t maxusertime

Definition at line 25 of file users.c.

int next_index [static]

Definition at line 349 of file users.c.

int next_index_uid [static]

Definition at line 401 of file users.c.

Referenced by first_uid(), and next_uid().

int32 opcnt = 0

Definition at line 23 of file users.c.

Uid* uidlist[1024]

Definition at line 21 of file users.c.

Definition at line 23 of file users.c.

User* userlist[1024]

Definition at line 18 of file users.c.


Generated on Sun Oct 5 09:07:12 2008 for Anope by  doxygen 1.5.7.1