function Brisk()
{
- // create cds
- $this->cds = new Curl_de_sac();
-
- // create tor_chk_cls
- $tor_chk_cls = new tor_chk_cmd_cls();
-
- // registrer tor_chk_cls
- printf("MAIN: Register 'tor_chk_cls'\n");
- if (($this->cds->cmd_cls_register($tor_chk_cls)) == FALSE) {
- fprintf(STDERR, "MAIN: 'tor_chk_cls' registration failed\n");
- exit(1);
- }
+ $this->cds = NULL;
}
// constructor
fprintf(STDERR, "ROOM FROM FILE\n");
rename($crystal_filename, $crystal_filename.".old");
- $brisk->reload($ban_list, $black_list);
+ $brisk->reload(TRUE, $ban_list, $black_list);
return($brisk);
}
$thiz->ban_list = NULL;
$thiz->black_list = NULL;
- fprintf(STDERR, "PRE IPCLASS_UPDATE (%d, %d)\n", count($ban_list), count($black_list));
- $thiz->ipclass_update('ban_list', $ban_list);
- $thiz->ipclass_update('black_list', $black_list);
- fprintf(STDERR, "POST IPCLASS_UPDATE %d %d\n", count($thiz->ban_list), count($thiz->black_list));
-
for ($i = 0 ; $i < MAX_PLAYERS ; $i++) {
$thiz->user[$i] = User::create($thiz, $i, "", "");
}
static::$sess_cur = FALSE;
+ $thiz->reload(TRUE, $ban_list, $black_list);
+
return ($thiz);
}
+ function tor_chk_postprocess($user_idx, $user_sess, $conn_ip, $is_auth, $is_tor)
+ {
+ log_cds(sprintf("user_idx: %d, user_sess: %s, conn_ip: %s, is_auth: %s, is_tor: %s",
+ $user_idx, $user_sess, $conn_ip, ($is_auth ? "YES" : "NO"), ($is_tor ? "YES" : "NO")));
+ }
+
function ipclass_update($ip_out_s, $ip_in)
{
fprintf(STDERR, "N_IN: %d\n", count($ip_in));
}
}
- function reload($ban_list, $black_list)
+ function reload($is_first, $ban_list, $black_list)
{
fprintf(STDERR, "RELOAD STUFF (%d)(%d)\n", count($ban_list), count($black_list));
+ if ($this->cds != NULL) {
+ $this->cds->cmd_cls_deregister_all();
+ unset($this->cds);
+ $this->cds = NULL;
+ }
+ // create cds
+ $this->cds = new Curl_de_sac();
+
+ // create tor_chk_cls
+ $tor_chk_cls = new tor_chk_cmd_cls();
+
+ // registrer tor_chk_cls
+ printf("MAIN: Register 'tor_chk_cls'\n");
+ if (($this->cds->cmd_cls_register($tor_chk_cls)) == FALSE) {
+ fprintf(STDERR, "MAIN: 'tor_chk_cls' registration failed\n");
+ exit(1);
+ }
+
$this->ipclass_update("ban_list", $ban_list);
$this->ipclass_update("black_list", $black_list);
- $this->banned_kickoff();
- $this->garbage_manager(TRUE);
+ if (!$is_first) {
+ $this->banned_kickoff();
+ $this->garbage_manager(TRUE);
+ }
}
function banned_kickoff()
}
$idx = $ghost;
+ if ($this->cds->execute("tor_chk", $this, $ghost, $sess, $ip, $authenticate != FALSE) == FALSE) {
+ log_main("cds_execute failed");
+ }
+
return ($this->user[$ghost]);
}
else if ($idx != -1 && $i == MAX_PLAYERS) {
log_main(sprintf("TROVATO LIBERO A [%d] sess [%s] name [%s] count [%d] name [%s] code [%s]", $idx, $sess, $name_new, count($this->user),$this->user[$real_idx]->name, $this->user[$real_idx]->code));
$ret = $this->user[$real_idx];
- if ($this->cds->execute("tor_chk", $this, $real_idx, $sess, $ip) == FALSE) {
+ if ($this->cds->execute("tor_chk", $this, $real_idx, $sess, $ip, $authenticate != FALSE) == FALSE) {
log_main("cds_execute failed");
}