| Server IP : 118.27.122.248 / Your IP : 216.73.217.142 Web Server : Apache System : Linux web0264.sh.tyo1 4.18.0-553.79.1.lve.el7h.x86_64 #1 SMP Wed Oct 15 16:34:46 UTC 2025 x86_64 User : c9415830 ( 11735) PHP Version : 8.4.17 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/jp-secure/siteguardlite/ |
Upload File : |
# -*- makefile-gmake -*-
# Makefile for SiteGuard Lite Ver3.30 Update1
# - run "make install" for full installation
#
# Ver0.90: 2011-11-11
# Ver1.00 Beta: 2011-12-01
# Ver1.00: 2012-02-01
# Ver1.10: 2012-06-20
# Ver1.20: 2012-11-02
# Ver1.30: 2013-08-30
# Ver2.00: 2013-10-31
# Ver2.00 Update1: 2014-04-08
# Ver2.00 Update2: 2014-06-18
# Ver2.10: 2014-06-25
# Ver2.10 Update1: 2014-08-01
# Ver2.10 Update2: 2014-09-04
# Ver2.10 Update3: 2014-12-01
# Ver2.20: 2015-03-20
# Ver2.30: 2015-07-01
# Ver2.30 Update1: 2016-02-01
# Ver3.00: 2016-04-01
# Ver3.00 Update1: 2016-06-13
# Ver3.00 Update2: 2016-07-20
# Ver3.10 2016-08-20
# Ver3.20 2017-01-20
# Ver3.30 2017-06-20
# Ver3.30 Update1: 2017-10-19
#
include Makefile.vars
include setup.config
TOPDIR=.
RPMBUILD = rpmbuild
BUILD=
SRC_COMPONENTS = siteguard/license_check siteguard/check_pcre siteguard/filter_util siteguard/siteguardlite_notify
ifeq ("X$(SERVER)","XAPACHE")
DISTFILES_BIN_MODULE = modules/mod_siteguard_$(OSBIT)_{2.2.so,2.4.so}
else
DISTFILES_BIN_MODULE = nginx
endif
DISTFILES_CONFIG = setup.config conf/{$(PRODUCT).ini,license.txt,expire.txt,notify_exclude_action.txt,notify_exclude_sig.txt,notify_exclude_detect.txt,monitor_url.txt,template_*.{txt,html},$(PRODUCT).htdigest,dbupdate.conf,httpd.conf.siteguardlite_add,nginx.conf.siteguardlite_add} conf/waf/*.txt conf/waf/header.ini conf/ssl/* conf/dbupdate_waf.conf conf/chart.conf conf/home.conf conf/purgestatistics.conf conf/report.conf conf/cutthrough_url.txt conf/dbupdate_waf_url.conf conf/sync/*
DISTFILES_BIN_COMMON = $(PRODUCT).spec.in setup.sh set_secontext.sh rc.$(PRODUCT)_http rc.$(PRODUCT)_admin rc.$(PRODUCT)_notify $(PRODUCT)_admin.command $(PRODUCT)_notify.command $(PRODUCT)_admin.service $(PRODUCT)_notify.service
DISTFILES_BIN_COPY = $(DISTFILES_BIN_MODULE) tomcat font reportImg doc/ misc/ conf/{ja,en} conf/$(PRODUCT).conf conf/$(PRODUCT).conf.nginx conf/$(PRODUCT).htdigest.org conf/httpd.conf.siteguardlite_admin_ssl-template conf/nginx.conf.siteguardlite_admin_ssl-template conf/siteguardlite_4.te conf/siteguardlite_5.te conf/siteguardlite_6.te conf/siteguardlite.te Makefile Makefile.vars Makefile.verup-config setup.sh set_secontext.sh dbupdate_waf sync_send.sh syncSend.jar waf_sig_merge.pl make_conf_log.sh conf/waf/unicode.map $(PRODUCT)_statistics.sh statistics_collect.awk configured.module get_version
DISTFILES_BIN_OTHER = rc.$(PRODUCT)_http rc.$(PRODUCT)_admin rc.$(PRODUCT)_notify $(PRODUCT)_admin.command $(PRODUCT)_notify.command $(PRODUCT)_admin.service $(PRODUCT)_notify.service
DISTFILES_BIN = $(DISTFILES_BIN_COPY) $(DISTFILES_BIN_OTHER)
INSTALLFILES_BIN = $(DISTFILES_BIN) $(notdir $(SRC_COMPONENTS))
DISTFILES_DEF = databases_waf
DISTFILES_SRC = doc/ rc.* $(PRODUCT)_{admin,notify}.service misc/ doc-en/ srcdoc/ conf/{ja,en} conf/waf Makefile* dbupdate_waf \
siteguard/{Makefile*,*.c,*.h,*.S} \
conf/{expire.txt*,license.txt*} \
*.spec.in \
$(DISTFILES_CONFIG) \
$(DISTFILES_DEF)
DISTFILES = $(DISTFILES_SRC) $(DISTFILES_BIN_COMMON) $(DISTFILES_BIN) $(SRC_COMPONENTS)
DISTPRODUCT = $(PRODUCT)
ifeq ("X$(SERVER)","XAPACHE")
SERVER_NAME=.apache
NGINXBIN=
NGINX_TYPE=
else
SERVER_NAME=.nginx
APACHECTL=
APACHEBIN=
APACHE_TYPE=
endif
BUILD_DEST = release
PACKAGE = $(DISTPRODUCT)
DISTDIR_BIN = $(BUILD_DEST)/image/var/tmp/$(PACKAGE)-$(VERSION_DOT)-$(UPDATE)$(SERVER_NAME).$(ARCH)
DISTDIR_SRC = $(PACKAGE)-src-$(VERSION_DOT).$(BUILD)
DISTFILE_RPM = $(PACKAGE)-$(VERSION_DOT)-$(UPDATE)$(SERVER_NAME).$(ARCH).rpm
SUBDIRS_WITH_MAKEFLAGS=tomcat siteguard
SUBDIRS_WITHOUT_MAKEFLAGS=
SUBDIRS=$(SUBDIRS_WITH_MAKEFLAGS) $(SUBDIRS_WITHOUT_MAKEFLAGS)
lang=
adminport=
.c.o:
$(CC) -c $(CFLAGS) $<
# Remove needless and confusing implicit dependency
% : %.c
% : %.o
all: issource buildtools-setup $(TARGET)
misc/logconv: misc/logconv.c
$(CC) -o misc/logconv -O9 $(CFLAGS) -O9 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 misc/logconv.c
misc/get_glibcver: misc/get_glibcver.c
$(CC) -o $@ -O9 $(CFLAGS) -O9 $<
submake:
@for dir in $(SUBDIRS_WITHOUT_MAKEFLAGS); do \
echo "Making $@ in $$dir..."; \
(unset MAKEFLAGS; cd $$dir && $(MAKE) CC=$(CC) all) || exit 1; \
done
@for dir in $(SUBDIRS_WITH_MAKEFLAGS); do \
echo "Making $@ in $$dir..."; \
(cd $$dir && $(MAKE) CC=$(CC) all) || exit 1; \
done
issource:
$(MAKE) usage
@false
buildtools-setup: buildtools buildtools/apache-ant-1.7.1
buildtools:
mkdir buildtools
symlink:
@if [ ! -d logs ]; then mkdir logs ; fi
@for d in $(LOGDIRS); do \
if [ ! -e logs/$$d ]; then mkdir logs/$$d ; fi ;\
done
@echo "Linking"
@if [ ! -L tomcat/logs ]; then ln -sf ../logs/admin tomcat/logs ; fi
@if [ ! -L tomcat/webapps/jp_secure/WebContent/gwdoc ]; then ln -sf ../../../../doc/ tomcat/webapps/jp_secure/WebContent/gwdoc ; fi
@if [ ! -L tomcat/webapps/jp_secure/WebContent/log ]; then ln -sf ../../../../logs/ tomcat/webapps/jp_secure/WebContent/log ; fi
@if [ ! -e conf/expire.txt ]; then cp -p conf/expire.txt.orig conf/expire.txt ; fi
create-setup-config:
@if [ $(OVERWRITE) = "yes" -a ! -e $(prefix)/setup.config ]; then \
echo "SERVER=APACHE" > $(prefix)/setup.config; \
egrep "^APACHE_CONFFILE=" $(prefix)/Makefile >> $(prefix)/setup.config; \
egrep "^APACHE_TYPE=" $(prefix)/Makefile >> $(prefix)/setup.config; \
egrep "^APACHECTL=" $(prefix)/Makefile >> $(prefix)/setup.config; \
egrep "^APACHEBIN=" $(prefix)/Makefile >> $(prefix)/setup.config; \
if egrep "^admin_service=yes" $(prefix)/conf/$(PRODUCT).ini >/dev/null 2>&1; then \
echo "CONSOLE_ENABLE=yes" >> $(prefix)/setup.config; \
port=`grep "Listen " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^Listen \(.*\)$$/\1/;s/^\(.*\):\([0-9]*\)$$/\2/'`; \
allow=`grep "Allow from " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^.*Allow from \(.*\)\$$/\1/'`; \
ssl_crt=`grep "^[^#].*SSLCertificateFile " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^.*SSLCertificateFile \(.*\)\$$/\1/'`; \
ssl_key=`grep "^[^#].*SSLCertificateKeyFile " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^.*SSLCertificateKeyFile \(.*\)\$$/\1/'`; \
ssl_chain=`grep "^[^#].*SSLCertificateChainFile " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^.*SSLCertificateChainFile \(.*\)\$$/\1/'`; \
echo "CONSOLE_PORT=$${port}" >> $(prefix)/setup.config; \
echo "CONSOLE_ALLOW_ADDRESS=\"$${allow}\"" >> $(prefix)/setup.config; \
echo "CONSOLE_SSL_CRT=$${ssl_crt}" >> $(prefix)/setup.config; \
echo "CONSOLE_SSL_KEY=$${ssl_key}" >> $(prefix)/setup.config; \
echo "CONSOLE_SSL_CHAIN=$${ssl_chain}" >> $(prefix)/setup.config; \
java_path=`(LANG=C;ls -l $(prefix)/java) | awk '{print $$11}'`; \
echo "JAVA_PATH=$${java_path}" >> $(prefix)/setup.config; \
console_addr=`grep "Listen " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^Listen \(.*\)$$/\1/;s/^\(.*\):\([0-9]*\)$$/\1/;s/'$${port}'$$//'`; \
svchost=`perl -ne 'if(/^\[(.+)\]/){$$svc=$$1;}if(($$svc eq 'admin') && m|^svcport=(.*:)?(.*)|){print "$$1";}' $(prefix)/conf/$(PRODUCT).ini | sed s/:$$//` ;\
svcport=`perl -ne 'if(/^\[(.+)\]/){$$svc=$$1;}if(($$svc eq 'admin') && m|^svcport=(.*:)?(.*)|){print "$$2";}' $(prefix)/conf/$(PRODUCT).ini` ;\
if [ -n "$${console_addr}" ]; then \
echo "CONSOLE_ADDRESS=$${console_addr}" >> $(prefix)/setup.config; \
else \
echo "CONSOLE_ADDRESS=" >> $(prefix)/setup.config; \
fi; \
if [ -n "$${svchost}" ]; then \
echo "TOMCAT_ADDRESS=$${svchost}" >> $(prefix)/setup.config; \
else \
echo "TOMCAT_ADDRESS=127.0.0.1" >> $(prefix)/setup.config; \
fi; \
if [ -n "$${svcport}" ]; then \
echo "TOMCAT_PORT=$${svcport}" >> $(prefix)/setup.config; \
else \
echo "TOMCAT_PORT=9016" >> $(prefix)/setup.config; \
fi; \
echo "TIMEOUT=60" >> $(prefix)/setup.config; \
else \
echo "CONSOLE_ENABLE=no" >> $(prefix)/setup.config; \
echo "CONSOLE_PORT=" >> $(prefix)/setup.config; \
echo "CONSOLE_ALLOW_ADDRESS=" >> $(prefix)/setup.config; \
echo "CONSOLE_SSL_CRT=" >> $(prefix)/setup.config; \
echo "CONSOLE_SSL_KEY=" >> $(prefix)/setup.config; \
echo "CONSOLE_SSL_CHAIN=" >> $(prefix)/setup.config; \
echo "JAVA_PATH=" >> $(prefix)/setup.config; \
echo "CONSOLE_ADDRESS=" >> $(prefix)/setup.config; \
echo "TOMCAT_ADDRESS=127.0.0.1" >> $(prefix)/setup.config; \
echo "TOMCAT_PORT=9016" >> $(prefix)/setup.config; \
echo "TIMEOUT=60" >> $(prefix)/setup.config; \
fi; \
egrep "^LATEST_URL=" $(prefix)/dbupdate_waf > $(prefix)/conf/dbupdate_waf_url.conf; \
elif [ $(OVERWRITE) = "yes" -a -e $(prefix)/setup.config ]; then \
if ! egrep "^SERVER=" $(prefix)/setup.config >/dev/null 2>&1; then \
sed -i '1s/^/SERVER=APACHE\n/' $(prefix)/setup.config >/dev/null 2>&1; \
fi; \
if ! egrep "^CONSOLE_SSL_CHAIN=" $(prefix)/setup.config >/dev/null 2>&1; then \
if egrep "^admin_service=yes" $(prefix)/conf/$(PRODUCT).ini >/dev/null 2>&1; then \
ssl_chain=`grep "^[^#].*SSLCertificateChainFile " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^.*SSLCertificateChainFile \(.*\)\$$/\1/'`; \
fi; \
echo "CONSOLE_SSL_CHAIN=$${ssl_chain}" >> $(prefix)/setup.config; \
fi; \
if ! egrep "^CONSOLE_ADDRESS=" $(prefix)/setup.config >/dev/null 2>&1; then \
port=`grep "Listen " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^Listen \(.*\)$$/\1/;s/^\(.*\):\([0-9]*\)$$/\2/'`; \
console_addr=`grep "Listen " $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl | sed 's/^Listen \(.*\)$$/\1/;s/^\(.*\):\([0-9]*\)$$/\1/;s/'$${port}'$$//'`; \
if [ -n "$${console_addr}" ]; then \
echo "CONSOLE_ADDRESS=$${console_addr}" >> $(prefix)/setup.config; \
else \
echo "CONSOLE_ADDRESS=" >> $(prefix)/setup.config; \
fi; \
fi; \
if ! egrep "^TOMCAT_ADDRESS=" $(prefix)/setup.config >/dev/null 2>&1; then \
svchost=`perl -ne 'if(/^\[(.+)\]/){$$svc=$$1;}if(($$svc eq 'admin') && m|^svcport=(.*:)?(.*)|){print "$$1";}' $(prefix)/conf/$(PRODUCT).ini | sed s/:$$//` ;\
if [ -n "$${svchost}" ]; then \
echo "TOMCAT_ADDRESS=$${svchost}" >> $(prefix)/setup.config; \
else \
echo "TOMCAT_ADDRESS=127.0.0.1" >> $(prefix)/setup.config; \
fi; \
fi; \
if ! egrep "^TOMCAT_PORT=" $(prefix)/setup.config >/dev/null 2>&1; then \
svcport=`perl -ne 'if(/^\[(.+)\]/){$$svc=$$1;}if(($$svc eq 'admin') && m|^svcport=(.*:)?(.*)|){print "$$2";}' $(prefix)/conf/$(PRODUCT).ini` ;\
if [ -n "$${svcport}" ]; then \
echo "TOMCAT_PORT=$${svcport}" >> $(prefix)/setup.config; \
else \
echo "TOMCAT_PORT=9016" >> $(prefix)/setup.config; \
fi; \
fi; \
if ! egrep "^TIMEOUT=" $(prefix)/setup.config >/dev/null 2>&1; then \
echo "TIMEOUT=60" >> $(prefix)/setup.config; \
fi; \
fi
backup-sem-shm-file:
@ if [ $(OVERWRITE) = "yes" ]; then \
for f in counter filter license; do \
if [ -e "$(prefix)/tmp/$${f}.sem" ]; then \
cp -p $(prefix)/tmp/$${f}.sem $(prefix)/tmp/$${f}.sem.bak; \
fi; \
done; \
for f in counter license; do \
if [ -e "$(prefix)/tmp/$${f}.shm" ]; then \
cp -p $(prefix)/tmp/$${f}.shm $(prefix)/tmp/$${f}.shm.bak; \
fi; \
done; \
fi
restore-sem-shm-file:
@ if [ $(OVERWRITE) = "yes" ]; then \
for f in counter filter license; do \
if [ -e "$(prefix)/tmp/$${f}.sem.bak" ]; then \
mv -f $(prefix)/tmp/$${f}.sem.bak $(prefix)/tmp/$${f}.sem; \
fi; \
done; \
for f in counter license; do \
if [ -e "$(prefix)/tmp/$${f}.shm.bak" ]; then \
mv -f $(prefix)/tmp/$${f}.shm.bak $(prefix)/tmp/$${f}.shm; \
fi; \
done; \
fi
install-config:
@echo "------------------------------------------------------"
@echo " Installing configuration files..."
@echo "------------------------------------------------------"
-@if [ ! -e $(prefix)/ ]; then mkdir -p $(prefix)/ ; fi
-@if [ ! -e $(prefix)/bak/ ]; then mkdir $(prefix)/bak/ ; fi
-@if [ ! -e $(prefix)/conf/ ]; then mkdir $(prefix)/conf/ ; fi
-@if [ ! -e $(prefix)/conf/waf/ ]; then mkdir $(prefix)/conf/waf/ ; fi
-@if [ ! -e $(prefix)/conf/ssl/ ]; then mkdir $(prefix)/conf/ssl/ ; fi
-@if [ ! -e $(prefix)/conf/sync/ ]; then mkdir $(prefix)/conf/sync/ ; fi
-@if [ ! -e $(prefix)/conf/sync/keys/ ]; then mkdir $(prefix)/conf/sync/keys/ ; fi
-@if [ ! -e $(prefix)/conf/sync/keys/host ]; then mkdir $(prefix)/conf/sync/keys/host ; fi
-@if [ ! -e $(prefix)/conf/sync/keys/own ]; then mkdir $(prefix)/conf/sync/keys/own ; fi
-@if [ "X$(lang)" != "X" ]; then langvar=$(lang) ;\
elif [ "X`date '+%Z'`" = "XJST" ]; then langvar=ja ;\
else \
case "X$${LANG}" in Xja* ) langvar=ja ;; esac ;\
fi ;\
if [ "X$${langvar}" = "X" ]; then langvar=en ; fi; \
cd $(prefix)/conf/en/ ;\
for f in template_*.{txt,html}; do \
if [ ! -e ../$$f ]; then \
cp ../$${langvar}/$$f ../$$f ; \
fi; \
done
-@if [ ! -e $(prefix)/conf/waf/sig_custom.txt ]; then \
cp conf/waf/sig_custom_sample.txt $(prefix)/conf/waf/sig_custom.txt ; \
fi
-@for e in crt csr key; do \
if [ -e $(prefix)/conf/ssl/server.$$e ]; then \
mv $(prefix)/conf/ssl/server.$$e $(prefix)/conf/ssl/server.$$e.old; \
fi; \
done
-@for f in $(DISTFILES_CONFIG); do \
if [ ! -e $(prefix)/$$f ]; then \
cp $$f $(prefix)/$$f ; \
fi; \
done
@cp conf/$(PRODUCT).ini $(prefix)/conf/$(PRODUCT)-orig.ini
-@perl -p -i.bak -e 's|^suffix=.*|suffix=$(suffix)|;' $(prefix)/conf/$(PRODUCT).ini ;
-@if [ "X$(adminport)" != "X" ]; then \
sed -i -e 's/^TOMCAT_PORT=.*/TOMCAT_PORT=$(adminport)/' $(prefix)/setup.config ;\
fi
@if ! grep "add_monitor" $(prefix)/conf/dbupdate_waf.conf >/dev/null 2>&1 ; then \
perl -p -i.bak -e 's|^(use_dbsettings=.*)|$$1\nadd_monitor=no|' $(prefix)/conf/dbupdate_waf.conf 2>&1;\
fi
@if ! grep "downloadonly" $(prefix)/conf/dbupdate_waf.conf >/dev/null 2>&1 ; then \
perl -p -i.bak -e 's|^(add_monitor=.*)|$$1\ndownloadonly=no|' $(prefix)/conf/dbupdate_waf.conf 2>&1;\
fi
@if grep "UPDATEURL=" $(prefix)/conf/dbupdate.conf >/dev/null 2>&1 ; then \
perl -p -i.bak -e 's|^(UPDATEURL=.*)|use_getversion=yes|' $(prefix)/conf/dbupdate.conf 2>&1;\
fi
@if ! grep "agent" $(prefix)/conf/$(PRODUCT).ini >/dev/null 2>&1 ; then \
perl -p -i.bak -e 's|^(account_lock_num=.*)|$$1\nagent=yes|' $(prefix)/conf/$(PRODUCT).ini 2>&1;\
fi
@if [ $(OVERWRITE) = "yes" ]; then \
if [ $(prefix)/databases_waf/header.ini ]; then \
cp $(prefix)/databases_waf/header.ini $(prefix)/conf/waf/ ;\
fi \
fi
@if [ "X$(SERVER)" = "XAPACHE" ]; then \
rm -f $(prefix)/conf/nginx.conf.siteguardlite_admin_ssl-template; \
rm -f $(prefix)/conf/nginx.conf.siteguardlite_add ; \
rm -f $(prefix)/conf/siteguardlite.conf.nginx ; \
else \
rm -f $(prefix)/conf/httpd.conf.siteguardlite_admin_ssl-template; \
rm -f $(prefix)/conf/httpd.conf.siteguardlite_add ; \
mv -f $(prefix)/conf/siteguardlite.conf.nginx $(prefix)/conf/siteguardlite.conf ; \
fi;
@chmod 400 $(prefix)/conf/ssl/*
inifile=$(prefix)/conf/$(PRODUCT).ini
verup-config:
-@if [ "X$(lang)" != "X" ]; then langvar=$(lang) ;\
elif [ "X`date '+%Z'`" = "XJST" ]; then langvar=ja ;\
else \
case "X$${LANG}" in Xja* ) langvar=ja ;; esac ;\
fi ;\
if [ "X$${langvar}" = "X" ]; then langvar=en ; fi; \
cd $(prefix) ; \
if [ "X$(SERVER)" = "XAPACHE" ]; then \
./Makefile.verup-config -v "Apache${VERSION}-${UPDATE}" --lang $${langvar} $(inifile) $(prefix)/conf/$(PRODUCT)-orig.ini ;\
else \
./Makefile.verup-config -v "Nginx${VERSION}-${UPDATE}" --lang $${langvar} $(inifile) $(prefix)/conf/$(PRODUCT)-orig.ini ;\
fi;
# obsoluted
install-def:
@echo "------------------------------------------------------"
@echo " Installing signature files (Trusted Signature) ..."
@echo "------------------------------------------------------"
-@for f in $(DISTFILES_DEF); do \
if [ ! -e $(prefix)/$$f ]; then \
cp -rp $$f $(prefix)/$$f ; \
fi; \
done
-@if [ ! -e $(prefix)/update_waf ]; then \
cp -rp $(prefix)/databases_waf $(prefix)/update_waf ;\
fi
install-dir:
@echo "------------------------------------------------------"
@echo " Preparing installation directory($(prefix)) ..."
@echo "------------------------------------------------------"
-@if [ ! -e $(prefix) ]; then mkdir -p $(prefix)/ ; fi
@src=`pwd`; \
dst=`cd $(prefix);pwd`; \
if [ "X$${src}" = "X$${dst}" ]; then \
echo "=========================================================================" ;\
echo "ERROR: current directory and install directory is the same." ;\
echo "=========================================================================" ;\
false ;\
fi
@if ! ( echo test > $(prefix)/__writetestfile__ && rm $(prefix)/__writetestfile__ ) ; then \
echo "=========================================================================" ;\
echo "ERROR: Cannot write file to [$(prefix)] directory." ;\
echo " Normally, please install on root account." ;\
echo "=========================================================================" ;\
false ;\
fi
@cp misc/get_glibcver $(prefix)/__exectestfile__
@if [ $(ARCH) = "i386" ]; then \
if ! file $(prefix)/__exectestfile__ | grep "32-bit" >/dev/null 2>&1 ; then \
rm -f $(prefix)/__exectestfile__ ;\
echo "=========================================================================" ;\
echo "ERROR: Install Package is incorrect." ;\
echo " Please use the Install Package for 32bit." ;\
echo "=========================================================================" ;\
false ;\
fi; \
else \
if ! file $(prefix)/__exectestfile__ | grep "64-bit" >/dev/null 2>&1 ; then \
rm -f $(prefix)/__exectestfile__ ;\
echo "=========================================================================" ;\
echo "ERROR: Install Package is incorrect." ;\
echo " Please use the Install Package for 64bit." ;\
echo "=========================================================================" ;\
false ;\
fi; \
fi
@rm -f $(prefix)/__exectestfile__
HTTP_LOGFILES={detect.log,info.log,error.log,form.log}
NOTIFY_LOGFILES={info.log,error.log}
LOGDIRS=http admin notify
install-prog:
@echo "------------------------------------------------------"
@echo " Installing program files to $(prefix) ..."
@echo "------------------------------------------------------"
@(cd $(prefix)/ && rm -rf $(INSTALLFILES_BIN) )
-@(cd $(prefix)/ && rm -rf jre?.?.?_* )
@tar -cf - $(INSTALLFILES_BIN) | (cd $(prefix)/ && tar -xf -)
-@if [ ! -e $(prefix)/tmp/ ]; then mkdir $(prefix)/tmp/ ; chmod 777 $(prefix)/tmp ; fi
-@if [ ! -e $(prefix)/tmp/login_lock/ ]; then mkdir $(prefix)/tmp/login_lock/ ; chmod 700 $(prefix)/tmp/login_lock ; fi
-@if [ ! -e $(prefix)/tmp/sync_lock/ ]; then mkdir $(prefix)/tmp/sync_lock/ ; chmod 700 $(prefix)/tmp/sync_lock ; fi
-@if [ ! -e $(prefix)/tmp/sync_recv/ ]; then mkdir $(prefix)/tmp/sync_recv/ ; chmod 700 $(prefix)/tmp/sync_recv ; fi
-@if [ ! -e $(prefix)/tmp/sync_send/ ]; then mkdir $(prefix)/tmp/sync_send/ ; chmod 700 $(prefix)/tmp/sync_send ; fi
-@if [ ! -e $(prefix)/statistics/ ]; then mkdir $(prefix)/statistics ; chmod 777 $(prefix)/statistics ; fi
-@if [ ! -e $(prefix)/notify/ ]; then mkdir $(prefix)/notify/ ; chmod 777 $(prefix)/notify ; fi
-@if [ ! -e $(prefix)/notify/detect ]; then mkdir $(prefix)/notify/detect ; chmod 777 $(prefix)/notify/detect ; fi
-@if [ ! -e $(prefix)/notify/fault ]; then mkdir $(prefix)/notify/fault ; chmod 777 $(prefix)/notify/fault ; fi
-@if [ ! -e $(prefix)/logs/ ]; then mkdir $(prefix)/logs/ ; fi
-@cd $(prefix)/logs/ ;\
for d in $(LOGDIRS); do \
if [ ! -e $$d ]; then mkdir $$d ; fi ;\
chmod 755 $$d ; \
if [ $$d = "http" ]; then \
for f in $(HTTP_LOGFILES) ; do \
touch $$d/$$f ;\
chmod 644 $$d/$$f ;\
done ;\
fi ; \
if [ $$d = "notify" ]; then \
for f in $(NOTIFY_LOGFILES) ; do \
touch $$d/$$f ;\
chmod 644 $$d/$$f ;\
done ;\
fi ; \
done ; \
for f in dbupdate_waf.log ; do \
touch $$f ;\
if [ ! -e $$f.txt ]; then ln -s $$f $$f.txt ; fi ;\
done
-@if [ ! -L $(prefix)/tomcat/logs -a ! -e $(prefix)/tomcat/logs ]; then ln -s ../logs/admin $(prefix)/tomcat/logs; fi
@perl -p -i.bak -e 's|\@PREFIX\@|$(prefix)|;s|^prefix\s*=.*|prefix=$(prefix)|;s|^suffix\s*=*.*|suffix=$(suffix)|;s|^PRODUCT=.*|PRODUCT=$(PRODUCT)|;s|\@SUFFIX\@|$(suffix)|g;s|\@PRODUCT\@|$(PRODUCT)|g;s|\@PRODUCT_NAME\@|$(PRODUCT_NAME)|g;s|\@PRODUCT_NAME_SHORT\@|$(PRODUCT_NAME_SHORT)|g;s|\@PREFIX\@|$(prefix)|g' \
$(prefix)/rc.$(PRODUCT)_http \
$(prefix)/rc.$(PRODUCT)_admin \
$(prefix)/rc.$(PRODUCT)_notify \
$(prefix)/$(PRODUCT)_admin.command \
$(prefix)/$(PRODUCT)_notify.command \
$(prefix)/$(PRODUCT)_admin.service \
$(prefix)/$(PRODUCT)_notify.service \
$(prefix)/$(PRODUCT)_statistics.sh \
$(prefix)/dbupdate_waf \
$(prefix)/get_version \
$(prefix)/sync_send.sh \
$(prefix)/Makefile \
$(prefix)/Makefile.vars \
$(prefix)/misc/logrotate.$(PRODUCT);
@perl -p -i.bak -e 's|\@PREFIX\@|$(prefix)|' \
$(prefix)/conf/$(PRODUCT).conf \
$(prefix)/conf/$(PRODUCT).conf.nginx
@perl -p -i.bak -e 's|PREFIX=.*|PREFIX=$(prefix)|' $(prefix)/set_secontext.sh
@if [ ! -x /usr/bin/perl -a -x /usr/local/bin/perl ]; then \
perl -p -i.bak -e 's|#!/usr/bin/perl|#!/usr/local/bin/perl|;' $(prefix)/Makefile.verup-config $(prefix)/waf_sig_merge.pl ; \
fi
STOP_SERVICES=admin notify
START_SERVICES=admin notify
install-initscript:
@echo "------------------------------------------------------"
@echo " Installing initscripts ..."
@echo "------------------------------------------------------"
-@if [ "X$$UID" = "X0" ]; then \
cd $(prefix)/ ;\
for svc in $(START_SERVICES); do \
if which systemctl >/dev/null 2>&1; then \
if [ -e /etc/systemd/system -a -e $(prefix)/$(PRODUCT)_$${svc}.service ]; then \
systemctl disable $(PRODUCT)_$${svc} >/dev/null 2>&1; \
cp $(prefix)/$(PRODUCT)_$${svc}.service /etc/systemd/system/; \
fi;\
else \
if [ -e /etc/init.d -a -e $(prefix)/rc.$(PRODUCT)_$${svc} ]; then \
ln -sf $(prefix)/rc.$(PRODUCT)_$${svc} /etc/init.d/$(PRODUCT)$(suffix)_$${svc} ; \
fi; \
fi; \
done ;\
else \
echo "### initscript is not installed because of no root privilege. ###" ;\
fi
install-autoupdate:
@if (EDITOR=cat;export EDITOR;VISUAL=cat;export VISUAL;crontab -l > $(prefix)/crontab_tmp 2>/dev/null); then \
touch $(prefix)/crontab_tmp; \
fi
@if ! grep "cd $(prefix);./dbupdate_waf" $(prefix)/crontab_tmp >/dev/null; then \
if [ -f $(prefix)/crontab_tmp.autoupdate ]; then \
cat $(prefix)/crontab_tmp.autoupdate >> $(prefix)/crontab_tmp; \
crontab $(prefix)/crontab_tmp; \
rm $(prefix)/crontab_tmp.autoupdate; \
fi \
fi
@rm $(prefix)/crontab_tmp;
uninstall-autoupdate:
@if (EDITOR=cat;export EDITOR;VISUAL=cat;export VISUAL;crontab -l | grep "cd $(prefix);./dbupdate_waf" > $(prefix)/crontab_tmp.autoupdate 2>/dev/null); then \
(EDITOR=cat;export EDITOR;VISUAL=cat;export VISUAL;crontab -e 2>/dev/null) | sed -e '\|cd *$(prefix);./dbupdate_waf$$|d' | crontab - ; \
fi
install-statistics-cron:
@if (EDITOR=cat;export EDITOR;VISUAL=cat;export VISUAL;crontab -l > $(prefix)/crontab_tmp 2>/dev/null); then \
touch $(prefix)/crontab_tmp; \
fi
@if ! grep "cd $(prefix);./$(PRODUCT)_statistics.sh" $(prefix)/crontab_tmp >/dev/null; then \
echo "0 * * * * cd $(prefix);./$(PRODUCT)_statistics.sh" >> $(prefix)/crontab_tmp; \
crontab $(prefix)/crontab_tmp; \
fi
@rm $(prefix)/crontab_tmp;
uninstall-statistics-cron:
@(EDITOR=cat;export EDITOR;VISUAL=cat;export VISUAL;crontab -l 2>/dev/null) \
| sed -e '\|cd *$(prefix);./$(PRODUCT)_statistics.sh$$|d' \
| crontab - ;
stop:
@echo "------------------------------------------------------"
@echo " Stopping running services..."
@echo "------------------------------------------------------"
-@for svc in $(STOP_SERVICES); do \
if $(prefix)/rc.$(PRODUCT)_$${svc} status >/dev/null 2>&1; then \
$(prefix)/rc.$(PRODUCT)_$${svc} stop ;\
sleep .1 ;\
fi ;\
done
@sleep 2
start:
@echo "------------------------------------------------------"
@echo " Starting services..."
@echo "------------------------------------------------------"
-@for svc in $(START_SERVICES); do \
if egrep "^$${svc}_service=yes" $(prefix)/conf/$(PRODUCT).ini >/dev/null 2>&1; then \
sleep .1 ;\
if which systemctl >/dev/null 2>&1; then \
if ! systemctl list-unit-files -t service | grep "$(PRODUCT)_$${svc}.service.*enabled" >/dev/null; then \
systemctl enable $(PRODUCT)_$${svc}.service >/dev/null 2>&1; \
fi;\
else \
if [ -x /usr/sbin/update-rc.d ]; then \
/usr/sbin/update-rc.d $(PRODUCT)$(suffix)_$${svc} defaults;\
elif (/sbin/chkconfig --del $(PRODUCT)$(suffix)_$${svc} ; /sbin/chkconfig --add $(PRODUCT)$(suffix)_$${svc} ; /sbin/chkconfig $(PRODUCT)$(suffix)_$${svc} on); then \
true;\
else \
echo "## cannot setup initscript(/etc/init.d/$(PRODUCT)$(suffix)_$${svc}) using chkconfig/update-rc.d . " ;\
fi ;\
fi ;\
if ! $(prefix)/rc.$(PRODUCT)_$${svc} status >/dev/null 2>&1; then \
$(prefix)/rc.$(PRODUCT)_$${svc} start ;\
fi ;\
elif egrep "^$${svc}_service=no" $(prefix)/conf/$(PRODUCT).ini >/dev/null 2>&1; then \
if which systemctl >/dev/null 2>&1; then \
if ! systemctl list-unit-files -t service | grep "$(PRODUCT)_$${svc}.service.*disabled" >/dev/null; then \
systemctl disable $(PRODUCT)_$${svc}.service >/dev/null 2>&1; \
fi;\
else \
if [ -x /usr/sbin/update-rc.d ]; then \
/usr/sbin/update-rc.d -f $(PRODUCT)$(suffix)_$${svc} remove;\
elif (/sbin/chkconfig --del $(PRODUCT)$(suffix)_$${svc} ; /sbin/chkconfig --add $(PRODUCT)$(suffix)_$${svc} ; /sbin/chkconfig $(PRODUCT)$(suffix)_$${svc} off); then \
true;\
else \
echo "## cannot setup initscript(/etc/init.d/$(PRODUCT)$(suffix)_$${svc}) using chkconfig/update-rc.d . " ;\
fi ;\
fi ;\
fi ;\
done
httpstop:
@echo stopping web server ...
@./rc.siteguardlite_http stop
@if [ "X$(SERVER)" = "XAPACHE" ]; then \
procname=$(APACHEBIN); \
else \
procname=$(NGINXBIN); \
fi; \
for n in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do \
if [ $${n} = 20 ]; then \
break; \
fi; \
sleep 1; \
if ! pidof $${procname} >/dev/null 2>&1; then \
break; \
fi; \
done; \
if [ $${n} = 20 ]; then \
echo "ERROR: failed stop web server." ;\
exit 1; \
fi
@for f in counter filter license; do \
if [ -e "tmp/$${f}.sem" ]; then \
ipcrm -S `cat tmp/$${f}.sem`; \
rm -f tmp/$${f}.sem; \
fi; \
done;
@for f in counter license; do \
if [ -e "tmp/$${f}.shm" ]; then \
ipcrm -M `cat tmp/$${f}.shm`; \
rm -f tmp/$${f}.shm; \
fi; \
done;
httpstart:
@echo starting web server ...
@./make_conf_log.sh "START" >> logs/http/conf.log 2>&1
@./rc.siteguardlite_http start
@sleep 1
httprestart: httpstop httpstart
reconfig:
@echo "------------------------------------------------------"
@echo " Reconfig services..."
@echo "------------------------------------------------------"
@if [ "X$(SERVER)" = "XAPACHE" ]; then \
$(APACHECTL) graceful; \
else \
$(NGINXBIN) -s reload; \
fi;
./rc.$(PRODUCT)_notify reload
@./make_conf_log.sh "RECONFIG" >> logs/http/conf.log 2>&1
# restart-service: stop-service start-service
restart: stop start
# obsoluted
restart-$(PRODUCT): restart
uninstall-services:
@echo "------------------------------------------------------"
@echo " Uninstalling services..."
@echo "------------------------------------------------------"
-@for svc in admin notify; do \
if which systemctl >/dev/null 2>&1; then \
if systemctl list-unit-files -t service | grep "$(PRODUCT)_$${svc}.service.*enabled" >/dev/null; then \
systemctl disable $(PRODUCT)_$${svc}.service >/dev/null 2>&1; \
fi; \
if [ -f /etc/systemd/system/$(PRODUCT)_$${svc}.service ]; then \
rm /etc/systemd/system/$(PRODUCT)_$${svc}.service; \
fi; \
else \
if [ -f /etc/init.d/$(PRODUCT)$(suffix)_$${svc} ]; then\
if [ -x /usr/sbin/update-rc.d ]; then \
/usr/sbin/update-rc.d -f $(PRODUCT)$(suffix)_$${svc} remove;\
fi;\
if [ -x /sbin/chkconfig ]; then \
/sbin/chkconfig --del $(PRODUCT)$(suffix)_$${svc} ;\
fi;\
if [ -f /etc/init.d/$(PRODUCT)$(suffix)_$${svc} -o -L /etc/init.d/$(PRODUCT)$(suffix)_$${svc} ]; then \
rm /etc/init.d/$(PRODUCT)$(suffix)_$${svc} ;\
fi;\
fi;\
fi;\
done
usage:
@echo "usage: make [install]"
@echo " target:"
@echo " install : install product"
@echo " option: "
@echo " prefix=[dir] : set install directory"
@echo " adminport=[num]: set port number of administrator(default: 9016)"
@echo "example:"
@echo " make install"
@echo " (default installation)"
@echo " make prefix=$(prefix)2 adminport=10014 install"
@echo " (install the second $(PRODUCT) package on the same machine.)"
change-owner:
-@if [ "X$$UID" = "X0" ]; then \
(find $(prefix) -path "$(prefix)/tmp" -prune -o -exec chown -h root.root {} \;); \
fi
install-itr: create-setup-config install-dir backup-sem-shm-file stop restore-sem-shm-file install-prog install-def install-config verup-config install-initscript install-autoupdate statistics-update statistics-clear install-statistics-cron change-owner succeeded
install:
@overwrite="no"; \
if [ -e $(prefix)/ ]; then \
if [ "X$(SERVER)" = "XAPACHE" ]; then \
if [ -e $(prefix)/setup.config ]; then \
if egrep "^APACHE_CONFFILE=.+" $(prefix)/setup.config >/dev/null 2>&1; then \
if egrep "^APACHE_TYPE=.+" $(prefix)/setup.config >/dev/null 2>&1; then \
if egrep "^APACHECTL=.+" $(prefix)/setup.config >/dev/null 2>&1; then \
if egrep "^APACHEBIN=.+" $(prefix)/setup.config >/dev/null 2>&1; then \
overwrite="yes"; \
fi; \
fi; \
fi; \
fi; \
elif [ -e $(prefix)/Makefile -a -e $(prefix)/conf/$(PRODUCT).ini ]; then \
if egrep "^APACHE_CONFFILE=.+" $(prefix)/Makefile >/dev/null 2>&1; then \
if egrep "^APACHE_TYPE=.+" $(prefix)/Makefile >/dev/null 2>&1; then \
if egrep "^APACHECTL=.+" $(prefix)/Makefile >/dev/null 2>&1; then \
if egrep "^APACHEBIN=.+" $(prefix)/Makefile >/dev/null 2>&1; then \
overwrite="yes"; \
fi; \
fi; \
fi; \
fi; \
fi; \
else \
if [ -e $(prefix)/setup.config ]; then \
if egrep "^NGINX_CONFFILE=.+" $(prefix)/setup.config >/dev/null 2>&1; then \
if egrep "^NGINX_TYPE=.+" $(prefix)/setup.config >/dev/null 2>&1; then \
if egrep "^NGINXBIN=.+" $(prefix)/setup.config >/dev/null 2>&1; then \
overwrite="yes"; \
fi; \
fi; \
fi; \
fi; \
fi; \
fi; \
$(MAKE) --warn-undefined-variable --no-print-directory SERVER=$(SERVER) OVERWRITE=$${overwrite} install-itr;
# obsoluted
install-full: install
remove_httpd_conf:
@echo "------------------------------------------------------"
@if [ "X$(SERVER)" = "XAPACHE" ]; then \
echo " Remove setting from httpd.conf"; \
else \
echo " Remove setting from nginx.conf"; \
fi
@echo "------------------------------------------------------"
@$(prefix)/setup.sh --remove
succeeded:
@if [ $(OVERWRITE) = "no" ]; then \
if [ "X$(SERVER)" = "XAPACHE" ]; then \
echo ;\
echo "------------------------------------------------------" ;\
echo " Install succeeded!" ;\
echo ;\
echo " Please run the following command" ;\
echo " in order to setup apache" ;\
echo " # cd $(prefix)" ;\
echo " # ./setup.sh" ;\
echo "------------------------------------------------------" ;\
else \
echo ;\
echo "------------------------------------------------------" ;\
echo " Install succeeded!" ;\
echo ;\
echo " Please run the following command" ;\
echo " 1. in order to add SiteGuard Lite module into nginx" ;\
echo " # cd <nginx source dir>" ;\
echo " # ./configure \\" ;\
echo " --add-module=$(prefix)/nginx \\" ;\
echo " --with-http_ssl_module \\" ;\
echo " ...<with other params>" ;\
echo " # make" ;\
echo " # make install" ;\
echo ;\
echo " 2. in order to setup nginx" ;\
echo " # cd $(prefix)" ;\
echo " # ./setup.sh" ;\
echo "------------------------------------------------------" ;\
fi; \
else \
if [ "X$(SERVER)" = "XAPACHE" ]; then \
option="--batch"; \
else \
option="--batch-no-restart"; \
fi; \
if (cd $(prefix); $(prefix)/setup.sh $${option}); then \
if [ "X$(SERVER)" = "XAPACHE" ]; then \
echo "------------------------------------------------------" ;\
echo " Update succeeded!" ;\
echo "------------------------------------------------------" ;\
else \
echo "------------------------------------------------------" ;\
echo " Update succeeded!" ;\
echo ;\
echo " Please run the following command" ;\
echo " 1. in order to add SiteGuard Lite module into nginx" ;\
echo " # cd <nginx source dir>" ;\
echo " # ./configure \\" ;\
echo " --add-module=$(prefix)/nginx \\" ;\
echo " --with-http_ssl_module \\" ;\
echo " ...<with other params>" ;\
echo " # make" ;\
echo " # make install" ;\
echo " # make upgrade" ;\
echo "------------------------------------------------------" ;\
fi; \
else \
echo "------------------------------------------------------" ;\
echo " Update failed!" ;\
echo "------------------------------------------------------" ;\
fi; \
fi
uninstall: remove_httpd_conf stop uninstall-autoupdate uninstall-services
@echo "------------------------------------------------------"
@echo " Uninstall succeeded!"
@echo " If you need, please remove $(prefix)."
@echo "------------------------------------------------------"
# obsoluted
uninstall-full: uninstall
clean: buildtools-setup
-rm -f *.o core* $(TARGET_BIN)
@for dir in $(SUBDIRS) ; do \
echo Making clean in $$dir; \
(cd $$dir; $(MAKE) $(MFLAGS) clean) || exit 1; \
done
-rm -rf $(BUILD_DEST)
-rm -f external/md5/md5.o
test:
(cd test-scripts && ./test.pl)
printenv:
export PATH=$(PATH) ; /usr/bin/printenv
bindist_itr:
if [ ! -e $(TOPDIR)/databases_waf/ ];then mkdir -p $(TOPDIR)/databases_waf; fi
if [ "X$(SERVER)" = "XAPACHE" ]; then \
scp dev:/var/www/html/mksig/latest/lite/sig_official_base.txt $(TOPDIR)/databases_waf/;\
scp dev:/var/www/html/mksig/latest/lite/sig_official_comment.en.txt $(TOPDIR)/databases_waf/;\
scp dev:/var/www/html/mksig/latest/lite/sig_official_comment.ja.txt $(TOPDIR)/databases_waf/;\
scp dev:/var/www/html/mksig/latest/lite/sig_official_date.txt $(TOPDIR)/databases_waf/;\
scp dev:/var/www/html/mksig/latest/lite/header.ini $(TOPDIR)/databases_waf/;\
else \
scp dev:/var/www/html/mksig/latest/nw/sig_official_base.txt $(TOPDIR)/databases_waf/;\
scp dev:/var/www/html/mksig/latest/nw/sig_official_comment.en.txt $(TOPDIR)/databases_waf/;\
scp dev:/var/www/html/mksig/latest/nw/sig_official_comment.ja.txt $(TOPDIR)/databases_waf/;\
scp dev:/var/www/html/mksig/latest/nw/sig_official_date.txt $(TOPDIR)/databases_waf/;\
scp dev:/var/www/html/mksig/latest/nw/header.ini $(TOPDIR)/databases_waf/;\
fi
cp $(TOPDIR)/databases_waf/* $(TOPDIR)/conf/waf/
cp $(TOPDIR)/conf/waf/sig_official_base.txt $(TOPDIR)/conf/waf/sig_official.txt
if [ ! -e packages/ ];then mkdir -p $(BUILD_DEST)/packages; fi
rm -rf $(DISTDIR_BIN)$(UPDATE_SUFFIX).tar.gz $(BUILD_DEST)/packages/$(DISTDIR_BIN)$(UPDATE_SUFFIX)-old.tar.gz $(BUILD_DEST)/packages/$(DISTDIR_BIN)/ $(DISTDIR_BIN)/
if [ -f packages/$(DISTDIR_BIN)$(UPDATE_SUFFIX).tar.gz ];then mv -f $(BUILD_DEST)/packages/$(DISTDIR_BIN)$(UPDATE_SUFFIX).tar.gz $(BUILD_DEST)/packages/$(DISTDIR_BIN)$(UPDATE_SUFFIX)-old.tar.gz; fi
mkdir -p $(DISTDIR_BIN)/
cp -rp --parents $(DISTFILES_BIN_COPY) $(DISTFILES_CONFIG) $(DISTFILES_DEF) $(DISTDIR_BIN)/
cp -rp $(SRC_COMPONENTS) $(DISTDIR_BIN)/
cp conf/expire.txt.orig $(DISTDIR_BIN)/conf/expire.txt
cp conf/expire.txt.orig $(DISTDIR_BIN)/conf/
cp conf/license.txt.trial $(DISTDIR_BIN)/conf/license.txt
cp conf/license.txt.trial $(DISTDIR_BIN)/conf/
mkdir $(DISTDIR_BIN)/logs
rm -rf $(DISTDIR_BIN)/conf/virusgw.ini
rm -rf $(DISTDIR_BIN)/tomcat/{lib_myfaces_src,temp/safeToDelete.tmp,logs,work,webapps/{ROOT,examples,host-manager,manager,docs,agent/{build,src,testsrc,.metadata,.settings,.classpath},jp_secure/{build,src,testsrc,.metadata,.settings,.classpath}}}
rm $(DISTDIR_BIN)/misc/*.c
cp -p rc.$(PRODUCT)_http $(DISTDIR_BIN)/rc.$(PRODUCT)_http
cp -p rc.$(PRODUCT)_admin $(DISTDIR_BIN)/rc.$(PRODUCT)_admin
cp -p rc.$(PRODUCT)_notify $(DISTDIR_BIN)/rc.$(PRODUCT)_notify
cp -p $(PRODUCT)_admin.command $(DISTDIR_BIN)/$(PRODUCT)_admin.command
cp -p $(PRODUCT)_notify.command $(DISTDIR_BIN)/$(PRODUCT)_notify.command
cp -p $(PRODUCT)_admin.service $(DISTDIR_BIN)/$(PRODUCT)_admin.service
cp -p $(PRODUCT)_notify.service $(DISTDIR_BIN)/$(PRODUCT)_notify.service
if [ "X$(SERVER)" = "XAPACHE" ]; then \
rm -rf $(DISTDIR_BIN)/nginx; \
rm -f $(DISTDIR_BIN)/conf/dbupdate_waf_url.conf.nginx; \
else \
cp -p setup.config.nginx $(DISTDIR_BIN)/setup.config; \
cp -p conf/dbupdate_waf_url.conf.nginx $(DISTDIR_BIN)/conf/dbupdate_waf_url.conf; \
rm -rf $(DISTDIR_BIN)/modules; \
fi;
perl -p -i -e 's|^BUILD\s*=.*|BUILD=$(BUILD)|;' $(DISTDIR_BIN)/{Makefile,Makefile.vars} ;\
tar --owner=root --group=root -zcvf $(DISTDIR_BIN)$(UPDATE_SUFFIX).tar.gz -C $(dir $(DISTDIR_BIN)) $(notdir $(DISTDIR_BIN))
mv $(DISTDIR_BIN)$(UPDATE_SUFFIX).tar.gz $(BUILD_DEST)/packages/
bindist:
$(MAKE) VERSION=$(VERSION) BUILD= bindist_itr
rpm_itr: bindist_itr
if [ ! -e var ];then mkdir var; fi
if [ ! -e var/tmp ];then ln -s .. var/tmp; fi
sed -e 's/@VERSION@/$(VERSION_DOT)/;s/@RELEASE@/$(UPDATE)/;s/@SERVER_NAME@/${SERVER_NAME}/;s/@ARCH@/$(ARCH)/;' $(PRODUCT).spec.in > $(PRODUCT).spec
$(RPMBUILD) -bb \
--define "_rpmdir `pwd`/$(BUILD_DEST)/packages" \
--define "image_root `pwd`/$(BUILD_DEST)/image/" \
--define "_tmppath /var/tmp" \
--nodeps \
$(PRODUCT).spec
-rm -rf release/rpm_diff_dst/
mkdir release/rpm_diff_dst
cd release/rpm_diff_dst && (rpm2cpio ../packages/$(DISTFILE_RPM) | cpio -id --quiet)
diff -ru $(subst image,rpm_diff_dst, $(DISTDIR_BIN)) $(DISTDIR_BIN)
# diff -ru release/rpm_diff_dst release/image
rpm:
$(MAKE) VERSION=$(VERSION) BUILD= rpm_itr
diag-rm:
-rm -rf diag
diag: diag-rm
mkdir diag
-echo "Date:" `(LANG=C;date '+%Y/%m/%d(%a) %H:%M:%S %z(%Z)') 2>&1` >>diag/version.txt
-if [ "X$(SERVER)" = "XAPACHE" ]; then \
servertype=$(APACHE_TYPE); \
else \
servertype=$(NGINX_TYPE); \
fi; \
if [ "X$(UPDATE)" = "X0" ]; then \
echo "Version: $(VERSION) build $(BUILD) ($(VERSION_DOT) [$${servertype}])" >>diag/version.txt;\
else \
echo "Version: $(VERSION) build $(BUILD) ($(VERSION_DOT) Update $(UPDATE) [$${servertype}])" >>diag/version.txt;\
fi;
-echo "Distribution:" `(lsb_release -d 2>/dev/null || (cd /etc; fgrep -H '' *-release *_version *-version 2>/dev/null)) | perl -pe 's/^Description:\s*//' 2>&1` >>diag/version.txt
-echo "OS:" `uname -a 2>&1` >>diag/version.txt
-echo "glibc:" `misc/get_glibcver 2>&1` >> diag/version.txt
-echo "Whoami:" `whoami` >> diag/version.txt
-echo "CurrentDir:" `pwd 2>&1` >> diag/version.txt
-(perl Makefile.verup-config --diff conf/$(PRODUCT).ini conf/$(PRODUCT)-orig.ini > conf/$(PRODUCT)-diff.ini 2>&1)
mkdir -p diag/logs
mkdir -p diag/logs/http
-for logtype in error detect info form; do \
tail -1000 logs/http/$${logtype}.log > diag/logs/http/$${logtype}.log 2>&1; \
done
-tail -5000 logs/http/conf.log > diag/logs/http/conf.log 2>&1
-tar -cvf - conf/ | (cd diag && tar -xvf -)
mkdir -p diag/tmp/login_lock
-(cd tmp && tar -cvf - login_lock/) | (cd diag/tmp && tar -xvf -)
mkdir -p diag/tmp/sync_lock
-(cd tmp && tar -cvf - sync_lock/) | (cd diag/tmp && tar -xvf -)
mkdir -p diag/tmp/sync_recv
-(cd tmp && tar -cvf - sync_recv/) | (cd diag/tmp && tar -xvf -)
mkdir -p diag/tmp/sync_send
-(cd tmp && tar -cvf - sync_send/) | (cd diag/tmp && tar -xvf -)
-for semfile in license.shm license.sem filter.sem counter.shm counter.sem; do \
cp tmp/$${semfile} diag/tmp/$${semfile} 2>&1; \
done
mkdir -p diag/logs/admin
-tail -5000 logs/admin/catalina.out > diag/logs/admin/catalina.out 2>&1
-tail -1000 logs/admin/localhost_access_log.txt > diag/logs/admin/localhost_access_log.txt 2>&1
-tail -1000 logs/http/admin-ssl-error.log > diag/logs/http/admin-ssl-error.log 2>&1
-tail -1000 logs/http/admin-ssl-access.log > diag/logs/http/admin-ssl-access.log 2>&1
-tail -1000 logs/dbupdate_waf.log > diag/logs/dbupdate_waf.log 2>&1
-tail -1000 logs/dbupdate_waf.log.txt > diag/logs/dbupdate_waf.log.txt 2>&1
-tail -1000 logs/dbupdate_waf_err.log > diag/logs/dbupdate_waf_err.log 2>&1
-tail -1000 logs/dbupdate_waf_last_result.txt > diag/logs/dbupdate_waf_last_result.txt 2>&1
-tail -1000 logs/get_version_result.txt > diag/logs/get_version_result.txt 2>&1
-tail -1000 logs/get_header_result.txt > diag/logs/get_header_result.txt 2>&1
mkdir -p diag/logs/admin/siteguardlite
-tail -1000 logs/admin/siteguardlite/info.log > diag/logs/admin/siteguardlite/info.log 2>&1
-tail -1000 logs/admin/siteguardlite/error.log > diag/logs/admin/siteguardlite/error.log 2>&1
-tail -1000 logs/admin/siteguardlite/operation.log > diag/logs/admin/siteguardlite/operation.log 2>&1
-tail -1000 logs/admin/siteguardlite/syncSend.log > diag/logs/admin/siteguardlite/syncSend.log 2>&1
-tail -1000 logs/admin/siteguardlite/syncRecv.log > diag/logs/admin/siteguardlite/syncRecv.log 2>&1
-tail -1000 logs/admin/siteguardlite/syncRecvConf.log > diag/logs/admin/siteguardlite/syncRecvConf.log 2>&1
mkdir -p diag/logs/notify
-tail -1000 logs/notify/error.log > diag/logs/notify/error.log 2>&1
-tail -1000 logs/notify/info.log > diag/logs/notify/info.log 2>&1
-ls -alRrt > diag/ls.txt 2>&1
-find . > diag/find.txt 2>&1
-cp setup.config diag/setup.config 2>&1
mkdir diag/system
-printenv > diag/system/printenv.txt 2>&1
-(cd /; tar -cvf - etc/{*release,logrotate.d/,selinux/config,grub.conf,fstab,nsswitch.conf,resolv.conf}) | (cd diag/system && tar -xvf -)
-ls -alrt /etc > diag/system/ls_etc.txt 2>&1
-ls -alrt /etc/rc.d/rc?.d > diag/system/ls_etc_rc.d.txt 2>&1
-ls -alrt /var/log > diag/system/ls_var_log.txt 2>&1
-ls -al /proc > diag/system/ls_proc.txt 2>&1
-du -k > diag/system/du_k.txt 2>&1
-df -k > diag/system/df_k.txt 2>&1
-mount > diag/system/mount.txt 2>&1
-ps auxww > diag/system/ps_auxww.txt 2>&1
-ps -efl > diag/system/ps_efl.txt 2>&1
-(export TERM=vt100; top n 1 b) > diag/system/top.txt 2>&1
-free > diag/system/free.txt 2>&1
-objdump -T /lib/ld-linux.so.2 > diag/system/ld-linux.so.2_objdump-T.txt 2>&1
-dmesg > diag/system/dmesg.txt 2>&1
-journalctl --dmesg > diag/system/journalctl_dmesg.txt 2>&1
-last > diag/system/last.txt 2>&1
-rpm -qa --qf '%{name}-%{version}-%{release}.%{arch}\n' |sort > diag/system/rpm.txt 2>&1
-dpkg -l > diag/system/dpkg_l.txt 2>&1
-crontab -l > diag/system/crontab.txt 2>&1
-hostname >diag/system/hostname.txt 2>&1
-ifconfig -a >diag/system/ifconfig.txt 2>&1
-iptables-save >diag/system/iptables-save.txt 2>&1
-netstat -anp >diag/system/netstat_anp.txt 2>&1
-netstat -rn >diag/system/netstat_rn.txt 2>&1
-ss -anp >diag/system/ss_anp.txt 2>&1
-ip route show all >diag/system/ip_route_show_all.txt 2>&1
-sar -A >diag/system/sar.txt 2>&1
-sestatus >diag/system/sestatus.txt 2>&1
-brctl show >diag/system/brctl_show.txt 2>&1
-lspci > diag/system/lspci.txt 2>&1
-lsusb > diag/system/lsusb.txt 2>&1
-lsscsi > diag/system/lsscsi.txt 2>&1
-lsof > diag/system/lsof.txt 2>&1
-cp /var/log/sa/sar`date -d "1 days ago" +%d` diag/system/ 2>&1
-arp -a > diag/system/arp_a.txt 2>&1
-ip n > diag/system/ip_n.txt 2>&1
-for corefile in `(ls -rt core core.* databases/core databases/core.* | tail -5) 2>/dev/null`; do \
misc/core-trace $${corefile} ;\
done > diag/system/core-trace.txt 2>&1
mkdir diag/system/proc
-find /proc/{config.gz,cpuinfo,cmdline,devices,interrupts,ioports,iomem,meminfo,modules,pci,version,net,sys,sysvipc,version} -type d -exec mkdir "diag/system/{}" \;
-find /proc/{config.gz,cpuinfo,cmdline,devices,interrupts,ioports,iomem,meminfo,modules,pci,version,net,sys,sysvipc,version} \! -path /proc/sys/kernel/dump/\* -a \! -type d -exec cp -p "{}" "diag/system/{}" \;
-tail -1000 /var/log/messages > diag/system/var_log_messages.txt 2>&1
-ipcs -s > diag/system/ipcs_s.txt 2>&1
-ipcs -m > diag/system/ipcs_m.txt 2>&1
mkdir diag/statistics
-cp statistics/*cur_*summary.txt diag/statistics/ 2>&1
tar -zcvf diag.tar.gz diag
@echo "===Diagnose information file(diag.tar.gz) is generated.==="
BACKUP_FILE=./backup.tar.gz
BACKUP_LIST=./backup_list
backup:
@tar -zcvf $(BACKUP_FILE) conf databases_waf >/dev/null
@echo "===Backup file(backup.tar.gz) is generated.==="
restore:
@if [ ! -e $(BACKUP_FILE) ]; then \
echo "restore: error not exist $(BACKUP_FILE)."; \
exit 1; \
fi;
@tar -ztvf $(BACKUP_FILE) > $(BACKUP_LIST);
@if ! grep "conf/siteguardlite.ini" $(BACKUP_LIST) >/dev/null; then echo "restore: error invalid backup file."; exit 1; fi
@if ! grep "databases_waf" $(BACKUP_LIST) >/dev/null; then echo "restore: error invalid backup file."; exit 1; fi
@(if [ ! -d restore_tmp ]; then mkdir restore_tmp; fi; cd restore_tmp; tar -xvzf ../$(BACKUP_FILE) conf/siteguardlite.ini >/dev/null; \
if [ "X$(SERVER)" = "XAPACHE" ]; then \
if ! grep "version=Apache${VERSION}-${UPDATE}" conf/siteguardlite.ini >/dev/null ; then \
echo "restore: error invalid version."; \
cd ..; rm -rf restore_tmp; \
exit 1; \
fi; \
else \
if ! grep "version=Nginx${VERSION}-${UPDATE}" conf/siteguardlite.ini >/dev/null ; then \
echo "restore: error invalid version."; \
cd ..; rm -rf restore_tmp; \
exit 1; \
fi; \
fi; \
cd ..; rm -rf restore_tmp)
@rm -rf conf databases_waf
@tar -zxvf $(BACKUP_FILE) >/dev/null
@$(MAKE) reconfig
@echo "===Restore succeeded.==="
resetadmin:
@echo "------------------------------------------------------"
@echo " reset admin account"
@echo "------------------------------------------------------"
@if [ -e conf/$(PRODUCT).htdigest.org ]; then \
cp conf/$(PRODUCT).htdigest.org conf/$(PRODUCT).htdigest ; \
echo "done." ; \
else \
echo "failed." ; \
fi
clearfilterdb:
@echo "------------------------------------------------------"
@echo " clear filter db"
@echo "------------------------------------------------------"
@./filter_util --del $(del_addrs)
@echo "done."
cleartmpfiles_itr:
@echo "------------------------------------------------------"
@echo " clear tmp files"
@echo "------------------------------------------------------"
@echo "removing tmp files ..."
@rm -f tmp/proxytmp*
@echo "done."
cleartmpfiles: httpstop cleartmpfiles_itr httpstart
statistics-update:
@(cd $(prefix); ./$(PRODUCT)_statistics.sh >/dev/null 2>&1;)
statistics-clear:
@(cd $(prefix); ./$(PRODUCT)_statistics.sh --clear >/dev/null 2>&1;)
VERSION_NUMBER:
echo $(VERSION_DOT) > $@
BUILD_NUMBER:
echo $(BUILD) > $@
# This target is ran from .java with super.exec()
show_webui_version:
@if [ "X$(SERVER)" = "XAPACHE" ]; then \
servertype=$(APACHE_TYPE); \
else \
servertype=$(NGINX_TYPE); \
fi; \
if [ "$(UPDATE)" = "0" ]; then \
echo "$(VERSION_DOT) [$${servertype}]" ; \
else \
echo "$(VERSION_DOT) Update $(UPDATE) [$${servertype}]" ; \
fi
show_webui_server_version:
@if [ "X$(SERVER)" = "XAPACHE" ]; then \
$(APACHECTL) -v; \
else \
$(NGINXBIN) -V 2>&1; \
fi;
ROLLBACK_FILE=./tmp/sync_recv/backup.tar.gz
LOCKERR_FILE=./tmp/sync_recv/.syncerror
rollback:
@echo "------------------------------------------------------"
@echo " rollback"
@echo "------------------------------------------------------"
@if [ -e $(LOCKERR_FILE) ]; then \
rm -f $(LOCKERR_FILE) ; \
fi;
@if [ ! -e $(ROLLBACK_FILE) ]; then \
echo "rollback: error not exist $(ROLLBACK_FILE)."; \
exit 1; \
fi;
@tar -zxvf $(ROLLBACK_FILE) >/dev/null
@$(MAKE) reconfig
@echo "===Rollback succeeded.==="