| 128 |
|
#define FLAGS_FLOOD_NOTICED 0x01000000 /**< Notice to opers about this flooder has been sent */ |
| 129 |
|
#define FLAGS_SERVICE 0x02000000 /**< Client/server is a network service */ |
| 130 |
|
#define FLAGS_AUTH_SPOOF 0x04000000 /**< user's hostname has been spoofed by an auth{} spoof*/ |
| 131 |
+ |
#define FLAGS_SSL 0x08000000 /**< User is connected via TLS/SSL */ |
| 132 |
|
|
| 133 |
|
#define HasFlag(x, y) ((x)->flags & (y)) |
| 134 |
|
#define AddFlag(x, y) ((x)->flags |= (y)) |
| 159 |
|
#define UMODE_REGONLY 0x00080000 /**< Only registered nicks may PM */ |
| 160 |
|
#define UMODE_HIDDEN 0x00100000 /**< Operator status is hidden */ |
| 161 |
|
#define UMODE_OPER 0x00200000 /**< Operator */ |
| 162 |
< |
#define UMODE_ADMIN 0x00400000 /**< Admin on server */ |
| 162 |
> |
#define UMODE_ADMIN 0x00400000 /**< Admin on server */ |
| 163 |
|
#define UMODE_FARCONNECT 0x00800000 /**< Can see remote client connects/exits */ |
| 164 |
|
#define UMODE_HIDDENHOST 0x01000000 /**< User's host is hidden */ |
| 165 |
+ |
#define UMODE_SSL 0x02000000 /**< User is connected via TLS/SSL */ |
| 166 |
|
|
| 167 |
|
|
| 168 |
|
#define UMODE_ALL UMODE_SERVNOTICE |
| 173 |
|
|
| 174 |
|
#define SEND_UMODES (UMODE_INVISIBLE | UMODE_OPER | UMODE_WALLOP |\ |
| 175 |
|
UMODE_REGONLY | UMODE_REGISTERED | UMODE_ADMIN |\ |
| 176 |
< |
UMODE_HIDDEN) |
| 176 |
> |
UMODE_HIDDEN | UMODE_HIDDENHOST | UMODE_SSL) |
| 177 |
|
|
| 178 |
|
|
| 179 |
|
|
| 315 |
|
{ |
| 316 |
|
dlink_node lclient_node; |
| 317 |
|
|
| 316 |
– |
char client_host[HOSTLEN + 1]; |
| 317 |
– |
char client_server[HOSTLEN + 1]; |
| 318 |
– |
|
| 318 |
|
unsigned int registration; |
| 319 |
|
unsigned int cap_client; /**< Client capabilities (from us) */ |
| 320 |
|
unsigned int cap_active; /**< Active capabilities (to us) */ |
| 329 |
|
time_t firsttime; /**< time client was created */ |
| 330 |
|
time_t since; /**< last time we parsed something */ |
| 331 |
|
time_t last_knock; /**< time of last knock */ |
| 332 |
< |
time_t last_join_time; /**< when this client last |
| 332 |
> |
time_t last_join_time; /**< when this client last |
| 333 |
|
joined a channel */ |
| 334 |
< |
time_t last_leave_time; /**< when this client last |
| 334 |
> |
time_t last_leave_time; /**< when this client last |
| 335 |
|
* left a channel */ |
| 336 |
< |
int join_leave_count; /**< count of JOIN/LEAVE in less than |
| 336 |
> |
int join_leave_count; /**< count of JOIN/LEAVE in less than |
| 337 |
|
MIN_JOIN_LEAVE_TIME seconds */ |
| 338 |
< |
int oper_warn_count_down; /**< warn opers of this possible |
| 338 |
> |
int oper_warn_count_down; /**< warn opers of this possible |
| 339 |
|
spambot every time this gets to 0 */ |
| 340 |
|
time_t last_caller_id_time; |
| 341 |
|
time_t first_received_message_time; |
| 410 |
|
if dealing with timestamps */ |
| 411 |
|
char id[IDLEN + 1]; /**< client ID, unique ID per client */ |
| 412 |
|
/* |
| 413 |
< |
* client->username is the username from ident or the USER message, |
| 414 |
< |
* If the client is idented the USER message is ignored, otherwise |
| 415 |
< |
* the username part of the USER message is put here prefixed with a |
| 413 |
> |
* client->username is the username from ident or the USER message, |
| 414 |
> |
* If the client is idented the USER message is ignored, otherwise |
| 415 |
> |
* the username part of the USER message is put here prefixed with a |
| 416 |
|
* tilde depending on the auth{} block. Once a client has registered, |
| 417 |
|
* this field should be considered read-only. |
| 418 |
|
*/ |
| 426 |
|
char host[HOSTLEN + 1]; /* client's hostname */ |
| 427 |
|
|
| 428 |
|
/* |
| 429 |
< |
* client->info for unix clients will normally contain the info from the |
| 429 |
> |
* client->info for unix clients will normally contain the info from the |
| 430 |
|
* gcos field in /etc/passwd but anything can go here. |
| 431 |
|
*/ |
| 432 |
|
char info[REALLEN + 1]; /* Free form additional client info */ |
| 436 |
|
* string, this field should be considered read-only once the connection |
| 437 |
|
* has been made. (set in s_bsd.c only) |
| 438 |
|
*/ |
| 439 |
< |
char sockhost[HOSTIPLEN + 1]; /* This is the host name from the |
| 439 |
> |
char sockhost[HOSTIPLEN + 1]; /* This is the host name from the |
| 440 |
|
socket ip address as string */ |
| 441 |
+ |
char *certfp; |
| 442 |
|
}; |
| 443 |
|
|
| 444 |
|
|
| 454 |
|
extern int accept_message(struct Client *, struct Client *); |
| 455 |
|
extern unsigned int idle_time_get(const struct Client *, const struct Client *); |
| 456 |
|
extern struct split_nuh_item *find_accept(const char *, const char *, |
| 457 |
< |
const char *, struct Client *, int); |
| 457 |
> |
const char *, struct Client *, |
| 458 |
> |
int (*)(const char *, const char *)); |
| 459 |
|
extern void del_accept(struct split_nuh_item *, struct Client *); |
| 460 |
|
extern void del_all_accepts(struct Client *); |
| 461 |
|
extern void exit_client(struct Client *, struct Client *, const char *); |