From e90c42436ebc265ec787124be5980bbdbc9e8c6a Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Mon, 19 Mar 2018 11:08:20 +0200 Subject: [PATCH 01/16] Updare release script. --- projects/make_tarball/make.sh | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/projects/make_tarball/make.sh b/projects/make_tarball/make.sh index 0c052724..32e8b799 100755 --- a/projects/make_tarball/make.sh +++ b/projects/make_tarball/make.sh @@ -1,9 +1,16 @@ #!/bin/sh -SRC_DIR=stg-2.4-`date "+%Y.%m.%d-%H.%M.%S"` +if [ "$1" != "" ] +then + SRC_DIR="$1" +else + PREFIX="stg-2.4" + SRC_DIR=$(date "+${PREFIX}-%Y.%m.%d-%H.%M.%S") +fi + ARC_NAME=$SRC_DIR.tar.gz -git clone git://gitorious.org/stg/stg.git $SRC_DIR +git clone git@stg.codes:stg.git $SRC_DIR if [ $? != 0 ] then @@ -14,17 +21,19 @@ fi rm -rf $SRC_DIR/.git rm -f $SRC_DIR/.gitignore rm -r $SRC_DIR/projects/make_tarball -rm -r $SRC_DIR/projects/traffcounter rm -r $SRC_DIR/projects/sgauthstress +rm -r $SRC_DIR/projects/rlm_stg rm -r $SRC_DIR/projects/stargazer/plugins/authorization/stress -rm -r $SRC_DIR/projects/stargazer/plugins/configuration/sgconfig2 -rm -r $SRC_DIR/projects/stargazer/plugins/configuration/sgconfig-ng -rm -r $SRC_DIR/projects/stargazer/plugins/configuration/xrconfig -rm -r $SRC_DIR/projects/stargazer/plugins/other/userstat -rm -r $SRC_DIR/projects/stargazer/plugins/store/db rm -r $SRC_DIR/doc/help rm $SRC_DIR/doc/help.odt -make -C $SRC_DIR/doc/xmlrpc +if [ -f /usr/share/sgml/docbook/xsl-stylesheets/html/chunk.xsl ] +then + echo "Building doc..." + make -C $SRC_DIR/doc/xmlrpc + make -C $SRC_DIR/doc/help +else + echo "No XSL stylesheets, skipping doc build" +fi tar -zcf $ARC_NAME $SRC_DIR -- 2.44.2 From 471a8ddb278cb5621e36a6c45e450d40580e50fd Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Tue, 20 Mar 2018 11:58:08 +0200 Subject: [PATCH 02/16] Fix include path. --- projects/sgconf/parser.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/projects/sgconf/parser.cpp b/projects/sgconf/parser.cpp index 9d340e83..79833fd3 100644 --- a/projects/sgconf/parser.cpp +++ b/projects/sgconf/parser.cpp @@ -35,7 +35,8 @@ #include "stg/common.h" #include "stg/netunit.h" -#include "stg/request.h" + +#include "request.h" using namespace std; -- 2.44.2 From ce23bada2111a637074629161268ce1039d28a58 Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Tue, 20 Mar 2018 11:58:18 +0200 Subject: [PATCH 03/16] Fix build on Darwin. --- projects/libs/build | 2 +- projects/rscriptd/build | 2 +- projects/sgauth/build | 2 +- projects/sgauthstress/Makefile | 7 ++++++- projects/sgauthstress/build | 12 +++++++++--- projects/sgconf/build | 2 +- projects/sgconf_xml/build | 2 +- projects/sgconv/build | 2 +- projects/stargazer/build | 2 +- 9 files changed, 22 insertions(+), 11 deletions(-) diff --git a/projects/libs/build b/projects/libs/build index 4c1fce9b..53e3b533 100755 --- a/projects/libs/build +++ b/projects/libs/build @@ -65,7 +65,7 @@ fi if [ "$sys" = "Darwin" ] then OS=darwin - MAKE="gmake" + MAKE="make" fi if [ "$OS" = "unknown" ] diff --git a/projects/rscriptd/build b/projects/rscriptd/build index 995a9373..8c12e527 100755 --- a/projects/rscriptd/build +++ b/projects/rscriptd/build @@ -55,7 +55,7 @@ if [ "$sys" = "Darwin" ] then OS=darwin ETC_DIR="./inst/freebsd/etc/stargazer" - MAKE="gmake" + MAKE="make" fi if [ "$OS" = "unknown" ] diff --git a/projects/sgauth/build b/projects/sgauth/build index 5f8821b0..3e5833fc 100755 --- a/projects/sgauth/build +++ b/projects/sgauth/build @@ -55,7 +55,7 @@ if [ "$sys" = "Darwin" ] then OS=darwin ETC_DIR="./inst/freebsd/etc/stargazer" - MAKE="gmake" + MAKE="make" CFLAGS="$CFLAGS -I/opt/local/include" CXXFLAGS="$CFLAGS -I/opt/local/include" LDFLAGS="$LDFLAGS -L/opt/local/lib" diff --git a/projects/sgauthstress/Makefile b/projects/sgauthstress/Makefile index 74c09b62..4415220f 100644 --- a/projects/sgauthstress/Makefile +++ b/projects/sgauthstress/Makefile @@ -30,7 +30,12 @@ OBJS = $(notdir $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(SRCS)))) CXXFLAGS += $(DEFS) $(STGLIBS_INCS) $(SEARCH_DIRS) CFLAGS += $(DEFS) $(STGLIBS_INCS) $(SEARCH_DIRS) -LDFLAGS += -Wl,-E $(STGLIBS_LIBS) + +ifneq ($(OS),darwin) +LDFLAGS += -Wl,-E +endif + +LDFLAGS += $(STGLIBS_LIBS) .PHONY: all clean distclean libs plugins all: libs plugins $(PROG) ../../Makefile.conf diff --git a/projects/sgauthstress/build b/projects/sgauthstress/build index dae35b74..125061d9 100755 --- a/projects/sgauthstress/build +++ b/projects/sgauthstress/build @@ -55,7 +55,7 @@ if [ "$sys" = "Darwin" ] then OS=darwin ETC_DIR="./inst/freebsd/etc/stargazer" - MAKE="gmake" + MAKE="make" CFLAGS="$CFLAGS -I/opt/local/include" CXXFLAGS="$CFLAGS -I/opt/local/include" LDFLAGS="$LDFLAGS -L/opt/local/lib" @@ -92,12 +92,18 @@ else DEFS="$DEFS -DFREE_BSD" LIB_THREAD=-lc_r else - DEFS="$DEFS -DFREE_BSD5" if [ "$OS" = "bsd7" ] then + DEFS="$DEFS -DFREE_BSD5" LIB_THREAD=-lpthread else - LIB_THREAD=-lc_r + if [ "$OS" == "darwin" ] + then + DEFS="$DEFS -DDARWIN" + LIB_THREAD=-lpthread + else + LIB_THREAD=-lc_r + fi fi fi fi diff --git a/projects/sgconf/build b/projects/sgconf/build index 7ac18e3c..559f53c5 100755 --- a/projects/sgconf/build +++ b/projects/sgconf/build @@ -55,7 +55,7 @@ if [ "$sys" = "Darwin" ] then OS=darwin ETC_DIR="./inst/freebsd/etc/stargazer" - MAKE="gmake" + MAKE="make" fi if [ "$OS" = "unknown" ] diff --git a/projects/sgconf_xml/build b/projects/sgconf_xml/build index 5aee9de3..eb782f9f 100755 --- a/projects/sgconf_xml/build +++ b/projects/sgconf_xml/build @@ -54,7 +54,7 @@ fi if [ "$sys" = "Darwin" ] then OS=darwin - MAKE="gmake" + MAKE="make" fi if [ "$OS" = "unknown" ] diff --git a/projects/sgconv/build b/projects/sgconv/build index 676bf74e..3eb6e033 100755 --- a/projects/sgconv/build +++ b/projects/sgconv/build @@ -56,7 +56,7 @@ if [ "$sys" = "Darwin" ] then OS=darwin ETC_DIR="./inst/freebsd/etc/stargazer" - MAKE="gmake" + MAKE="make" fi if [ "$OS" = "unknown" ] diff --git a/projects/stargazer/build b/projects/stargazer/build index 1fbb8a98..f54e5ffb 100755 --- a/projects/stargazer/build +++ b/projects/stargazer/build @@ -76,7 +76,7 @@ if [ "$sys" = "Darwin" ] then OS=darwin ETC_DIR="./inst/freebsd/etc/stargazer" - MAKE="gmake" + MAKE="make" fi if [ "$OS" = "unknown" ] -- 2.44.2 From d2fc992c13b7684957b4bfa4b409389e9383d333 Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Tue, 20 Mar 2018 12:23:16 +0200 Subject: [PATCH 04/16] Add a script to run cppcheck over all projects. --- runcheck.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 runcheck.sh diff --git a/runcheck.sh b/runcheck.sh new file mode 100755 index 00000000..9115cc00 --- /dev/null +++ b/runcheck.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +INCLUDES="-I include/ + -I stglibs/common.lib/include/ + -I stglibs/conffiles.lib/include/ + -I stglibs/crypto.lib/include/ + -I stglibs/dotconfpp.lib/include/ + -I stglibs/ia.lib/include/ + -I stglibs/ibpp.lib/include/ + -I stglibs/logger.lib/include/ + -I stglibs/pinger.lib/include/ + -I stglibs/scriptexecuter.lib/include/ + -I stglibs/smux.lib/include/ + -I stglibs/srvconf.lib/include/" + +PROJECTS="projects/libs + projects/rscriptd + projects/sgauth + projects/sgconf + projects/sgconf_xml + projects/sgconv + projects/stargazer" + +cppcheck ${INCLUDES} --enable=all -q ${PROJECTS} -- 2.44.2 From fd6693bcef5ee7273353b9c51173e67e4761ba3b Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Tue, 20 Mar 2018 12:23:38 +0200 Subject: [PATCH 05/16] Clone the correct branch in make_tarball. --- projects/make_tarball/make.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/make_tarball/make.sh b/projects/make_tarball/make.sh index 32e8b799..eef57e3f 100755 --- a/projects/make_tarball/make.sh +++ b/projects/make_tarball/make.sh @@ -10,7 +10,7 @@ fi ARC_NAME=$SRC_DIR.tar.gz -git clone git@stg.codes:stg.git $SRC_DIR +git clone git@stg.codes:stg.git -b stg-2.409 $SRC_DIR if [ $? != 0 ] then -- 2.44.2 From aff88622fc65f266e4c511c5138b950cc72ba444 Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Tue, 26 May 2020 18:14:53 +0300 Subject: [PATCH 06/16] Use C++03 in cppcheck. --- runcheck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runcheck.sh b/runcheck.sh index 9115cc00..e3158bbf 100755 --- a/runcheck.sh +++ b/runcheck.sh @@ -21,4 +21,4 @@ PROJECTS="projects/libs projects/sgconv projects/stargazer" -cppcheck ${INCLUDES} --enable=all -q ${PROJECTS} +cppcheck --std=c++03 ${INCLUDES} --enable=all -q ${PROJECTS} -- 2.44.2 From 3b51da05ef42ecf59b78a6c29664d3e555bc57da Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Tue, 26 May 2020 18:15:15 +0300 Subject: [PATCH 07/16] Allow user-defined 'ar' and 'ranlib'. --- projects/libs/build | 30 ++++++++++++++++++++++++++++++ projects/rlm_stg/build | 32 ++++++++++++++++++++++++++++++++ projects/rscriptd/build | 30 ++++++++++++++++++++++++++++++ projects/sgauth/build | 30 ++++++++++++++++++++++++++++++ projects/sgauthstress/build | 30 ++++++++++++++++++++++++++++++ projects/sgconf/build | 30 ++++++++++++++++++++++++++++++ projects/sgconf_xml/build | 30 ++++++++++++++++++++++++++++++ projects/sgconv/build | 30 ++++++++++++++++++++++++++++++ projects/stargazer/build | 30 ++++++++++++++++++++++++++++++ stglibs/Makefile.in | 6 +++--- 10 files changed, 275 insertions(+), 3 deletions(-) diff --git a/projects/libs/build b/projects/libs/build index 53e3b533..61664a59 100755 --- a/projects/libs/build +++ b/projects/libs/build @@ -122,6 +122,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -140,6 +150,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -271,6 +299,8 @@ done printf "\n" >> $CONFFILE printf "CC=$CC\n" >> $CONFFILE printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/projects/rlm_stg/build b/projects/rlm_stg/build index 179d5261..4fe02d2f 100755 --- a/projects/rlm_stg/build +++ b/projects/rlm_stg/build @@ -94,6 +94,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -112,6 +122,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -165,6 +193,10 @@ do printf "$lib " >> $CONFFILE done printf "\n" >> $CONFFILE +printf "CC=$CC\n" >> $CONFFILE +printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/projects/rscriptd/build b/projects/rscriptd/build index 8c12e527..227b1bca 100755 --- a/projects/rscriptd/build +++ b/projects/rscriptd/build @@ -112,6 +112,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -130,6 +140,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -188,6 +216,8 @@ printf "\n" >> $CONFFILE printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE printf "CC=$CC\n" >> $CONFFILE printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/projects/sgauth/build b/projects/sgauth/build index 3e5833fc..1c153d6b 100755 --- a/projects/sgauth/build +++ b/projects/sgauth/build @@ -114,6 +114,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -132,6 +142,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -190,6 +218,8 @@ printf "\n" >> $CONFFILE printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE printf "CC=$CC\n" >> $CONFFILE printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/projects/sgauthstress/build b/projects/sgauthstress/build index 125061d9..128e98ea 100755 --- a/projects/sgauthstress/build +++ b/projects/sgauthstress/build @@ -118,6 +118,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -136,6 +146,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -363,6 +391,8 @@ printf "\n" >> $CONFFILE printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE printf "CC=$CC\n" >> $CONFFILE printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/projects/sgconf/build b/projects/sgconf/build index 559f53c5..50c9a117 100755 --- a/projects/sgconf/build +++ b/projects/sgconf/build @@ -111,6 +111,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -129,6 +139,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -207,6 +235,8 @@ printf "\n" >> $CONFFILE printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE printf "CC=$CC\n" >> $CONFFILE printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/projects/sgconf_xml/build b/projects/sgconf_xml/build index eb782f9f..c0d17f8b 100755 --- a/projects/sgconf_xml/build +++ b/projects/sgconf_xml/build @@ -111,6 +111,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -129,6 +139,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -207,6 +235,8 @@ printf "\n" >> $CONFFILE printf "LIB_THREAD=$LIB_THREAD\n" >> $CONFFILE printf "CC=$CC\n" >> $CONFFILE printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/projects/sgconv/build b/projects/sgconv/build index 3eb6e033..60705252 100755 --- a/projects/sgconv/build +++ b/projects/sgconv/build @@ -116,6 +116,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -134,6 +144,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -359,6 +387,8 @@ done printf "\n" >> $CONFFILE printf "CC=$CC\n" >> $CONFFILE printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/projects/stargazer/build b/projects/stargazer/build index f54e5ffb..86246c3d 100755 --- a/projects/stargazer/build +++ b/projects/stargazer/build @@ -152,6 +152,16 @@ then CXX=g++ fi +if [ -z "$AR" ] +then + AR=ar +fi + +if [ -z "$RANLIB" ] +then + RANLIB=ranlib +fi + printf "Checking CC... " $CC --version > /dev/null 2> /dev/null if [ $? != 0 ] @@ -170,6 +180,24 @@ then exit; fi printf "found\n" +printf "Checking AR... " +$AR --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$AR not found\n" + exit; +fi +printf "found\n" +printf "Checking RANLIB... " +$RANLIB --version > /dev/null 2> /dev/null +if [ $? != 0 ] +then + printf "FAIL!\n" + printf "$RANLIB not found\n" + exit; +fi +printf "found\n" printf "Checking endianess... " printf "int main() { int probe = 0x00000001; return *(char *)&probe; }\n" > build_check.c @@ -539,6 +567,8 @@ done printf "\n" >> $CONFFILE printf "CC=$CC\n" >> $CONFFILE printf "CXX=$CXX\n" >> $CONFFILE +printf "AR=$AR\n" >> $CONFFILE +printf "RANLIB=$RANLIB\n" >> $CONFFILE printf "CXXFLAGS=$CXXFLAGS\n" >> $CONFFILE printf "CFLAGS=$CFLAGS\n" >> $CONFFILE printf "LDFLAGS=$LDFLAGS\n" >> $CONFFILE diff --git a/stglibs/Makefile.in b/stglibs/Makefile.in index 11dfcfb1..a378f489 100644 --- a/stglibs/Makefile.in +++ b/stglibs/Makefile.in @@ -28,11 +28,11 @@ CFLAGS += -fPIC $(SEARCH_DIRS) $(DEFS) all: $(PROG) $(PROG): $(OBJS) - ar rc lib$(LIB_NAME).a $(OBJS) - ranlib lib$(LIB_NAME).a + $(AR) rc lib$(LIB_NAME).a $(OBJS) + $(RANLIB) lib$(LIB_NAME).a clean: - rm -f deps $(PROG) *.o *.a *.so tags *.*~ + rm -f deps $(PROG) *.o *.a *.so tags *.*~ install: $(PROG) ifeq ($(DEBUG), yes) -- 2.44.2 From 28e7683d83570df1fc6b44a74e8eb0782b8bd9a2 Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Sun, 28 Jun 2020 18:14:08 +0300 Subject: [PATCH 08/16] Add missing documentation. --- doc/help/ch4.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/help/ch4.xml b/doc/help/ch4.xml index 7374ce96..178154e7 100644 --- a/doc/help/ch4.xml +++ b/doc/help/ch4.xml @@ -90,6 +90,7 @@ none - ничего не передавать. + LogProtocolErrors – не обязательный параметр, включающий расширенное журналирование ошибок протокола. Может принимать значения yes или no, значение по умолчанию: no. Обмен данными авторизатора с сервером осуществляется по протоколу UDP. Можно указать несколько модулей авторизатора auth_ia для авторизации с разных портов. @@ -194,9 +195,16 @@ Модуль не имеет параметров. Для захвата трафика используются так называемые «raw sockets», которые позволяют получить доступ к Ethernet-фреймам. Перехватывается весь трафик попадающий в сетевую подсистему ядра. При использовании обычной маршрутизации трафик будет посчитан два раза: на входящем интерфейсе и на исходящем. При использовании NAT удвоения трафика не происходит, так как NAT заменяет адрес источника. При интенсивном сетевом обмене или при высокой нагрузке на сервер, на котором происходит захват трафика, модуль может терять отдельные пакеты. Процент потерь тем выше чем выше скорость прохождения пакетов и чем выше загрузка сервера. Модуль рекомендуется использовать для ознакомления или в небольших сетях до 100 абонентов с трафиком до 100 Мбит. - Модуль захвата трафика cap_ipq (только для ОС Linux). + Модуль захвата трафика cap_ipq (устаревший, только для ОС Linux). Модуль не имеет параметров. Для захвата трафика используются передача пакетов из пространства ядра в пространство пользователя посредством очередей (ip queue). Для его работы требуется поддержка ip queueing в ядре (модуль ip_queue.ko) и специальная настройка файрвола (правило QUEUE для iptables). Следует обратить внимание на то что обычно требуется два правила в файрволе для полного перехвата: одно для входящих пакетов и одно для исходящих. Модуль гарантирует 100% перехват трафика, но так как пакет перед отправкой обязательно проходить через плагин — может приводить к снижению пропускной способности роутера. При этом следует обратить внимание на нагрузку на процессор, возможно имеет смысл заменить его на более производительный. В противном случае стоит рассмотреть использование модуля cap_nf для захвата трафика. + + Описание параметров модуля захвата трафика cap_nfqueue (только для ОС Linux). + + queueNumber — не обязательный параметр, определяющий номер очереди netfilter из которой будет происходить захват трафика. + + Для захвата трафика используются передача пакетов из пространства ядра в пространство пользователя посредством очередей (netfilter queue). Модуль является заменой устаревшего cap_ipq. Для его работы требуется поддержка netfilter queueing в ядре (модуль xt_NFQUEUE.ko) и специальная настройка файрвола (правило NFQUEUE для iptables). Следует обратить внимание на то что обычно требуется два правила в файрволе для полного перехвата: одно для входящих пакетов и одно для исходящих. Модуль гарантирует 100% перехват трафика, но так как пакет перед отправкой обязательно проходить через плагин — может приводить к снижению пропускной способности роутера. При этом следует обратить внимание на нагрузку на процессор, возможно имеет смысл заменить его на более производительный. В противном случае стоит рассмотреть использование модуля cap_nf для захвата трафика. + Описание параметров модуля cap_bpf для захвата трафика (только для ОС FreeBSD): -- 2.44.2 From da585bb94c437f06762a2042ef4c52166b8aafce Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Sun, 28 Jun 2020 18:14:35 +0300 Subject: [PATCH 09/16] Fix trailing whitespaces. --- projects/make_tarball/get_from_cvs | 12 +- projects/rlm_stg/stg_client.cpp | 2 +- projects/rscriptd/rscriptd.conf | 2 +- projects/stargazer/Makefile | 4 +- projects/stargazer/actions.inl.h | 10 +- .../inst/freebsd/etc/stargazer/OnConnect | 2 +- .../inst/freebsd/etc/stargazer/OnDisconnect | 2 +- .../inst/freebsd/etc/stargazer/OnUserAdd | 2 +- .../stargazer/conf-available.d/mod_ia.conf | 8 +- .../conf-available.d/mod_radius.conf | 4 +- .../conf-available.d/mod_remote_script.conf | 8 +- .../inst/freebsd/etc/stargazer/stargazer.conf | 16 +- .../stargazer/conf-available.d/mod_ia.conf | 14 +- .../conf-available.d/mod_radius.conf | 4 +- .../conf-available.d/mod_remote_script.conf | 8 +- .../inst/linux/etc/stargazer/stargazer.conf | 16 +- .../inst/var/00-alter-01.postgresql.sql | 2 +- projects/stargazer/inst/var/00-alter-01.sql | 14 +- .../inst/var/00-base-00.postgresql.sql | 2 +- projects/stargazer/inst/var/00-base-00.sql | 10 +- .../authorization/inetaccess/inetaccess.cpp | 2 +- .../plugins/capture/cap_debug/checksum.h | 2 +- .../plugins/capture/cap_debug/constants.h | 2 +- .../stargazer/plugins/capture/cap_debug/ip.c | 4 +- .../plugins/capture/cap_debug/libpal.h | 6 +- .../plugins/capture/cap_debug/packet.c | 6 +- .../stargazer/plugins/capture/cap_debug/tcp.c | 26 +- .../plugins/capture/cap_debug/types.h | 2 +- .../plugins/capture/ipq_linux/libipq.c | 4 +- .../plugins/capture/ipq_linux/libipq.h | 2 +- .../configuration/rpcconfig/users_methods.cpp | 2 +- .../stargazer/plugins/other/smux/STG-MIB.mib | 4 +- .../stargazer/plugins/other/smux/handlers.cpp | 4 +- .../plugins/store/files/file_store.cpp | 2 +- .../plugins/store/mysql/mysql_store.cpp | 272 +++++++++--------- .../plugins/store/mysql/mysql_store.h | 2 +- projects/stargazer/scripts/clean_db | 6 +- projects/stargazer/scripts/monitor | 22 +- projects/stargazer/scripts/shaper/OnConnect | 4 +- projects/stargazer/scripts/shaper/Readme.txt | 24 +- .../scripts/shaper_vpn_radius/Readme | 50 ++-- .../shaper_vpn_radius/firewall/firewall | 2 +- .../shaper_vpn_radius/freeradius/radiusd.conf | 16 +- .../shaper_vpn_radius/ppp/pptpd-options | 6 +- .../scripts/shaper_vpn_radius/pptpd.conf | 2 +- .../shaper_vpn_radius/stargazer/OnConnect | 4 +- .../shaper_vpn_radius/stargazer/OnDisconnect | 2 +- .../shaper_vpn_radius/stargazer/OnUserAdd | 2 +- .../scripts/shaper_vpn_radius/stargazer/rules | 4 +- .../stargazer/stargazer.conf | 14 +- projects/stargazer/settings_impl.h | 4 +- stglibs/dotconfpp.lib/dotconfpp.cpp | 30 +- 52 files changed, 341 insertions(+), 335 deletions(-) diff --git a/projects/make_tarball/get_from_cvs b/projects/make_tarball/get_from_cvs index 362f4029..989c7668 100755 --- a/projects/make_tarball/get_from_cvs +++ b/projects/make_tarball/get_from_cvs @@ -15,7 +15,7 @@ send_user "checkout module $module"; spawn ssh $user@$host expect { - "(yes/no)? " { + "(yes/no)? " { send "yes\r" send_user "Key accepted"; } @@ -24,13 +24,13 @@ expect { send_user "Key accepting dont needed"; } } - -spawn cvs -d :ext:$user@$host:$cvsroot co -N -d $dir $module + +spawn cvs -d :ext:$user@$host:$cvsroot co -N -d $dir $module expect { "assword:" { send "$pass\r" expect { - "assword:" { + "assword:" { send_user "

