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);
$G_lng = langtolng($G_lang);
$G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 );
-$G_brisk_version = "4.14.4";
+$G_brisk_version = "4.14.5";
/* MLANG: ALL THE INFO STRINGS IN brisk.phh */
-$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: nuovo sistema di registrazione degli utenti, aggiunto reinvio dell\' email di verifica, ban con classi di IP, nuovi colori',
+$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: nuovo sistema di registrazione degli utenti, aggiunto reinvio dell\' email di verifica, ban con classi di IP, nuovi colori, nuovo sistema bi banner laterali per gli eventi',
'Se vuoi iscriverti alla <a target="_blank" href="mailto:ml-briscola+subscribe@milug.org">Mailing List</a>, cliccala!' ),
- 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NEWS</b>: new users subscription system.',
+ 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NEWS</b>: new users subscription system, refactored sidebanner system.',
'If you want to subscribe our <a target="_blank" href="ml-briscola+subscribe@milug.org">Mailing List</a>, click it!' ) );
$G_room_help = array( 'it' => '
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 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, $authenticate != FALSE) == 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;