define('DBG_TRAC', 0x1000);
define('DBG_SHME', 0x2000);
define('DBG_ENGI', 0x4000);
+define('DBG_CDS', 0x8000);
// NOTE: BRISK DEBUG must be a numerical constant, not the result of operations on symbols
define('BRISK_DEBUG', 0x0800);
var $delay_mgr;
+ var $cds;
+
public static $sess_cur;
function Brisk()
{
+ $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 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));
$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()
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) {
+ log_main("cds_execute failed");
+ }
+
return ($ret);
}
}
+function log_cds($log)
+{
+ GLOBAL $PHP_SELF;
+
+ if (BRISK_SINGLE_SESS == "" && (BRISK_DEBUG & DBG_CDS) == 0)
+ return;
+
+ $sess = Brisk::sess_cur_get();
+ if (isset($sess) == FALSE)
+ $ssess = "XXXX";
+ else
+ $ssess = $sess;
+
+ if (( (BRISK_DEBUG | ($ssess == BRISK_SINGLE_SESS ? BRISK_SINGLE_DEBUG : 0) ) & DBG_CDS) == 0)
+ return;
+
+ if ((BRISK_DEBUG | ($ssess == BRISK_SINGLE_SESS ? BRISK_SINGLE_DEBUG : 0) ) & DBG_TRAC)
+ $btrace = btrace_line(debug_backtrace());
+ else
+ $btrace = "";
+ if (($fp = @fopen(LEGAL_PATH."/cds.log", 'a')) != FALSE) {
+ fwrite($fp, sprintf("CDS: [%f] [%s] [%s]\n", gettimeofday(TRUE), $log, $btrace));
+ fclose($fp);
+ }
+}
+
+
function log_only2($log)
{
GLOBAL $PHP_SELF;