1# 2# RCS: $Id: Makefile.in,v 1.130 2020/10/12 16:13:14 root Exp root $ 3 4SHELL=/bin/sh 5 6.SUFFIXES: 7.SUFFIXES: .c .o .pl .pm .pod .html .man 8 9RUNAS = @ufdb_user@ 10 11CC = @CC@ 12CXX = @CXX@ 13CPP = @CPP@ 14LEX = @LEX@ 15YACC = @BISON@ 16PERL = @PERL@ 17MKDIR = @top_srcdir@/mkinstalldirs 18CHOWN = chown $(RUNAS) 19INSTALL = @INSTALL@ # -o $(RUNAS) 20INSTALL_DATA = @INSTALL_DATA@ 21INSTALL_PROGRAM = @INSTALL_PROGRAM@ 22 23RM = rm -f 24# SOLARIS_LIBS= -lsocket -lnsl -lrt -L /opt/csw/lib 25 26CFLAGS = @CFLAGS@ -Wall -Wextra 27CXXFLAGS= @CXXFLAGS@ -Wall -Wextra 28CPPFLAGS= @CPPFLAGS@ 29LDFLAGS = @LDFLAGS@ 30LIBS = @LIBS@ 31DEFS = @DEFS@ 32DPDK_LIBS= @DPDK_LIBS@ 33SOLARIS_LIBS = @SOLARIS_LIBS@ 34 35# The following flags are tuned for Linux 2.6 on Intel with gcc 3.3.6 36INCLUDES = -I.. -I. -I$(srcdir) 37MALLOC_DEBUG = # MALLOC_CHECK_=2 38CFLAGS_PROFILING = # -pg -g -O2 # -finline-limit=1 39CFLAGS_DEBUG = -O0 -g -ggdb # -O0 -g -DUFDB_FREE_MEMORY # -DUFDB_DO_DEBUG 40LINK_DEBUG = # -lmemusage 41LINK_DEBUG = # -static # -static-libgcc -static 42CFLAGS_OPT = # -Wall -O2 -momit-leaf-frame-pointer # -march=pentium4 43XXCFLAGS = -Wall -O2 -momit-leaf-frame-pointer # -minline-all-stringops 44XXXCFLAGS = -Wall -DUFDB_DBFORMAT_3=1 $(CFLAGS_OPT) -I. \ 45 $(CFLAGS_DEBUG) $(CFLAGS_PROFILING) 46XXXLDFLAGS = $(CFLAGS_PROFILING) $(CFLAGS_DEBUG) $(LINK_DEBUG) 47 48CCOMPILE = $(CC) $(INCLUDES) $(CFLAGS) 49COMPILE = $(CC) $(INCLUDES) $(CFLAGS) 50LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ 51 52top_srcdir = @top_srcdir@ 53srcdir = @srcdir@ 54VPATH = @srcdir@ 55 56prefix = @prefix@ 57exec_prefix = @exec_prefix@ 58bindir = @ufdb_bindir@ 59piddir = @ufdb_piddir@ 60logdir = @ufdb_logdir@ 61cfgdir = @ufdb_config@ 62syscfgfile = @ufdb_sysconfigfile@ 63dbhome = @ufdb_dbhome@ 64images_dir = @ufdb_images_dir@ 65 66 67UFDBOBJS= \ 68 engine.o \ 69 ufdbbase.o ufdbdaemon.o sgDiv.o crypt.o grammar.o lex.yy.o ufdbLookup.o ufdblib.o \ 70 sgLog.o ufdbLogConfig.o \ 71 ufdbglobals.o ufdbdb.o ufdbUserlist.o ufdbIPlist.o \ 72 ufdbchkport.o httpsQueue.o \ 73 ufdbHostnames.o \ 74 ufdbHashtable.o 75 76first: ufdbGenTable 77 @echo 78 @echo "or maybe you want to type 'make all' (see the Reference Manual)" 79 80all:: 81 @echo making $@ in `basename \`pwd\`` 82 83all:: $(UFDBOBJS) ufdbGenTable ufdbhttpd ufdbAnalyse daemon \ 84 ufdb_analyse_urls.pl ufdb_analyse_users.pl ufdb_top_urls.pl ufdb_top_users.pl 85 @echo making $? in `basename \`pwd\`` 86 87ufdbGuard: main.o ufdbguard.o $(UFDBOBJS) 88 $(LINK) main.o ufdbguard.o $(UFDBOBJS) $(LIBS) 89 90conf: grammar.o lex.yy.o 91 $(CCOMPILE) -o conf grammar.o lex.yy.o 92 93ufdbguard.o: ufdbguard.c sg.h ufdb.h 94 $(COMPILE) -c ufdbguard.c 95 96main.o: main.c sg.h ufdb.h 97 $(COMPILE) -c main.c 98 99sgLog.o: sgLog.c sg.h ufdb.h 100 $(COMPILE) -c sgLog.c 101 102sgDiv.o: sgDiv.c sg.h ufdb.h 103 $(COMPILE) -c sgDiv.c 104 105httpserver.o: httpserver.c ufdb.h ufdblib.h httpserver.h version.h 106 $(COMPILE) -c httpserver.c 107 108ufdbAnalyse.o: ufdbAnalyse.c ufdb.h ufdblib.h 109 $(COMPILE) -c ufdbAnalyse.c 110 111ufdbchkport.o: ufdbchkport.c ufdbchkport.h ufdb.h 112 $(COMPILE) -c ufdbchkport.c 113 114ufdbHostnames.o: ufdbHostnames.c ufdbHostnames.h ufdb.h 115 $(COMPILE) -c ufdbHostnames.c 116 117ufdbbase.o: ufdbbase.c ufdb.h 118 $(COMPILE) -c ufdbbase.c 119 120crypt.o: crypt.c ufdb.h 121 $(COMPILE) -I. -c crypt.c 122 123ufdbdaemon.o: ufdbdaemon.c ufdb.h 124 $(COMPILE) -c ufdbdaemon.c 125 126engine.o: engine.c ufdb.h sg.h ufdblib.h ufdbdb.h ufdbchkport.h # ufdbdb3.h 127 $(COMPILE) -c engine.c 128 129ufdbLookup.o: ufdbLookup.c ufdb.h 130 $(COMPILE) -c ufdbLookup.c 131 132ufdblib.o: ufdblib.c ufdblib.h ufdb.h 133 $(COMPILE) -c ufdblib.c 134 135ufdbdb.o: ufdbdb.c strcmpurlpart.static.c ufdbdb.h ufdb.h sg.h # ufdbdb3.h ufdbParseTable3.c 136 $(COMPILE) -c ufdbdb.c 137 138ufdbParseTable3.c: ufdbdb.h ufdbdb3.h 139 touch ufdbParseTable3.c 140 141httpsQueue.o: httpsQueue.c httpsQueue.h ufdb.h 142 $(COMPILE) -c httpsQueue.c 143 144ufdbHhashtable.o: ufdbHashtable.c ufdbHashtable.h ufdb.h 145 $(COMPILE) -c ufdbHashtable.c 146 147lex.yy.o: lex.yy.c grammar.tab.h sg.h ufdb.h 148 $(CCOMPILE) -D_XOPEN_SOURCE=600 -D__EXTENSIONS__=1 -D_DEFAULT_SOURCE=1 -D_BSD_SOURCE=1 -c lex.yy.c 149 150grammar.o: grammar.tab.c grammar.tab.h sg.h ufdb.h 151 $(CCOMPILE) -D_XOPEN_SOURCE=600 -D__EXTENSIONS__=1 -D_DEFAULT_SOURCE=1 -D_BSD_SOURCE=1 -c grammar.tab.c 152 153lex.yy.c: sg.l sg.h ufdb.h grammar.tab.h 154 -$(LEX) sg.l 155 if [ ! -s lex.yy.c ]; then cp lex.yy.c.flex lex.yy.c ; fi 156 157lex.yy.c.flex: sg.l sg.h ufdb.h 158 -$(LEX) sg.l 159 mv -f lex.yy.c lex.yy.c.flex 160 161grammar.tab.c grammar.tab.h: grammar.y 162 -$(YACC) -d -Wall grammar.y 163 if [ ! -s grammar.tab.c ] ; then cp grammar.tab.c.bison grammar.tab.c; cp grammar.tab.h.bison grammar.tab.h; fi 164 165grammar.tab.c.bison grammar.tab.h.bison: grammar.y 166 -$(YACC) -d -Wall grammar.y 167 mv -f grammar.tab.c grammar.tab.c.bison 168 mv -f grammar.tab.h grammar.tab.h.bison 169 170# 171# Dependencies for installing 172# 173 174daemon: $(UFDBOBJS) 175 cd mtserver; $(MAKE) 176 177ufdbhttpd: ufdbhttpd.o httpserver.o ufdbglobals.o ufdbbase.o ufdblib.o crypt.o ufdbdaemon.o ufdblocks.o 178 $(LINK) ufdbhttpd.o httpserver.o ufdbglobals.o ufdbbase.o ufdblib.o crypt.o ufdbdaemon.o ufdblocks.o $(LIBS) 179 180perftest1: perftest1.o ufdbbase.o ufdblib.o sgLog.o crypt.o 181 $(LINK) perftest1.o ufdbbase.o ufdblib.o sgLog.o crypt.o $(LIBS) 182 183skype: ufdbpeek 184 ./ufdbpeek -S 212.187.172.36 ; echo 185 ./ufdbpeek -S 201.21.44.109 ; echo 186 ./ufdbpeek -S 195.46.253.219 ; echo 187 ./ufdbpeek -S 189.60.178.218 ; echo 188 ./ufdbpeek -S 189.4.48.216 ; echo 189 ./ufdbpeek -S 127.0.0.1 ; echo 190 ./ufdbpeek -S 201.37.252.147 ; echo 191 : 192 ./ufdbpeek -S 189.110.217.176 ; echo 193 ./ufdbpeek -S 201.83.213.173 ; echo 194 ./ufdbpeek -S 201.82.126.39 ; echo 195 ./ufdbpeek -S 201.83.213.173 ; echo 196 ./ufdbpeek -S 201.82.126.39 ; echo 197 ./ufdbpeek -S 201.68.248.132 ; echo 198 : 199 ./ufdbpeek -S 190.162.54.100 ; echo 200 ./ufdbpeek -S 190.254.192.114 ; echo 201 ./ufdbpeek -S 190.19.192.98 ; echo 202 ./ufdbpeek -S 186.83.240.8 ; echo 203 ./ufdbpeek -S 190.247.17.35 ; echo 204 : 205 ./ufdbpeek -S 209.211.201.45 ; echo 206 207 208 209iptst: iptst.o ufdbbase.o ufdblib.o crypt.o sgLog.o 210 $(LINK) iptst.o ufdbbase.o ufdblib.o crypt.o sgLog.o $(LIBS) 211 212ipt: iptst 213 LANG=en_US.UTF-8 iptst 214 215install:: install.bin install.etc install.pid install.security install.checks install.log 216 @echo making $@ in `basename \`pwd\`` 217 @echo 218 @echo "==================================================================" 219 @echo "ufdbGuard daemon runs with user id" $(RUNAS) 220 @echo "ufdbGuard binaries are installed in" $(bindir) 221 @echo "ufdbGuard configuration file is installed in" $(cfgdir) 222 @echo "ufdbGuard system configuration file is installed in" $(syscfgfile) 223 @echo "==================================================================" 224 @echo 225 226uninstall:: uninstall.bin 227 @echo making $@ in `basename \`pwd\`` 228 229install.bin: ufdbGenTable ufdbAnalyse ufdbhttpd createdirs install.mt install.images install.update install.debug 230 @echo making $@ in `basename \`pwd\`` 231 $(INSTALL_PROGRAM) ufdbConvertDB $(DESTDIR)$(bindir)/ufdbConvertDB 232 $(INSTALL_PROGRAM) ufdbGenTable $(DESTDIR)$(bindir)/ufdbGenTable 233 $(INSTALL_PROGRAM) ufdbAnalyse $(DESTDIR)$(bindir)/ufdbAnalyse 234 $(INSTALL_PROGRAM) ufdbhttpd $(DESTDIR)$(bindir)/ufdbhttpd 235 $(INSTALL_PROGRAM) ufdb_analyse_urls.pl $(DESTDIR)$(bindir)/ufdb_analyse_urls 236 $(INSTALL_PROGRAM) ufdb_analyse_users.pl $(DESTDIR)$(bindir)/ufdb_analyse_users 237 $(INSTALL_PROGRAM) ufdb_top_urls.pl $(DESTDIR)$(bindir)/ufdb_top_urls 238 $(INSTALL_PROGRAM) ufdb_top_users.pl $(DESTDIR)$(bindir)/ufdb_top_users 239 @if [ -f ufdbpeek ] ; then $(INSTALL_PROGRAM) ufdbpeek $(DESTDIR)$(bindir)/ufdbpeek ; fi 240 @if [ -f $(DESTDIR)$(cfgdir)/ufdbGuard.conf ] ; then echo "$(DESTDIR)$(cfgdir)/ufdbGuard.conf already exists." ; else $(INSTALL_DATA) ufdbGuard.conf $(DESTDIR)$(cfgdir)/ufdbGuard.conf.sample ; fi 241 242install.pid:: 243 if [ $(piddir) != /var/tmp ] ; then $(INSTALL) -d $(DESTDIR)$(piddir) ; fi 244 245install.update:: 246 ./copy_user_params $(DESTDIR)$(bindir)/ufdbUpdate ufdbUpdate 247 $(INSTALL_PROGRAM) ufdbUpdate $(DESTDIR)$(bindir)/ufdbUpdate 248 $(INSTALL_PROGRAM) ufdbDLstatus $(DESTDIR)$(bindir)/ufdbDLstatus 249 250install.security:: 251 echo "Installing SSL root certificates" 252 $(INSTALL_DATA) security/cacerts $(DESTDIR)$(dbhome)/security/cacerts.sample 253 254install.etc:: 255 sh ./install_etcfiles.sh $(DESTDIR)$(cfgdir) $(DESTDIR)$(bindir) 256 257install.debug:: 258 -if [ -x /usr/bin/debuginfo-install ] ; then /usr/bin/debuginfo-install glibc ; fi 259 260install.checks:: 261 # -@./check_config_file $(DESTDIR)$(cfgdir)/ufdbGuard.conf 262 -@./check_dns "@NSLOOKUP@" "@HOST@" "@DIG@" 263 -@./check_gdb "@GDB@" 264 265install.log:: 266 -@if [ "$(DESTDIR)" = "" ] ; then \ 267 sh ./install_log.sh $(RUNAS) $(prefix) $(DESTDIR)$(bindir) $(DESTDIR)$(logdir) $(DESTDIR)$(cfgdir) $(DESTDIR)$(images_dir) $(DESTDIR)$(dbhome) $(DESTDIR)$(syscfgfile) ; \ 268 fi 269 270createdirs:: 271 echo "Creating directories ..." 272 $(INSTALL) -d $(DESTDIR)$(bindir) 273 $(INSTALL) -o $(RUNAS) -d $(DESTDIR)$(logdir) 274 $(INSTALL) -d $(DESTDIR)$(cfgdir) 275 $(INSTALL) -d $(DESTDIR)`dirname $(syscfgfile)` 276 $(INSTALL) -o $(RUNAS) -d $(DESTDIR)$(dbhome) 277 $(INSTALL) -o $(RUNAS) -d $(DESTDIR)$(dbhome)/security 278 $(INSTALL) -d $(DESTDIR)$(images_dir) 279 280uninstall.bin:: 281 @echo making $@ in `basename \`pwd\`` 282 $(RM) $(DESTDIR)$(bindir)/ufdbGuard 283 $(RM) $(DESTDIR)$(bindir)/ufdbguardd 284 $(RM) $(DESTDIR)$(bindir)/ufdbsignal 285 $(RM) $(DESTDIR)$(bindir)/ufdbgclient 286 $(RM) $(DESTDIR)$(bindir)/ufdbhttpd 287 $(RM) $(DESTDIR)$(bindir)/ufdb_analyse_urls 288 $(RM) $(DESTDIR)$(bindir)/ufdb_analyse_users 289 $(RM) $(DESTDIR)$(bindir)/ufdb_top_urls 290 $(RM) $(DESTDIR)$(bindir)/ufdb_top_users 291 292 293install.mt:: 294 ( cd mtserver ; $(MAKE) ) 295 $(INSTALL_PROGRAM) mtserver/ufdbguardd $(DESTDIR)$(bindir)/ufdbguardd 296 $(INSTALL_PROGRAM) mtserver/ufdbgclient $(DESTDIR)$(bindir)/ufdbgclient 297 $(INSTALL_PROGRAM) mtserver/ufdb-pstack $(DESTDIR)$(bindir)/ufdb-pstack 298 -@echo "ignore the next error from chown when building a package as non-root user" 299 -$(RM) $(DESTDIR)$(bindir)/ufdbsignal ; \ 300 $(INSTALL_PROGRAM) mtserver/ufdbsignal $(DESTDIR)$(bindir)/ufdbsignal ; \ 301 chown root $(DESTDIR)$(bindir)/ufdbsignal ; \ 302 chmod +s $(DESTDIR)$(bindir)/ufdbsignal 303 304install.images:: 305 $(INSTALL_DATA) images/forbidden-normal-de.png $(DESTDIR)$(images_dir)/forbidden-normal-de.png 306 $(INSTALL_DATA) images/forbidden-normal-en.png $(DESTDIR)$(images_dir)/forbidden-normal-en.png 307 $(INSTALL_DATA) images/forbidden-normal-es.png $(DESTDIR)$(images_dir)/forbidden-normal-es.png 308 $(INSTALL_DATA) images/forbidden-normal-fr.png $(DESTDIR)$(images_dir)/forbidden-normal-fr.png 309 $(INSTALL_DATA) images/forbidden-normal-it.png $(DESTDIR)$(images_dir)/forbidden-normal-it.png 310 $(INSTALL_DATA) images/forbidden-normal-nl.png $(DESTDIR)$(images_dir)/forbidden-normal-nl.png 311 $(INSTALL_DATA) images/forbidden-normal-pl.png $(DESTDIR)$(images_dir)/forbidden-normal-pl.png 312 $(INSTALL_DATA) images/forbidden-normal-pt.png $(DESTDIR)$(images_dir)/forbidden-normal-pt.png 313 $(INSTALL_DATA) images/forbidden-normal-tr.png $(DESTDIR)$(images_dir)/forbidden-normal-tr.png 314 $(INSTALL_DATA) images/forbidden-normal-sv.png $(DESTDIR)$(images_dir)/forbidden-normal-sv.png 315 $(INSTALL_DATA) images/no-ads.png $(DESTDIR)$(images_dir)/no-ads.png 316 $(INSTALL_DATA) images/smallcross.png $(DESTDIR)$(images_dir)/smallcross.png 317 $(INSTALL_DATA) images/square.png $(DESTDIR)$(images_dir)/square.png 318 $(INSTALL_DATA) images/transparent.png $(DESTDIR)$(images_dir)/transparent.png 319 $(INSTALL_DATA) images/default.flv $(DESTDIR)$(images_dir)/default.flv 320 $(INSTALL_DATA) images/default.mp3 $(DESTDIR)$(images_dir)/default.mp3 321 $(INSTALL_DATA) images/default.wmv $(DESTDIR)$(images_dir)/default.wmv 322 $(INSTALL_DATA) images/default.mpeg $(DESTDIR)$(images_dir)/default.mpeg 323 324update:: 325 @echo making $@ in `basename \`pwd\`` 326 327update:: lex.yy.c.flex grammar.tab.c.bison grammar.tab.h.bison 328 329tu: 330 ./copy_user_params $(DESTDIR)$(bindir)/ufdbUpdate ufdbUpdate 331 332# 333# Dependencies for cleanup 334# 335 336clean:: 337 @echo making $@ in `basename \`pwd\`` 338 $(RM) *~ *.bak core core.* *.log *.log.[0-9] *.error 339 $(RM) *.o grammar.tab.c grammar.tab.h ufdbGuard ufdbGenTable ufdbAnalyse ufdbPrintTable ufdbhttpd 340 $(RM) ufdbGenTable2 ufdbGenTable3 341 $(RM) ipv6 iptst rwtest lex.yy.c 342 $(RM) gentable.cg.out gentable.cg.report* vt.log vt2.log 343 $(RM) ttt domains*.ufdb domains*.stderr print*.out gmon.out 344 $(RM) ttt.p1 ttt.in1 ttt.p2 ttt.in2 ttt.p3 ttt.in3 345 $(RM) ufdb_analyse_urls.pl ufdb_analyse_users.pl ufdb_top_urls.pl ufdb_top_users.pl 346 @- ( cd mtserver && $(MAKE) clean ) 347 348realclean:: clean 349 @echo making $@ in `basename \`pwd\`` 350 $(RM) ufdbpeek limtest 351 $(RM) TAGS tags *.orig 352 $(RM) *.ufdb perftest1 353 $(RM) nohup.out v1.out v2.out v2.stderr v3.out v3v.out v4.out d4.out d4.prof d3.out d3.prof 354 $(RM) e1.out u2.out u00.out u0.out v00.out s2.out p33.prof t3.prof 100000.out 355 $(RM) install.log 356 357distclean:: realclean 358 @echo making $@ in `basename \`pwd\`` 359 $(RM) Makefile sg.h ufdb.h config.h ufdbUpdate ufdbConvertDB ufdbGuard.conf 360 $(RM) init.ufdbguard install_etcfiles.sh version.h 361 $(RM) d0.ufdb d1.ufdb d2.ufdb 362 -cd mtserver ; $(MAKE) distclean 363 364apidistclean: distclean 365 @echo making $@ in `basename \`pwd\`` 366 -cd api ; $(MAKE) distclean 367 368grab: ufdbGrab 369 ./ufdbGrab $(DESTDIR)$(cfgdir) $(DESTDIR)$(logdir) 370 371# 372# Dependencies for maintenance 373# 374 375subdir = src 376 377Makefile: Makefile.in ../config.status 378 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 379 380ufdb.h: ufdb.h.in ../config.status 381 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 382 383sg.h: sg.h.in ../config.status 384 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 385 386ufdbConvertDB: ufdbConvertDB.in ../config.status 387 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 388 389ufdbUpdate: ufdbUpdate.in ../config.status 390 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 391 392install_etcfiles.sh: install_etcfiles.sh.in ../config.status 393 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 394 395init.ufdbguard: init.ufdbguard.in ../config.status 396 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 397 398ctags: 399 ctags *.y *.l sg*.c strcmpurlpart.static.c engine.c crypt.c genTable.c genTable3.c printTable.c ufdbpeek.c ufdb*c ufdbHashtable.c http*.c *.h 400 401rwtest.o: rwtest.c 402 gcc -O0 -c rwtest.c 403 404rwtest: rwtest.o 405 $(LINK) $(LINK_DEBUG) rwtest.o -lpthread 406 407ufdbGenTable: genTable.o ufdbglobals.o ufdbbase.o ufdblib.o ufdbdb.o crypt.o 408 $(LINK) $(LINK_DEBUG) genTable.o ufdbglobals.o ufdbbase.o ufdblib.o ufdbdb.o crypt.o -lbz2 -lz $(DPDK_LIBS) $(SOLARIS_LIBS) # $(LIBS) 409 410ufdbGenTable.static: remove.ufdbGenTable genTable.o ufdbglobals.o ufdbbase.o ufdblib.o crypt.o 411 $(LINK) $(LINK_DEBUG) -static-libgcc -static genTable.o ufdbglobals.o ufdbbase.o ufdblib.o crypt.o -lbz2 -lz $(DPDK_LIBS) $(SOLARIS_LIBS) 412 mv ufdbGenTable.static ufdbGenTable 413 414ufdb_analyse_urls.pl: ufdb_analyse_urls.pl.in 415 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 416 417ufdb_analyse_users.pl: ufdb_analyse_users.pl.in 418 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 419 420ufdb_top_urls.pl: ufdb_top_urls.pl.in 421 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 422 423ufdb_top_users.pl: ufdb_top_users.pl.in 424 cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status 425 426genTable.o:: genTable.c strcmpurlpart.static.c ufdbdb.h ufdb.h ufdblib.h # genTable3.c ufdbdb3.h 427# gcc -O0 -g -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 --param=ssp-buffer-size=1 -fstack-protector-all -c -o genTable2.o genTable2.c 428 429genTable3.c: ufdbdb.h ufdbdb3.h 430 touch genTable3.c 431 432ufdbdb.s: ufdbdb.c Makefile sh.h ufdb.h ufdblib.h 433 gcc -g -O3 -march=core2 -mtune=core2 -c ufdbdb.c -S -dA 434 435dd: ufdbGenTable2 436 -rm genTable2.o 437 @echo " run -DD -d domains0.in -u urls0.in" 438 @echo " run -DD -d domains2.in " 439 MALLOC_CHECK_=2 gdb -ix ./.gdbrc ./ufdbGenTable2 440 441ddv: ufdbGenTable2 442 valgrind --verbose --vgdb=yes --db-attach=yes --log-file=vt.log --leak-check=no --tool=memcheck ./ufdbGenTable2 -d domains3.in 2>vt2.log 443 444g2 ufdbGenTable2: genTable2.o ufdbbase.o ufdblib.o ufdbdb.o crypt.o 445 $(LINK) $(LINK_DEBUG) genTable2.o ufdbbase.o ufdblib.o ufdbdb.o crypt.o -lbz2 -lz $(SOLARIS_LIBS) # $(LIBS) 446 447ddt: ufdbGenTable ufdbGenTable2 448 : time ./ufdbGenTable -d /tmp/domains -u /tmp/urls 2>/dev/null 449 time ./ufdbGenTable2 -F 2.1 -p -n -d /tmp/domains -u /tmp/urls 2>/dev/null 450 451remove.ufdbGenTable: 452 -rm -f ufdbGenTable 453 454ufdbAnalyse: ufdbAnalyse.o ufdbglobals.o ufdblib.o ufdbbase.o crypt.o ufdblocks.o 455 $(LINK) $(LINK_DEBUG) ufdbAnalyse.o ufdbglobals.o ufdblib.o ufdbbase.o crypt.o ufdblocks.o -lbz2 -lz -lpthread $(SOLARIS_LIBS) 456 457ufdbPrintTable: printTable.o ufdbglobals.o ufdblib.o ufdbdb.o ufdbbase.o crypt.o 458 $(LINK) $(LINK_DEBUG) printTable.o ufdbglobals.o ufdblib.o ufdbdb.o ufdbbase.o crypt.o -lbz2 -lz # $(LIBS) 459 460ufdbpeek: ufdbpeek.o ufdbchkport.o ufdbHashtable.o httpsQueue.o ufdbglobals.o ufdblib.o ufdbdb.o ufdbbase.o ufdblocks.o ufdbdaemon.o sgLog.o crypt.o grammar.o lex.yy.o engine.o ufdbUserlist.o ufdbIPlist.o ufdbLookup.o sgDiv.o 461 $(LINK) $(LINK_DEBUG) ufdbpeek.o ufdbchkport.o ufdbHashtable.o httpsQueue.o ufdbglobals.o ufdblib.o ufdbdb.o ufdbbase.o ufdblocks.o ufdbdaemon.o sgLog.o crypt.o grammar.o lex.yy.o engine.o ufdbUserlist.o ufdbIPlist.o ufdbLookup.o sgDiv.o \ 462 -L/usr/local/lib $(LIBS) 463 464t7: ufdbhttpd 465 ufdbhttpd -d -p 9999 -I /local/squid/images -l . 466 467t7d: t7k ufdbhttpd 468 echo " run -D -d -p 9999 -I /local/squid/images -l ." 469 gdb ufdbhttpd 470 471t7p: ufdbpeek 472 -valgrind --partial-loads-ok=no --verbose --track-fds=yes --tool=memcheck ./ufdbpeek -d 12.130.81.218 473 # -valgrind --partial-loads-ok=no --verbose --track-fds=yes --tool=memcheck ./ufdbpeek www.lotuslive.com 474 475t7k: 476 -killall ufdbhttpd 477 478t77: 479 wget -q -O - --header='Accept-Language: it' "http://localhost:8081/cgi-bin/URLblocked.cgi?admin=Marcus&mode=transparent&category=adult&clientuser=paulo&url=www.sex.com" 480 @echo 481 wget -q -O - --header='Accept-Language: nl' "http://localhost:8081/cgi-bin/URLblocked.cgi?admin=Marcus Kool&mode=transparent&category=adult&clientuser=jan&clientgroup=allSystems&url=www.sex.com" 482 @echo 483 484t8: ufdbpeek 485 ./ufdbpeek www.ibm.com 486 487t9: ufdbpeek 488 ./ufdbpeek alice.sni.velox.ch 489 ./ufdbpeek bob.sni.velox.ch 490 ./ufdbpeek www.blogger.com 491 ./ufdbpeek forge.ogf.org 492 ./ufdbpeek forge.gridforum.org 493 ./ufdbpeek en.wiki.aktivix.org 494 ./ufdbpeek www.urlfilterdb.com 495 ./ufdbpeek Webmail.Xs4all.nl 496 ./ufdbpeek gna.org 497 ./ufdbpeek www.microsoft.com 498 ./ufdbpeek www.ibm.com 499 ./ufdbpeek www.goedkopen.nl 500 ./ufdbpeek powerlink.emc.com 501 ./ufdbpeek mijn.postbank.nl 502 ./ufdbpeek safe2login.com 503 ./ufdbpeek secure.soligor.com 504 ./ufdbpeek www.openca.org 505 ./ufdbpeek www.verisign.com 506 ./ufdbpeek apps.lotuslive.com 507 ./ufdbpeek www.lotuslive.com 508 509 510t: ufdbGenTable 511 -ufdbGenTable -F 2.1 -DD -k abcdefghijklmnop -t test0t -d domains0.in -u urls0.in 2>domains0.stderr 512 cat domains0.stderr 513 514tcg: ufdbGenTable 515 MALLOC_ARENA_MAX=15 valgrind --tool=callgrind --collect-bus=yes --collect-systime=yes \ 516 --callgrind-out-file=gentable.cg.out \ 517 ./ufdbGenTable2 -n -q -F 2.0 -d domains3.in -u urls3.in 518 callgrind_annotate --tree=both gentable.cg.out *.c > gentable.cg.report 519 520ts: ufdbGenTable 521 -ufdbGenTable -n -s -k abcdefghijklmnop -t test0t -d domains0.in -u urls0.in 2>domains0.stderr 522 cat domains0.stderr 523 524g0: ufdbGenTable 525 -valgrind --partial-loads-ok=no --verbose --track-fds=yes --tool=memcheck ufdbGenTable -n -k abcdefghijklmnop -t test0t -d domains0.in -u urls0.in 2>domains0.stderr 526 cat domains0.stderr 527 528g3: ufdbGenTable 529 -valgrind --partial-loads-ok=no --verbose --track-fds=yes --tool=memcheck \ 530 ./ufdbGenTable -D -Z -S -W -F 3.0 -n -d api/db3/p2p/domains -u api/db3/p2p/urls -t p2p 2>domains0.stderr 531 echo cat domains0.stderr 532 533g: ufdbGenTable 534 @echo "run -d domains0.in" 535 -$(MALLOC_DEBUG) ufdbGenTable 536 cat domains0.stderr 537 538t1: ufdbGenTable 539 -$(MALLOC_DEBUG) ./ufdbGenTable -F 3.0 -n -t t1 -d domains1.in -u urls1.in 2>domains1.stderr 540 cat domains1.stderr 541 542t2: ufdbGenTable domains2.in urls2.in 543 -$(MALLOC_DEBUG) ./ufdbGenTable -F 3.0 -n -t t2 -d domains2.in -u urls2.in 2>domains2.stderr 544 tail -20 domains2.stderr 545 546t3: ufdbGenTable 547 -/usr/bin/time ./ufdbGenTable -F 3.0 -q -n -t t3 -d domains3.in -u urls3.in 2>domains3.stderr 548 : -gprof --brief ./ufdbGenTable > t3.prof 549 tail -20 domains3.stderr 550 551t3b: ufdbGenTable 552 -/usr/bin/time ./ufdbGenTable -F 2.0 -q -n -t t4 -d /tmp/ddd -u /tmp/uuu 2>domains3b.stderr 553 -gprof --brief ./ufdbGenTable > t3b.prof 554 tail -20 domains3b.stderr 555 556t3d: ufdbGenTable 557 echo run -F 2.0 -q -n -t t4 -d /tmp/ddd -u /tmp/uuu 558 -gdb ./ufdbGenTable 559 560optgt: genTable.c 561 rm -f genTable.o 562 CFLAGS="-O3 -minline-all-stringops -I/usr/include" $(MAKE) -e genTable.o 563 $(MAKE) ufdbGenTable.static 564 565 566t3c: ufdbGenTable 567 -time ufdbGenTable -C -n -t t3 -d domains3.in -u urls3.in 2>domains3.stderr 568 tail -20 domains3.stderr 569 570t4: ufdbGenTable 571 -valgrind --verbose --freelist-vol=200000 --leak-resolution=med --partial-loads-ok=no --show-reachable=yes --leak-check=full --track-fds=yes --tool=memcheck ufdbGenTable -n -t vt3 -d domains3.in -u urls3.in 2>domains3.stderr 572 tail -20 domains3.stderr 573 574t5: ufdbGenTable 575 -/usr/bin/time ./ufdbGenTable -F 3.0 -n -t t3 -d domains5.in -u urls5.in 2>domains5.stderr 576 : -gprof --brief ./ufdbGenTable > t5.prof 577 tail -20 domains5.stderr 578 579p: ufdbPrintTable 580 -time ufdbPrintTable domains0.in.ufdb 581 582pd: ufdbPrintTable 583 -ufdbPrintTable -d domains0.in.ufdb 584 585p0: ufdbPrintTable 586 -valgrind --verbose --freelist-vol=200000 --leak-resolution=med --partial-loads-ok=no --show-reachable=yes --leak-check=full --track-fds=yes --tool=memcheck ufdbPrintTable -d /tmp/domains.ufdb 587 588pg: ufdbPrintTable 589 @echo "run domains0.in.ufdb" 590 @echo "run domains2.in.ufdb" 591 @echo "run domains2.in.ufdb.3.0-fewlabels" 592 -$(MALLOC_DEBUG) gdb ./ufdbPrintTable 593 594p1: ufdbPrintTable 595 -$(MALLOC_DEBUG) ./ufdbPrintTable domains1.in.ufdb >print1.out 596 sort print1.out >ttt.p1 597 sort domains1.in urls1.in | uniq | tr '[A-Z]' '[a-z]' > ttt.in1 598 diff -C1 ttt.p1 ttt.in1 599 600p2: ufdbPrintTable 601 -$(MALLOC_DEBUG) time ./ufdbPrintTable domains2.in.ufdb >print2.out 602 sort print2.out >ttt.p2 603 sort domains2.in urls2.in | uniq | tr '[A-Z]' '[a-z]' > ttt.in2 604 diff -C1 ttt.p2 ttt.in2 605 606 607p3: ufdbPrintTable 608 -time ./ufdbPrintTable domains3.in.ufdb >print3.out 609 sort print3.out >ttt.p3 610 sort domains3.in urls3.in | uniq | tr '[A-Z]' '[a-z]' > ttt.in3 611 diff -C1 ttt.p3 ttt.in3 612 613p5: ufdbPrintTable 614 -time ./ufdbPrintTable domains5.in.ufdb >print5.out 615 sort print5.out >ttt.p5 616 sort domains5.in urls5.in | uniq | tr '[A-Z]' '[a-z]' > ttt.in5 617 diff -C1 ttt.p5 ttt.in5 618 619p33: ufdbPrintTable 620 -rm -f gmon.out 621 -time ufdbPrintTable domains3.in.ufdb >print3.out 622 -gprof --brief ./ufdbPrintTable > p33.prof 623 tail -20 print3.out 624 625pa: ufdbPrintTable 626 -time ufdbPrintTable /local/squid/blacklists/adult/domains.ufdb >printa.out 627 tail -20 printa.out 628 629u00: ufdbGuard 630 -ufdbGuard -c ./ufdbGuard.conf < test2.in > u00.out 2>&1 631 632u0: ufdbGuard 633 -echo "http://web64.trial.de 10.1.1.44/- - GET" | ufdbGuard -c /local/squid/etc/ufdbGuard.conf 634 635u1: ufdbGuard 636# -echo "http://www.reallynosex.com 10.1.1.44/- - GET" | ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf 637# -echo "http://www.sexycompany.com 10.1.1.44/- - GET" | ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf 638 -echo "http://snarf.google.nl 10.1.1.44/- - GET" | ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf 639 -echo "http://www.google.nl 10.1.1.44/- - GET" | ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf 640 -echo "http://news.google.nl 10.1.1.44/pc-foo-bar-foor-bar-foor-bar.urlfilterdb.com john.doe GET" | ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf 641 -echo "http://fup.news.google.nl 10.1.1.44/- john.with-a-long-middle-name.doe/oursquiddomain GET" | ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf 642 -echo "http://chat.terra.com.br:3456/blah 10.1.1.44/- - GET" | ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf 643 -echo "http://web64.trial.de 10.1.1.44/- - GET" | ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf 644 645u2: ufdbGuard 646 -rm -f gmon.out 647 -./ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf < test2.in > u2.out 2>&1 648 -grep "time " u2.out 649 -gprof --brief ./ufdbGuard > u2.prof 650 651e1: ufdbGuard 652 -$(MALLOC_DEBUG) ufdbGuard -d -c /local/squid/etc/ufdbGuard.conf < e1.in > e1.out 2>&1 653 -grep "time " e1.out 654 655d2: ufdbGuard 656 @echo "run -d -c /local/squid/etc/ufdbGuard.conf < test2.in" 657 @echo "http://www.google.nl 10.1.1.44/- - GET" 658 -$(MALLOC_DEBUG) gdb ufdbGuard 659 660d3: ufdbGuard 661 -rm -f gmon.out 662 -$(MALLOC_DEBUG) ufdbGuard -d -c /local/squid/etc/ufdbGuardP.conf < test2.in > d3.out 2>&1 663 -gprof --brief ufdbGuard > d3.prof 664 -grep "time " d3.out 665 666d4: ufdbGuard 667 -rm -f gmon.out 668 -ufdbGuard -c /local/squid/etc/ufdbGuard.conf < 100000 > d4.out 2>&1 669 -gprof --brief ufdbGuard > d4.prof 670 -grep "time " d4.out 671 672v00: ufdbGuard 673 -valgrind --verbose --leak-check=full --show-reachable=yes --tool=memcheck ufdbGuard -c /local/squid/etc/ufdbGuardV.conf < test2.in > v00.out 2>&1 674 675# --leak-check=full 676v1: ufdbGuard 677 -valgrind --verbose --tool=memcheck ufdbGuard -d -c /local/squid/etc/ufdbGuardV.conf < test2.in > v1.out 2>&1 678 # -valgrind --verbose --tool=memcheck ufdbGuard -d -c sampleufdbGuard.conf < test2.in > v1.out 2>&1 679 -grep "time " v1.out 680 681v2: ufdbGenTable 682 -valgrind --verbose --track-fds=yes --tool=memcheck ufdbGenTable -t t1 -d domains1.in 2>v2.stderr 683 684v3: ufdbGuard 685 - ./ufdbGuard -d -c sampleufdbGuard.conf < test3.in > v3.out 2>&1 686 687perftest: 688 - ./ufdbGuard -c squidGuard.conf < 100000 > 100000.out 2>&1 689 -grep -e "ufdbGuard ready" -e "ufdbGuard stopped" -e " processed .* requests" ufdbGuard.log | tail -n 3 690 691 692 693v3v: ufdbGuard 694 -valgrind --verbose --tool=memcheck --leak-check=full --show-reachable=yes ufdbGuard -d -c sampleufdbGuard.conf < test3v.in > v3v.out 2>&1 695 696v4: ufdbGuard 697 -ufdbGuard -d -c /local/squid/etc/ufdbGuardP.conf < test3.in > v4.out 2>&1 698 699DD=/local/squid/blacklists 700gt: ufdbGenTable 701 for class in always_allow always_deny \ 702 ads adult adult0 audio-video chat dating drugs entertain exceptions finance forum \ 703 gambling games illegal jobs mobile-phone news private proxies \ 704 shops sports travel violence warez webmail ; \ 705 do \ 706 if [ $(DD)/$$class/domains.ufdb -ot $(DD)/$$class/domains -o \ 707 $(DD)/$$class/domains.ufdb -ot $(DD)/$$class/urls ] ; then \ 708 echo $$class ... ; \ 709 ufdbGenTable -n -t $$class -d $(DD)/$$class/domains -u $(DD)/$$class/urls ; \ 710 fi ; \ 711 done 712 713 714ccversion: 715 $(CC) --version 716 717g2953: 718 $(MAKE) clean 719 CC=/usr/local/gcc/2.95.3/bin/gcc $(MAKE) -e $(MAKEFLAGS) ccversion all ufdbPrintTable 720 721g344: 722 $(MAKE) clean 723 CC=/usr/local/gcc/3.4.4/bin/gcc $(MAKE) -e $(MAKEFLAGS) ccversion all ufdbPrintTable 724 725g401: 726 $(MAKE) clean 727 CC=/usr/local/gcc/4.0.1/bin/gcc $(MAKE) -e $(MAKEFLAGS) ccversion all ufdbPrintTable 728 729g411: 730 $(MAKE) clean 731 CC=/usr/local/gcc/4.1.1/bin/gcc $(MAKE) -e $(MAKEFLAGS) ccversion all ufdbPrintTable 732 733qinst: 734 /etc/init.d/squid stop 735 /etc/init.d/ufdb stop 736 $(MAKE) install 737 /etc/init.d/ufdb start 738 /etc/init.d/squid start 739 740cppsymbols: 741 $(CC) $(CFLAGS) -dM -E - < /dev/null | \ 742 sort -k2 743 echo 744 745