cvs checkout $module failed. Incorrect password

"; exit 1 } @@ -46,13 +46,13 @@ expect { } } } - + "aborted" { send_user "

cvs checkout $module failed.

"; exit 1 } } - + diff --git a/projects/rlm_stg/stg_client.cpp b/projects/rlm_stg/stg_client.cpp index 113e71c9..284c1e2b 100644 --- a/projects/rlm_stg/stg_client.cpp +++ b/projects/rlm_stg/stg_client.cpp @@ -84,7 +84,7 @@ return 0; int STG_CLIENT::Send(const RAD_PACKET & packet) { /*char buf[RAD_MAX_PACKET_LEN]; - + Encrypt(&ctx, buf, (char *)&packet, sizeof(RAD_PACKET) / 8); int res = sendto(sock, buf, sizeof(RAD_PACKET), 0, (struct sockaddr *)&outerAddr, sizeof(outerAddr)); diff --git a/projects/rscriptd/rscriptd.conf b/projects/rscriptd/rscriptd.conf index 45b7b5c0..47d94466 100644 --- a/projects/rscriptd/rscriptd.conf +++ b/projects/rscriptd/rscriptd.conf @@ -9,7 +9,7 @@ LogFileName = /var/log/rscriptd.log # Amount of rscriptd-exec processes. -# These processes are responsible for the execution of scripts +# These processes are responsible for the execution of scripts # OnConnect and OnDisconnect. # Amount of processes means how many scripts can be executed simultaneously. # Recommend to leave 1 to avoid errors when executing scripts diff --git a/projects/stargazer/Makefile b/projects/stargazer/Makefile index e127d4f8..70aa6b4b 100644 --- a/projects/stargazer/Makefile +++ b/projects/stargazer/Makefile @@ -60,7 +60,7 @@ all: libs plugins $(PROG) libs: $(MAKE) -C $(DIR_LIBSRC) -plugins: libs +plugins: libs $(MAKE) -C $(DIR_PLUGINS) $(PROG): $(OBJS) @@ -114,7 +114,7 @@ endif install -m $(DATA_MODE) -o $(OWNER) $(ETC_DIR)/rules $(PREFIX)/etc/stargazer/rules install -m $(BIN_MODE) -o $(OWNER) $(ETC_DIR)/On* $(PREFIX)/etc/stargazer/ - + # Install file db mkdir -m $(DIR_MODE) -p $(PREFIX)/var/stargazer/admins mkdir -m $(DIR_MODE) -p $(PREFIX)/var/stargazer/tariffs diff --git a/projects/stargazer/actions.inl.h b/projects/stargazer/actions.inl.h index b5b3f8a5..392626ab 100644 --- a/projects/stargazer/actions.inl.h +++ b/projects/stargazer/actions.inl.h @@ -29,7 +29,7 @@ ACTIONS_LIST::~ACTIONS_LIST() STG_LOCKER lock(&mutex); parent::iterator it(parent::begin()); - while (it != parent::end()) + while (it != parent::end()) { delete *it++; } @@ -40,28 +40,28 @@ pthread_mutex_destroy(&mutex); inline ACTIONS_LIST::parent::iterator ACTIONS_LIST::begin() -{ +{ STG_LOCKER lock(&mutex); return parent::begin(); } inline ACTIONS_LIST::parent::iterator ACTIONS_LIST::end() -{ +{ STG_LOCKER lock(&mutex); return parent::end(); } inline ACTIONS_LIST::parent::const_iterator ACTIONS_LIST::begin() const -{ +{ STG_LOCKER lock(&mutex); return parent::begin(); } inline ACTIONS_LIST::parent::const_iterator ACTIONS_LIST::end() const -{ +{ STG_LOCKER lock(&mutex); return parent::end(); } diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/OnConnect b/projects/stargazer/inst/freebsd/etc/stargazer/OnConnect index 912ed7d9..95c31ae9 100755 --- a/projects/stargazer/inst/freebsd/etc/stargazer/OnConnect +++ b/projects/stargazer/inst/freebsd/etc/stargazer/OnConnect @@ -1,7 +1,7 @@ #! /bin/sh #Этот скрипт вызывается в момент, когда пользователь -#успешно прошел авторизацию на сервере. Задача скрипта - перестроить +#успешно прошел авторизацию на сервере. Задача скрипта - перестроить #файрвол так, что бы пользователь получил доступ в интернет # Login diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/OnDisconnect b/projects/stargazer/inst/freebsd/etc/stargazer/OnDisconnect index 6169ddc8..4069b178 100755 --- a/projects/stargazer/inst/freebsd/etc/stargazer/OnDisconnect +++ b/projects/stargazer/inst/freebsd/etc/stargazer/OnDisconnect @@ -3,7 +3,7 @@ # Этот скрипт вызывается в момент, когда пользователь # желает отключится от интернета или вышел таймаут у пользователя # и сервер сам отключает пользователя -# Задача скрипта подобна задаче скрипта OnConnect - перестроить +# Задача скрипта подобна задаче скрипта OnConnect - перестроить # файрвол так, что бы пользователю закрыть доступ в интернет # Login diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/OnUserAdd b/projects/stargazer/inst/freebsd/etc/stargazer/OnUserAdd index 22d321cc..923569c7 100755 --- a/projects/stargazer/inst/freebsd/etc/stargazer/OnUserAdd +++ b/projects/stargazer/inst/freebsd/etc/stargazer/OnUserAdd @@ -2,7 +2,7 @@ # Использование (неиспользование) этого скрипта дело вкуса. # Он не выполняет критических функций. Его задача автматизировать -# действия характерные при добавлении пользователя сети, например добавлекние +# действия характерные при добавлении пользователя сети, например добавлекние # пользователю почты # Login diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_ia.conf b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_ia.conf index 69b5eae3..50d35f81 100644 --- a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_ia.conf +++ b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_ia.conf @@ -8,14 +8,14 @@ # The time interval between sending an alive query to the user # and updating statistics - # Parameter: required + # Parameter: required # Values: 5 ... 600 (seconds) # Default: 60 UserDelay = 60 - # User timeout. If authorizer does not respond during this time, + # User timeout. If authorizer does not respond during this time, # the user will be disconnected - # Parameter: required + # Parameter: required # Values: 5 ... 600 # Default: 60 UserTimeout = 65 @@ -31,7 +31,7 @@ # FreeMb = cash - amount of money for which the user can download for free # FreeMb = none - no transfer # Default: cash - # Parameter: required + # Parameter: required # Values: different, see above # Default: cash FreeMb = cash diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_radius.conf b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_radius.conf index edc94d50..881eb038 100644 --- a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_radius.conf +++ b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_radius.conf @@ -18,7 +18,7 @@ # Default: 6666 Port = 6666 - # List of services for which will be carried out FreeRADIUS authentication + # List of services for which will be carried out FreeRADIUS authentication # Note: Parameter can be blank # Parameter: required # Value: any, supported by software @@ -31,4 +31,4 @@ # Value: any, supported by software # Default: Framed-User AcctServices = Framed-User - \ No newline at end of file + diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_remote_script.conf b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_remote_script.conf index a71350c8..9f4e8ec5 100644 --- a/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_remote_script.conf +++ b/projects/stargazer/inst/freebsd/etc/stargazer/conf-available.d/mod_remote_script.conf @@ -26,10 +26,10 @@ # Define which user parameters are transferred to a remote server in addition to # other parameters that transfered by default (ID, IP, Login, Cash, Dirs). - # Note: Parameter can be blank. - # Parameter: required - # Values: Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName, - # NextTariff, Address, Note, Group, Email, RealName, Credit, EnabledDirs, + # Note: Parameter can be blank. + # Parameter: required + # Values: Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName, + # NextTariff, Address, Note, Group, Email, RealName, Credit, EnabledDirs, # Userdata0...Userdata9 # Default: Cash Tariff EnabledDirs UserParams = Cash Tariff EnabledDirs diff --git a/projects/stargazer/inst/freebsd/etc/stargazer/stargazer.conf b/projects/stargazer/inst/freebsd/etc/stargazer/stargazer.conf index c1f4fe92..76919609 100644 --- a/projects/stargazer/inst/freebsd/etc/stargazer/stargazer.conf +++ b/projects/stargazer/inst/freebsd/etc/stargazer/stargazer.conf @@ -44,7 +44,7 @@ DayFee = 1 # Fee charged at the last (yes) or first (no) day of tariffication period. # Defines how the fee will be charged in the transition to the new tariff. # User has tariff A with fee 100. Changing it to tariff B with fee 200 -# will result in charging user's account at 100 if DayFeeIsLastDay = yes +# will result in charging user's account at 100 if DayFeeIsLastDay = yes # and at 200, if DayFeeIsLastDay = no # Parameter: required # Values: yes, no @@ -74,7 +74,7 @@ FreeMbAllowInet = no # Defines what will be written in the traffic cost in detail_stat. # If user still has the prepaid traffic and WriteFreeMbTraffCost = no, # then the traffic cost willn't be written in detail_stat. -# If user doestn't have prepaid traffic and WriteFreeMbTraffCost = no, +# If user doestn't have prepaid traffic and WriteFreeMbTraffCost = no, # then the traffic cost will be written in detail_stat. # When WriteFreeMbTraffCost = yes the traffic cost will be recorded in any case. # Parameter: required @@ -82,14 +82,14 @@ FreeMbAllowInet = no # Default: yes WriteFreeMbTraffCost = yes -# Charge a full monthly fee even if user was "frozen" a part +# Charge a full monthly fee even if user was "frozen" a part # of the tariffication period # Parameter: optional # Values: yes, no # Default: no FullFee = no -# Allow user to see and use a full cash (yes) or hide a part of it (no) +# Allow user to see and use a full cash (yes) or hide a part of it (no) # for the next fee charge # Parameter: optional # Values: yes, no @@ -115,8 +115,8 @@ FullFee = no # Amount of stg-exec processes. -# These processes are responsible for the execution of scripts OnConnect, -# OnDisconnect, etc. +# These processes are responsible for the execution of scripts OnConnect, +# OnDisconnect, etc. # Amount of processes means how many scripts can be executed simultaneously. # Recommend to leave 1 to avoid errors when executing scripts # Parameter: optional @@ -140,9 +140,9 @@ ModulesPath = /usr/lib/stg # Directory where the "monitor" files are located. # A blank files will be created in this directory. The modification time of such -# files will be changed about once a minute. If server crashes or some of server +# files will be changed about once a minute. If server crashes or some of server # component hang, the files will stop refreshing, and on this basis we can define -# the failure of the server and if necessary restart. +# the failure of the server and if necessary restart. # If option is omitted or blank, the monitoring is not performed. # Parameter: optional # Value: file path diff --git a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_ia.conf b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_ia.conf index 69b5eae3..bddc5644 100644 --- a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_ia.conf +++ b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_ia.conf @@ -8,14 +8,14 @@ # The time interval between sending an alive query to the user # and updating statistics - # Parameter: required + # Parameter: required # Values: 5 ... 600 (seconds) # Default: 60 UserDelay = 60 - # User timeout. If authorizer does not respond during this time, + # User timeout. If authorizer does not respond during this time, # the user will be disconnected - # Parameter: required + # Parameter: required # Values: 5 ... 600 # Default: 60 UserTimeout = 65 @@ -31,8 +31,14 @@ # FreeMb = cash - amount of money for which the user can download for free # FreeMb = none - no transfer # Default: cash - # Parameter: required + # Parameter: required # Values: different, see above # Default: cash FreeMb = cash + + # Enables extended protocol logging. + # Parameter: optional + # Values: yes, no + # Default: no + # LogProtocolErrors = no diff --git a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_radius.conf b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_radius.conf index edc94d50..881eb038 100644 --- a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_radius.conf +++ b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_radius.conf @@ -18,7 +18,7 @@ # Default: 6666 Port = 6666 - # List of services for which will be carried out FreeRADIUS authentication + # List of services for which will be carried out FreeRADIUS authentication # Note: Parameter can be blank # Parameter: required # Value: any, supported by software @@ -31,4 +31,4 @@ # Value: any, supported by software # Default: Framed-User AcctServices = Framed-User - \ No newline at end of file + diff --git a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_remote_script.conf b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_remote_script.conf index a71350c8..9f4e8ec5 100644 --- a/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_remote_script.conf +++ b/projects/stargazer/inst/linux/etc/stargazer/conf-available.d/mod_remote_script.conf @@ -26,10 +26,10 @@ # Define which user parameters are transferred to a remote server in addition to # other parameters that transfered by default (ID, IP, Login, Cash, Dirs). - # Note: Parameter can be blank. - # Parameter: required - # Values: Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName, - # NextTariff, Address, Note, Group, Email, RealName, Credit, EnabledDirs, + # Note: Parameter can be blank. + # Parameter: required + # Values: Cash, FreeMb, Passive, Disabled, AlwaysOnline, TariffName, + # NextTariff, Address, Note, Group, Email, RealName, Credit, EnabledDirs, # Userdata0...Userdata9 # Default: Cash Tariff EnabledDirs UserParams = Cash Tariff EnabledDirs diff --git a/projects/stargazer/inst/linux/etc/stargazer/stargazer.conf b/projects/stargazer/inst/linux/etc/stargazer/stargazer.conf index c1f4fe92..76919609 100644 --- a/projects/stargazer/inst/linux/etc/stargazer/stargazer.conf +++ b/projects/stargazer/inst/linux/etc/stargazer/stargazer.conf @@ -44,7 +44,7 @@ DayFee = 1 # Fee charged at the last (yes) or first (no) day of tariffication period. # Defines how the fee will be charged in the transition to the new tariff. # User has tariff A with fee 100. Changing it to tariff B with fee 200 -# will result in charging user's account at 100 if DayFeeIsLastDay = yes +# will result in charging user's account at 100 if DayFeeIsLastDay = yes # and at 200, if DayFeeIsLastDay = no # Parameter: required # Values: yes, no @@ -74,7 +74,7 @@ FreeMbAllowInet = no # Defines what will be written in the traffic cost in detail_stat. # If user still has the prepaid traffic and WriteFreeMbTraffCost = no, # then the traffic cost willn't be written in detail_stat. -# If user doestn't have prepaid traffic and WriteFreeMbTraffCost = no, +# If user doestn't have prepaid traffic and WriteFreeMbTraffCost = no, # then the traffic cost will be written in detail_stat. # When WriteFreeMbTraffCost = yes the traffic cost will be recorded in any case. # Parameter: required @@ -82,14 +82,14 @@ FreeMbAllowInet = no # Default: yes WriteFreeMbTraffCost = yes -# Charge a full monthly fee even if user was "frozen" a part +# Charge a full monthly fee even if user was "frozen" a part # of the tariffication period # Parameter: optional # Values: yes, no # Default: no FullFee = no -# Allow user to see and use a full cash (yes) or hide a part of it (no) +# Allow user to see and use a full cash (yes) or hide a part of it (no) # for the next fee charge # Parameter: optional # Values: yes, no @@ -115,8 +115,8 @@ FullFee = no # Amount of stg-exec processes. -# These processes are responsible for the execution of scripts OnConnect, -# OnDisconnect, etc. +# These processes are responsible for the execution of scripts OnConnect, +# OnDisconnect, etc. # Amount of processes means how many scripts can be executed simultaneously. # Recommend to leave 1 to avoid errors when executing scripts # Parameter: optional @@ -140,9 +140,9 @@ ModulesPath = /usr/lib/stg # Directory where the "monitor" files are located. # A blank files will be created in this directory. The modification time of such -# files will be changed about once a minute. If server crashes or some of server +# files will be changed about once a minute. If server crashes or some of server # component hang, the files will stop refreshing, and on this basis we can define -# the failure of the server and if necessary restart. +# the failure of the server and if necessary restart. # If option is omitted or blank, the monitoring is not performed. # Parameter: optional # Value: file path diff --git a/projects/stargazer/inst/var/00-alter-01.postgresql.sql b/projects/stargazer/inst/var/00-alter-01.postgresql.sql index 7fd81117..781a941e 100644 --- a/projects/stargazer/inst/var/00-alter-01.postgresql.sql +++ b/projects/stargazer/inst/var/00-alter-01.postgresql.sql @@ -27,7 +27,7 @@ BEGIN RAISE EXCEPTION 'User % not found', _login; RETURN -1; END IF; - + INSERT INTO tb_sessions_log (fk_user, event_time, diff --git a/projects/stargazer/inst/var/00-alter-01.sql b/projects/stargazer/inst/var/00-alter-01.sql index f76ae5f8..3e9dd8f8 100644 --- a/projects/stargazer/inst/var/00-alter-01.sql +++ b/projects/stargazer/inst/var/00-alter-01.sql @@ -7,15 +7,15 @@ alter table tb_users add disabled_detail_stat dm_bool; drop procedure sp_add_user; set term !! ; -create procedure sp_add_user(name varchar(32), dirs integer) -as +create procedure sp_add_user(name varchar(32), dirs integer) +as declare variable pk_user integer; -declare variable pk_stat integer; -begin - pk_user = gen_id(gn_pk_user, 1); +declare variable pk_stat integer; +begin + pk_user = gen_id(gn_pk_user, 1); insert into tb_users(pk_user, fk_tariff, fk_tariff_change, fk_corporation, address, always_online, credit, credit_expire, disabled, disabled_detail_stat, email, grp, note, passive, passwd, phone, name, real_name) values (:pk_user, NULL, NULL, NULL, '', 0, 0, 'now', 0, 0, '', '_', '', 0, '', '', :name, ''); - pk_stat = gen_id(gn_pk_stat, 1); - insert into tb_stats values (:pk_stat, :pk_user, 0, 0, 'now', 0, 'now', 0, 'now'); + pk_stat = gen_id(gn_pk_stat, 1); + insert into tb_stats values (:pk_stat, :pk_user, 0, 0, 'now', 0, 'now', 0, 'now'); while (dirs > 0) do begin insert into tb_stats_traffic (fk_stat, dir_num, upload, download) values (:pk_stat, :dirs - 1, 0, 0); diff --git a/projects/stargazer/inst/var/00-base-00.postgresql.sql b/projects/stargazer/inst/var/00-base-00.postgresql.sql index 6b48d75c..6d4b5c47 100644 --- a/projects/stargazer/inst/var/00-base-00.postgresql.sql +++ b/projects/stargazer/inst/var/00-base-00.postgresql.sql @@ -592,7 +592,7 @@ BEGIN RAISE EXCEPTION 'User % not found', _login; RETURN -1; END IF; - + INSERT INTO tb_sessions_log (fk_user, event_time, diff --git a/projects/stargazer/inst/var/00-base-00.sql b/projects/stargazer/inst/var/00-base-00.sql index a452d810..f8785795 100644 --- a/projects/stargazer/inst/var/00-base-00.sql +++ b/projects/stargazer/inst/var/00-base-00.sql @@ -54,7 +54,7 @@ * CREATE DATABASE 'localhost:/var/stg/stargazer.fdb' USER 'stg' PASSWORD '123456' DEFAULT CHARACTER SET UTF8; */ - + /* ***************************************************************************** @@ -526,7 +526,7 @@ set term ; !! set term !! ; create procedure sp_add_message(pk_message integer, login varchar(32), ver integer, msg_type integer, last_send_time integer, creation_time integer, show_time integer, repeat integer, repeat_period integer, msg_text varchar(256)) returns(res integer) -as +as begin if (:pk_message is null) then begin @@ -536,7 +536,7 @@ begin :ver, :msg_type, :last_send_time, - :creation_time, + :creation_time, :show_time, :repeat, :repeat_period, @@ -582,8 +582,8 @@ begin insert into tb_tariffs (pk_tariff, name, fee, free, passive_cost, traff_type) values (:pk_tariff, :name, 0, 0, 0, 0); while (dirs > 0) do begin - insert into tb_tariffs_params (fk_tariff, dir_num, price_day_a, - price_day_b, price_night_a, price_night_b, + insert into tb_tariffs_params (fk_tariff, dir_num, price_day_a, + price_day_b, price_night_a, price_night_b, threshold, time_day_begins, time_day_ends) values (:pk_tariff, :dirs - 1, 0, 0, 0, 0, 0, '0:0', '0:0'); dirs = dirs - 1; diff --git a/projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp b/projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp index 3aec35ae..9d5d6e91 100644 --- a/projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp +++ b/projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp @@ -23,7 +23,7 @@ $Date: 2010/03/25 15:18:48 $ $Author: faust $ */ - + #ifndef _GNU_SOURCE #define _GNU_SOURCE #endif diff --git a/projects/stargazer/plugins/capture/cap_debug/checksum.h b/projects/stargazer/plugins/capture/cap_debug/checksum.h index 2698a526..8d4955a7 100644 --- a/projects/stargazer/plugins/capture/cap_debug/checksum.h +++ b/projects/stargazer/plugins/capture/cap_debug/checksum.h @@ -1,4 +1,4 @@ -/* $Id: checksum.h,v 1.1 2005/12/12 18:14:22 nobunaga Exp $ +/* $Id: checksum.h,v 1.1 2005/12/12 18:14:22 nobunaga Exp $ Copyright (C) 2002 Marc Kirchner diff --git a/projects/stargazer/plugins/capture/cap_debug/constants.h b/projects/stargazer/plugins/capture/cap_debug/constants.h index e845a44c..15d32c2f 100644 --- a/projects/stargazer/plugins/capture/cap_debug/constants.h +++ b/projects/stargazer/plugins/capture/cap_debug/constants.h @@ -32,7 +32,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA /* * Network Layer -*/ +*/ #define PKT_NET_IP 0x01 #define PKT_NET_ICMP 0x02 #define PKT_NET_IGMP 0x04 diff --git a/projects/stargazer/plugins/capture/cap_debug/ip.c b/projects/stargazer/plugins/capture/cap_debug/ip.c index a2627177..02bd10f1 100644 --- a/projects/stargazer/plugins/capture/cap_debug/ip.c +++ b/projects/stargazer/plugins/capture/cap_debug/ip.c @@ -1,4 +1,4 @@ -/* $Id: ip.c,v 1.1 2005/12/12 18:14:22 nobunaga Exp $ +/* $Id: ip.c,v 1.1 2005/12/12 18:14:22 nobunaga Exp $ Copyright (C) 2002 Marc Kirchner @@ -37,7 +37,7 @@ pkt_ip_header(struct packet *pkt, if (!pkt) return EPKTINVALPTR; - + ip = (struct ip *) pkt->pkt_ptr; ip->ip_hl = iphdr_len; diff --git a/projects/stargazer/plugins/capture/cap_debug/libpal.h b/projects/stargazer/plugins/capture/cap_debug/libpal.h index fa28d8e8..5f4761cf 100644 --- a/projects/stargazer/plugins/capture/cap_debug/libpal.h +++ b/projects/stargazer/plugins/capture/cap_debug/libpal.h @@ -50,7 +50,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * packet payload pointer pkt. You do NOT want to do that. Use the provided * library functions. * To be clear: don't do _anything_ with this struct. Just pass it as a -* parameter, be happy and your programs will (hopefully) work. +* parameter, be happy and your programs will (hopefully) work. */ struct packet { unsigned long pkt_type; @@ -70,7 +70,7 @@ struct pkt_socket { int rawfd; struct sockaddr_in *sckad; /*struct sockaddr_ll *sckll;*/ - socklen_t sckad_len; + socklen_t sckad_len; }; /* memory management */ @@ -88,7 +88,7 @@ int pkt_tcp_header(struct packet *pkt, unsigned short int sport, unsigned short int pkt_tcp_cksum(struct packet *pkt, char *saddr, char *daddr, unsigned int tcp_pkt_size); int pkt_tcp_option(struct packet *pkt, unsigned char kind, unsigned char len, void *optval, size_t optlen); -/* functions that might be useful and might be added some day ... +/* functions that might be useful and might be added some day ... int pkt_shift_data(struct packet *pkt, unsigned int from, unsigned int to, unsigned int len); int pkt_tcp_change_seqno(int rel_seq, int rel_ackseq); int pkt_tcp_set_seqno(unsigned int seq, unsigned int ackseq); diff --git a/projects/stargazer/plugins/capture/cap_debug/packet.c b/projects/stargazer/plugins/capture/cap_debug/packet.c index 9405818e..b7cdc172 100644 --- a/projects/stargazer/plugins/capture/cap_debug/packet.c +++ b/projects/stargazer/plugins/capture/cap_debug/packet.c @@ -1,4 +1,4 @@ -/* $Id: packet.c,v 1.1 2005/12/12 18:14:22 nobunaga Exp $ +/* $Id: packet.c,v 1.1 2005/12/12 18:14:22 nobunaga Exp $ Copyright (C) 2002 Marc Kirchner @@ -67,13 +67,13 @@ pkt_free(struct packet *pkt) /* <++doc++> -@name int pkt_move_actptr(struct packet *pkt, int relmov) +@name int pkt_move_actptr(struct packet *pkt, int relmov) @desc This function moves the active pointer inside the packet. @param pkt the packet whose active ptr is to be moved @param relmov number of bytes the active ptr shall be moved. To move it backward, negative values may be used. <--doc--> */ -int +int pkt_move_actptr(struct packet *pkt, int relmov) { if (!pkt) diff --git a/projects/stargazer/plugins/capture/cap_debug/tcp.c b/projects/stargazer/plugins/capture/cap_debug/tcp.c index ad39931d..48d898b0 100644 --- a/projects/stargazer/plugins/capture/cap_debug/tcp.c +++ b/projects/stargazer/plugins/capture/cap_debug/tcp.c @@ -1,4 +1,4 @@ -/* $Id: tcp.c,v 1.2 2009/06/19 12:50:47 faust Exp $ +/* $Id: tcp.c,v 1.2 2009/06/19 12:50:47 faust Exp $ Copyright (C) 2002 Marc Kirchner @@ -37,7 +37,7 @@ pkt_tcp_header(struct packet *pkt, if (!pkt) return EPKTINVALPTR; - + tcp = (struct tcphdr *) pkt->pkt_ptr; tcp->source = htons(sport); tcp->dest = htons(dport); @@ -63,10 +63,10 @@ pkt_tcp_header(struct packet *pkt, # error "Adjust your defines" # endif } else { - tcp->fin = 0; + tcp->fin = 0; tcp->syn = 0; tcp->rst = 0; - tcp->psh = 0; + tcp->psh = 0; tcp->ack = 0; tcp->urg = 0; tcp->res2 = 0; @@ -76,7 +76,7 @@ pkt_tcp_header(struct packet *pkt, } int -pkt_tcp_cksum(struct packet *pkt, char *saddr, char *daddr, +pkt_tcp_cksum(struct packet *pkt, char *saddr, char *daddr, unsigned int tcp_pkt_size) { char *tosum; @@ -86,17 +86,17 @@ pkt_tcp_cksum(struct packet *pkt, char *saddr, char *daddr, if (!pkt || !saddr || !daddr) return EPKTINVALPTR; - + if ((tcp_pkt_size + pkt->pkt_pos) > pkt->pkt_size -1) return EPKTRANGE; - + if ((tosum = (char *) malloc(tcp_pkt_size+sizeof(struct pseudohdr))) != NULL) { memset(tosum, 0, tcp_pkt_size+sizeof(struct pseudohdr)); psh = (struct pseudohdr *) tosum; tcp = (struct tcphdr *) pkt->pkt_ptr; tcp->check = 0; - + if (inet_pton(AF_INET, saddr, &addr) < 0) return EERRNO; psh->saddr = addr.s_addr; @@ -106,7 +106,7 @@ pkt_tcp_cksum(struct packet *pkt, char *saddr, char *daddr, psh->zero = 0x00; psh->protocol = IPPROTO_TCP; psh->length = htons(tcp_pkt_size); - + memcpy(tosum + sizeof(struct pseudohdr), tcp, tcp_pkt_size); tcp->check = in_cksum((unsigned short *)tosum, tcp_pkt_size + sizeof(struct pseudohdr)); free(tosum); @@ -114,9 +114,9 @@ pkt_tcp_cksum(struct packet *pkt, char *saddr, char *daddr, } else return EERRNO; } - + int -pkt_tcp_option(struct packet *pkt, unsigned char kind, +pkt_tcp_option(struct packet *pkt, unsigned char kind, unsigned char len, void *optval, size_t optlen) { void *vp; @@ -124,10 +124,10 @@ pkt_tcp_option(struct packet *pkt, unsigned char kind, if (!pkt) return EPKTINVALPTR; - + if ((pkt->pkt_size) < (pkt->pkt_pos+2+optlen)) return EPKTRANGE; - + vp = (void *)pkt->pkt_ptr; memcpy(vp, &kind, 1); diff --git a/projects/stargazer/plugins/capture/cap_debug/types.h b/projects/stargazer/plugins/capture/cap_debug/types.h index 3d428fe9..bb8b8a3f 100644 --- a/projects/stargazer/plugins/capture/cap_debug/types.h +++ b/projects/stargazer/plugins/capture/cap_debug/types.h @@ -1,4 +1,4 @@ -/* $Id: types.h,v 1.1 2005/12/12 18:14:22 nobunaga Exp $ +/* $Id: types.h,v 1.1 2005/12/12 18:14:22 nobunaga Exp $ Copyright (C) 2002 Marc Kirchner diff --git a/projects/stargazer/plugins/capture/ipq_linux/libipq.c b/projects/stargazer/plugins/capture/ipq_linux/libipq.c index d0eb33b3..4c734110 100644 --- a/projects/stargazer/plugins/capture/ipq_linux/libipq.c +++ b/projects/stargazer/plugins/capture/ipq_linux/libipq.c @@ -87,7 +87,7 @@ struct ipq_errmap_t static int ipq_errno = IPQ_ERR_NONE; -static ssize_t ipq_netlink_sendto(const struct ipq_handle *h, +static ssize_t ipq_netlink_sendto(const struct ipq_handle *h, const void *msg, size_t len); static ssize_t ipq_netlink_recvfrom(const struct ipq_handle *h, @@ -296,7 +296,7 @@ int ipq_set_mode(const struct ipq_handle *h, ipq_peer_msg_t pm; char s[FAKE_ARRAY_SIZE]; } req; - + memset(&req, 0, sizeof(req)); req.nlh.nlmsg_len = NLMSG_LENGTH(sizeof(req)-FAKE_ARRAY_SIZE); req.nlh.nlmsg_flags = NLM_F_REQUEST; diff --git a/projects/stargazer/plugins/capture/ipq_linux/libipq.h b/projects/stargazer/plugins/capture/ipq_linux/libipq.h index 17d4c9cb..d2c56e75 100644 --- a/projects/stargazer/plugins/capture/ipq_linux/libipq.h +++ b/projects/stargazer/plugins/capture/ipq_linux/libipq.h @@ -18,7 +18,7 @@ * GNU General Public License for more details. * */ - + #ifndef _LIBIPQ_H #define _LIBIPQ_H diff --git a/projects/stargazer/plugins/configuration/rpcconfig/users_methods.cpp b/projects/stargazer/plugins/configuration/rpcconfig/users_methods.cpp index 56167bc2..3242240f 100644 --- a/projects/stargazer/plugins/configuration/rpcconfig/users_methods.cpp +++ b/projects/stargazer/plugins/configuration/rpcconfig/users_methods.cpp @@ -88,7 +88,7 @@ if (users->FindByName(login, &u)) *retvalPtr = xmlrpc_c::value_boolean(true); return; } - + *retvalPtr = xmlrpc_c::value_boolean(false); return; } diff --git a/projects/stargazer/plugins/other/smux/STG-MIB.mib b/projects/stargazer/plugins/other/smux/STG-MIB.mib index bccf5a28..ef5fbaca 100644 --- a/projects/stargazer/plugins/other/smux/STG-MIB.mib +++ b/projects/stargazer/plugins/other/smux/STG-MIB.mib @@ -9,9 +9,9 @@ IMPORTS stgMIB MODULE-IDENTITY LAST-UPDATED "201101060000Z" ORGANIZATION "STG" - CONTACT-INFO + CONTACT-INFO "Primary Contact: Maxim Mamontov - email: faust@stg.dp.ua" + email: stg@madf.info" DESCRIPTION "This MIB module defines objects for Stargazer data." REVISION "201101060000Z" diff --git a/projects/stargazer/plugins/other/smux/handlers.cpp b/projects/stargazer/plugins/other/smux/handlers.cpp index ac179da9..4d117aff 100644 --- a/projects/stargazer/plugins/other/smux/handlers.cpp +++ b/projects/stargazer/plugins/other/smux/handlers.cpp @@ -102,7 +102,7 @@ asn_long2INTEGER(&msg->request_id, id); asn_long2INTEGER(&msg->error_status, 0); asn_long2INTEGER(&msg->error_index, 0); -const VarBindList_t * vbl = &getRequest->variable_bindings; +const VarBindList_t * vbl = &getRequest->variable_bindings; for (int i = 0; i < vbl->list.count; ++i) { VarBind_t * vb = getRequest->variable_bindings.list.array[i]; @@ -148,7 +148,7 @@ asn_long2INTEGER(&msg->request_id, id); asn_long2INTEGER(&msg->error_status, 0); asn_long2INTEGER(&msg->error_index, 0); -const VarBindList_t * vbl = &getRequest->variable_bindings; +const VarBindList_t * vbl = &getRequest->variable_bindings; for (int i = 0; i < vbl->list.count; ++i) { VarBind_t * vb = getRequest->variable_bindings.list.array[i]; diff --git a/projects/stargazer/plugins/store/files/file_store.cpp b/projects/stargazer/plugins/store/files/file_store.cpp index 6f316072..e23b2030 100644 --- a/projects/stargazer/plugins/store/files/file_store.cpp +++ b/projects/stargazer/plugins/store/files/file_store.cpp @@ -1606,7 +1606,7 @@ if (e) printfd(__FILE__, "FILES_STORE::WriteDetailStat - chmod/chown failed for user '%s'. Error: '%s'\n", login.c_str(), strerror(errno)); } -snprintf(dn, FN_STR_LEN, "%s/%s/detail_stat/%d/%s%d", +snprintf(dn, FN_STR_LEN, "%s/%s/detail_stat/%d/%s%d", storeSettings.GetUsersDir().c_str(), login.c_str(), lt->tm_year+1900, diff --git a/projects/stargazer/plugins/store/mysql/mysql_store.cpp b/projects/stargazer/plugins/store/mysql/mysql_store.cpp index 8108de09..cef72671 100644 --- a/projects/stargazer/plugins/store/mysql/mysql_store.cpp +++ b/projects/stargazer/plugins/store/mysql/mysql_store.cpp @@ -31,10 +31,10 @@ template int GetInt(const std::string & str, T * val, T defaultVal = T()) { char *res; - + *val = static_cast(strtoll(str.c_str(), &res, 10)); - - if (*res != 0) + + if (*res != 0) { *val = defaultVal; //Error! return EINVAL; @@ -46,10 +46,10 @@ int GetInt(const std::string & str, T * val, T defaultVal = T()) int GetDouble(const std::string & str, double * val, double defaultVal) { char *res; - + *val = strtod(str.c_str(), &res); - - if (*res != 0) + + if (*res != 0) { *val = defaultVal; //Error! return EINVAL; @@ -61,10 +61,10 @@ int GetDouble(const std::string & str, double * val, double defaultVal) int GetTime(const std::string & str, time_t * val, time_t defaultVal) { char *res; - + *val = strtol(str.c_str(), &res, 10); - - if (*res != 0) + + if (*res != 0) { *val = defaultVal; //Error! return EINVAL; @@ -87,17 +87,17 @@ std::string ReplaceStr(std::string source, const std::string & symlist, const ch int GetULongLongInt(const std::string & str, uint64_t * val, uint64_t defaultVal) { char *res; - + *val = strtoull(str.c_str(), &res, 10); - - if (*res != 0) + + if (*res != 0) { *val = defaultVal; //Error! return EINVAL; } return 0; -} +} PLUGIN_CREATOR msc; } @@ -175,7 +175,7 @@ int MYSQL_STORE::MysqlQuery(const char* sQuery,MYSQL * sock) const return 0; } } - + return ret; } //----------------------------------------------------------------------------- @@ -210,7 +210,7 @@ else if(mysql_select_db(sock, storeSettings.GetDBName().c_str())) { std::string res = "CREATE DATABASE " + storeSettings.GetDBName(); - + if(MysqlQuery(res.c_str(),sock)) { errorStr = "Couldn't create database! With error:\n"; @@ -313,7 +313,7 @@ if(!IsTablePresent("admins",sock)) "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)) { errorStr = "Couldn't create admin table list With error:\n"; @@ -325,7 +325,7 @@ if(!IsTablePresent("admins",sock)) sprintf(qbuf,"INSERT INTO admins SET login='admin',"\ "password='geahonjehjfofnhammefahbbbfbmpkmkmmefahbbbfbmpkmkmmefahbbbfbmpkmkaa',"\ "ChgConf=1,ChgPassword=1,ChgStat=1,ChgCash=1,UsrAddDel=1,ChgTariff=1,ChgAdmin=1"); - + if(MysqlQuery(qbuf,sock)) { errorStr = "Couldn't create default admin. With error:\n"; @@ -340,40 +340,40 @@ std::string param, res; if(!IsTablePresent("tariffs",sock)) { res = "CREATE TABLE tariffs (name VARCHAR(40) DEFAULT '' PRIMARY KEY,"; - + for (int i = 0; i < DIR_NUM; i++) { - strprintf(¶m, " PriceDayA%d DOUBLE DEFAULT 0.0,", i); + strprintf(¶m, " PriceDayA%d DOUBLE DEFAULT 0.0,", i); res += param; - + strprintf(¶m, " PriceDayB%d DOUBLE DEFAULT 0.0,", i); res += param; - + strprintf(¶m, " PriceNightA%d DOUBLE DEFAULT 0.0,", i); res += param; - + strprintf(¶m, " PriceNightB%d DOUBLE DEFAULT 0.0,", i); res += param; - + strprintf(¶m, " Threshold%d INT DEFAULT 0,", i); res += param; - + strprintf(¶m, " Time%d VARCHAR(15) DEFAULT '0:0-0:0',", i); res += param; - + strprintf(¶m, " NoDiscount%d INT DEFAULT 0,", i); res += param; - + strprintf(¶m, " SinglePrice%d INT DEFAULT 0,", i); res += param; } - + res += "PassiveCost DOUBLE DEFAULT 0.0, Fee DOUBLE DEFAULT 0.0," "Free DOUBLE DEFAULT 0.0, TraffType VARCHAR(10) DEFAULT ''," "period VARCHAR(32) NOT NULL DEFAULT 'month'," "change_policy VARCHAR(32) NOT NULL DEFAULT 'allow'," "change_policy_timeout TIMESTAMP NOT NULL DEFAULT 0)"; - + if(MysqlQuery(res.c_str(),sock)) { errorStr = "Couldn't create tariffs table list With error:\n"; @@ -383,52 +383,52 @@ if(!IsTablePresent("tariffs",sock)) } res = "INSERT INTO tariffs SET name='tariff',"; - + for (int i = 0; i < DIR_NUM; i++) { strprintf(¶m, " NoDiscount%d=1,", i); res += param; - + strprintf(¶m, " Threshold%d=0,", i); res += param; - + strprintf(¶m, " Time%d='0:0-0:0',", i); res += param; - + if(i != 0 && i != 1) { strprintf(¶m, " SinglePrice%d=0,", i); - res += param; + res += param; } - + if(i != 1) { - strprintf(¶m, " PriceDayA%d=0.0,", i); - res += param; + strprintf(¶m, " PriceDayA%d=0.0,", i); + res += param; } if(i != 1) { - strprintf(¶m, " PriceDayB%d=0.0,", i); - res += param; + strprintf(¶m, " PriceDayB%d=0.0,", i); + res += param; } - + if(i != 0) { - strprintf(¶m, " PriceNightA%d=0.0,", i); - res += param; + strprintf(¶m, " PriceNightA%d=0.0,", i); + res += param; } if(i != 0) { - strprintf(¶m, " PriceNightB%d=0.0,", i); - res += param; + strprintf(¶m, " PriceNightB%d=0.0,", i); + res += param; } } - + res += "PassiveCost=0.0, Fee=10.0, Free=0,"\ "SinglePrice0=1, SinglePrice1=1,PriceDayA1=0.75,PriceDayB1=0.75,"\ "PriceNightA0=1.0,PriceNightB0=1.0,TraffType='up+down',period='month',"\ "change_policy='allow', change_policy_timeout=0"; - + if(MysqlQuery(res.c_str(),sock)) { errorStr = "Couldn't create default tariff. With error:\n"; @@ -457,34 +457,34 @@ if(!IsTablePresent("users",sock)) "Address VARCHAR(254) NOT NULL DEFAULT '',Phone VARCHAR(128) NOT NULL DEFAULT '',Email VARCHAR(50) NOT NULL DEFAULT '',"\ "Note TEXT NOT NULL,RealName VARCHAR(254) NOT NULL DEFAULT '',StgGroup VARCHAR(40) NOT NULL DEFAULT '',"\ "Credit DOUBLE DEFAULT 0, TariffChange VARCHAR(40) NOT NULL DEFAULT '',"; - + for (int i = 0; i < USERDATA_NUM; i++) { strprintf(¶m, " Userdata%d VARCHAR(254) NOT NULL,", i); res += param; } - + param = " CreditExpire INT(11) DEFAULT 0,"; res += param; - + strprintf(¶m, " IP VARCHAR(254) DEFAULT '*',"); res += param; - + for (int i = 0; i < DIR_NUM; i++) { strprintf(¶m, " D%d BIGINT(30) DEFAULT 0,", i); res += param; - + strprintf(¶m, " U%d BIGINT(30) DEFAULT 0,", i); res += param; } - + strprintf(¶m, "Cash DOUBLE DEFAULT 0,FreeMb DOUBLE DEFAULT 0,LastCashAdd DOUBLE DEFAULT 0,"\ "LastCashAddTime INT(11) DEFAULT 0,PassiveTime INT(11) DEFAULT 0,LastActivityTime INT(11) DEFAULT 0,"\ "NAS VARCHAR(17) NOT NULL, INDEX (AlwaysOnline), INDEX (IP), INDEX (Address),"\ " INDEX (Tariff),INDEX (Phone),INDEX (Email),INDEX (RealName))"); res += param; - + if(MysqlQuery(res.c_str(),sock)) { errorStr = "Couldn't create users table list With error:\n"; @@ -498,25 +498,25 @@ if(!IsTablePresent("users",sock)) "Credit=0.0,CreditExpire=0,Down=0,Email='',DisabledDetailStat=0,"\ "StgGroup='',IP='192.168.1.1',Note='',Passive=0,Password='123456',"\ "Phone='', RealName='',Tariff='tariff',TariffChange='',NAS='',"; - + for (int i = 0; i < USERDATA_NUM; i++) { strprintf(¶m, " Userdata%d='',", i); res += param; } - + for (int i = 0; i < DIR_NUM; i++) { strprintf(¶m, " D%d=0,", i); res += param; - + strprintf(¶m, " U%d=0,", i); res += param; } - + res += "Cash=10.0,FreeMb=0.0,LastActivityTime=0,LastCashAdd=0,"\ "LastCashAddTime=0, PassiveTime=0"; - + if(MysqlQuery(res.c_str(),sock)) { errorStr = "Couldn't create default user. With error:\n"; @@ -530,7 +530,7 @@ if(!IsTablePresent("users",sock)) if(!IsTablePresent("logs")) { sprintf(qbuf,"CREATE TABLE logs (unid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, login VARCHAR(40),text TEXT)"); - + if(MysqlQuery(qbuf)) { errorStr = "Couldn't create admin table list With error:\n"; @@ -545,7 +545,7 @@ if(!IsTablePresent("messages",sock)) sprintf(qbuf,"CREATE TABLE messages (login VARCHAR(40) DEFAULT '', id BIGINT, "\ "type INT, lastSendTime INT, creationTime INT, showTime INT,"\ "stgRepeat INT, repeatPeriod INT, text TEXT)"); - + if(MysqlQuery(qbuf,sock)) { errorStr = "Couldn't create messages table. With error:\n"; @@ -559,18 +559,18 @@ if(!IsTablePresent("messages",sock)) if(!IsTablePresent("stat",sock)) { res = "CREATE TABLE stat (login VARCHAR(50), month TINYINT, year SMALLINT,"; - + for (int i = 0; i < DIR_NUM; i++) { - strprintf(¶m, " U%d BIGINT,", i); + strprintf(¶m, " U%d BIGINT,", i); res += param; - - strprintf(¶m, " D%d BIGINT,", i); + + strprintf(¶m, " D%d BIGINT,", i); res += param; } - + res += " cash DOUBLE, INDEX (login))"; - + if(MysqlQuery(res.c_str(),sock)) { errorStr = "Couldn't create stat table. With error:\n"; @@ -629,18 +629,18 @@ return 0; } //----------------------------------------------------------------------------- -int MYSQL_STORE::GetAllParams(std::vector * ParamList, +int MYSQL_STORE::GetAllParams(std::vector * ParamList, const std::string & table, const std::string & name) const { MYSQL_RES *res; MYSQL_ROW row; MYSQL * sock=NULL; my_ulonglong num, i; - + ParamList->clear(); - + sprintf(qbuf,"SELECT %s FROM %s", name.c_str(), table.c_str()); - + if(MysqlGetQuery(qbuf,sock)) { errorStr = "Couldn't GetAllParams Query for: "; @@ -662,7 +662,7 @@ num = mysql_num_rows(res); for(i = 0; i < num; i++) { - row = mysql_fetch_row(res); + row = mysql_fetch_row(res); ParamList->push_back(row[0]); } @@ -717,7 +717,7 @@ return 0; int MYSQL_STORE::DelUser(const std::string & login) const { sprintf(qbuf,"DELETE FROM users WHERE login='%s' LIMIT 1", login.c_str()); - + if(MysqlSetQuery(qbuf)) { errorStr = "Couldn't delete user:\n"; @@ -749,7 +749,7 @@ query += "CreditExpire, IP FROM users WHERE login='"; query += login + "' LIMIT 1"; //sprintf(qbuf,"SELECT * FROM users WHERE login='%s' LIMIT 1", login.c_str()); - + if(MysqlGetQuery(query.c_str(),sock)) { errorStr = "Couldn't restore Tariff(on query):\n"; @@ -819,7 +819,7 @@ if (GetInt(row[5], &conf->alwaysOnline) != 0) conf->tariffName = row[6]; -if (conf->tariffName.empty()) +if (conf->tariffName.empty()) { mysql_free_result(res); errorStr = "User \'" + login + "\' tariff is blank."; @@ -850,7 +850,7 @@ for (int i = 0; i < USERDATA_NUM; i++) } GetTime(row[15+USERDATA_NUM], &conf->creditExpire, 0); - + std::string ipStr = row[16+USERDATA_NUM]; USER_IPS i; try @@ -893,7 +893,7 @@ query += "Cash, FreeMb, LastCashAdd, LastCashAddTime, PassiveTime, LastActivityT query += login + "'"; //sprintf(qbuf,"SELECT * FROM users WHERE login='%s' LIMIT 1", login.c_str()); - + if(MysqlGetQuery(query.c_str() ,sock)) { errorStr = "Couldn't restore UserStat(on query):\n"; @@ -1002,7 +1002,7 @@ std::string res; strprintf(&res,"UPDATE users SET Password='%s', Passive=%d, Down=%d, DisabledDetailStat = %d, "\ "AlwaysOnline=%d, Tariff='%s', Address='%s', Phone='%s', Email='%s', "\ - "Note='%s', RealName='%s', StgGroup='%s', Credit=%f, TariffChange='%s', ", + "Note='%s', RealName='%s', StgGroup='%s', Credit=%f, TariffChange='%s', ", conf.password.c_str(), conf.passive, conf.disabled, @@ -1021,11 +1021,11 @@ strprintf(&res,"UPDATE users SET Password='%s', Passive=%d, Down=%d, DisabledDet for (int i = 0; i < USERDATA_NUM; i++) { - strprintf(¶m, " Userdata%d='%s',", i, + strprintf(¶m, " Userdata%d='%s',", i, (ReplaceStr(conf.userdata[i],badSyms,repSym)).c_str()); res += param; } - + strprintf(¶m, " CreditExpire=%d,", conf.creditExpire); res += param; @@ -1065,7 +1065,7 @@ for (int i = 0; i < DIR_NUM; i++) } strprintf(¶m, " Cash=%f, FreeMb=%f, LastCashAdd=%f, LastCashAddTime=%d,"\ - " PassiveTime=%d, LastActivityTime=%d", + " PassiveTime=%d, LastActivityTime=%d", stat.cash, stat.freeMb, stat.lastCashAdd, @@ -1120,7 +1120,7 @@ if (num_rows < 1) { sprintf(qbuf,"CREATE TABLE logs_%02d_%4d (unid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, login VARCHAR(40),text TEXT)", lt->tm_mon+1, lt->tm_year+1900); - + if(MysqlQuery(qbuf,sock)) { errorStr = "Couldn't create WriteDetailedStat table:\n"; @@ -1210,24 +1210,24 @@ logStr += "\'"; return WriteLogString(logStr, login); } //----------------------------------------------------------------------------- -int MYSQL_STORE::SaveMonthStat(const USER_STAT & stat, int month, int year, +int MYSQL_STORE::SaveMonthStat(const USER_STAT & stat, int month, int year, const std::string & login) const { std::string param, res; -strprintf(&res, "INSERT INTO stat SET login='%s', month=%d, year=%d,", +strprintf(&res, "INSERT INTO stat SET login='%s', month=%d, year=%d,", login.c_str(), month+1, year+1900); - + for (int i = 0; i < DIR_NUM; i++) { - strprintf(¶m, " U%d=%lld,", i, stat.monthUp[i]); + strprintf(¶m, " U%d=%lld,", i, stat.monthUp[i]); res += param; - strprintf(¶m, " D%d=%lld,", i, stat.monthDown[i]); + strprintf(¶m, " D%d=%lld,", i, stat.monthDown[i]); res += param; } - -strprintf(¶m, " cash=%f", stat.cash); + +strprintf(¶m, " cash=%f", stat.cash); res += param; if(MysqlSetQuery(res.c_str())) @@ -1243,7 +1243,7 @@ return 0; int MYSQL_STORE::AddAdmin(const std::string & login) const { sprintf(qbuf,"INSERT INTO admins SET login='%s'", login.c_str()); - + if(MysqlSetQuery(qbuf)) { errorStr = "Couldn't add admin:\n"; @@ -1257,7 +1257,7 @@ return 0; int MYSQL_STORE::DelAdmin(const std::string & login) const { sprintf(qbuf,"DELETE FROM admins where login='%s' LIMIT 1", login.c_str()); - + if(MysqlSetQuery(qbuf)) { errorStr = "Couldn't delete admin:\n"; @@ -1293,7 +1293,7 @@ Encode12(passwordE, pass, ADM_PASSWD_LEN); sprintf(qbuf,"UPDATE admins SET 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, ac.priv.userConf, ac.priv.userPasswd, @@ -1329,7 +1329,7 @@ MYSQL_RES *res; MYSQL_ROW row; MYSQL * sock; sprintf(qbuf,"SELECT * FROM admins WHERE login='%s' LIMIT 1", login.c_str()); - + if(MysqlGetQuery(qbuf,sock)) { errorStr = "Couldn't restore admin:\n"; @@ -1353,7 +1353,7 @@ if ( mysql_num_rows(res) == 0) mysql_close(sock); return -1; } - + row = mysql_fetch_row(res); p = row[1]; @@ -1390,7 +1390,7 @@ ac->password = password; uint16_t a; -if (GetInt(row[2], &a) == 0) +if (GetInt(row[2], &a) == 0) ac->priv.userConf = a; else { @@ -1400,7 +1400,7 @@ else return -1; } -if (GetInt(row[3], &a) == 0) +if (GetInt(row[3], &a) == 0) ac->priv.userPasswd = a; else { @@ -1410,7 +1410,7 @@ else return -1; } -if (GetInt(row[4], &a) == 0) +if (GetInt(row[4], &a) == 0) ac->priv.userStat = a; else { @@ -1420,7 +1420,7 @@ else return -1; } -if (GetInt(row[5], &a) == 0) +if (GetInt(row[5], &a) == 0) ac->priv.userCash = a; else { @@ -1430,7 +1430,7 @@ else return -1; } -if (GetInt(row[6], &a) == 0) +if (GetInt(row[6], &a) == 0) ac->priv.userAddDel = a; else { @@ -1440,7 +1440,7 @@ else return -1; } -if (GetInt(row[7], &a) == 0) +if (GetInt(row[7], &a) == 0) ac->priv.tariffChg = a; else { @@ -1450,7 +1450,7 @@ else return -1; } -if (GetInt(row[8], &a) == 0) +if (GetInt(row[8], &a) == 0) ac->priv.adminChg = a; else { @@ -1468,7 +1468,7 @@ return 0; int MYSQL_STORE::AddTariff(const std::string & name) const { sprintf(qbuf,"INSERT INTO tariffs SET name='%s'", name.c_str()); - + if(MysqlSetQuery(qbuf)) { errorStr = "Couldn't add tariff:\n"; @@ -1482,7 +1482,7 @@ return 0; int MYSQL_STORE::DelTariff(const std::string & name) const { sprintf(qbuf,"DELETE FROM tariffs WHERE name='%s' LIMIT 1", name.c_str()); - + if(MysqlSetQuery(qbuf)) { errorStr = "Couldn't delete tariff: "; @@ -1499,7 +1499,7 @@ MYSQL_RES *res; MYSQL_ROW row; MYSQL * sock; sprintf(qbuf,"SELECT * FROM tariffs WHERE name='%s' LIMIT 1", tariffName.c_str()); - + if(MysqlGetQuery(qbuf,sock)) { errorStr = "Couldn't restore Tariff:\n"; @@ -1534,10 +1534,10 @@ for (int i = 0; idirPrice[i].hDay, - td->dirPrice[i].mDay, - td->dirPrice[i].hNight, + ParseTariffTimeStr(str.c_str(), + td->dirPrice[i].hDay, + td->dirPrice[i].mDay, + td->dirPrice[i].hNight, td->dirPrice[i].mNight); strprintf(¶m, "PriceDayA%d", i); @@ -1634,7 +1634,7 @@ if (GetDouble(row[1+8*DIR_NUM], &td->tariffConf.passiveCost, 0.0) < 0) str = row[4+8*DIR_NUM]; param = "TraffType"; - + if (str.length() == 0) { mysql_free_result(res); @@ -1712,30 +1712,30 @@ std::string res="UPDATE tariffs SET"; for (int i = 0; i < DIR_NUM; i++) { - strprintf(¶m, " PriceDayA%d=%f,", i, + strprintf(¶m, " PriceDayA%d=%f,", i, td.dirPrice[i].priceDayA * pt_mega); res += param; - strprintf(¶m, " PriceDayB%d=%f,", i, - td.dirPrice[i].priceDayB * pt_mega); + strprintf(¶m, " PriceDayB%d=%f,", i, + td.dirPrice[i].priceDayB * pt_mega); res += param; - + strprintf(¶m, " PriceNightA%d=%f,", i, td.dirPrice[i].priceNightA * pt_mega); res += param; - strprintf(¶m, " PriceNightB%d=%f,", i, + strprintf(¶m, " PriceNightB%d=%f,", i, td.dirPrice[i].priceNightB * pt_mega); res += param; - - strprintf(¶m, " Threshold%d=%d,", i, + + strprintf(¶m, " Threshold%d=%d,", i, td.dirPrice[i].threshold); res += param; std::string s; strprintf(¶m, " Time%d", i); - strprintf(&s, "%0d:%0d-%0d:%0d", + strprintf(&s, "%0d:%0d-%0d:%0d", td.dirPrice[i].hDay, td.dirPrice[i].mDay, td.dirPrice[i].hNight, @@ -1743,11 +1743,11 @@ for (int i = 0; i < DIR_NUM; i++) res += (param + "='" + s + "',"); - strprintf(¶m, " NoDiscount%d=%d,", i, + strprintf(¶m, " NoDiscount%d=%d,", i, td.dirPrice[i].noDiscount); res += param; - strprintf(¶m, " SinglePrice%d=%d,", i, + strprintf(¶m, " SinglePrice%d=%d,", i, td.dirPrice[i].singlePrice); res += param; } @@ -1783,8 +1783,8 @@ if(MysqlSetQuery(res.c_str())) return 0; } //----------------------------------------------------------------------------- -int MYSQL_STORE::WriteDetailedStat(const std::map & statTree, - time_t lastStat, +int MYSQL_STORE::WriteDetailedStat(const std::map & statTree, + time_t lastStat, const std::string & login) const { std::string res, stTime, endTime, tempStr; @@ -1828,7 +1828,7 @@ if (num_rows < 1) "IP VARCHAR(17) DEFAULT '',dir INT DEFAULT 0,"\ "down BIGINT DEFAULT 0,up BIGINT DEFAULT 0, cash DOUBLE DEFAULT 0.0, INDEX (login), INDEX(dir), INDEX(day), INDEX(IP))", lt->tm_mon+1, lt->tm_year+1900); - + if(MysqlQuery(qbuf,sock)) { errorStr = "Couldn't create WriteDetailedStat table:\n"; @@ -1855,12 +1855,12 @@ lt2 = localtime(&t); h2 = lt2->tm_hour; m2 = lt2->tm_min; s2 = lt2->tm_sec; - + strprintf(&stTime, "%02d:%02d:%02d", h1, m1, s1); strprintf(&endTime, "%02d:%02d:%02d", h2, m2, s2); strprintf(&res,"INSERT INTO detailstat_%02d_%4d SET login='%s',"\ - "day=%d,startTime='%s',endTime='%s',", + "day=%d,startTime='%s',endTime='%s',", lt->tm_mon+1, lt->tm_year+1900, login.c_str(), lt->tm_mday, @@ -1873,14 +1873,14 @@ stIter = statTree.begin(); while (stIter != statTree.end()) { - strprintf(&tempStr,"IP='%s', dir=%d, down=%lld, up=%lld, cash=%f", + strprintf(&tempStr,"IP='%s', dir=%d, down=%lld, up=%lld, cash=%f", inet_ntostring(stIter->first.ip).c_str(), - stIter->first.dir, - stIter->second.down, - stIter->second.up, + stIter->first.dir, + stIter->second.down, + stIter->second.up, stIter->second.cash ); - + if( MysqlQuery((res+tempStr).c_str(),sock) ) { errorStr = "Couldn't insert data in WriteDetailedStat:\n"; @@ -1907,11 +1907,11 @@ gettimeofday(&tv, NULL); msg->header.id = static_cast(tv.tv_sec) * 1000000 + static_cast(tv.tv_usec); -sprintf(qbuf,"INSERT INTO messages SET login='%s', id=%lld", +sprintf(qbuf,"INSERT INTO messages SET login='%s', id=%lld", login.c_str(), static_cast(msg->header.id) ); - + if(MysqlSetQuery(qbuf)) { errorStr = "Couldn't add message:\n"; @@ -1928,7 +1928,7 @@ std::string res; strprintf(&res,"UPDATE messages SET type=%d, lastSendTime=%u, creationTime=%u, "\ "showTime=%u, stgRepeat=%d, repeatPeriod=%u, text='%s' "\ - "WHERE login='%s' AND id=%lld LIMIT 1", + "WHERE login='%s' AND id=%lld LIMIT 1", msg.header.type, msg.header.lastSendTime, msg.header.creationTime, @@ -1958,7 +1958,7 @@ MYSQL * sock; sprintf(qbuf,"SELECT * FROM messages WHERE login='%s' AND id=%llu LIMIT 1", login.c_str(), static_cast(id)); - + if(MysqlGetQuery(qbuf,sock)) { errorStr = "Couldn't GetMessage:\n"; @@ -2035,9 +2035,9 @@ return 0; //----------------------------------------------------------------------------- int MYSQL_STORE::DelMessage(uint64_t id, const std::string & login) const { -sprintf(qbuf,"DELETE FROM messages WHERE login='%s' AND id=%lld LIMIT 1", +sprintf(qbuf,"DELETE FROM messages WHERE login='%s' AND id=%lld LIMIT 1", login.c_str(), static_cast(id)); - + if(MysqlSetQuery(qbuf)) { errorStr = "Couldn't delete Message:\n"; @@ -2054,7 +2054,7 @@ MYSQL_RES *res; MYSQL_ROW row; MYSQL * sock; sprintf(qbuf,"SELECT * FROM messages WHERE login='%s'", login.c_str()); - + if(MysqlGetQuery(qbuf,sock)) { errorStr = "Couldn't GetMessageHdrs:\n"; @@ -2080,9 +2080,9 @@ for (i = 0; i < num_rows; i++) row = mysql_fetch_row(res); if (str2x(row[1], id)) continue; - + STG_MSG_HDR hdr; - if (row[2]) + if (row[2]) if(str2x(row[2], hdr.type)) continue; diff --git a/projects/stargazer/plugins/store/mysql/mysql_store.h b/projects/stargazer/plugins/store/mysql/mysql_store.h index 4a492b38..d7ed130e 100644 --- a/projects/stargazer/plugins/store/mysql/mysql_store.h +++ b/projects/stargazer/plugins/store/mysql/mysql_store.h @@ -38,7 +38,7 @@ private: const MODULE_SETTINGS * settings; - int ParseParam(const std::vector & moduleParams, + int ParseParam(const std::vector & moduleParams, const std::string & name, std::string & result); std::string errorStr; diff --git a/projects/stargazer/scripts/clean_db b/projects/stargazer/scripts/clean_db index 31a85a97..81f6011d 100755 --- a/projects/stargazer/scripts/clean_db +++ b/projects/stargazer/scripts/clean_db @@ -26,12 +26,12 @@ do for ys in $usr/detail_stat/* do year=`basename $ys` - + for ms in $ys/* do month=`basename $ms` - stat_time=`date --date="$year/$month/01" +%s` - + stat_time=`date --date="$year/$month/01" +%s` + if (( $NOW - $stat_time > $DT )) then rm -fr $ms diff --git a/projects/stargazer/scripts/monitor b/projects/stargazer/scripts/monitor index 1f608a71..93cc5a62 100755 --- a/projects/stargazer/scripts/monitor +++ b/projects/stargazer/scripts/monitor @@ -1,21 +1,21 @@ #!/bin/bash -# Данный скрипт производит мониторинг СТГ-сервера на зависание и в +# Данный скрипт производит мониторинг СТГ-сервера на зависание и в # случае его зависания перезапускает. # Для работы скрипта в настройках СТГ должен быть указан параметер -# MonitorDir -# Скрипт отрабатывает один раз и выходит. Т.е. он не работает постоянно +# MonitorDir +# Скрипт отрабатывает один раз и выходит. Т.е. он не работает постоянно # и следит за СТГ. Его нужно вызывать по крону или как-то еще с нужной # периодичностью!!! -# Путь к файлам монитора. Должен совпадать со значением MonitorDir +# Путь к файлам монитора. Должен совпадать со значением MonitorDir # в настройках сервера MONITOR_DIR=/var/stargazer/monitor/ # Максимальная задержка обновления файлов монитора в секундах. -# При привышении этого значения сервер считается зависшим и будет +# При привышении этого значения сервер считается зависшим и будет # перезапущен DT=300 @@ -46,21 +46,21 @@ do fi file_time=`stat -c%Y $mon` - if (( $now - $file_time > $DT )) + if (( $now - $file_time > $DT )) then echo "Stargazer is deadlocked!" - + # Команда остаовки СТГ killall -KILL stargazer - + rm -f $MONITOR_DIR/* sleep 15 - + # Команда запуска СТГ /etc/init.d/stargazer start - + fi - + done diff --git a/projects/stargazer/scripts/shaper/OnConnect b/projects/stargazer/scripts/shaper/OnConnect index 67bf32bf..e5991637 100755 --- a/projects/stargazer/scripts/shaper/OnConnect +++ b/projects/stargazer/scripts/shaper/OnConnect @@ -28,13 +28,13 @@ default_speed=32kbit # maximum) speedkb=512kbit;; # 512 kbit # *) speedkb=$default_speed;; # default speed #esac -# ========= shaping by tariff end ========= +# ========= shaping by tariff end ========= # ========= shaping by userdata0 ========== speedR=$(grep -i "^Userdata0=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=") speed=$(echo $speedR | grep "^[0-9]*[0-9]$") -if [ -z "$speed" ] +if [ -z "$speed" ] then speedkb=$default_speed else diff --git a/projects/stargazer/scripts/shaper/Readme.txt b/projects/stargazer/scripts/shaper/Readme.txt index a5fd925e..a7f13952 100644 --- a/projects/stargazer/scripts/shaper/Readme.txt +++ b/projects/stargazer/scripts/shaper/Readme.txt @@ -3,19 +3,19 @@ По мотивам форума: http://local.com.ua/forum/index.php?showtopic=7920 -Настройка сводится к указанию сетевого интерфейса, обращенного к пользователю -в скриптах shaper.sh, shaper.stop.sh, OnConnect и OnDisconnect, и уточнению +Настройка сводится к указанию сетевого интерфейса, обращенного к пользователю +в скриптах shaper.sh, shaper.stop.sh, OnConnect и OnDisconnect, и уточнению скоростоей и тарифов в скрипте OnConnect (если нужно). -Скрипты сделаны для БД на файлах, однако, сделать их для БД на Firebird или +Скрипты сделаны для БД на файлах, однако, сделать их для БД на Firebird или MySQL не составит большого труда. В OnConnect есть два типа шейпинга. -1. На основании тарифа. Т.е. для каждого тарифа у задана скорость и задано -дефолтное значение, на случай отсутсвия тарифа в списке скоростей или +1. На основании тарифа. Т.е. для каждого тарифа у задана скорость и задано +дефолтное значение, на случай отсутсвия тарифа в списке скоростей или забывчивости админа. -2. На основании Userdata0. В этом поле просто прописывается число равное -скорости в kbit/sec. Также есть дефолтное значение скорости в 32 kbit/sec +2. На основании Userdata0. В этом поле просто прописывается число равное +скорости в kbit/sec. Также есть дефолтное значение скорости в 32 kbit/sec на случай отсутсвия в Userdata0 корректного значения. В скрипте первый способ закомментирован. Для того чтобы выбрать один из них нужно @@ -37,8 +37,8 @@ MySQL не составит большого труда. Скрипт shaper.sh должен быть выполнен один раз при загрузке системы. Интерфейс обращенный к пользователю определяется в переменной -int_iface= -(присутствует во всех 4-х файлах shaper.sh, shaper.stop.sh, OnConnect и +int_iface= +(присутствует во всех 4-х файлах shaper.sh, shaper.stop.sh, OnConnect и OnDisconnect !!!) Скорость по умолчанию в OnConnect в переменной default_speed @@ -51,9 +51,9 @@ case $tariff in *) speedkb=$default_speed;; esac -Т.е. тут нужно вместо minimum, ... maximum подставить имена ваших тарифов -и соотв. скорость. Пользователи с тарифами не указанными в списке будут иметь +Т.е. тут нужно вместо minimum, ... maximum подставить имена ваших тарифов +и соотв. скорость. Пользователи с тарифами не указанными в списке будут иметь дефолтную скорость. -Скорость ограничевается только для входящего тарафика, однако расширить +Скорость ограничевается только для входящего тарафика, однако расширить эти скрипты для исходящего не составит труда. diff --git a/projects/stargazer/scripts/shaper_vpn_radius/Readme b/projects/stargazer/scripts/shaper_vpn_radius/Readme index 772ddddc..3ef11071 100644 --- a/projects/stargazer/scripts/shaper_vpn_radius/Readme +++ b/projects/stargazer/scripts/shaper_vpn_radius/Readme @@ -15,44 +15,44 @@ PPP MPPE compression (encryption) (EXPERIMENTAL) PPP over Ethernet (EXPERIMENTAL) В файле /etc/pptpd.conf прописываем файл настроек PPP (параметр option). Также -указываем адреса сервера внутри сети VPN (параметр localip) и диапазон адресов +указываем адреса сервера внутри сети VPN (параметр localip) и диапазон адресов клиентов (параметр remoteip). См. пример файла конфигурации. -В настройках PPP указываем имя сервера (параметр name), параметры шифрования. -Для использования шифрования MPPE необходима его поддержка в ядре. Кроме того, -в процессе аутентификации MPPE использует MS-CHAPv2. По этому при -использовании шифрования MPPE также необходимо указать необходимость -поддержки MS-CHAPv2 клиентом. По желанию указываем proxyarp (для того чтобы -клиенты в сети VPN "видели" друг друга) и defaultroute. Прописываем в файле -/etc/ppp/chap-secrets тестового пользователя и проверяем работоспособность +В настройках PPP указываем имя сервера (параметр name), параметры шифрования. +Для использования шифрования MPPE необходима его поддержка в ядре. Кроме того, +в процессе аутентификации MPPE использует MS-CHAPv2. По этому при +использовании шифрования MPPE также необходимо указать необходимость +поддержки MS-CHAPv2 клиентом. По желанию указываем proxyarp (для того чтобы +клиенты в сети VPN "видели" друг друга) и defaultroute. Прописываем в файле +/etc/ppp/chap-secrets тестового пользователя и проверяем работоспособность VPN. 2. Настройка авторизации VPN через FreeRADIUS Необходимо установить пакет freeradius. -Настройку сервера (файл radiusd.conf) проводим в соответствии с документацией +Настройку сервера (файл radiusd.conf) проводим в соответствии с документацией на модуль rlm_stg.so (см. документацию на систему Stargazer). -Настройку Stargazer с плагином для FreeRADIUS проводим в соответствиии с +Настройку Stargazer с плагином для FreeRADIUS проводим в соответствиии с документацией на модуль mod_radius.so (см. документацию на систему Stargazer). -В файле clients.conf, расположенном в дирректории с конфигурационными файлами -FreeRADIUS, описываем, какие клиенты могут использовать FreeRADIUS. -Рекомендуется заменить стандартный пароль, которым шифруется обмен информации -с клиентом, "testing123" на что-то более приемлимое с точки зрения безопасности. -После этого запускаем FreeRADIUS и удостоверяемся, что он работает строчкой -"Mon Mar 31 16:06:17 2008 : Info: Ready to process requests." в журнале -(обычно, /var/log/radius/radius.log). Если журнал FreeRADIUS не позволяет -определить проблему - можно запустить сервер в отладочном режме с ключем -X. +В файле clients.conf, расположенном в дирректории с конфигурационными файлами +FreeRADIUS, описываем, какие клиенты могут использовать FreeRADIUS. +Рекомендуется заменить стандартный пароль, которым шифруется обмен информации +с клиентом, "testing123" на что-то более приемлимое с точки зрения безопасности. +После этого запускаем FreeRADIUS и удостоверяемся, что он работает строчкой +"Mon Mar 31 16:06:17 2008 : Info: Ready to process requests." в журнале +(обычно, /var/log/radius/radius.log). Если журнал FreeRADIUS не позволяет +определить проблему - можно запустить сервер в отладочном режме с ключем -X. В этом режиме более детальное журналирование проводится в консоль. -Если на данном этапе все работает - в файл насттроек PPP прописываем строчку -plugin radius.so. После этого VPN должен нормально авторизоваться +Если на данном этапе все работает - в файл насттроек PPP прописываем строчку +plugin radius.so. После этого VPN должен нормально авторизоваться пользователями системы Stargazer. 3. Настройка шейпера -Собственно настройки шейпер не требует. Всё, что нужно прописано в скриптах -OnConnect и OnDisconnect. Шейпер предназначен для работы с хранилищем на +Собственно настройки шейпер не требует. Всё, что нужно прописано в скриптах +OnConnect и OnDisconnect. Шейпер предназначен для работы с хранилищем на файлах, однако, переделать скипт под MySQL или Firebird не составит труда. -Скорость для пользоватлея задается в поле Userdata0 в kbit/sec. В этом поле +Скорость для пользоватлея задается в поле Userdata0 в kbit/sec. В этом поле должно быть прописано просто число без всяких kbit/sec и т.п. Если в этом поле -у пользователя нет данных или стоит некорректное значение, пользователь будет -ограничен скоростью определенной в переменной default_speed в скрипте +у пользователя нет данных или стоит некорректное значение, пользователь будет +ограничен скоростью определенной в переменной default_speed в скрипте OnConnect. diff --git a/projects/stargazer/scripts/shaper_vpn_radius/firewall/firewall b/projects/stargazer/scripts/shaper_vpn_radius/firewall/firewall index 36a27032..c963ad7c 100755 --- a/projects/stargazer/scripts/shaper_vpn_radius/firewall/firewall +++ b/projects/stargazer/scripts/shaper_vpn_radius/firewall/firewall @@ -19,7 +19,7 @@ iptables -P FORWARD ACCEPT iptables -t nat -F iptables -t filter -F -# +# #iptables -A INPUT -d $ip1 -j ACCEPT #iptables -A OUTPUT -s $ip1 -j ACCEPT diff --git a/projects/stargazer/scripts/shaper_vpn_radius/freeradius/radiusd.conf b/projects/stargazer/scripts/shaper_vpn_radius/freeradius/radiusd.conf index c41d28d7..2c7a7446 100644 --- a/projects/stargazer/scripts/shaper_vpn_radius/freeradius/radiusd.conf +++ b/projects/stargazer/scripts/shaper_vpn_radius/freeradius/radiusd.conf @@ -321,9 +321,9 @@ log_auth_goodpass = no # usercollide = no -# lower_user / lower_pass: +# lower_user / lower_pass: # Lower case the username/password "before" or "after" -# attempting to authenticate. +# attempting to authenticate. # # If "before", the server will first modify the request and then try # to auth the user. If "after", the server will first auth using the @@ -399,7 +399,7 @@ security { # Normally this should be set to "no", because they're useless. # See: http://www.freeradius.org/rfc/rfc2865.html#Keep-Alives # - # However, certain NAS boxes may require them. + # However, certain NAS boxes may require them. # # When sent a Status-Server message, the server responds with # an Access-Accept packet, containing a Reply-Message attribute, @@ -431,7 +431,7 @@ $INCLUDE ${confdir}/proxy.conf # CLIENTS CONFIGURATION # -# Client configuration is defined in "clients.conf". +# Client configuration is defined in "clients.conf". # # The 'clients.conf' file contains all of the information from the old @@ -743,7 +743,7 @@ $INCLUDE ${confdir}/eap.conf # or repeat values for Acct-Session-Id, causing no end of # confusion. # - # This module will add a (probably) unique session id + # This module will add a (probably) unique session id # to an accounting packet based on the attributes listed # below found in the packet. See doc/rlm_acct_unique for # more information. @@ -793,7 +793,7 @@ $INCLUDE ${confdir}/eap.conf # If we want to believe the 'utmp' file, then this # configuration entry can be set to 'no'. # - check_with_nas = yes + check_with_nas = yes # Set the file permissions, as the contents of this file # are usually private. @@ -946,7 +946,7 @@ instantiate { # The order of the realm modules will determine the order that # we try to find a matching realm. # -# Make *sure* that 'preprocess' comes before any realm if you +# Make *sure* that 'preprocess' comes before any realm if you # need to setup hints for the remote radius server authorize { # @@ -1072,7 +1072,7 @@ accounting { } -# Session database, used for checking Simultaneous-Use. Either the radutmp +# Session database, used for checking Simultaneous-Use. Either the radutmp # or rlm_sql module can handle this. # The rlm_sql module is *much* faster session { diff --git a/projects/stargazer/scripts/shaper_vpn_radius/ppp/pptpd-options b/projects/stargazer/scripts/shaper_vpn_radius/ppp/pptpd-options index af58ba40..cf44b56e 100644 --- a/projects/stargazer/scripts/shaper_vpn_radius/ppp/pptpd-options +++ b/projects/stargazer/scripts/shaper_vpn_radius/ppp/pptpd-options @@ -13,7 +13,7 @@ # Authentication -# Name of the local system for authentication purposes +# Name of the local system for authentication purposes # (must match the second field in /etc/ppp/chap-secrets entries) name pptpd @@ -93,5 +93,5 @@ defaultroute lock # Disable BSD-Compress compression -nobsdcomp -plugin radius.so \ No newline at end of file +nobsdcomp +plugin radius.so diff --git a/projects/stargazer/scripts/shaper_vpn_radius/pptpd.conf b/projects/stargazer/scripts/shaper_vpn_radius/pptpd.conf index 5c64b837..a9cd362a 100644 --- a/projects/stargazer/scripts/shaper_vpn_radius/pptpd.conf +++ b/projects/stargazer/scripts/shaper_vpn_radius/pptpd.conf @@ -62,7 +62,7 @@ logwtmp # 1. No spaces are permitted between commas or within addresses. # # 2. If you give more IP addresses than MAX_CONNECTIONS, it will -# start at the beginning of the list and go until it gets +# start at the beginning of the list and go until it gets # MAX_CONNECTIONS IPs. Others will be ignored. # # 3. No shortcuts in ranges! ie. 234-8 does not mean 234 to 238, diff --git a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnConnect b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnConnect index 099a2194..cf67ae4f 100755 --- a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnConnect +++ b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnConnect @@ -1,7 +1,7 @@ #!/bin/bash #Этот скрипт вызывается в момент, когда пользователь -#успешно прошел авторизацию на сервере. Задача скрипта - перестроить +#успешно прошел авторизацию на сервере. Задача скрипта - перестроить #файрвол так, что бы пользователь получил доступ в интернет # Login @@ -32,7 +32,7 @@ speedR=$(grep -i "^Userdata0=" /var/stargazer/users/$LOGIN/conf | cut -f 2 -d"=" #echo "speedR=$speedR" >> /var/stargazer/users/$LOGIN/connect.log speed=$(echo $speedR | grep "^[0-9]*[0-9]$") -if [ -z "$speed" ] +if [ -z "$speed" ] then speed=$default_speed fi diff --git a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnDisconnect b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnDisconnect index 482e926c..e654387f 100755 --- a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnDisconnect +++ b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnDisconnect @@ -3,7 +3,7 @@ # Этот скрипт вызывается в момент, когда пользователь # желает отключится от интернета или вышел таймаут у пользователя # и сервер сам отключает пользователя -# Задача скрипта подобна задаче скрипта OnConnect - перестроить +# Задача скрипта подобна задаче скрипта OnConnect - перестроить # файрвол так, что бы пользователю закрыть доступ в интернет # Login diff --git a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnUserAdd b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnUserAdd index 22d321cc..923569c7 100755 --- a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnUserAdd +++ b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/OnUserAdd @@ -2,7 +2,7 @@ # Использование (неиспользование) этого скрипта дело вкуса. # Он не выполняет критических функций. Его задача автматизировать -# действия характерные при добавлении пользователя сети, например добавлекние +# действия характерные при добавлении пользователя сети, например добавлекние # пользователю почты # Login diff --git a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/rules b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/rules index 3fb48284..8fd842bc 100644 --- a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/rules +++ b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/rules @@ -1,3 +1,3 @@ -ALL 192.168.0.0/16 DIR1 +ALL 192.168.0.0/16 DIR1 ALL 10.0.0.0/8 DIR2 -ALL 0.0.0.0/0 DIR0 \ No newline at end of file +ALL 0.0.0.0/0 DIR0 diff --git a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/stargazer.conf b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/stargazer.conf index 221c85c9..007a0720 100644 --- a/projects/stargazer/scripts/shaper_vpn_radius/stargazer/stargazer.conf +++ b/projects/stargazer/scripts/shaper_vpn_radius/stargazer/stargazer.conf @@ -74,7 +74,7 @@ WriteFreeMbTraffCost = no # По умолчанию установлен в no # FullFee=no -# Необязательный параметр указывающий показывать на счету и позволять +# Необязательный параметр указывающий показывать на счету и позволять # использовать пользователю абонплату. По умолчанию установлен в yes # ShowFeeInCash=yes @@ -120,11 +120,11 @@ ExecutersNum = 2 ModulesPath = /usr/lib/stg # Определяет директорию, в которой будут находится файлы "монитора" -# работы сервера. В этой директории будут созданы пустые файлы, время -# модификации которых будет меняться примерно раз в минуту. Если какой-то -# компонент сервера зависнет, файл(ы) перестанет обновлятся, и по этому -# признаку можно определить сбой в работе сервера и при надобности -# перезапустить. Если параметр не указан или пустой, мониторинг производится +# работы сервера. В этой директории будут созданы пустые файлы, время +# модификации которых будет меняться примерно раз в минуту. Если какой-то +# компонент сервера зависнет, файл(ы) перестанет обновлятся, и по этому +# признаку можно определить сбой в работе сервера и при надобности +# перезапустить. Если параметр не указан или пустой, мониторинг производится # не будет. Параметр не является обязательным, по умолчанию пустой. # MonitorDir=/var/stargazer/monitor @@ -245,7 +245,7 @@ ModulesPath = /usr/lib/stg PingDelay = 15 - + Password = 123456 ServerIP = 127.0.0.1 diff --git a/projects/stargazer/settings_impl.h b/projects/stargazer/settings_impl.h index 9bcce5b0..f5d2dc2b 100644 --- a/projects/stargazer/settings_impl.h +++ b/projects/stargazer/settings_impl.h @@ -75,8 +75,8 @@ public: const std::string & GetRulesFileName() const { return rules; } const std::string & GetLogFileName() const { return logFile; } const std::string & GetPIDFileName() const { return pidFile; } - unsigned GetDetailStatWritePeriod() const - { return detailStatWritePeriod; } + unsigned GetDetailStatWritePeriod() const + { return detailStatWritePeriod; } unsigned GetStatWritePeriod() const { return statWritePeriod * 60; } unsigned GetDayFee() const { return dayFee; } bool GetFullFee() const { return fullFee; } diff --git a/stglibs/dotconfpp.lib/dotconfpp.cpp b/stglibs/dotconfpp.lib/dotconfpp.cpp index 8f766f01..391656a6 100644 --- a/stglibs/dotconfpp.lib/dotconfpp.cpp +++ b/stglibs/dotconfpp.lib/dotconfpp.cpp @@ -23,7 +23,7 @@ #include "mempool.h" DOTCONFDocumentNode::DOTCONFDocumentNode():previousNode(NULL), nextNode(NULL), parentNode(NULL), childNode(NULL), - values(NULL), valuesCount(0), + values(NULL), valuesCount(0), name(NULL), lineNum(0), fileName(NULL), closed(true) { } @@ -117,15 +117,15 @@ int DOTCONFDocument::cleanupLine(char * line) *line = ' ';continue; } if(*line == '\\' && (*(line+1) == '"' || *(line+1) == '\'')){ - *bg++ = *(line+1); + *bg++ = *(line+1); line+=2; continue; } if(*line == '\\' && *(line+1) == 'n'){ - *bg++ = '\n'; + *bg++ = '\n'; line+=2; continue; } if(*line == '\\' && *(line+1) == 'r'){ - *bg++ = '\r'; + *bg++ = '\r'; line+=2; continue; } if(*line == '\\' && (*(line+1) == '\n' || *(line+1) == '\r')){ //multiline @@ -170,7 +170,7 @@ int DOTCONFDocument::cleanupLine(char * line) continue; } *bg++ = *line++; - } + } if(quoted && !multiline){ error(curLine, fileName, "unterminated quote"); @@ -259,7 +259,7 @@ int DOTCONFDocument::parseLine() tagNode->pushValue(nodeValue); } } - + return 0; } int DOTCONFDocument::parseFile(DOTCONFDocumentNode * _parent) @@ -292,7 +292,7 @@ int DOTCONFDocument::parseFile(DOTCONFDocumentNode * _parent) if(ret == -1){ break; } - } + } } } @@ -331,7 +331,7 @@ int DOTCONFDocument::checkConfig(const std::list::iterator } int DOTCONFDocument::setContent(const char * _fileName) -{ +{ int ret = 0; char realpathBuf[PATH_MAX]; @@ -363,11 +363,11 @@ int DOTCONFDocument::setContent(const char * _fileName) } ret = parseFile(); - + (void) fclose(file); if(!ret){ - + if( (ret = checkConfig(nodeTree.begin())) == -1){ return -1; } @@ -443,7 +443,7 @@ int DOTCONFDocument::setContent(const char * _fileName) //free(fileName); fileName = strdup(realpathBuf); from = nodeTree.end(); --from; - + if(tagNode->parentNode){ DOTCONFDocumentNode * nd = tagNode->parentNode->childNode; while(nd){ @@ -455,7 +455,7 @@ int DOTCONFDocument::setContent(const char * _fileName) curPrev = nd; } ret = parseFile(tagNode->parentNode); - + //ret = parseFile(tagNode->parentNode); (void) fclose(file); if(ret == -1) @@ -487,7 +487,7 @@ int DOTCONFDocument::checkRequiredOptions() { for(std::list::const_iterator ci = requiredOptions.begin(); ci != requiredOptions.end(); ++ci){ bool matched = false; - for(std::list::iterator i = nodeTree.begin(); i!=nodeTree.end(); ++i){ + for(std::list::iterator i = nodeTree.begin(); i!=nodeTree.end(); ++i){ if(!cmp_func((*i)->name, *ci)){ matched = true; break; @@ -562,7 +562,7 @@ char * DOTCONFDocument::getSubstitution(char * macro, int lineNum) buf = mempool->strdup(subs); } else { std::list::iterator i = nodeTree.begin(); - for(; i!=nodeTree.end(); ++i){ + for(; i!=nodeTree.end(); ++i){ DOTCONFDocumentNode * tagNode = *i; if(!cmp_func(tagNode->name, variable)){ if(tagNode->valuesCount != 0){ @@ -629,7 +629,7 @@ const DOTCONFDocumentNode * DOTCONFDocument::getFirstNode() const const DOTCONFDocumentNode * DOTCONFDocument::findNode(const char * nodeName, const DOTCONFDocumentNode * parentNode, const DOTCONFDocumentNode * startNode) const { //printf("nodeName=%s, cont=%s, start=%s\n", nodeName, containingNode!=NULL?containingNode->name:"NULL", startNode!=NULL?startNode->name:"NULL"); - + std::list::const_iterator i = nodeTree.begin(); if(startNode == NULL) -- 2.44.2 From 0d6d9ba8a9c8512a0e1fd66a398c61e656644516 Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Sun, 28 Jun 2020 18:45:11 +0300 Subject: [PATCH 10/16] Add divert_cap params description. --- doc/help/ch4.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/help/ch4.xml b/doc/help/ch4.xml index 178154e7..b3dc7159 100644 --- a/doc/help/ch4.xml +++ b/doc/help/ch4.xml @@ -214,7 +214,11 @@
Модуль захвата трафика cap_divert (только для ОС FreeBSD). - Модуль не имеет параметров. Для захвата трафика используются divert-сокеты. Как и IPQ эта технология использует прохождение пакетов через пространство пользователя. Для работы модуля требуется поддержка divert-сокетов в ядре и специальная настройка файрвола. Для передачи пакета в пространство пользователя в файрволе используется правило divert или tee. Первое правило работает аналогично цели QUEUE для iptables — пропускает пакет через пространство пользователя перед отправкой. Соответственно, это может вызвать те-же проблемы с пропускной способностью роутера. Правило tee передает в пространство пользователя копию пакета, а оригинал отправляет дальше. Такой подход позволяет избежать снижения пропускной способности сервера при высокой нагрузке на него, так как исключается ожидание пакета в время его нахождения в пространстве пользователя. + + Port — необязательный параметр, указывающий порт на который будет происходить перенаправление трафика. Значение по умолчанию: 15701. + DisableForwarding — необязательный параметр, отключающий форвардинг пакетов. Значение по умолчанию: no. + + Для захвата трафика используются divert-сокеты. Как и IPQ эта технология использует прохождение пакетов через пространство пользователя. Для работы модуля требуется поддержка divert-сокетов в ядре и специальная настройка файрвола. Для передачи пакета в пространство пользователя в файрволе используется правило divert или tee. Первое правило работает аналогично цели QUEUE для iptables — пропускает пакет через пространство пользователя перед отправкой. Соответственно, это может вызвать те-же проблемы с пропускной способностью роутера. Правило tee передает в пространство пользователя копию пакета, а оригинал отправляет дальше. Такой подход позволяет избежать снижения пропускной способности сервера при высокой нагрузке на него, так как исключается ожидание пакета в время его нахождения в пространстве пользователя. При использовании правила tee рекомендуется отключать форвардинг пакетов. Описание параметров модуля cap_nf для захвата трафика: -- 2.44.2 From 9c340da9ffa670c20c3658a2be43d35868a9f5d9 Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Sun, 28 Jun 2020 18:46:00 +0300 Subject: [PATCH 11/16] Fix email. --- doc/help/ch9.xml | 4 ++-- doc/help/help.xml | 4 ++-- doc/xmlrpc/API.xml | 6 +++--- include/stg/admin.h | 2 +- include/stg/admins.h | 2 +- include/stg/corporations.h | 2 +- include/stg/rs_packets.h | 2 +- include/stg/service_conf.h | 2 +- include/stg/services.h | 2 +- include/stg/settings.h | 2 +- include/stg/tariff.h | 2 +- include/stg/tariffs.h | 2 +- include/stg/traffcounter.h | 2 +- include/stg/user.h | 2 +- include/stg/users.h | 2 +- include/stg/version.h | 2 +- projects/libs/Makefile | 2 +- projects/rlm_stg/rlm_stg.c | 2 +- projects/rlm_stg/stg_client.cpp | 2 +- projects/rlm_stg/stg_client.h | 2 +- projects/rscriptd/listener.cpp | 2 +- projects/rscriptd/listener.h | 2 +- projects/rscriptd/main.cpp | 2 +- projects/rscriptd/pidfile.cpp | 2 +- projects/rscriptd/pidfile.h | 2 +- projects/sgauth/settings_impl.cpp | 2 +- projects/sgauth/settings_impl.h | 2 +- projects/sgauthstress/settings.cpp | 2 +- projects/sgauthstress/settings.h | 2 +- projects/sgauthstress/store_loader.cpp | 2 +- projects/sgauthstress/store_loader.h | 2 +- projects/sgconv/main.cpp | 2 +- projects/stargazer/corps_impl.cpp | 2 +- projects/stargazer/corps_impl.h | 2 +- projects/stargazer/pidfile.cpp | 2 +- projects/stargazer/pidfile.h | 2 +- projects/stargazer/plugin_mgr.cpp | 2 +- projects/stargazer/plugin_mgr.h | 2 +- projects/stargazer/plugin_runner.cpp | 2 +- projects/stargazer/plugin_runner.h | 2 +- projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp | 2 +- projects/stargazer/plugins/capture/cap_nf/cap_nf.h | 2 +- projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp | 2 +- projects/stargazer/plugins/capture/nfqueue/nfqueue.h | 2 +- .../plugins/configuration/sgconfig/configproto.cpp | 2 +- .../stargazer/plugins/configuration/sgconfig/configproto.h | 2 +- projects/stargazer/plugins/configuration/sgconfig/conn.cpp | 2 +- projects/stargazer/plugins/configuration/sgconfig/conn.h | 2 +- .../plugins/configuration/sgconfig/parser_admins.cpp | 2 +- .../plugins/configuration/sgconfig/parser_admins.h | 2 +- .../plugins/configuration/sgconfig/parser_auth_by.cpp | 2 +- .../plugins/configuration/sgconfig/parser_auth_by.h | 2 +- .../plugins/configuration/sgconfig/parser_message.cpp | 2 +- .../plugins/configuration/sgconfig/parser_message.h | 2 +- .../plugins/configuration/sgconfig/parser_server_info.cpp | 2 +- .../plugins/configuration/sgconfig/parser_server_info.h | 2 +- .../plugins/configuration/sgconfig/parser_tariffs.cpp | 2 +- .../plugins/configuration/sgconfig/parser_tariffs.h | 2 +- .../plugins/configuration/sgconfig/parser_users.cpp | 2 +- .../stargazer/plugins/configuration/sgconfig/parser_users.h | 2 +- projects/stargazer/plugins/other/radius/radius.cpp | 2 +- projects/stargazer/plugins/other/radius/radius.h | 2 +- projects/stargazer/plugins/other/rscript/nrmap_parser.cpp | 2 +- projects/stargazer/plugins/other/rscript/nrmap_parser.h | 2 +- projects/stargazer/plugins/other/rscript/rscript.cpp | 2 +- projects/stargazer/plugins/other/rscript/rscript.h | 2 +- projects/stargazer/plugins/other/rscript/send_functor.h | 2 +- projects/stargazer/plugins/other/rscript/ur_functor.h | 2 +- .../stargazer/plugins/store/firebird/firebird_store.cpp | 2 +- projects/stargazer/plugins/store/firebird/firebird_store.h | 2 +- .../plugins/store/firebird/firebird_store_admins.cpp | 2 +- .../plugins/store/firebird/firebird_store_corporations.cpp | 2 +- .../plugins/store/firebird/firebird_store_messages.cpp | 2 +- .../plugins/store/firebird/firebird_store_services.cpp | 2 +- .../plugins/store/firebird/firebird_store_tariffs.cpp | 2 +- .../plugins/store/firebird/firebird_store_users.cpp | 2 +- .../plugins/store/firebird/firebird_store_utils.cpp | 2 +- .../stargazer/plugins/store/postgresql/postgresql_store.cpp | 2 +- .../stargazer/plugins/store/postgresql/postgresql_store.h | 2 +- .../plugins/store/postgresql/postgresql_store_admins.cpp | 2 +- .../store/postgresql/postgresql_store_corporations.cpp | 2 +- .../plugins/store/postgresql/postgresql_store_messages.cpp | 2 +- .../plugins/store/postgresql/postgresql_store_services.cpp | 2 +- .../plugins/store/postgresql/postgresql_store_tariffs.cpp | 2 +- .../plugins/store/postgresql/postgresql_store_users.cpp | 2 +- .../plugins/store/postgresql/postgresql_store_utils.cpp | 2 +- projects/stargazer/services_impl.cpp | 2 +- projects/stargazer/services_impl.h | 2 +- projects/stargazer/store_loader.cpp | 2 +- projects/stargazer/store_loader.h | 2 +- stglibs/ia.lib/ia.cpp | 2 +- 91 files changed, 95 insertions(+), 95 deletions(-) diff --git a/doc/help/ch9.xml b/doc/help/ch9.xml index c83533ab..cf8f4d27 100644 --- a/doc/help/ch9.xml +++ b/doc/help/ch9.xml @@ -1,8 +1,8 @@ Лицензия, авторы, копирайты, благодарности. Система распространяется по лицензии GPL v2. - Авторами системы являются Борис ÐœÐ¸Ñ…айленко aka stg-34, Максим ÐœÐ¾Ñ€Ð¾Ð·, Максим ÐœÐ°Ð¼Ð¾Ð½Ñ‚ов aka madf, Игорь Ð›Ñ‹ÑÐµÐ¹ÐºÐ¾ и другие. - Авторами файлов справки являются Георгий Ð¤Ð¸Ð»Ð¾Ð½Ð¾Ð² aka egor2fsys, Максим ÐœÐ°Ð¼Ð¾Ð½Ñ‚ов aka madf и Елена Ð¨ÐµÐ²ÐµÐ»ÐµÐ²Ð°. + Авторами системы являются Борис ÐœÐ¸Ñ…айленко aka stg-34, Максим ÐœÐ¾Ñ€Ð¾Ð·, Максим ÐœÐ°Ð¼Ð¾Ð½Ñ‚ов aka madf, Игорь Ð›Ñ‹ÑÐµÐ¹ÐºÐ¾ и другие. + Авторами файлов справки являются Георгий Ð¤Ð¸Ð»Ð¾Ð½Ð¾Ð² aka egor2fsys, Максим ÐœÐ°Ð¼Ð¾Ð½Ñ‚ов aka madf и Елена Ð¨ÐµÐ²ÐµÐ»ÐµÐ²Ð°. В системе использована библиотека LibExpat. Модуль БД на основе СУБД Firebird использует библиотеки libfbclient и IBPP. Модуль БД на основе СУБД MySQL использует библиотеку libmysqlclient_r. Модуль БД на основе СУБД PostgreSQL использует библиотеку libpq. Авторы выражают благодарность всем администраторам и пользователям Stargazer за сообщения об ошибках и предложения новых возможностей системы. Также выражаем благодарность форумам «Локальные сети Украины» и «Домашние сети России». diff --git a/doc/help/help.xml b/doc/help/help.xml index f9e703a3..dbab2ad0 100644 --- a/doc/help/help.xml +++ b/doc/help/help.xml @@ -22,9 +22,9 @@ Stargazer — руководство пользователя - MaximMamontov + MaksymMamontov - 2016Maxim Mamontov + 2020Maksym Mamontov &ch1; &ch2; diff --git a/doc/xmlrpc/API.xml b/doc/xmlrpc/API.xml index 173c65c9..79771ce3 100644 --- a/doc/xmlrpc/API.xml +++ b/doc/xmlrpc/API.xml @@ -3,10 +3,10 @@ xmlns:xi="http://www.w3.org/2001/XInclude"> Описание XML-RPC API биллинговой системы Stargazer - i - Maxim + + Maksym Mamontov - faust@stg.dp.ua + stg@madf.info 22.05.2009 diff --git a/include/stg/admin.h b/include/stg/admin.h index 961968a1..05307374 100644 --- a/include/stg/admin.h +++ b/include/stg/admin.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef ADMIN_H diff --git a/include/stg/admins.h b/include/stg/admins.h index 54ea1056..f0169445 100644 --- a/include/stg/admins.h +++ b/include/stg/admins.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef ADMINS_H diff --git a/include/stg/corporations.h b/include/stg/corporations.h index 2d07c6c6..a25e60df 100644 --- a/include/stg/corporations.h +++ b/include/stg/corporations.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef CORPORATIONS_H diff --git a/include/stg/rs_packets.h b/include/stg/rs_packets.h index 503fe91d..23fe1e5c 100644 --- a/include/stg/rs_packets.h +++ b/include/stg/rs_packets.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef RS_PACKETSH diff --git a/include/stg/service_conf.h b/include/stg/service_conf.h index b6c24490..1b472859 100644 --- a/include/stg/service_conf.h +++ b/include/stg/service_conf.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef SERVICE_CONF_H diff --git a/include/stg/services.h b/include/stg/services.h index 140391d0..87ed1f2d 100644 --- a/include/stg/services.h +++ b/include/stg/services.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef SERVICES_H diff --git a/include/stg/settings.h b/include/stg/settings.h index 64be687f..fed9a224 100644 --- a/include/stg/settings.h +++ b/include/stg/settings.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef SETTINGS_H diff --git a/include/stg/tariff.h b/include/stg/tariff.h index 4f5b4166..00312501 100644 --- a/include/stg/tariff.h +++ b/include/stg/tariff.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef TARIFF_H diff --git a/include/stg/tariffs.h b/include/stg/tariffs.h index 6a851c5a..81da67eb 100644 --- a/include/stg/tariffs.h +++ b/include/stg/tariffs.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef TARIFFS_H diff --git a/include/stg/traffcounter.h b/include/stg/traffcounter.h index 97d17837..b463ab2e 100644 --- a/include/stg/traffcounter.h +++ b/include/stg/traffcounter.h @@ -15,7 +15,7 @@ */ /* - * Author : maxim Mamontov + * Author : Maksym Mamontov */ #ifndef TRAFFCOUNTER_H diff --git a/include/stg/user.h b/include/stg/user.h index 7772a298..b1d8b355 100644 --- a/include/stg/user.h +++ b/include/stg/user.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef USER_H diff --git a/include/stg/users.h b/include/stg/users.h index 3fb951e0..db5b8ddd 100644 --- a/include/stg/users.h +++ b/include/stg/users.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef USERS_H diff --git a/include/stg/version.h b/include/stg/version.h index 20538a7f..20d978ac 100644 --- a/include/stg/version.h +++ b/include/stg/version.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontiv + * Author : Maksym Mamontov */ #ifndef __VERSION_H__ diff --git a/projects/libs/Makefile b/projects/libs/Makefile index 675002e5..d79f61d7 100644 --- a/projects/libs/Makefile +++ b/projects/libs/Makefile @@ -15,7 +15,7 @@ # # -# Author : Maxim Mamontov +# Author : Maksym Mamontov # include ../../Makefile.conf diff --git a/projects/rlm_stg/rlm_stg.c b/projects/rlm_stg/rlm_stg.c index e1caf575..abed0dcc 100644 --- a/projects/rlm_stg/rlm_stg.c +++ b/projects/rlm_stg/rlm_stg.c @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/rlm_stg/stg_client.cpp b/projects/rlm_stg/stg_client.cpp index 284c1e2b..9a8df39d 100644 --- a/projects/rlm_stg/stg_client.cpp +++ b/projects/rlm_stg/stg_client.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/rlm_stg/stg_client.h b/projects/rlm_stg/stg_client.h index 5ee000c7..114323f9 100644 --- a/projects/rlm_stg/stg_client.h +++ b/projects/rlm_stg/stg_client.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/rscriptd/listener.cpp b/projects/rscriptd/listener.cpp index 0b626afd..222a02eb 100644 --- a/projects/rscriptd/listener.cpp +++ b/projects/rscriptd/listener.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include diff --git a/projects/rscriptd/listener.h b/projects/rscriptd/listener.h index 22b029b6..ae0b40d5 100644 --- a/projects/rscriptd/listener.h +++ b/projects/rscriptd/listener.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include diff --git a/projects/rscriptd/main.cpp b/projects/rscriptd/main.cpp index 27e4d747..491689af 100644 --- a/projects/rscriptd/main.cpp +++ b/projects/rscriptd/main.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/rscriptd/pidfile.cpp b/projects/rscriptd/pidfile.cpp index 5f3f4979..293874ca 100644 --- a/projects/rscriptd/pidfile.cpp +++ b/projects/rscriptd/pidfile.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/rscriptd/pidfile.h b/projects/rscriptd/pidfile.h index 82ff0038..9058bff0 100644 --- a/projects/rscriptd/pidfile.h +++ b/projects/rscriptd/pidfile.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/sgauth/settings_impl.cpp b/projects/sgauth/settings_impl.cpp index 1a7b8dcd..d3ff8885 100644 --- a/projects/sgauth/settings_impl.cpp +++ b/projects/sgauth/settings_impl.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include diff --git a/projects/sgauth/settings_impl.h b/projects/sgauth/settings_impl.h index 253b69ea..f35e3f8c 100644 --- a/projects/sgauth/settings_impl.h +++ b/projects/sgauth/settings_impl.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef SETTINGS_IMPL_H diff --git a/projects/sgauthstress/settings.cpp b/projects/sgauthstress/settings.cpp index 62adc143..2e0f8e0a 100644 --- a/projects/sgauthstress/settings.cpp +++ b/projects/sgauthstress/settings.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include diff --git a/projects/sgauthstress/settings.h b/projects/sgauthstress/settings.h index 4e4b9be1..3aec0930 100644 --- a/projects/sgauthstress/settings.h +++ b/projects/sgauthstress/settings.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef SETTINGS_H diff --git a/projects/sgauthstress/store_loader.cpp b/projects/sgauthstress/store_loader.cpp index a545da35..0c1db38a 100644 --- a/projects/sgauthstress/store_loader.cpp +++ b/projects/sgauthstress/store_loader.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/sgauthstress/store_loader.h b/projects/sgauthstress/store_loader.h index 91d6e7cf..f09e1419 100644 --- a/projects/sgauthstress/store_loader.h +++ b/projects/sgauthstress/store_loader.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/sgconv/main.cpp b/projects/sgconv/main.cpp index 63e83e9d..2109befb 100644 --- a/projects/sgconv/main.cpp +++ b/projects/sgconv/main.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/corps_impl.cpp b/projects/stargazer/corps_impl.cpp index 098acaca..343df4bc 100644 --- a/projects/stargazer/corps_impl.cpp +++ b/projects/stargazer/corps_impl.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "corps_impl.h" diff --git a/projects/stargazer/corps_impl.h b/projects/stargazer/corps_impl.h index 3765c5c1..a685ad46 100644 --- a/projects/stargazer/corps_impl.h +++ b/projects/stargazer/corps_impl.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef CORPORATIONS_IMPL_H diff --git a/projects/stargazer/pidfile.cpp b/projects/stargazer/pidfile.cpp index 0f47a257..ce386764 100644 --- a/projects/stargazer/pidfile.cpp +++ b/projects/stargazer/pidfile.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/pidfile.h b/projects/stargazer/pidfile.h index 2600f7fe..6026ae95 100644 --- a/projects/stargazer/pidfile.h +++ b/projects/stargazer/pidfile.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugin_mgr.cpp b/projects/stargazer/plugin_mgr.cpp index 85215c7b..cc1adec7 100644 --- a/projects/stargazer/plugin_mgr.cpp +++ b/projects/stargazer/plugin_mgr.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "plugin_mgr.h" diff --git a/projects/stargazer/plugin_mgr.h b/projects/stargazer/plugin_mgr.h index a37052d5..2b1fb9c9 100644 --- a/projects/stargazer/plugin_mgr.h +++ b/projects/stargazer/plugin_mgr.h @@ -18,7 +18,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "stg/module_settings.h" diff --git a/projects/stargazer/plugin_runner.cpp b/projects/stargazer/plugin_runner.cpp index e43271c0..56fe5d15 100644 --- a/projects/stargazer/plugin_runner.cpp +++ b/projects/stargazer/plugin_runner.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "plugin_runner.h" diff --git a/projects/stargazer/plugin_runner.h b/projects/stargazer/plugin_runner.h index a30b6940..19e62c0e 100644 --- a/projects/stargazer/plugin_runner.h +++ b/projects/stargazer/plugin_runner.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef PLUGIN_RUNNER_H diff --git a/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp b/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp index ce42d911..27c19ad7 100644 --- a/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp +++ b/projects/stargazer/plugins/capture/cap_nf/cap_nf.cpp @@ -19,7 +19,7 @@ Date: 16.05.2008 */ /* -* Author : Maxim Mamontov +* Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/capture/cap_nf/cap_nf.h b/projects/stargazer/plugins/capture/cap_nf/cap_nf.h index 7d24403b..8a467c47 100644 --- a/projects/stargazer/plugins/capture/cap_nf/cap_nf.h +++ b/projects/stargazer/plugins/capture/cap_nf/cap_nf.h @@ -19,7 +19,7 @@ Date: 16.05.2008 */ /* -* Author : Maxim Mamontov +* Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp b/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp index 0c14c10f..6cf18817 100644 --- a/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp +++ b/projects/stargazer/plugins/capture/nfqueue/nfqueue.cpp @@ -15,7 +15,7 @@ */ /* -* Author : Maxim Mamontov +* Author : Maksym Mamontov */ #include "nfqueue.h" diff --git a/projects/stargazer/plugins/capture/nfqueue/nfqueue.h b/projects/stargazer/plugins/capture/nfqueue/nfqueue.h index fe40bc50..47b9295a 100644 --- a/projects/stargazer/plugins/capture/nfqueue/nfqueue.h +++ b/projects/stargazer/plugins/capture/nfqueue/nfqueue.h @@ -15,7 +15,7 @@ */ /* -* Author : Maxim Mamontov +* Author : Maksym Mamontov */ #ifndef NFQ_CAP_H diff --git a/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp b/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp index 020c1365..a16b9cf9 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "configproto.h" diff --git a/projects/stargazer/plugins/configuration/sgconfig/configproto.h b/projects/stargazer/plugins/configuration/sgconfig/configproto.h index f8073575..99faeb17 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/configproto.h +++ b/projects/stargazer/plugins/configuration/sgconfig/configproto.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef CONFIGPROTO_H diff --git a/projects/stargazer/plugins/configuration/sgconfig/conn.cpp b/projects/stargazer/plugins/configuration/sgconfig/conn.cpp index 71de7356..8bebeccc 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/conn.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/conn.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "conn.h" diff --git a/projects/stargazer/plugins/configuration/sgconfig/conn.h b/projects/stargazer/plugins/configuration/sgconfig/conn.h index ed2e64d1..4bf94a5f 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/conn.h +++ b/projects/stargazer/plugins/configuration/sgconfig/conn.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef __STG_SGCONFIG_CONN_H__ diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_admins.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_admins.cpp index 0db867bb..d59bd10f 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_admins.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_admins.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "parser_admins.h" diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_admins.h b/projects/stargazer/plugins/configuration/sgconfig/parser_admins.h index 70ae0274..fc60096f 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_admins.h +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_admins.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef __STG_SGCONFIG_PARSER_ADMINS_H__ diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_auth_by.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_auth_by.cpp index ab1cabdf..a5631212 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_auth_by.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_auth_by.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "parser_auth_by.h" diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_auth_by.h b/projects/stargazer/plugins/configuration/sgconfig/parser_auth_by.h index abbc8f4e..46e6ad10 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_auth_by.h +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_auth_by.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef __STG_PARSER_AUTH_BY_H__ diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_message.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_message.cpp index 06489a42..2895531a 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_message.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_message.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "parser_message.h" diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_message.h b/projects/stargazer/plugins/configuration/sgconfig/parser_message.h index 6ed6622d..b5190d1c 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_message.h +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_message.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef __STG_SGCONFIG_PARSER_SEND_MESSAGE_H__ diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_server_info.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_server_info.cpp index 75be7537..fd6afdcc 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_server_info.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_server_info.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "parser_server_info.h" diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_server_info.h b/projects/stargazer/plugins/configuration/sgconfig/parser_server_info.h index 094caf38..8556f968 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_server_info.h +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_server_info.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef __STG_SGCONFIG_PARSER_SERVER_INFO_H__ diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_tariffs.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_tariffs.cpp index 9c752674..34f09fe5 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_tariffs.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_tariffs.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "parser_tariffs.h" diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_tariffs.h b/projects/stargazer/plugins/configuration/sgconfig/parser_tariffs.h index 418ae45c..55a1f8cf 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_tariffs.h +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_tariffs.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef __STG_SGCONFIG_PARSER_TARIFFS_H__ diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_users.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_users.cpp index 5707b726..3a02fa18 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_users.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_users.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "parser_users.h" diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_users.h b/projects/stargazer/plugins/configuration/sgconfig/parser_users.h index cbf25915..d65c6ad7 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_users.h +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_users.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef __STG_SGCONFIG_PARSER_USERS_H__ diff --git a/projects/stargazer/plugins/other/radius/radius.cpp b/projects/stargazer/plugins/other/radius/radius.cpp index 8e52cdb4..1d76518b 100644 --- a/projects/stargazer/plugins/other/radius/radius.cpp +++ b/projects/stargazer/plugins/other/radius/radius.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/other/radius/radius.h b/projects/stargazer/plugins/other/radius/radius.h index 0f1c95fc..09ea3593 100644 --- a/projects/stargazer/plugins/other/radius/radius.h +++ b/projects/stargazer/plugins/other/radius/radius.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/other/rscript/nrmap_parser.cpp b/projects/stargazer/plugins/other/rscript/nrmap_parser.cpp index 308d5d05..a4e3b61a 100644 --- a/projects/stargazer/plugins/other/rscript/nrmap_parser.cpp +++ b/projects/stargazer/plugins/other/rscript/nrmap_parser.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/other/rscript/nrmap_parser.h b/projects/stargazer/plugins/other/rscript/nrmap_parser.h index 240ce349..a6b43bbd 100644 --- a/projects/stargazer/plugins/other/rscript/nrmap_parser.h +++ b/projects/stargazer/plugins/other/rscript/nrmap_parser.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/other/rscript/rscript.cpp b/projects/stargazer/plugins/other/rscript/rscript.cpp index 1e842d25..6e6796fc 100644 --- a/projects/stargazer/plugins/other/rscript/rscript.cpp +++ b/projects/stargazer/plugins/other/rscript/rscript.cpp @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include "rscript.h" diff --git a/projects/stargazer/plugins/other/rscript/rscript.h b/projects/stargazer/plugins/other/rscript/rscript.h index 4fb0ac73..eba5d24b 100644 --- a/projects/stargazer/plugins/other/rscript/rscript.h +++ b/projects/stargazer/plugins/other/rscript/rscript.h @@ -16,7 +16,7 @@ /* * Author : Boris Mikhailenko - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef RSCRIPT_H diff --git a/projects/stargazer/plugins/other/rscript/send_functor.h b/projects/stargazer/plugins/other/rscript/send_functor.h index dc8ad63a..ea3efda1 100644 --- a/projects/stargazer/plugins/other/rscript/send_functor.h +++ b/projects/stargazer/plugins/other/rscript/send_functor.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/other/rscript/ur_functor.h b/projects/stargazer/plugins/other/rscript/ur_functor.h index 9ecf2bc5..0c5d1a64 100644 --- a/projects/stargazer/plugins/other/rscript/ur_functor.h +++ b/projects/stargazer/plugins/other/rscript/ur_functor.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef __UR_FUNCTOR_H__ diff --git a/projects/stargazer/plugins/store/firebird/firebird_store.cpp b/projects/stargazer/plugins/store/firebird/firebird_store.cpp index f9a2f78e..a5c0c0a8 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/firebird/firebird_store.h b/projects/stargazer/plugins/store/firebird/firebird_store.h index d9c6af24..d9046727 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store.h +++ b/projects/stargazer/plugins/store/firebird/firebird_store.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp index e794d206..fa445a6a 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_admins.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_corporations.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_corporations.cpp index 6c483880..97f2471a 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_corporations.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_corporations.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_messages.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_messages.cpp index 5f9e62bd..8d281461 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_messages.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_messages.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp index 93b7c745..bd810aff 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_services.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp index 4e666794..f53076cb 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_tariffs.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_users.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_users.cpp index d98d7929..d86f1382 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_users.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_users.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/firebird/firebird_store_utils.cpp b/projects/stargazer/plugins/store/firebird/firebird_store_utils.cpp index bbbc8794..ee876513 100644 --- a/projects/stargazer/plugins/store/firebird/firebird_store_utils.cpp +++ b/projects/stargazer/plugins/store/firebird/firebird_store_utils.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp index 35551c5d..9d1acab4 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store.h b/projects/stargazer/plugins/store/postgresql/postgresql_store.h index 6bcb3cd0..c873e91f 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store.h +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store_admins.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store_admins.cpp index b000aa29..751ec81c 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store_admins.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store_admins.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store_corporations.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store_corporations.cpp index 84fab02b..37927924 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store_corporations.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store_corporations.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store_messages.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store_messages.cpp index 42a19073..221ec52a 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store_messages.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store_messages.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store_services.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store_services.cpp index 70b9c64c..fd38dfd4 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store_services.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store_services.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store_tariffs.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store_tariffs.cpp index fd0b38bc..42775c7d 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store_tariffs.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store_tariffs.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store_users.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store_users.cpp index 47999efc..bde1db80 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store_users.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store_users.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/plugins/store/postgresql/postgresql_store_utils.cpp b/projects/stargazer/plugins/store/postgresql/postgresql_store_utils.cpp index 98452429..f24614c9 100644 --- a/projects/stargazer/plugins/store/postgresql/postgresql_store_utils.cpp +++ b/projects/stargazer/plugins/store/postgresql/postgresql_store_utils.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/services_impl.cpp b/projects/stargazer/services_impl.cpp index 109a327b..10f3fa6f 100644 --- a/projects/stargazer/services_impl.cpp +++ b/projects/stargazer/services_impl.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #include diff --git a/projects/stargazer/services_impl.h b/projects/stargazer/services_impl.h index 8101f2d9..33843d3d 100644 --- a/projects/stargazer/services_impl.h +++ b/projects/stargazer/services_impl.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ #ifndef SERVICES_IMPL_H diff --git a/projects/stargazer/store_loader.cpp b/projects/stargazer/store_loader.cpp index 1529a2cc..8544efd1 100644 --- a/projects/stargazer/store_loader.cpp +++ b/projects/stargazer/store_loader.cpp @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/projects/stargazer/store_loader.h b/projects/stargazer/store_loader.h index b38a46ee..39d35e3e 100644 --- a/projects/stargazer/store_loader.h +++ b/projects/stargazer/store_loader.h @@ -15,7 +15,7 @@ */ /* - * Author : Maxim Mamontov + * Author : Maksym Mamontov */ /* diff --git a/stglibs/ia.lib/ia.cpp b/stglibs/ia.lib/ia.cpp index a05d3061..48c125fe 100644 --- a/stglibs/ia.lib/ia.cpp +++ b/stglibs/ia.lib/ia.cpp @@ -23,7 +23,7 @@ /* * Author : * Boris Mikhailenko -* Maxim Mamontov +* Maksym Mamontov * Andrey Rakhmanov - bugfixes. */ -- 2.44.2 From cd503f9a809967fee39d94c878c2ffe266c5b224 Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Mon, 29 Jun 2020 17:08:06 +0300 Subject: [PATCH 12/16] convertor -> sgconv in docs. --- .gitignore | 2 +- doc/help/ch10.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index b49a31e2..4c089aaa 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,7 @@ projects/stargazer/var stglibs/smtp.lib stglibs/crypto.lib/blowfish.c Makefile.conf -projects/convertor/convertor +projects/sgconv/sgconv projects/rscriptd/rscriptd projects/sgconf/sgconf projects/sgconf_xml/sgconf_xml diff --git a/doc/help/ch10.xml b/doc/help/ch10.xml index c62cc05c..d0b55361 100644 --- a/doc/help/ch10.xml +++ b/doc/help/ch10.xml @@ -1,7 +1,7 @@ Приложение А: конвертация БД - Для преобразования базы между любыми двумя модулями хранилища используется утилита convertor (исходный код утилиты находится в каталоге projects/convertor стандартной поставки системы). Утилита работает из каталога сборки без установки в ОС. Для сборки утилиты необходимо запустить скрипт ./build. - При запуске утилиты в качестве параметра можно передать путь к конфигурационному файлу. По умолчанию будет использован файл convertor.conf из каталога сборки. Конфигурационный файл имеет такой-же формат, что и конфигурационный файл stargazer. Глобальный параметр ModulesPath указывает местонахождение модулей хранилища. Далее следуют две секции: <SourceStoreModule> и <DestStoreModule>. Они описывают, соответственно, источник данных и их приемник. Так, например, для переноса всей информации из БД на основе файлов в БД Firebird необходимо в первой секции прописать параметры файлового хранилища, а во второй — хранилища Firebird. + Для преобразования базы между любыми двумя модулями хранилища используется утилита sgconv (исходный код утилиты находится в каталоге projects/sgconv стандартной поставки системы). Утилита работает из каталога сборки без установки в ОС. Для сборки утилиты необходимо запустить скрипт ./build. + При запуске утилиты в качестве параметра можно передать путь к конфигурационному файлу. По умолчанию будет использован файл sgconv.conf из каталога сборки. Конфигурационный файл имеет такой-же формат, что и конфигурационный файл stargazer. Глобальный параметр ModulesPath указывает местонахождение модулей хранилища. Далее следуют две секции: <SourceStoreModule> и <DestStoreModule>. Они описывают, соответственно, источник данных и их приемник. Так, например, для переноса всей информации из БД на основе файлов в БД Firebird необходимо в первой секции прописать параметры файлового хранилища, а во второй — хранилища Firebird. Пример файла конфигурации: # Путь к директории, в которой находятся модули сервера @@ -59,4 +59,4 @@ ModulesPath = ../stargazer/modules # dbhost = localhost #</DestStoreModule> - \ No newline at end of file + -- 2.44.2 From 0f4172ffbddd7b51c80f388adc69c4601d230bf6 Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Mon, 29 Jun 2020 17:50:25 +0300 Subject: [PATCH 13/16] Add tariff change policy description. --- doc/help/ch11.xml | 17 +++++++++- doc/help/ch12.xml | 24 ++++++++++++- doc/help/ch13.xml | 26 ++++++++++++-- doc/xmlrpc/API-tariffs.xml | 69 ++++++++++++++++++++++++++++++++++---- 4 files changed, 126 insertions(+), 10 deletions(-) diff --git a/doc/help/ch11.xml b/doc/help/ch11.xml index 99f1d6ac..704caf4b 100644 --- a/doc/help/ch11.xml +++ b/doc/help/ch11.xml @@ -81,6 +81,21 @@ max — тарифицируется большее количество трафика; + Period — тип абонплаты: + + day — ежедневная абонплата (параметр Fee трактуется как значение списываемое ежедневно); + month — ежемесячная абонплата (классическая, параметр Fee трактуется как значение списываемое за месяц, в том числе в режиме SpreadFee); + + + ChangePolicy — политика смены тарифа: + + allow — на период действия политики смена тарифного плана разрешена; + to_cheap — на период действия политики разрешена смена тарифного плана на более дешевый; + to_expensive — на период действия политики разрешена смена тарифного плана на более дорогой; + deny — на период действия политики смена тарифного плана запрещена; + + + ChangePolicyTimeout — момент завершения действия политики тарификации (0 - политика тарификации не завершается никогда); PriceDayA0 … PriceDayA9 — цена трафика по соответствующему направлению в дневной период до превышения порога; PriceDayB0 … PriceDayB9 — цена трафика по соответствующему направлению в дневной период после превышения порога; PriceNightA0 … PriceNightA9 — цена трафика по соответствующему направлению в ночной период до превышения порога; @@ -91,4 +106,4 @@ NoDiscount0 … NoDiscount9 — отключает тарификацию по времени (трафик при этом считается по «дневной» цене), может принимать значения 0 и 1. - \ No newline at end of file + diff --git a/doc/help/ch12.xml b/doc/help/ch12.xml index 536dd14f..9a5166d7 100644 --- a/doc/help/ch12.xml +++ b/doc/help/ch12.xml @@ -45,7 +45,29 @@ create database 'localhost:/var/stg/stargazer.fdb' user 'stg' password '123456' fee – абонплата; free – количество бесплатных мегабайт трафика, входящих в абонплату; passive_cost – стоимость «заморозки» пользователя; - traf_type – тип подсчета трафика (upload, download, upload+download, MAX(upload, download)). + traff_type — тип тарификации трафика: + + up+down — входящий и исходящий трафик тарифицируется суммарно; + up — тарифицируется только исходящий трафик; + down — тарифицируется только входящий трафик; + max — тарифицируется большее количество трафика; + + + period — тип абонплаты: + + day — ежедневная абонплата (параметр Fee трактуется как значение списываемое ежедневно); + month — ежемесячная абонплата (классическая, параметр Fee трактуется как значение списываемое за месяц, в том числе в режиме SpreadFee); + + + change_policy — политика смены тарифа: + + allow — на период действия политики смена тарифного плана разрешена; + to_cheap — на период действия политики разрешена смена тарифного плана на более дешевый; + to_expensive — на период действия политики разрешена смена тарифного плана на более дорогой; + deny — на период действия политики смена тарифного плана запрещена; + + + change_policy_pimeout — момент завершения действия политики тарификации (0 - политика тарификации не завершается никогда); С таблицей связана хранимая процедура sp_add_tariff, получающая в качестве параметров название тарифа и количество направлений. Возвращает сгенерированный идентификатор (первичный ключ) тарифа. При вызове создает запись в таблице tb_tariffs и указанное количество записей в таблице tb_tariffs_params, соответствующее количеству направлений. С таблицей так же связана хранимая процедура sp_delete_tariff, получающая на вход название тарифа и удаляющая его из таблицы tb_tariffs и связанные с ним данные из таблицы tb_tariffs_params. Таблица tb_tariffs_params (параметры тарифов): diff --git a/doc/help/ch13.xml b/doc/help/ch13.xml index 9bb29e8b..6279b8e5 100644 --- a/doc/help/ch13.xml +++ b/doc/help/ch13.xml @@ -62,7 +62,29 @@ Query OK, 0 rows affected (0.06 sec) PassiveCost – стоимость «заморозки» учетной записи пользователя; Fee – абонплата; Free – количество бесплатных Мб трафика, входящих в абонплату; - TraffType – тип подсчета трафика (up, down, up+down, max). + TraffType — тип тарификации трафика: + + up+down — входящий и исходящий трафик тарифицируется суммарно; + up — тарифицируется только исходящий трафик; + down — тарифицируется только входящий трафик; + max — тарифицируется большее количество трафика; + + + Period — тип абонплаты: + + day — ежедневная абонплата (параметр Fee трактуется как значение списываемое ежедневно); + month — ежемесячная абонплата (классическая, параметр Fee трактуется как значение списываемое за месяц, в том числе в режиме SpreadFee); + + + ChangePolicy — политика смены тарифа: + + allow — на период действия политики смена тарифного плана разрешена; + to_cheap — на период действия политики разрешена смена тарифного плана на более дешевый; + to_expensive — на период действия политики разрешена смена тарифного плана на более дорогой; + deny — на период действия политики смена тарифного плана запрещена; + + + ChangePolicyTimeout — момент завершения действия политики тарификации (0 - политика тарификации не завершается никогда); Таблица users (учетные записи пользователей системы и их статистика): @@ -134,4 +156,4 @@ Query OK, 0 rows affected (0.06 sec) cash – стоимость трафика. - \ No newline at end of file + diff --git a/doc/xmlrpc/API-tariffs.xml b/doc/xmlrpc/API-tariffs.xml index 9b84889a..a75f4948 100644 --- a/doc/xmlrpc/API-tariffs.xml +++ b/doc/xmlrpc/API-tariffs.xml @@ -118,12 +118,31 @@ Периодичность снятия абонплаты: - month — ежемесячное снятие - day — ежедневное снятие + month — ежедневная абонплата (параметр Fee трактуется как значение списываемое ежедневно) + day — ежемесячная абонплата (классическая, параметр Fee трактуется как значение списываемое за месяц, в том числе в режиме SpreadFee) + + string changePolicy + + Политика смены тарифа: + + allow — на период действия политики смена тарифного плана разрешена + to_cheap — на период действия политики разрешена смена тарифного плана на более дешевый + to_expensive — на период действия политики разрешена смена тарифного плана на более дорогой + deny — на период действия политики смена тарифного плана запрещена + + + + + + int changePolicyTimeout + + Момент завершения действия политики тарификации (0 - политика тарификации не завершается никогда) + + array of struct dirprices @@ -293,12 +312,31 @@ Периодичность снятия абонплаты: - month — ежемесячное снятие - day — ежедневное снятие + month — ежедневная абонплата (параметр Fee трактуется как значение списываемое ежедневно) + day — ежемесячная абонплата (классическая, параметр Fee трактуется как значение списываемое за месяц, в том числе в режиме SpreadFee) + + string changePolicy + + Политика смены тарифа: + + allow — на период действия политики смена тарифного плана разрешена + to_cheap — на период действия политики разрешена смена тарифного плана на более дешевый + to_expensive — на период действия политики разрешена смена тарифного плана на более дорогой + deny — на период действия политики смена тарифного плана запрещена + + + + + + int changePolicyTimeout + + Момент завершения действия политики тарификации (0 - политика тарификации не завершается никогда) + + array of struct dirprices @@ -568,12 +606,31 @@ Периодичность снятия абонплаты: - month — ежемесячное снятие - day — ежедневное снятие + month — ежедневная абонплата (параметр Fee трактуется как значение списываемое ежедневно) + day — ежемесячная абонплата (классическая, параметр Fee трактуется как значение списываемое за месяц, в том числе в режиме SpreadFee) + + + + + + string changePolicy + + Политика смены тарифа: + + allow — на период действия политики смена тарифного плана разрешена + to_cheap — на период действия политики разрешена смена тарифного плана на более дешевый + to_expensive — на период действия политики разрешена смена тарифного плана на более дорогой + deny — на период действия политики смена тарифного плана запрещена + + int changePolicyTimeout + + Момент завершения действия политики тарификации (0 - политика тарификации не завершается никогда) + + array of struct dirprices -- 2.44.2 From 41a0ee6544be0e947c6062a966a93310b9ea5ce5 Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Mon, 29 Jun 2020 18:09:41 +0300 Subject: [PATCH 14/16] Disable doc generation in release archives. --- projects/make_tarball/make.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/projects/make_tarball/make.sh b/projects/make_tarball/make.sh index eef57e3f..be648a52 100755 --- a/projects/make_tarball/make.sh +++ b/projects/make_tarball/make.sh @@ -27,13 +27,13 @@ rm -r $SRC_DIR/projects/stargazer/plugins/authorization/stress rm -r $SRC_DIR/doc/help rm $SRC_DIR/doc/help.odt -if [ -f /usr/share/sgml/docbook/xsl-stylesheets/html/chunk.xsl ] -then - echo "Building doc..." - make -C $SRC_DIR/doc/xmlrpc - make -C $SRC_DIR/doc/help -else - echo "No XSL stylesheets, skipping doc build" -fi +#if [ -f /usr/share/sgml/docbook/xsl-stylesheets/html/chunk.xsl ] +#then +# echo "Building doc..." +# make -C $SRC_DIR/doc/xmlrpc +# make -C $SRC_DIR/doc/help +#else +# echo "No XSL stylesheets, skipping doc build" +#fi tar -zcf $ARC_NAME $SRC_DIR -- 2.44.2 From c0357e12bb0f1c4514956f61c1187059a656f94d Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Mon, 29 Jun 2020 18:09:58 +0300 Subject: [PATCH 15/16] Update ChangeLog. --- ChangeLog | 141 +++++++++++++++++------------------------------------- 1 file changed, 43 insertions(+), 98 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0879a49e..180db646 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,107 +1,52 @@ General: - * Стандартизован стиль именования параметров: CamelCase. - * В документации к XML-RPC API добавлено пропущенное поле 'password' для - метода chg_admin. - * Приведена в порядок работа с сигналами. Теперь сигналы перехватываются - только из основного потока и перехватываются корректно, в отличие от - старых версий. Для остановки плагинов больше не используется pthread_kill, - т.к. плагины его все равно теперь игнорируют. - * Устаревшая функция usleep заменена на более продвинутую функцию - nanosleep в соответствии с POSIX.1-2008. - * Удалены странные, непонятные и ненужные комментарии в коде. - * Некоторые типы данных сделаны более "строгими". - * Добавлено несколько дополнительных проверочных утверждений. - * Упрощено API плагинов. - * Удален странный код. - * Большая часть кода приведена в соответствие с рекомендациями Скотта - Мейерса. - * Вычищена куча кода. Но это еще не конец. - * Исправлена ошибка установки в случае наличия предыдущей установки. - * Добавлена поддержка FreeBSD9. - * Структура базы для Firebird больше не создается при make install-data, - нужно создавать вручную. + * Документация приведена в порядок и выложена на сайт в виде HTML. + * Поддержка FreeBSD10, FreeBSD11 и FreeBDS12. А так же, потенциально, + следующих версий. + * Удалены устаревшие и тестовые плагины. + * Проект convertor переименован в sgconv. Compilation: - * При проверке условий сборки теперь используются переменные CC и CXX - вместо явного вызова gcc/g++. - * Если переменные CC и CXX не определены то используются gcc и g++ по - умолчанию. - * Добавлено разделение флагов на CFLAGS и CXXFLAGS. Теперь релиз - рекомендуется собирать так: - $ CFLAGS="-O2" CXXFLAGS="${CFLAGS}" ./build - * Флаг компиляторы -g3 заменен на -ggdb3 (все равно его поддерживает - и gcc, и clang и ekopath). - * Существенно переработана система сборки. Теперь она не сорит - заголовочными файлами и библотеками там где не нужно. - * Убрана зависимость от bash. + * Добавлена возможность переопределить стандартные утилиты ar и ranlib при + сборке с помощью переменных окружения AR и RANLIB. + * Добавлена возможность собрать только библиотеки. + * Добавлена возможность сборки на платформе Darwin (Stargazer теперь можно + запускать на Mac OS X, но это больше для разработки). Libraries: - * Использование динамических внутренних библиотек признано - нецелесообразным, возвращены старые-добрые a-файлы (последний раз они были - в версии 2.401). - * Добавлена специализация x2str для беззнаковых типов. - * Библиотеки crypto.lib и scriptexecuter.lib теперь содержат 100% кода на - языке C! - * Исправлена работа библиотеки ia.lib на платформах с Big Endian. + * В библиотеку шифрования добавлена поддержка потокового + шифрования/расшифровки. Plugins: - * В плагин для PostgreSQL добавлен параметр retries указывающий количество - повторных попыток установить соединение с БД. - * Оптимизирована логика работы RemoveDir - теперь он удаляет ваши каталоги - на 50% быстрее! - * Унифицированы имена параметров плагинов для работы с БД: Server, - Database, User, Password. Старые имена поддерживаются, но объявлены - устаревшими. В будущем будут удалены. - * Добавлен плагин для работы с snmpd по протоколу SMUX. Позволяет - производить мониторинг некоторых параметров системы: - - общее количество абонентов; - - количество абонентов online; - - количество авторизованных абонентов; - - количество абонентов с флагом alwaysOnline; - - количество абонентов с отрицательным балансом; - - количество абонентов с отключенной детальной статистикой; - - количество отключенных ("disabled") абонентов; - - количество "замороженных" ("passive") абонентов; - - количество абонентов с положительным кредитом; - - количество абонентов с положительным предоплаченным трафиком; - - количество абонентов меняющих тарифный план в следующем месяце; - - количество абонентов с ненулевым трафиком за сессию; - - общее количество тарифов; - - количество абонентов потарифно; - - общее количество админов; - - общее количество сервисов; - - общее количество корпораций; - - общее количество правил классификации трафика. - * Добавлен шаблонный класс PLUGIN_CREATOR для универсального удобного - порождения плагинов. - * При немедленном изменении тарифа через XML-RPC API добавлен "сброс" - отложенного тарифа. - * Возможно исправлена ошибка приводящая к "зависаниям" плагина - конфигуратора. - * Исправлена утечка ресурсов (файловых дескрипторов) в плагине файлового - хранилища. - * Улучшены сообщения об ошибках авторизации, теперь в них на 73.1% больше - информации! - * В плагине для XML-RPC API вынужденно используется внешний сокет для - корректной остановки плагина. Привет мейнтейнерам Debian которые до сих - пор не обновили xmlrpc-c! Зато минус одно падение с SIGSEGV и General - Protection Fault при останове! - * Плагин remote_script больше не сообщает об ошибке и позволяет системе - запуститься если файл привязки подсетей пуст. - * Пересмотрен порядок загрузки плагинов. + * (Linux) Добавлен плагин захвата трафика nfqueue, на замену устаревшему + ipqueue. + * (FreeBSD) В плагин divert добавлена возможность отключения форвардинга + трафика. + * В плагин InetAccess добавлена возможность включать журналирование ошибок + протокола. + * В плагин InetAccess добавлена возможность перечитывания некоторых + парамеров по SIGHUP. + * В плагин XMLRPC добавлен метод получения списка авторизаторов + используемых пользователем. + * В плагин XMLRPC добавлено управление политиками тарификации. + * В плагине sgconfig реализована возможность обработки нескольких + параллельных запросов одновременно. + * В плагин SMUX добавлена возможность реконнекта. stargazer: - * Исправлена ошибка приводящая к неправильному сообщению о причине - отключения. - * Убрано бесполезное изменение значения nice для процесса. - * Добавлены три возможных сценария снятия абонплаты: - - обычный; - - не снимать абонплату при отрицательном балансе; - - не снимать абонплату ели баланс при этом станет отрицательным. - * Добавлен параметр ReconnectOnTariffChange указывающий системе выполнять - переподключение абонента при изменении тарифа. - * Добавлена "подписка" на добавление и удаление тарифов. - * Управление авторизацией абонентов перемещено из класса USER в класс - USERS что позволило избавиться от дедлока в определенных условиях. - * Устранена возможность выгрузки активного плагина. Минус одно - потенциальное падение с SIGSEGV и General Protection Fault! + * Добавлена возможность передавать произвольный набор параметров в + скрипты OnConnect/OnDisconnet, в том числе через rscriptd (см. параметры + ScriptParams и UserParams). + * Добавлена возможность отключать журналирование сессий (см. параметр + DisableSessionLog). + * Добавлена возможность фильтровать журналирование изменений параметров + (см. параметр FilterParamsLog). + * Добавлена возможность использовать ежедневное списание абонплаты с + фиксированной суммой. + * Добавлены политики тарификации (временный запрет на смену тарифа вниз, + вверх или вообще). + +sgconf/sgconf_xml: + * Добавлена возможность получить список авторизаторов используемых + пользователем. + * Разрешено использовать точку в логинах админов и пользователей. + * Добавлено управление политиками тарификации. -- 2.44.2 From 95eb36dbbe208782ea9b93f45ba8955cfdd1a0d5 Mon Sep 17 00:00:00 2001 From: Maksym Mamontov Date: Mon, 29 Jun 2020 18:12:16 +0300 Subject: [PATCH 16/16] Change version in build messages. --- projects/libs/build | 2 +- projects/stargazer/build | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/libs/build b/projects/libs/build index 61664a59..8f1f2f4b 100755 --- a/projects/libs/build +++ b/projects/libs/build @@ -77,7 +77,7 @@ then fi printf "#############################################################################\n" -printf " Building STG 2.4 libs for $sys $release\n" +printf " Building STG 2.409 libs for $sys $release\n" printf "#############################################################################\n" STG_LIBS="logger.lib diff --git a/projects/stargazer/build b/projects/stargazer/build index 86246c3d..090295af 100755 --- a/projects/stargazer/build +++ b/projects/stargazer/build @@ -88,7 +88,7 @@ then fi printf "#############################################################################\n" -printf " Building STG 2.4 for $sys $release\n" +printf " Building STG 2.409 for $sys $release\n" printf "#############################################################################\n" STG_LIBS="logger.lib -- 2.44.2