add umode +Z for SSL, can't be set or unset
This commit is contained in:
parent
340a0ddd26
commit
3318e109f9
2 changed files with 23 additions and 18 deletions
|
@ -288,8 +288,8 @@ struct LocalUser
|
|||
char *mangledhost; /* non-NULL if host mangling module loaded and
|
||||
applicable to this client */
|
||||
|
||||
struct _ssl_ctl *ssl_ctl; /* which ssl daemon we're associate with */
|
||||
rb_uint32_t localflags;
|
||||
struct _ssl_ctl *ssl_ctl; /* which ssl daemon we're associate with */
|
||||
rb_uint32_t localflags;
|
||||
struct ZipStats *zipstats; /* zipstats */
|
||||
rb_uint16_t cork_count; /* used for corking/uncorking connections */
|
||||
struct ev_entry *event; /* used for associated events */
|
||||
|
@ -428,9 +428,9 @@ struct exit_client_hook
|
|||
#define FLAGS_DYNSPOOF 0x1000000 /* dynamic spoof, only opers see ip */
|
||||
#define FLAGS_EXUNKNOWN 0x2000000 /* too many unknowns exit.. */
|
||||
|
||||
/* flags for local clients, this needs stuff moved from above to here at some point */
|
||||
#define LFLAGS_SSL 0x00000001
|
||||
#define LFLAGS_FLUSH 0x00000002
|
||||
/* flags for local clients, this needs stuff moved from above to here at some point */
|
||||
#define LFLAGS_SSL 0x00000001
|
||||
#define LFLAGS_FLUSH 0x00000002
|
||||
#define LFLAGS_CORK 0x00000004
|
||||
|
||||
/* umodes, settable flags */
|
||||
|
@ -449,6 +449,7 @@ struct exit_client_hook
|
|||
/* user information flags, only settable by remote mode or local oper */
|
||||
#define UMODE_OPER 0x100000 /* Operator */
|
||||
#define UMODE_ADMIN 0x200000 /* Admin on server */
|
||||
#define UMODE_SSLCLIENT 0x400000 /* using SSL */
|
||||
|
||||
#define UMODE_ALL UMODE_SERVNOTICE
|
||||
|
||||
|
@ -506,14 +507,14 @@ struct exit_client_hook
|
|||
#define IsExUnknown(x) ((x)->flags & FLAGS_EXUNKNOWN)
|
||||
#define SetExUnknown(x) ((x)->flags |= FLAGS_EXUNKNOWN)
|
||||
|
||||
/* local flags */
|
||||
|
||||
#define IsSSL(x) ((x)->localClient->localflags & LFLAGS_SSL)
|
||||
#define SetSSL(x) ((x)->localClient->localflags |= LFLAGS_SSL)
|
||||
#define ClearSSL(x) ((x)->localClient->localflags &= ~LFLAGS_SSL)
|
||||
|
||||
#define IsFlush(x) ((x)->localClient->localflags & LFLAGS_FLUSH)
|
||||
#define SetFlush(x) ((x)->localClient->localflags |= LFLAGS_FLUSH)
|
||||
/* local flags */
|
||||
|
||||
#define IsSSL(x) ((x)->localClient->localflags & LFLAGS_SSL)
|
||||
#define SetSSL(x) ((x)->localClient->localflags |= LFLAGS_SSL)
|
||||
#define ClearSSL(x) ((x)->localClient->localflags &= ~LFLAGS_SSL)
|
||||
|
||||
#define IsFlush(x) ((x)->localClient->localflags & LFLAGS_FLUSH)
|
||||
#define SetFlush(x) ((x)->localClient->localflags |= LFLAGS_FLUSH)
|
||||
#define ClearFlush(x) ((x)->localClient->localflags &= ~LFLAGS_FLUSH)
|
||||
|
||||
/* oper flags */
|
||||
|
@ -569,9 +570,9 @@ struct exit_client_hook
|
|||
#define IsFloodDone(x) ((x)->flags & FLAGS_FLOODDONE)
|
||||
#define SetFloodDone(x) ((x)->flags |= FLAGS_FLOODDONE)
|
||||
|
||||
/* These also operate on the uplink from which it came */
|
||||
#define IsCork(x) (MyConnect(x) ? (x)->localClient->cork_count : (x)->from->localClient->cork_count)
|
||||
#define SetCork(x) (MyConnect(x) ? (x)->localClient->cork_count++ : (x)->from->localClient->cork_count++ )
|
||||
/* These also operate on the uplink from which it came */
|
||||
#define IsCork(x) (MyConnect(x) ? (x)->localClient->cork_count : (x)->from->localClient->cork_count)
|
||||
#define SetCork(x) (MyConnect(x) ? (x)->localClient->cork_count++ : (x)->from->localClient->cork_count++ )
|
||||
#define ClearCork(x) (MyConnect(x) ? (x)->localClient->cork_count-- : (x)->from->localClient->cork_count--)
|
||||
|
||||
/*
|
||||
|
@ -626,7 +627,7 @@ extern void close_connection(struct Client *);
|
|||
extern void init_uid(void);
|
||||
extern char *generate_uid(void);
|
||||
|
||||
void allocate_away(struct Client *);
|
||||
void allocate_away(struct Client *);
|
||||
void free_away(struct Client *);
|
||||
|
||||
#endif /* INCLUDED_client_h */
|
||||
|
|
|
@ -94,7 +94,7 @@ int user_modes[256] = {
|
|||
0, /* W */
|
||||
0, /* X */
|
||||
0, /* Y */
|
||||
0, /* Z */
|
||||
UMODE_SSLCLIENT, /* Z */
|
||||
/* 0x5B */ 0, 0, 0, 0, 0, 0, /* 0x60 */
|
||||
UMODE_ADMIN, /* a */
|
||||
0, /* b */
|
||||
|
@ -522,6 +522,9 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char
|
|||
add_to_id_hash(source_p->id, source_p);
|
||||
}
|
||||
|
||||
if (IsSSL(source_p))
|
||||
source_p->umodes |= UMODE_SSLCLIENT;
|
||||
|
||||
if (source_p->umodes & UMODE_INVISIBLE)
|
||||
Count.invisi++;
|
||||
|
||||
|
@ -1007,6 +1010,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char
|
|||
|
||||
/* can only be set on burst */
|
||||
case 'S':
|
||||
case 'Z':
|
||||
case ' ':
|
||||
case '\n':
|
||||
case '\r':
|
||||
|
|
Loading…
Reference in a new issue