Handles DCC / telnet communication. More...
#include "../params.h"
#include "../utils/memleak.h"
#include "../utils/my_assert.h"
#include "../utils.h"
#include "../sock.h"
#include "dcc_internal.h"
#include "../misc/shutdown.h"
#include "../utils/my_getpid.h"
#include "../ssl.h"
#include "../internal_state.h"
#include "../logic.h"
#include "../utils/precomp.h"
Go to the source code of this file.
Defines | |
#define | MY_STATIC |
Functions | |
MY_STATIC bool | dcc_check_hard_locked_out (c_socket &s, const string &remote) |
Check whether IP is "hard" locked out due to bad logins, and closes the connection. | |
MY_STATIC bool | dcc_check_soft_locked_out (vector< c_dcc_client >::iterator &i, const string &eol) |
Check whether IP is locked out due to bad logins, and closes the connection. | |
void | dcc_loop () |
Check for pending connections and handles existing ones. | |
MY_STATIC void | dcc_loop_cmd_apply (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_backup (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_broadcastping (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_chpass (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_die (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_dynbans (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_edit_chan (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_edit_proc_func (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_edituser (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_execute (string &c, string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_filesystem (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_getfile (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_help (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_info (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_join (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_lang (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_leave (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_msg (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_part (string &c, string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_partyline (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_pass (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_plus_chan (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_plus_func (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_plus_group (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_plus_proc (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_plus_user (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_private (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC bool | dcc_loop_cmd_quit (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_rehash (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_replication (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_restart (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_rproc (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_showbots (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_stat (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_terminator (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_touch (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_upgrade (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_cmd_whois (string &cmd, string ¶m1, string ¶m2, string &eol, vector< c_dcc_client >::iterator &i, bool &got_cmd) |
MY_STATIC void | dcc_loop_misc1 (vector< c_dcc_client >::iterator &i, string &eol) |
MY_STATIC bool | dcc_loop_misc2 (string &c, string &cmd, string ¶m1, string ¶m2, vector< c_dcc_client >::iterator &i, string &eol, bool &got_cmd) |
MY_STATIC void | dcc_loop_server () |
MY_STATIC void | dcc_loop_telnet () |
void | dcc_pop_bad_login (const string &remote, my_time_t timestamp) |
Pops back temporary bad login (presumption until good login is made, to prevent abuse), called when a good login was made. | |
my_time_t | dcc_push_bad_login (const string &remote) |
Pushes temporary bad login (presumption until good login is made, to prevent abuse). | |
Variables | |
deque< c_user > | r_terminators |
List of terminated users for real usage (not temporary / compilation!). | |
deque< c_user > | r_user_templates |
List of users templates for real usage (not temporary / compilation!). | |
deque< c_user > | r_users |
List of users for real usage (not temporary / compilation!). |
Handles DCC / telnet communication.
Definition in file dcc_loop.cpp.