GLOBAL $G_splash_h, $G_splash_idx, $G_splash_interval, $G_splash_timeout;
GLOBAL $G_splash_w, $G_topbanner, $G_with_donors, $G_with_poll;
GLOBAL $G_with_splash, $G_sidebanner, $G_sidebanner_idx;
- GLOBAL $G_with_topbanner;
+ GLOBAL $G_with_topbanner, $G_selfreg_tout;
fprintf(STDERR, "G_alarm_passwd = [%s]\n", print_r($G_alarm_passwd, TRUE));
fprintf(STDERR, "G_ban_list = [%s]\n", print_r($G_ban_list, TRUE));
fprintf(STDERR, "G_sidebanner_idx = [%s]\n", print_r($G_sidebanner_idx, TRUE));
fprintf(STDERR, "G_with_splash = [%s]\n", print_r($G_with_splash, TRUE));
fprintf(STDERR, "G_with_topbanner = [%s]\n", print_r($G_with_topbanner, TRUE));
+ fprintf(STDERR, "G_selfreg_mask = [%x]\n", print_r($G_selfreg_mask, TRUE));
+
+ fprintf(STDERR, "G_selfreg_tout = [%s]\n", print_r($G_selfreg_tout, TRUE));
+
}
function pid_save()
static $fixed_fd = 3;
static $cnt_master = NULL;
static $cnt_slave = NULL;
+
+ var $provider_proxy; // list of provider/browser that offer proxy service
var $file_socket;
var $unix_socket;
}
}
- static function create(&$app, $sockname, $debug, $blocking_mode, $argv)
+ static function create(&$app, $sockname, $debug, $blocking_mode, $provider_proxy, $argv)
{
$thiz = new Sac_a_push();
$thiz->app = $app;
+
+ $thiz->provider_proxy = ProviderProxy::create();
+
$thiz->file_socket = $sockname;
$thiz->unix_socket = "unix://$sockname";
$thiz->direct_socket = "unix://${sockname}2";
}
$thiz->main_loop = FALSE;
+ $thiz->reload(TRUE, $provider_proxy);
return ($thiz);
}
== FALSE) {
fprintf(STDERR, "TODO: fix wrong header management\n");
}
- $addr = stream_socket_get_name($new_socket, TRUE);
- printf("PATH: [%s]\n", $path);
+ $addr_full = stream_socket_get_name($new_socket, TRUE);
+ // FOR TEST $header['X-Forwarded-For'] = '154.155.22.33';
+ $addr = $this->pproxy_realip($header, addrtoipv4($addr_full));
+
+ printf("PATH: [%s] [%s]\n", $path, print_r($header, TRUE));
if ($method == "POST" && $rest > 0) {
if (isset($header['Expect']) && $header['Expect'] == '100-continue') {
fprintf(STDERR, "\nPOSTA DE CHE\n\n");
$line = trim($buf);
if ($line == "reload") {
require("$DOCUMENT_ROOT/Etc/".BRISK_CONF);
+ $this->reload(FALSE, $G_provider_proxy);
$this->app->reload(FALSE, $G_ban_list, $G_black_list,
- $G_cloud_smasher, $G_provider_proxy);
+ $G_cloud_smasher);
global_dump();
}
else if ($line == "shutdown" || $line == "sd") {
} // while (...
} // function run(...
+ function pproxy_realip(&$header, $ip_str)
+ {
+ return ($this->provider_proxy->realip($header, $ip_str));
+ }
+
+ function reload($is_first, $prov_proxy)
+ {
+ fprintf(STDERR, "SAP RELOAD STUFF (%d)\n", count($prov_proxy));
+
+ $this->provider_proxy->update($prov_proxy);
+ }
+
function direct_command($cmdstr)
{
GLOBAL $G_alarm_passwd;