From: Maxim Mamontov Date: Mon, 20 Jun 2011 08:20:57 +0000 (+0300) Subject: Merge branch 'master' into full-month-stats X-Git-Url: https://git.stg.codes/stg.git/commitdiff_plain/1325cf9788d4089f9d20bf2121b0872c6369c817?hp=4ca22a7c19dd0b94609280faf64108b1ea54e415 Merge branch 'master' into full-month-stats --- diff --git a/doc/help/ch1.xml b/doc/help/ch1.xml index dbb80484..94305d76 100644 --- a/doc/help/ch1.xml +++ b/doc/help/ch1.xml @@ -1,4 +1,20 @@ Назначение и возможности системы Система Stargazer (далее просто «система») предназначена для авторизации и учета трафика в локальных сетях. При написании данной системы была поставлена задача создать продукт, который отвечал бы требованиям большинства локальных сетей для учета в них трафика и средств клиентов, а также безопасной авторизации клиентов. + Система построена по клиент-серверной технологии, что обеспечивает необходимую гибкость и быстродействие. В качестве сервера выступает машина с ОС Linux или FreeBSD и архитектурой x86/x86_64/SPARC. В качестве клиентов могут выступать машины как семейства Windows, так и клиенты с ОС GNU/Linux или FreeBSD. Так же клиентом может выступать любая ОС, в которой есть поддержка сетевых протоколов TCP-IP и WEB-броузер. + Система имеет модульную структуру, что позволяет гибко изменять ее конфигурацию и функциональность. + Основные возможности системы: + + контроль над клиентами сети, их добавление, удаление, текущие корректировки; + авторизация клиента, с последующим разрешением или запретом доступа в Internet; + подсчет трафика по предварительно заданным направлениям и правилам; + подсчет израсходованных клиентом средств и автоматическое отключение в случае их полного расходования; + хранение дополнительной информации о клиенте, такой как домашний адрес, телефон и т.д.; + автоматический пинг всех клиентов сети и вывод результатов на экран; + ведение истории для всех клиентов; + журналирование действий администраторов системы; + оперативное предоставление клиенту информации о его трафике и наличии средств; + формирование подробных отчетов о состоянии клиентов; + подключаемые модули. + diff --git a/doc/help/ch2.xml b/doc/help/ch2.xml index 778b93cd..0657cb68 100644 --- a/doc/help/ch2.xml +++ b/doc/help/ch2.xml @@ -1,9 +1,12 @@ Описание компонентов системы Составными компонентами системы являются: - - Сервер - Конфигуратор - Авторизатор + + сервер; + конфигуратор; + авторизатор. + Сервер – служит для авторизации клиентов, манипуляции правилами сетевого фильтра (firewall), подсчета трафика, выполнения финансовых операций, хранения информации о статистике и выдаче её клиентам и администраторам. + Конфигуратор – используют администраторы сети. Служит для просмотра и редактирования свойств клиентов. Конфигуратор является основным инструментарием для администрирования системы. Доступ к различным функциям разграничен для различных категорий администраторов. С помощью конфигуратора выполняются все финансовые операции с клиентскими счетами, так же просматривается подробная статистика клиентов. Конфигуратором настраиваются некоторые параметры сервера, например тарифные планы и администраторы. + Авторизатор – используется на клиентских машинах. С его помощью происходит авторизация клиента на сервере, получение права на доступ в Интернет или к другим ресурсам, которые разрешены администратором. Так же авторизатор позволяет клиенту просмотреть свою статистику и состояние денежных средств на счету. diff --git a/doc/help/ch3.xml b/doc/help/ch3.xml index a8f66e12..034a05f2 100644 --- a/doc/help/ch3.xml +++ b/doc/help/ch3.xml @@ -2,4 +2,85 @@ Установка системы Система обычно поставляется в виде 3 файлов: исходных кодов сервера, бинарной сборки конфигуратора и авторизатора. Стабильная версия сервера маркируется так: stg-A.B.src.tgz. A и B – старшая и младшая версия сервера. Промежуточные версии сервера имеют маркировку: stg-A.B-YYYY.MM.DD-HH.MM.SS.tgz. A и B – старшая и младшая версия сервера. YYYY.MM.DD-HH.MM.SS – дата и время сборки. + Установочный файл конфигуратора имеет маркировку: sgconfig-A.B.C.win.exe. A.B – старшая и младшая версия конфигуратора. C – версия протокола конфигуратора. Исходные коды конфигуратора имеют маркировку: sgconfig-A.B.C.src.rar. + Установочный файл авторизатора имеет маркировку: inetaccess-A.B.C.win.exe. A.B – старшая и младшая версия авторизатора. C – версия протокола авторизатора. + + Установка сервера + + tar -zxvf stg-A.B.src.tgz + cd stg-A.B.src/projects/stargazer + ./build + make install + + Заголовок скрипта build содержит набор параметров сборки и установки: + + LDFLAGS – дополнительные ключи компоновщика (ключи, предназначенные непосредственно ld указывать в виде -Wl,<ключ>); + CXXFLAGS – дополнительные ключи компилятора; + PREFIX – префикс путей установки; + BIN_MODE – права доступа к бинарным файлам системы (0755 по умолчанию); + DATA_MODE – права доступа к файлам данных системы (0644 по умолчанию); + DIR_MODE — права доступа к каталогам системы (0755 по умолчанию); + OWNER – владелец файлов системы (root по умолчанию); + FIREBIRD_GROUP – группа сервера СУБД Firebird (по умолчанию firebird); + DB_ADDRESS – адрес БД (Firebird) системы ( по умолчанию "localhost:/var/stargazer/stargazer.fdb"); + DB_USER – пользователь БД (Firebird) системы (по умолчанию "stg"); + DB_PASSWORD – пароль пользователя БД (Firebird) системы (по умолчанию "123456"); + FIREBIRD_ISQL – путь к командному интерпретатору SQL СУБД Firebird (по умолчанию "/opt/firebird/bin/isql", пользователи Debian и, возможно, некоторых других дистрибутивов должны указать путь к утилите isql-fb); + + Параметры указываются в формате <ИМЯ_ПАРАМЕТРА> = <ЗНАЧЕНИЕ_ПАРАМЕТРА> + В случае успешной сборки бинарных файлов сервера и их инсталляции в каталогах /etc и /var появится каталог stargazer с набором конфигурационных файлов. Бинарный файл установиться в каталог /usr/sbin с именем stargazer, библиотеки и модули установятся в каталог /usr/lib/stg/ а заголовочные файлы в каталог /usr/include/stg. + Если сборка прошла без ошибок и необходимые файлы находятся в соответствующих каталогах, то установка считается успешно завершенной. + Для удобства разработчиков и для создания багрепортов возможна сборка в отладочном режиме. Для этого скрипт ./build запускается с параметром debug. В этом режиме сборка не производится, а выполняется только конфигурирование. Для сборки отладочной версии необходимо выполнить команду make (gmake для BSD-систем). Также возможна раздельная установка бинарных файлов и файлов данных. Для этого в Makefile предусмотренны цели install-bin и install-data. make install-bin устанавливает только бинарные файлы (сервер, модули и библиотеки) и заголовочные файлы. make install-data устанавливает конфигурационные файлы и БД. По аналогии с целью install работает и цель uninstall. make uninstall удаляет сервер из системы. uninstall-bin и uninstall-data удаляют бинарные файлы и файлы данных соответственно. + + Внимание! + Для успешной сборки сервера необходима правильно установленная библиотека LibExpat. (Поиск производится в /usr/lib и /usr/local/lib, но при желании с помощью переменных окружения CXXFLAGS и LDFLAGS можно указать и иное месторасположение библиотеки). + + Если в процессе сборки будет обнаружена правильно установленная библиотека fbclient (входит в стандартную поставку СУБД Firebird) в сборку будет включен модуль для работы с СУБД Firebird. Модуль поддерживает работу с СУБД Firebird версии 1.5 и выше. + Если в процессе сборки будет обнаружена правильно установленная библиотека mysqlclient (входит в стандартную поставку СУБД MySQL) в сборку будет включен модуль для работы с СУБД MySQL. Модуль поддерживает работу с СУБД MySQL версии 4.0 и выше. + Если в процессе сборки будет обнаружена библиотека pq в сборку будет включен модуль для работы с СУБД PostgreSQL. Модуль поддерживает работу с СУБД PostgreSQL версии 8.0 и выше. + + Примечание + Если сборка завершилась неудачей, то необходимо проверить доступность библиотеки LibExpat. Пользователи ОС Linux могут выполнить команду ldconfig -p | grep libexpat.so. Если она выведет нечто похожее на + + # ldconfig -p | grep libexpat.so + libexpat.so.1 (libc6) => /usr/lib/libexpat.so.1 + libexpat.so (libc6) => /usr/lib/libexpat.so + + значит библиотека доступна. Если вывод будет пустой – библиотека в системе не найдена. Для пользователей ОС FreeBSD можно выполнить команду ls /usr/lib | grep libexpat.so. Если она выведет нечто похожее на + + # ls /usr/lib | grep libexpat.so + libexpat.so + libexpat.so.4 + + значит библиотека доступна. Если вывод пустой – скорее всего библиотеки в системе нет или она установлена неправильно. Возможно, библиотека установлена в другое место. Если это так – достаточно при выполнении скрипта build в CXXFLAGS с помощью ключа -I указать путь к заголовочным файлам библиотеки, а в LDLFAGS с помощью ключа -L указать путь к самой библиотеке. Для поиска библиотеки можно использовать команды locate, slocate, whereis или find. Если библиотека в системе отсутствует – установите ее используя Ваш пакетный менеджер (apt (Debian, Ubuntu), rpm (RPM-based дистрибутивы), emerge (Gentoo) или др.). Так же библиотеку можно установить из исходных кодов, доступных на странице http://sourceforge.net/projects/expat/. + + Для использования СУБД Firebird в качестве хранилища необходимо наличие библиотеки fbclient. Проверка может быть выполнена аналогично библиотеке LibExpat: ldconfig -p | grep libfbclient.so для ОС Linux и ls /usr/lib | grep libfbclient.so для ОС FreeBSD. Некоторые дистрибутивы позволяют установить ее отдельно от СУБД (например, в Ubuntu соответствующий пакет называется libfbclient1), некоторые – только в составе сервера (например, Gentoo). Исходные коды СУБД Firebird доступны для скачивания со страницы http://www.firebirdsql.org/index.php?op=files. Необходимо заметить, что сами разработчики СУБД Firebird не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку. + Для использования СУБД MySQL в качестве хранилища необходимо наличие библиотеки mysqlclient. Проверка выполняется аналогично первым двум: ldconfig -p | grep libmysqlclient_r.so для ОС Linux и ls /usr/lib | grep libmysqlclient_r.so для ОС FreeBSD. Так же проверку можно выполнить с помощью утилиты mysql_config. Ее вызов с ключем --libs_r должен выдать что-то похожее на + + $ mysql_config --libs + -Wl,-O1 -rdynamic -L/usr/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib -lssl -lcrypto + + Необходима именно реентерабельная версия библиотеки, т.к. Сам плагин не имеет блокировок. Некоторые дистрибутивы позволяют установить ее отдельно от СУБД (например, в Ubuntu соответствующие пакеты называются libmysqlclient15-dev и libmysqlclient15off), некоторые – только в составе сервера (например, Gentoo). Исходные коды открытой/свободной версии СУБД MySQL доступны для скачивания со страницы http://dev.mysql.com/downloads/mysql/5.0.html. Необходимо заметить, что сами разработчики СУБД MySQL не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД MySQL, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку. + Для использования СУБД PostgreSQL необходимо наличие библиотеки pq. Проверка выполняется аналогично предыдущим: ldconfig -p | grep libpq.so для ОС Linux и ls /usr/lib | grep libpq.so для ОС FreeBSD. Так-же проверку можно выполнить с использованием утилиты pg_config или pkg_config. Ее вызов с ключем --libdir выдать что-то похожее на + + $ pg_config --libdir + /usr/lib + + Обычно библиотека устанавливается отдельно от самой СУБД. Например, в Debian соответствующий пакет называется libpq5 и libpq-dev. Исходные коды библиотеки можно загрузить со страницы http://www.postgresql.org/ftp/source/. Необходимо заметить, что сами разработчики СУБД PostgreSQL не разделяют свой продукт на клиентскую и серверную части. По этому архивы исходных кодов содержат и сервер СУБД PostgreSQL, и консольный клиент (командный интерпретатор SQL) и клиентскую библиотеку. + + + Установка авторизатора и конфигуратора + Для установки конфигуратора необходимо запустить установочный файл и следовать вопросам мастера установки. + Для установки авторизатора необходимо запустить установочный файл и следовать вопросам мастера установки. + + + Запуск сервера + При запуске в качестве первого параметра можно указать путь к директории, где расположен файл stargazer.conf. По умолчанию при запуске без параметров система ищет файл в каталоге /etc/stargazer. Например если файл stargazer.conf находится в каталоге /etc/stargazer2, то для запуска системы с чтением настройки из этого каталога следует запустить сервер таким образом: ./stargazer /etc/stargazer2. Для просмотра, работает ли сервер, необходимо выполнить команду: ps –x | grep stargazer. В случае если сервер успешно был запущен и работает то результат команды должен быть примерно таким: + + 4818 ? S< 0:32 ./stargazer /etc/stargazer + 4819 ? S 0:00 stg-exec /etc/stargazer + + Следует отметить что в выводе предыдущей команды должно присутствовать не менее двух строк. То есть, первая строка в данном примере – это процесс сервера, вторая – процесс исполнителя скриптов. Если присутствует только строка с именем stg-exec или не имеется строк вовсе, то сервер не запущен или имеются проблемы в его работе. Для диагностики ошибок при запуске сервера необходимо просмотреть содержимое журнала сервера биллинга (/var/log/stargazer.log) или же системный журнал (обычно /var/log/messages). + Сервер ведет журнал своих действий, куда заносятся все сообщения системы. По умолчанию лог файл находится в каталоге /var/log и имеет название stargazer.log. Если при запуске сервера возникла какая-то ошибка, то необходимо просмотреть файл журнала и исправить ошибку. В случае если серверу не удается записать сообщения в указанный файл, он пытается писать сообщения в syslog, обычно записи syslog находяться в /var/log/messages. + diff --git a/doc/help/ch4.xml b/doc/help/ch4.xml index 538dda2f..d3bb71f0 100644 --- a/doc/help/ch4.xml +++ b/doc/help/ch4.xml @@ -2,4 +2,80 @@ Настройка системы После инсталляции система должна быть подвергнута процедуре настройки. Обычно следует начинать с настройки сервера. Основные конфигурационные файлы сервера по умолчанию находятся в каталоге /etc/stargazer. Они включают в себя: основной конфигурационный файл stargazer.conf, файл описания направлений тарификации rules, набор скриптов On* и два каталога — conf-available.d и conf-enabled.d, содержащих конфигурационные файлы отдельных модулей. Для включения какого-либо модуля нужно сделать символическую ссылку на его конфигурационный файл в каталоге conf-enabled.d или прописать его конфигурационную секцию в разделе <Modules> файла stargazer.conf. + + Настройка конфигурационного файла /etc/stargazer/stargazer.conf + Файл имеет текстовый формат, содержащий пары ПАРАМЕТР = ЗНАЧЕНИЕ и секции <ИМЯ_СЕКЦИИ ПАРАМЕТРЫ_СЕКЦИИ>. Комментарии в файле начинаются с символа #. В файле описываются общие параметры, которые являются глобальными значениями для всего сервера биллинга, а также параметры соответствующих модулей. Параметры модулей должны быть заключены в секции: + + <Module [имя модуля(имя файла модуля без mod_ и без .so)]> + + </Module> + + Описание глобальных параметров параметров: + + Rules – параметр, указывающий серверу, где находится файл с правилами для подсчета трафика клиентов, по умолчанию Rules=/etc/stargazer/rules + LogFile – параметр, указывающий серверу расположение файла, в который будут заноситься все сообщения системы, по умолчанию LogFile=/var/log/stargazer.log + PidFile — параметр, указывающий серверу где находится файл хранящий PID (идентификатор процесса) дэмона, по умолчанию это /var/run/stargazer.pid. Используется скриптами запуска/останова. + ModulesPath – параметр, указывающий серверу путь, где находятся подключаемые модули (плагины). По умолчанию ModulesPath = /usr/lib/stg. + DetailStatWritePeriod – параметр, указывающий серверу через какое время должна записываться детальная статистика клиента, по умолчанию StatTime=1/6. Данный параметр может принимать следующие значения: 3 - раз в три часа, 2 - раз в два часа, 1 - раз в чаc, 1/2 - раз в пол часа, 1/4 - раз в 15 минут, 1/6 - раз в 10 минут. + StatWritePeriod – параметр, указывающий серверу периодичность записи в БД информации о статистике пользователя (в минутах). При большом количестве пользователей эту величину стоит увеличить, так как запись в БД может занимать длительное время. По умолчанию StatWritePeriod = 10. + DayFee – параметр, показывающий серверу, в какой день месяца снимать с клиентских счетов сумму абонплаты, в соответствии с тарифными планами клиентов. По умолчанию DayFee=21. Следует помнить, что в некоторых месяцах не более 28 дней. Данный параметр также может принять значение 0; если параметр равен 0, тогда система выполнит действия в последний день текущего месяца; определение последнего дня месяца проводится автоматически. + DayResetTraff – параметр указывает серверу в какой день месяца очищать статистику клиентов; так же в этот день сервер осуществляет переход на новый тариф, если он был изменен у клиента. По умолчанию DayResetTraff = 28. Следует помнить, что в некоторых месяцах не более 28 дней. Данный параметр также может принять значение 0; если параметр равен 0, тогда система выполнит действия в последний день текущего месяца; определение последнего дня месяца проводится автоматически. + SpreadFee – параметр, указывающий серверу, производить ли «размазанное» снятие абонплаты. Т. е. сумма абонплаты указанная в тарифе пользователя будет сниматься не раз в месяц, а каждый день ровными долями. По умолчанию SpreadFee = no. + FreeMbAllowInet – параметр, указывающий серверу выполнять ли для пользователя скрипт OnConnect, если у него на балансе отсутствуют средства, но остался предоплаченный трафик. По умолчанию FreeMbAllowInet = no. + WriteFreeMbTraffCost – параметр, определяющий, что будет писаться в стоимость трафика в детальной статистике. Если у клиента еще есть предоплаченный трафик и WriteFreeMbTraffCost = no, то в детальную статистику будет записываться стоимость со значением = 0. Если у пользователя уже нет предоплаченного трафика и WriteFreeMbTraffCost = no, то в детальную статистику будет записана стоимость трафика. При WriteFreeMbTraffCost = yes стоимость трафика будет записана в любом случае. По умолчанию WriteFreeMbTraffCost = no. + DayFeeIsLastDay – параметр, указывающий серверу, когда абонплата снимается в последний (yes) или первый (no) день учетного периода. Это влияет на то, как будет снята абонплата (АП) при переходе на новый тариф. Если у пользователя был тариф A с АП=100 и он хочет перейти на тариф B с АП=200, то при переходе на новый тариф со счета пользователя снимется 100, если DayFeeIsLastDay = yes, и 200, если DayFeeIsLastDay = no. По умолчанию DayFeeIsLastDay = yes. + ExecutersNum – параметр который показывает, сколько процессов исполнителя скриптов может быть запущено одновременно. Количество процессов означает сколько скриптов могут выполнятся одновременно. По умолчанию ExecutersNum = 1. Если выполнение ваших скриптов занимает много времени следует увеличить это значение. Каждый исполнитель скриптов блокируется на время, пока отработает скрипт. Если исполнителей несколько — они принимают скрипты на выполнение по принципу «кто успел». + StgMsgKey – параметр отвечающий за идентификатор очереди сообщений для исполнителя скриптов. По умолчанию данный параметр закомментирован и равен 5555. Рекомендуется не изменять значение параметра без нужды. Его изменение целесообразно лишь в том случае, если в системе требуется запустить более одной копии сервера биллинга. + ShowFeeInCash – показывать на счету и позволять использовать абонплату пользователю. Принимает значения yes и no. Параметр не является обязательным, по умолчанию установлен в yes. + FullFee – снимать полную абонплату, даже если пользователь был заморожен часть учетного периода. Принимает значения yes и no. Параметр не является обязательным, по умолчанию установлен в no. + MessagesTimeout — устанавливает время жизни не отправленных сообщений пользователям. Время указывается в сутках. При превышении этого времени сообщение будет удалено, в т.ч. из БД. Если указан 0 то значения не будут удаляться из базы. По умолчанию 0. + FeeChargeType — регулирует процесс снятия абонплаты. Может принимать значения 0, 1 и 2. При значении 0 абонплата снимается как обычно. При значении 1 абонплата снимается только если баланс пользователя положительный. При значении 2 абонплата снимается только если баланс пользователя больше абонплаты. + ReconnectOnTariffChange — позволяет выполнить переподключение пользователя при смене тарифа. Может принимать значения yes и no. При указании ReconnectOnTariffChange = yes при смене тарифа пользователя если он был подключен произойдет его отключение и подключение заново. Может быть полезно для управления шейпером. + Именования направлений в конфигурационном файле должны быть заключены в теги: + + <DirNames> + DirName0 = "ИМЯ НАПРАВЛЕНИЯ" + ... + DirName9 = ПОСЛЕДНЕЕ_НАПРАВЛЕНИЕ + </DirNames> + + Всего предусмотрено 10 направлений с нумерацией от 0 до 9. Внутри данных тегов указывается названия направлений. Направления, наименование которых состоит из нескольких слов, должны быть заключены в кавычки. Если наименование направления не указано, то система считает что данное направление не используется и не будет производить по нему никаких действий. Пример: DirName0 = Локаль, DirName5 = "Локальные игры". Необходимо заметить, что текущая версия системы требует, чтобы имена направлений были указаны в кодировке KOI8-R. В противном случае пользователи не смогут их прочитать в статистике авторизатора, а администраторы — в конфигураторе. + + Все модули (кроме Store module), которые необходимо подключить к серверу в момент старта должны идти внутри секции: + + <Modules> + <Module [имя модуля]> + ПАРАМЕТРЫ_МОДУЛЯ + </Module> + </Modules> + + Если модуль не имеет настраиваемых параметров, то он все равно должен задаваться в тегах Module … /Module чтобы быть успешно загруженным. Некоторые модули, такие как store module обязательно требуются при старте и без их подключения система не может быть запущена. По умолчанию для указания конфигурации модулей используются отдельные файлы из каталога conf-enabled.d. Для этого используется директива <IncludeFile ПУТЬ_К_ФАЙЛУ></IncludeFile>. Одна директива указана в секции <Modules>, а вторая в корне файла конфигурации (для store module). + + Описание параметров модуля InetAccess (auth_ia) для работы с клиентскими авторизаторами: + + Port – параметр, определяющий на каком порту сервер будет принимать обращения авторизаторов клиентов, по умолчанию UserPort=5555. + UserTimeout – параметр, показывающий серверу, через какое время в секундах клиент будет отключен, если авторизатор не отвечает серверу на запросы. По умолчанию UserTimeout=60. Значение данного параметра должно лежать в диапазоне от 15 до 1200. + UserDelay – время в секундах, через которое сервер опрашивает клиента. Сервер шлет клиенту запрос подтверждения работы авторизатора, а клиент должен прислать ответ что авторизатор находится в рабочем состоянии. Так же это время, через которое у клиента обновляется статистика, по умолчанию UserDelay=5. Следует заметить что значение UserDelay должно быть в 3…10 раз меньше чем значение UserTimeout и данные значения не могут содержать одинаковые таймауты. Значение данного параметра должно лежать в диапазоне от 5 до 600. + + FreeMb – параметр, указывающий серверу что будет передаваться авторизатору клиента от сервера. Данный параметр может принимать следующие значения: + + 0 - количество бесплатных мегабайт в пересчете на цену нулевого направления; + 1 - количество бесплатных мегабайт в пересчете на цену первого направления; + 2 - количество бесплатных мегабайт в пересчете на цену второго направления; + ... + 9 - количество бесплатных мегабайт в пересчете на цену девятого направления; + cash - количество денег на которые клиент может бесплатно работать; + none - ничего не передавать. + + + + + + + + + + + + diff --git a/doc/help/help.xml b/doc/help/help.xml index cfea6159..f0940418 100644 --- a/doc/help/help.xml +++ b/doc/help/help.xml @@ -5,7 +5,8 @@ "xmlns:xi CDATA #FIXED 'http://www.w3.org/2001/XInclude'"> ]> + xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0" + lang="ru"> Stargazer - руководство пользователя diff --git a/projects/convertor/build b/projects/convertor/build index 954f1422..4108fbdd 100755 --- a/projects/convertor/build +++ b/projects/convertor/build @@ -84,28 +84,28 @@ else SHELL="/usr/local/bin/bash" fi -echo -n "Checking gcc... " -gcc --version > /dev/null 2> /dev/null +echo -n "Checking CC... " +$CC --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "gcc not found" + echo "$CC not found" exit; fi echo "found" -echo -n "Checking g++... " -g++ --version > /dev/null 2> /dev/null +echo -n "Checking CXX... " +$CXX --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "g++ not found" + echo "$CXX not found" exit; fi echo "found" echo -n "Checking endianess... " echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS -L/usr/lib/mysql -L/usr/local/lib/mysql build_check.c -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS -L/usr/lib/mysql -L/usr/local/lib/mysql build_check.c -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" @@ -127,7 +127,7 @@ fi rm -f fake echo -n "Checking for -lfbclient... " -gcc $CXXFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_FBCLIENT=no @@ -144,7 +144,7 @@ if [ $? != 0 ] then echo "no"; echo -n "Checking for -lmysqlclient... " - gcc $CXXFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null + $CC $CXXFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_MYSQLCLIENT=no @@ -185,7 +185,7 @@ if [ $? != 0 ] then echo "no"; echo -n "Checking for -lpq... " - gcc $CXXFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null + $CC $CXXFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_PQ=no diff --git a/projects/rlm_stg/build b/projects/rlm_stg/build index b01f41f5..81593334 100755 --- a/projects/rlm_stg/build +++ b/projects/rlm_stg/build @@ -89,28 +89,28 @@ else CXXFLAGS="$CXXFLAGS -DHAVE_CLOSEFROM" fi -echo -n "Checking gcc... " -gcc --version > /dev/null 2> /dev/null +echo -n "Checking CC... " +$CC --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "gcc not found" + echo "$CC not found" exit; fi echo "found" -echo -n "Checking g++... " -g++ --version > /dev/null 2> /dev/null +echo -n "Checking CXX... " +$CXX --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "g++ not found" + echo "$CXX not found" exit; fi echo "found" echo -n "Checking endianess... " echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" diff --git a/projects/rscriptd/build b/projects/rscriptd/build index a91d70c8..88fcef0b 100755 --- a/projects/rscriptd/build +++ b/projects/rscriptd/build @@ -94,28 +94,28 @@ else SHELL="/usr/local/bin/bash" fi -echo -n "Checking gcc... " -gcc --version > /dev/null 2> /dev/null +echo -n "Checking CC... " +$CC --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "gcc not found" + echo "$CC not found" exit; fi echo "found" -echo -n "Checking g++... " -g++ --version > /dev/null 2> /dev/null +echo -n "Checking CXX... " +$CXX --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "g++ not found" + echo "$CXX not found" exit; fi echo "found" echo -n "Checking endianess... " echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" diff --git a/projects/sgauth/build b/projects/sgauth/build index 7103cf30..81a897f9 100755 --- a/projects/sgauth/build +++ b/projects/sgauth/build @@ -92,28 +92,28 @@ else SHELL="/usr/local/bin/bash" fi -echo -n "Checking gcc... " -gcc --version > /dev/null 2> /dev/null +echo -n "Checking CC... " +$CC --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "gcc not found" + echo "$CC not found" exit; fi echo "found" -echo -n "Checking g++... " -g++ --version > /dev/null 2> /dev/null +echo -n "Checking CXX... " +$CXX --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "g++ not found" + echo "$CXX not found" exit; fi echo "found" echo -n "Checking endianess... " echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" diff --git a/projects/sgauthstress/build b/projects/sgauthstress/build index e9677028..c4f254d2 100755 --- a/projects/sgauthstress/build +++ b/projects/sgauthstress/build @@ -96,28 +96,28 @@ else SHELL="/usr/local/bin/bash" fi -echo -n "Checking gcc... " -gcc --version > /dev/null 2> /dev/null +echo -n "Checking CC... " +$CC --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "gcc not found" + echo "$CC not found" exit; fi echo "found" -echo -n "Checking g++... " -g++ --version > /dev/null 2> /dev/null +echo -n "Checking CXX... " +$CXX --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "g++ not found" + echo "$CXX not found" exit; fi echo "found" echo -n "Checking endianess... " echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" @@ -140,7 +140,7 @@ rm -f fake rm -f build_check.c echo -n "Checking for -lfbclient... " -gcc $CXXFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_FBCLIENT=no @@ -157,7 +157,7 @@ if [ $? != 0 ] then echo "no"; echo -n "Checking for -lmysqlclient... " - gcc $CXXFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null + $CC $CXXFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_MYSQLCLIENT=no @@ -198,7 +198,7 @@ if [ $? != 0 ] then echo "no"; echo -n "Checking for -lpq... " - gcc $CXXFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null + $CC $CXXFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_PQ=no diff --git a/projects/sgconf/build b/projects/sgconf/build index 102b95ac..c0cb49b6 100755 --- a/projects/sgconf/build +++ b/projects/sgconf/build @@ -91,28 +91,28 @@ else SHELL="/usr/local/bin/bash" fi -echo -n "Checking gcc... " -gcc --version > /dev/null 2> /dev/null +echo -n "Checking CC... " +$CC --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "gcc not found" + echo "$CC not found" exit; fi echo "found" -echo -n "Checking g++... " -g++ --version > /dev/null 2> /dev/null +echo -n "Checking CXX... " +$CXX --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "g++ not found" + echo "$CXX not found" exit; fi echo "found" echo -n "Checking endianess... " echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" @@ -135,7 +135,7 @@ rm -f fake echo -n "Checking for -lexpat... " echo "int main() { return 0; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_EXPAT=no diff --git a/projects/sgconf_xml/build b/projects/sgconf_xml/build index 660899d7..77924a9c 100755 --- a/projects/sgconf_xml/build +++ b/projects/sgconf_xml/build @@ -91,28 +91,28 @@ else SHELL="/usr/local/bin/bash" fi -echo -n "Checking gcc... " -gcc --version > /dev/null 2> /dev/null +echo -n "Checking CC... " +$CC --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "gcc not found" + echo "$CC not found" exit; fi echo "found" -echo -n "Checking g++... " -g++ --version > /dev/null 2> /dev/null +echo -n "Checking CXX... " +$CXX --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "g++ not found" + echo "$CXX not found" exit; fi echo "found" echo -n "Checking endianess... " echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" @@ -135,7 +135,7 @@ rm -f fake echo -n "Checking for -lexpat... " echo "int main() { return 0; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_EXPAT=no diff --git a/projects/stargazer/admin_impl.cpp b/projects/stargazer/admin_impl.cpp index 3d5574c7..7f1b301f 100644 --- a/projects/stargazer/admin_impl.cpp +++ b/projects/stargazer/admin_impl.cpp @@ -33,14 +33,16 @@ //----------------------------------------------------------------------------- ADMIN_IMPL::ADMIN_IMPL() - : conf(), + : ADMIN(), + conf(), ip(0), WriteServLog(GetStgLogger()) { } //----------------------------------------------------------------------------- ADMIN_IMPL::ADMIN_IMPL(const ADMIN_CONF & ac) - : conf(ac), + : ADMIN(), + conf(ac), ip(0), WriteServLog(GetStgLogger()) { @@ -49,7 +51,8 @@ ADMIN_IMPL::ADMIN_IMPL(const ADMIN_CONF & ac) ADMIN_IMPL::ADMIN_IMPL(const PRIV & priv, const std::string & login, const std::string & password) - : conf(priv, login, password), + : ADMIN(), + conf(priv, login, password), ip(0), WriteServLog(GetStgLogger()) { diff --git a/projects/stargazer/admins_impl.cpp b/projects/stargazer/admins_impl.cpp index 4980234a..3fe2c10b 100644 --- a/projects/stargazer/admins_impl.cpp +++ b/projects/stargazer/admins_impl.cpp @@ -42,7 +42,8 @@ using namespace std; //----------------------------------------------------------------------------- ADMINS_IMPL::ADMINS_IMPL(STORE * st) - : stg(0xFFFF, "@stargazer", ""), + : ADMINS(), + stg(0xFFFF, "@stargazer", ""), noAdmin(0xFFFF, "NO-ADMIN", ""), data(), store(st), diff --git a/projects/stargazer/build b/projects/stargazer/build index 1779160b..c2b171a4 100755 --- a/projects/stargazer/build +++ b/projects/stargazer/build @@ -158,28 +158,28 @@ else SHELL="/usr/local/bin/bash" fi -echo -n "Checking gcc... " -gcc --version > /dev/null 2> /dev/null +echo -n "Checking CC... " +$CC --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "gcc not found" + echo "$CC not found" exit; fi echo "found" -echo -n "Checking g++... " -g++ --version > /dev/null 2> /dev/null +echo -n "Checking CXX... " +$CXX --version > /dev/null 2> /dev/null if [ $? != 0 ] then echo "FAIL!" - echo "g++ not found" + echo "$CXX not found" exit; fi echo "found" echo -n "Checking endianess... " echo "int main() { int probe = 0x00000001; return *(char *)&probe; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -o fake if [ $? != 0 ] then echo "FAIL!" @@ -202,7 +202,7 @@ rm -f fake echo -n "Checking for -lexpat... " echo "int main() { return 0; }" > build_check.c -gcc $CXXFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -lexpat -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_EXPAT=no @@ -214,7 +214,7 @@ fi rm -f fake echo -n "Checking for -lfbclient... " -gcc $CXXFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null +$CC $CXXFLAGS $LDFLAGS build_check.c -lfbclient $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_FBCLIENT=no @@ -231,7 +231,7 @@ if [ $? != 0 ] then echo "no"; echo -n "Checking for -lmysqlclient... " - gcc $CXXFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null + $CC $CXXFLAGS $LDFLAGS build_check.c -lmysqlclient_r $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_MYSQLCLIENT=no @@ -272,7 +272,7 @@ if [ $? != 0 ] then echo "no"; echo -n "Checking for -lpq... " - gcc $CXXFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null + $CC $CXXFLAGS $LDFLAGS build_check.c -lpq $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_PQ=no @@ -311,7 +311,7 @@ if [ $? != 0 ] then echo "no"; echo -n "Checking for -lxmlrpc... " - gcc $CXXFLAGS $LDFLAGS build_check.c -lxmlrpc $LIB_THREAD -o fake > /dev/null 2> /dev/null + $CC $CXXFLAGS $LDFLAGS build_check.c -lxmlrpc $LIB_THREAD -o fake > /dev/null 2> /dev/null if [ $? != 0 ] then CHECK_XMLRPC=no diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_firebird.conf b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_firebird.conf index 99b629ae..738d75cc 100644 --- a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_firebird.conf +++ b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_firebird.conf @@ -3,35 +3,35 @@ # Parameter: required # Value: IP address or DNS name # Default: localhost - server = localhost + Server = localhost # Path to the database on the server or its alias # Parameter: required # Value: file path # Default: /var/stg/stargazer.fdb - database = /var/stg/stargazer.fdb + Database = /var/stg/stargazer.fdb # Database username # Parameter: required # Value: any, supported by database # Default: stg - user = stg + User = stg # Database password # Parameter: required # Value: any, supported by database # Default: 123456 - password = 123456 + Password = 123456 # The transaction isolation level # Parameter: optional # Values: concurrency, dirtyread, readcommitted, consistency # Defalt: concurrency - isolationLevel = concurrency + IsolationLevel = concurrency # Responding to lock (optional, defaults to wait): # Parameter: optional # Values: wait, nowait # Defalt: wait - lockResolution = wait - \ No newline at end of file + LockResolution = wait + diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_mysql.conf b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_mysql.conf index 4cd2c0de..a5cc4180 100644 --- a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_mysql.conf +++ b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_mysql.conf @@ -3,23 +3,23 @@ # Parameter: required # Value: IP address or DNS name # Default: localhost - server = localhost + Server = localhost # Database name # Parameter: required # Value: any, supported by database # Default: stg - database = stg + Database = stg # Database username # Parameter: required # Value: any, supported by database # Default: stg - user = stg + User = stg # Database password # Parameter: required # Value: any, supported by database # Default: 123456 - password = 123456 + Password = 123456 diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_postgresql.conf b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_postgresql.conf index 5132c8fc..15326584 100644 --- a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_postgresql.conf +++ b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/store_postgresql.conf @@ -3,29 +3,29 @@ # Parameter: required # Value: IP address or DNS name # Default: localhost - server = localhost + Server = localhost # Database name # Parameter: required # Value: any, supported by database # Default: stargazer - database = stargazer + Database = stargazer # Database username # Parameter: mandatory # Value: any, supported by database # Default: stg - user = stg + User = stg # Database password # Parameter: required # Value: any, supported by database # Default: 123456 - password = 123456 + Password = 123456 # Number of tries to reconnect # Parameter: optional # Value: positive integer # Default: 3 - # retries = 3 + # Retries = 3 diff --git a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_firebird.conf b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_firebird.conf index 99b629ae..738d75cc 100644 --- a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_firebird.conf +++ b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_firebird.conf @@ -3,35 +3,35 @@ # Parameter: required # Value: IP address or DNS name # Default: localhost - server = localhost + Server = localhost # Path to the database on the server or its alias # Parameter: required # Value: file path # Default: /var/stg/stargazer.fdb - database = /var/stg/stargazer.fdb + Database = /var/stg/stargazer.fdb # Database username # Parameter: required # Value: any, supported by database # Default: stg - user = stg + User = stg # Database password # Parameter: required # Value: any, supported by database # Default: 123456 - password = 123456 + Password = 123456 # The transaction isolation level # Parameter: optional # Values: concurrency, dirtyread, readcommitted, consistency # Defalt: concurrency - isolationLevel = concurrency + IsolationLevel = concurrency # Responding to lock (optional, defaults to wait): # Parameter: optional # Values: wait, nowait # Defalt: wait - lockResolution = wait - \ No newline at end of file + LockResolution = wait + diff --git a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_mysql.conf b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_mysql.conf index 4cd2c0de..a5cc4180 100644 --- a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_mysql.conf +++ b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_mysql.conf @@ -3,23 +3,23 @@ # Parameter: required # Value: IP address or DNS name # Default: localhost - server = localhost + Server = localhost # Database name # Parameter: required # Value: any, supported by database # Default: stg - database = stg + Database = stg # Database username # Parameter: required # Value: any, supported by database # Default: stg - user = stg + User = stg # Database password # Parameter: required # Value: any, supported by database # Default: 123456 - password = 123456 + Password = 123456 diff --git a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_postgresql.conf b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_postgresql.conf index 5132c8fc..15326584 100644 --- a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_postgresql.conf +++ b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/store_postgresql.conf @@ -3,29 +3,29 @@ # Parameter: required # Value: IP address or DNS name # Default: localhost - server = localhost + Server = localhost # Database name # Parameter: required # Value: any, supported by database # Default: stargazer - database = stargazer + Database = stargazer # Database username # Parameter: mandatory # Value: any, supported by database # Default: stg - user = stg + User = stg # Database password # Parameter: required # Value: any, supported by database # Default: 123456 - password = 123456 + Password = 123456 # Number of tries to reconnect # Parameter: optional # Value: positive integer # Default: 3 - # retries = 3 + # Retries = 3 diff --git a/projects/stargazer/main.cpp b/projects/stargazer/main.cpp index 64d1cda2..5014c5cf 100644 --- a/projects/stargazer/main.cpp +++ b/projects/stargazer/main.cpp @@ -35,6 +35,7 @@ #include #include #include +#include // srandom, exit #include #include #include diff --git a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp index a4890e2c..c2c544fd 100644 --- a/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp +++ b/projects/stargazer/plugins/configuration/rpcconfig/rpcconfig.cpp @@ -1,3 +1,5 @@ +#include // TODO: usleep + #include #include diff --git a/projects/stargazer/plugins/other/rscript/rscript.cpp b/projects/stargazer/plugins/other/rscript/rscript.cpp index 12c00a40..410e7aa8 100644 --- a/projects/stargazer/plugins/other/rscript/rscript.cpp +++ b/projects/stargazer/plugins/other/rscript/rscript.cpp @@ -29,6 +29,7 @@ #include #include +#include #include #include "stg/common.h" diff --git a/projects/stargazer/settings_impl.cpp b/projects/stargazer/settings_impl.cpp index f9135a1a..d197efc4 100644 --- a/projects/stargazer/settings_impl.cpp +++ b/projects/stargazer/settings_impl.cpp @@ -40,7 +40,8 @@ using namespace std; //----------------------------------------------------------------------------- SETTINGS_IMPL::SETTINGS_IMPL() - : strError(), + : SETTINGS(), + strError(), modulesPath("/usr/lib/stg"), dirName(DIR_NUM), confDir("/etc/stargazer"), @@ -72,7 +73,8 @@ SETTINGS_IMPL::SETTINGS_IMPL() } //----------------------------------------------------------------------------- SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd) - : strError(), + : SETTINGS(), + strError(), modulesPath("/usr/lib/stg"), dirName(DIR_NUM), confDir(cd), @@ -104,7 +106,8 @@ SETTINGS_IMPL::SETTINGS_IMPL(const std::string & cd) } //----------------------------------------------------------------------------- SETTINGS_IMPL::SETTINGS_IMPL(const SETTINGS_IMPL & rval) - : strError(), + : SETTINGS(), + strError(), modulesPath(rval.modulesPath), dirName(rval.dirName), confDir(rval.confDir), diff --git a/projects/stargazer/tariff_impl.h b/projects/stargazer/tariff_impl.h index b8d0a776..cdfd7112 100644 --- a/projects/stargazer/tariff_impl.h +++ b/projects/stargazer/tariff_impl.h @@ -46,16 +46,20 @@ class TARIFF_IMPL : public TARIFF { public: TARIFF_IMPL() - : tariffData() + : TARIFF(), + tariffData() {}; TARIFF_IMPL(const std::string & name) - : tariffData(name) + : TARIFF(), + tariffData(name) {}; TARIFF_IMPL(const TARIFF_DATA & td) - : tariffData(td) + : TARIFF(), + tariffData(td) {}; TARIFF_IMPL(const TARIFF_IMPL & t) - : tariffData(t.tariffData) + : TARIFF(), + tariffData(t.tariffData) {}; virtual ~TARIFF_IMPL() {}; diff --git a/projects/stargazer/tariffs_impl.cpp b/projects/stargazer/tariffs_impl.cpp index d6d6b36a..d2ea7c9a 100644 --- a/projects/stargazer/tariffs_impl.cpp +++ b/projects/stargazer/tariffs_impl.cpp @@ -42,7 +42,8 @@ using namespace std; //----------------------------------------------------------------------------- TARIFFS_IMPL::TARIFFS_IMPL(STORE * st) - : tariffs(), + : TARIFFS(), + tariffs(), store(st), WriteServLog(GetStgLogger()), strError(), diff --git a/projects/stargazer/traffcounter_impl.cpp b/projects/stargazer/traffcounter_impl.cpp index 424cc094..237799f5 100644 --- a/projects/stargazer/traffcounter_impl.cpp +++ b/projects/stargazer/traffcounter_impl.cpp @@ -37,6 +37,7 @@ #include #include #include // fopen and similar +#include // strtol #include "stg/common.h" #include "stg/locker.h" @@ -57,7 +58,8 @@ tcp = 0, udp, icmp, tcp_udp, all //----------------------------------------------------------------------------- TRAFFCOUNTER_IMPL::TRAFFCOUNTER_IMPL(USERS_IMPL * u, const std::string & fn) - : WriteServLog(GetStgLogger()), + : TRAFFCOUNTER(), + WriteServLog(GetStgLogger()), rulesFileName(fn), monitoring(false), users(u), diff --git a/projects/stargazer/user_impl.cpp b/projects/stargazer/user_impl.cpp index e8d326d2..ec271442 100644 --- a/projects/stargazer/user_impl.cpp +++ b/projects/stargazer/user_impl.cpp @@ -54,7 +54,8 @@ USER_IMPL::USER_IMPL(const SETTINGS * s, const TARIFFS * t, const ADMIN * a, const USERS * u) - : users(u), + : USER(), + users(u), property(s->GetScriptsDir()), WriteServLog(GetStgLogger()), login(), @@ -137,7 +138,8 @@ USER_IMPL::USER_IMPL(const SETTINGS_IMPL * s, const TARIFFS * t, const ADMIN * a, const USERS * u) - : users(u), + : USER(), + users(u), property(s->GetScriptsDir()), WriteServLog(GetStgLogger()), login(), @@ -217,7 +219,8 @@ pthread_mutex_init(&mutex, &attr); #endif //----------------------------------------------------------------------------- USER_IMPL::USER_IMPL(const USER_IMPL & u) - : users(u.users), + : USER(), + users(u.users), property(u.settings->GetScriptsDir()), WriteServLog(GetStgLogger()), login(u.login), diff --git a/projects/stargazer/users_impl.cpp b/projects/stargazer/users_impl.cpp index d0e53644..febd90f5 100644 --- a/projects/stargazer/users_impl.cpp +++ b/projects/stargazer/users_impl.cpp @@ -53,7 +53,8 @@ extern const volatile time_t stgTime; //----------------------------------------------------------------------------- USERS_IMPL::USERS_IMPL(SETTINGS_IMPL * s, STORE * st, TARIFFS * t, const ADMIN * sa) - : users(), + : USERS(), + users(), usersToDelete(), userIPNotifiersBefore(), userIPNotifiersAfter(), @@ -274,7 +275,7 @@ usersList.clear(); if (store->GetUsersList(&usersList) < 0) { WriteServLog(store->GetStrError().c_str()); - exit(1); + return -1; } user_iter ui;