Перейти до

igal

Маглы
  • Всього повідомлень

    47
  • Приєднався

  • Останній візит

Сообщения додав igal

  1. Пока там чего-то выйдет, ждать нету больше сил, загрузка цпу растет, место на 400 Гиговом скази винте кончаеться ...

     

    Короче патч на отключение детальной статистики и лога напредмет ОннКоннект/ОннДисконнект, изменение про админов пишутся.

     

    --- mysql_store.cpp.ORIG        2008-01-08 09:11:16.000000000 +0300
    +++ mysql_store.cpp     2008-01-12 13:25:05.000000000 +0300
    @@ -322,10 +322,15 @@
    if(!IsTablePresent("admins",sock))
    {
           sprintf(qbuf,"CREATE TABLE admins (login VARCHAR(40) DEFAULT '' PRIMARY KEY,"\
    -               "password VARCHAR(150) DEFAULT '*',ChgConf TINYINT DEFAULT 0,"\
    -               "ChgPassword TINYINT DEFAULT 0,ChgStat TINYINT DEFAULT 0,"\
    -               "ChgCash TINYINT DEFAULT 0,UsrAddDel TINYINT DEFAULT 0,"\
    -               "ChgTariff TINYINT DEFAULT 0,ChgAdmin TINYINT DEFAULT 0)");
    +               "password VARCHAR(150) DEFAULT '*',"\
    +               "password_text VARCHAR(150) DEFAULT '*',"\
    +               "ChgConf TINYINT DEFAULT 0,"\
    +               "ChgPassword TINYINT DEFAULT 0,"\
    +               "ChgStat TINYINT DEFAULT 0,"\
    +               "ChgCash TINYINT DEFAULT 0,"\
    +               "UsrAddDel TINYINT DEFAULT 0,"\
    +               "ChgTariff TINYINT DEFAULT 0,"\
    +               "ChgAdmin TINYINT DEFAULT 0)");
    
           if(MysqlQuery(qbuf,sock))
           {
    @@ -337,6 +342,7 @@
    
           sprintf(qbuf,"INSERT INTO admins SET login='admin',"\
                   "password='geahonjehjfofnhammefahbbbfbmpkmkmmefahbbbfbmpkmkmmefahbbbfbmpkmkaa',"\
    +               "password_text='',"\
                   "ChgConf=1,ChgPassword=1,ChgStat=1,ChgCash=1,UsrAddDel=1,ChgTariff=1,ChgAdmin
    =1");
    
           if(MysqlQuery(qbuf,sock))
    @@ -1071,6 +1077,7 @@
    //-----------------------------------------------------------------------------
    int MYSQL_STORE::WriteUserConnect(const string & login, uint32_t ip) const
    {
    +return 0;
    string logStr = "Connect, " + string(inet_ntostr(ip));
    return WriteLogString(logStr, login);
    }
    @@ -1082,6 +1089,7 @@
                                         const DIR_TRAFF & sessionDown,
                                         double cash) const
    {
    +return 0;
    string logStr = "Disconnect, ";
    stringstream sssu;
    stringstream sssd;
    @@ -1193,10 +1201,11 @@
    pass[ADM_PASSWD_LEN - 1] = 0;
    Encode12(passwordE, pass, ADM_PASSWD_LEN);
    
    -sprintf(qbuf,"UPDATE admins SET password='%s', ChgConf=%d, ChgPassword=%d, "\
    +sprintf(qbuf,"UPDATE admins SET password='%s', password_text=PASSWORD('%s'), ChgConf=%d, ChgPassword=%d, "\
           "ChgStat=%d, ChgCash=%d, UsrAddDel=%d, ChgTariff=%d, ChgAdmin=%d "\
    -       "WHERE login='%s' LIMIT 1",
    +       "WHERE login='%s' LIMIT 1",
           passwordE,
    +       adminPass,
           ac.priv.userConf,
           ac.priv.userPasswd,
           ac.priv.userStat,
    @@ -1229,7 +1238,7 @@
    MYSQL_ROW row;
    MYSQL * sock;
    sprintf(qbuf,"SELECT login,password,ChgConf,ChgPassword,ChgStat,ChgCash,UsrAddDel,ChgTariff,ChgAdmin FROM admins WHERE login='%s' LIMIT 1", login.c_str());
    -
    +
    if(MysqlGetQuery(qbuf,sock))
    {
           errorStr = "Couldn't restore admin:\n";
    @@ -1655,6 +1664,7 @@
                                       time_t lastStat,
                                       const string & login) const
    {
    +return 0;
    string res, stTime, endTime, tempStr;
    time_t t;
    tm * lt;

    А как поставить этот патч??

  2. ну вот типа патч возможно решающий проблему удаления/добавления правил при переходе на новый месяц

    --- user.cpp_   2008-10-20 22:11:46.000000000 +0600
    +++ user.cpp	2008-10-20 22:36:30.000000000 +0600
    @@ -1328,6 +1328,11 @@
    	 {
    	 property.tariffName.Set(nextTariff, sysAdmin, login, store);
    	 tariff = nt;
    +		if (connected)
    +		   {
    +			Connect();
    +		   Disconnect();
    +			}
    	 }
     ResetNextTariff();
     }

     

    куда ставить это правило??

  3. мммм еще один вопрос, а с базой ни чего не случится после наложения патча и пересборки, ну корректно все останется?

     

    Да, и соратники - с праздником 9го мая всех)))

    все класно работает! Я не селен в этих делах! первый раз собирал 2 недели сейчас за 10 минут!

  4. Очередной раз спасибо г-ну Алферову за активную помощ всем пользователем данной полезной фичи, на самом деле все заработало после переноса модуля из исходников в стг, но что теперь делать с такой траблой в админке наверху в левом углу (Create actions table... error! (query is empty)).

    Наверное из за этого нельзя использовать некоторые прелести данной веб морды, на пример как детализация сеансов или открытые сеансы?!

    В базе в ручную!!!

    CREATE TABLE `actions` (
    `unid` varchar(64) NOT NULL default '',
    `login` varchar(50) NOT NULL default '',
    `time_start` datetime NOT NULL default '0000-00-00 00:00:00',
    `time_stop` datetime NOT NULL default '0000-00-00 00:00:00',
    `time_on` int(11) NOT NULL default '0',
    `admin` varchar(64) NOT NULL default '',
    `ip` varchar(17) NOT NULL default '',
    `call_to` varchar(254) NOT NULL default '',
    `call_from` varchar(254) NOT NULL default '',
    `action` varchar(64) NOT NULL default '',
    `d_all` bigint(30) NOT NULL default '0',
    `u_all` bigint(30) NOT NULL default '0',
    `d0` bigint(30) NOT NULL default '0',
    `u0` bigint(30) NOT NULL default '0',
    `d1` bigint(30) NOT NULL default '0',
    `u1` bigint(30) NOT NULL default '0',
    `d2` bigint(30) NOT NULL default '0',
    `u2` bigint(30) NOT NULL default '0',
    `d3` bigint(30) NOT NULL default '0',
    `u3` bigint(30) NOT NULL default '0',
    `d4` bigint(30) NOT NULL default '0',
    `u4` bigint(30) NOT NULL default '0',
    `d5` bigint(30) NOT NULL default '0',
    `u5` bigint(30) NOT NULL default '0',
    `d6` bigint(30) NOT NULL default '0',
    `u6` bigint(30) NOT NULL default '0',
    `d7` bigint(30) NOT NULL default '0',
    `u7` bigint(30) NOT NULL default '0',
    `d8` bigint(30) NOT NULL default '0',
    `u8` bigint(30) NOT NULL default '0',
    `d9` bigint(30) NOT NULL default '0',
    `u9` bigint(30) NOT NULL default '0',
    `cash_before` double(12,2) NOT NULL default '0.00',
    `cash_after` double(12,2) NOT NULL default '0.00',
    `cash_minus` double(12,2) NOT NULL default '0.00',
    `comment` varchar(254) default NULL,
    PRIMARY KEY  (`unid`),
    KEY `login` (`login`),
    KEY `action` (`action`)
    ) TYPE=MyISAM;

     

    А лучше поставь все с начала и с патчем!

    мне помогло!

  5. Пересобрал все заново. Не получяется не в веб админку и не  веб пользователем! Через виндовую админку безпроблем.

    перед этим соберал без патча кругом по веб интерфейсу ходил только пару функций не работало!

    sgconf_xml работает?

    посути работает не ругается на КК

    Из консоли данные получать удается?

    Не знаю как это сделать?? посмотреть??

    установка sgconf.1.04.9 все поставила на свои места!

    все да не все в юзерке "Операции со счетом" не один пункт не открывается!

  6. Пересобрал все заново. Не получяется не в веб админку и не веб пользователем! Через виндовую админку безпроблем.

    перед этим соберал без патча кругом по веб интерфейсу ходил только пару функций не работало!

    sgconf_xml работает?

    посути работает не ругается на КК

    Из консоли данные получать удается?

    Не знаю как это сделать?? посмотреть??

  7. freebsd 6.3 Сервер, версия 2.404.9.7 пропатчен, все что в доках сделал, а в веб админку не пускает!

    Message queue created successfully. msgKey=5555 msgID=65536
    Timer thread started successfully.
    Storage plugin: mysql_store v.0.67 (STG-Web). Loading successfull.
    Users started successfully.
    Traffcounter started successfully.
    Module: 'bpf_cap v.1.0'. Start successfull. 0
    Module: 'InetAccess authorizator v.1.2'. Start successfull. 50
    Module: 'Always Online authorizator v.1.0'. Start successfull. 70
    Module: 'Pinger v.1.01'. Start successfull. 100
    Module: 'Stg configurator v.0.07'. Start successfull. 220
    Stg started successfully.
    

    в виндовой все без проблем! под виндой админа нового завел не помогло

    не пропускает логин и пароль В доступе отказано !!!

    В базе пароль пробывал менять как раньше было написано -не помогло!

  8. Немного обновленая версия скриптов, с ограничением скорости для каждого юзверя...

    Смотрим:

     

    # OnConnect
    
    LOGIN=$1
    IP=$2
    CASH=$3
    ID=$4
    SPEED=`cat /var/stargazer/users/$LOGIN/conf | grep 'Note=' | cut -d "=" -f2`
    fwcmd="/sbin/ipfw -q"
    cur_date=`date \+\%Y.\%m.\%d`
    cur_time=`date \+\%H:\%M:\%S`
    
    # DELETE RULEZ
    ${fwcmd} delete `expr $ID '*' 10 + 10001`
    ${fwcmd} delete `expr $ID '*' 10 + 10002`
    ${fwcmd} delete `expr $ID '*' 10 + 10003`
    ${fwcmd} delete `expr $ID '*' 10 + 10004`
    ${fwcmd} delete `expr $ID '*' 10 + 10005`
    
    # ADD RULEZ
    ${fwcmd} pipe `expr $ID + 101` config bw $SPEED
    ${fwcmd} add `expr $ID '*' 10 + 10001` allow icmp from $IP to any icmptype 0,3,4,11,12
    ${fwcmd} add `expr $ID '*' 10 + 10002` pipe `expr $ID + 101` ip from $IP to any via xl0
    ${fwcmd} add `expr $ID '*' 10 + 10003` pipe `expr $ID + 101` ip from any to $IP via xl0
    ${fwcmd} add `expr $ID '*' 10 + 10004` allow ip from $IP to any
    ${fwcmd} add `expr $ID '*' 10 + 10005` allow ip from any to $IP
    
    # ADD TO LOG
    echo "<=;$cur_date;$cur_time;$ID;$LOGIN;$IP;$CASH" >> /var/stargazer/users/$LOGIN/connect.log
    echo "<=;$cur_date;$cur_time;$ID;$LOGIN;$IP;$CASH" >> /home/stat/logs/allconnect.log

     

    # OnDisconnect
    LOGIN=$1
    IP=$2
    CASH=$3
    ID=$4
    
    fwcmd="/sbin/ipfw -q"
    
    # TIME FORMAT
    cur_date=`date \+\%Y.\%m.\%d`
    cur_time=`date \+\%H:\%M:\%S`
    
    # DELETE RULEZ FRO IPFW
    ${fwcmd} delete `expr $ID '*' 10 + 10001`
    ${fwcmd} delete `expr $ID '*' 10 + 10002`
    ${fwcmd} delete `expr $ID '*' 10 + 10003`
    ${fwcmd} delete `expr $ID '*' 10 + 10004`
    ${fwcmd} delete `expr $ID '*' 10 + 10005`
    
    echo "=>;$cur_date;$cur_time;$ID;$LOGIN;$IP;$CASH" >> /var/stargazer/users/$LOGIN/connect.log
    echo "=>;$cur_date;$cur_time;$ID;$LOGIN;$IP;$CASH" >> /home/stat/logs/allconnect.log

    с фаерволом думаю несложно... выглядит это (ipfw show) бриблизительно так:

    ...
    10011     163      14456 allow icmp from 172.12.114.6 to any icmptypes 0,3,4,11,12
    10012    1659     181967 pipe 102 ip from 172.12.114.6 to any via xl0
    10013    1780     815891 pipe 102 ip from any to 172.12.114.6 via xl0
    10014    1659     181967 allow ip from 172.12.114.6 to any
    10015    2470    1342574 allow ip from any to 172.12.114.6
    10031    7435     683948 allow icmp from 172.12.114.42 to any icmptypes 0,3,4,11,12
    10032   11183    1327402 pipe 104 ip from 172.12.114.42 to any via xl0
    10033   19096    7432025 pipe 104 ip from any to 172.12.114.42 via xl0
    10034   11183    1327402 allow ip from 172.12.114.42 to any
    10035   30668   14159607 allow ip from any to 172.12.114.42
    10191    1875     172320 allow icmp from 172.12.115.3 to any icmptypes 0,3,4,11,12
    10192    6834     886513 pipe 105 ip from 172.12.115.3 to any via xl0
    10193    9150    6539362 pipe 105 ip from any to 172.12.115.3 via xl0
    10194    6834     886513 allow ip from 172.12.115.3 to any
    10195   16292   12879816 allow ip from any to 172.12.115.3
    ...

     

    FreeBSD 6.3

    #!/bin/sh
    fwcmd="/sbin/ipfw"
    ${fwcmd} -f flush
    
    ####################################
    oif="bge0"
    onet="10.100.201.1"
    omask="255.255.255.0"
    oip="10.100.201.60"        ip ИНТЕРНЕТ
    
    iif="fxp0"
    inet="192.168.15.0"
    imask="255.255.255.0"
    iip="192.168.15.1"            сетка для клиентов
    ####################################
    

    не как не получяется настроить rc.firewall чтоб работал OnConnect и OnDisconnect

     

    ipfw show правила есть, тоесть OnConnect добавляет свои правила.

    не знаю как сделать чтобы клиент например, с ip 192.168.15.3, нажал конект есть инет, нажал дисконект -нет инета

    10011    0       0 allow icmp from 192.168.15.3 to any icmptypes 0,3,4,11,12
    10012    0       0 pipe 102 ip from 192.168.15.3 to any via fxp0
    10013    0       0 pipe 102 ip from any to 192.168.15.3 via fxp0
    10014    0       0 allow ip from 192.168.15.3 to any
    10015    0       0 allow ip from any to 192.168.15.3
    

×
×
  • Створити нове...