]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - lfs/guardian
suricata: Change midstream policy to "pass-flow"
[people/pmueller/ipfire-2.x.git] / lfs / guardian
index a91fbd9ab0a35dc029808c5b3a697f207dc0c785..6eaa50aaceba46db1f8a5d507c147e4897ee3cd2 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2022  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
 
 include Config
 
-VER        = ipfire
+SUMMARY    = A perl written Intrusion Prevention System
+
+VER        = 2.0.2
 
 THISAPP    = guardian-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
+
 PROG       = guardian
-PAK_VER    = 9
+PAK_VER    = 27
+
+DEPS       = perl-inotify2 perl-Net-IP
 
-DEPS       = ""
+SERVICES   = guardian
 
 ###############################################################################
 # Top-level Rules
 ###############################################################################
 
-objects =
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = eeb37f7ce81102ff75ee6b41c39e18ffb1b7dc72c7355c50afc6c0ef4f62acc3b7b342aea09ebcc262fbc3e9af32f123cbadb7a7266d897683ca4ef1b4304868
 
 install : $(TARGET)
 
-check : 
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
 
-download :
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
 
-md5 : 
+b2 : $(subst %,%_BLAKE2,$(objects))
 
-dist: 
+dist:
        @$(PAK)
 
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+       @$(B2SUM)
+
 ###############################################################################
 # Installation Details
 ###############################################################################
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       -mkdir -p /var/ipfire/guardian /var/log/guardian
-       touch /var/log/guardian/guardian.log
-       touch /var/ipfire/guardian/guardian.ignore
-       install -v -m 644 $(DIR_SRC)/config/guardian/guardian.conf /var/ipfire/guardian/
-       install -v -m 755 $(DIR_SRC)/config/guardian/guardian.pl /usr/local/bin/
-       install -v -m 755 $(DIR_SRC)/config/guardian/guardian_block.sh /usr/local/bin/
-       install -v -m 755 $(DIR_SRC)/config/guardian/guardian_unblock.sh /usr/local/bin/
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axvf $(DIR_DL)/$(DL_FILE)
+
+       # Add upstream patches.
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/guardian-2.0.2-http-parser.patch
+
+       # Adjust path for firewall binaries.
+       cd $(DIR_APP) && sed -i "s|/usr/sbin/|/sbin/|g" modules/IPtables.pm
+
+       cd $(DIR_APP) && make
+       cd $(DIR_APP) && make install
+
+       # Create config directory and create files.
+       -mkdir -pv /var/ipfire/guardian
        chown nobody.nobody /var/ipfire/guardian
-       chown nobody.nobody /var/ipfire/guardian/{guardian.conf,guardian.ignore}
+
+       # Create directory and file for logging.
+       -mkdir -pv /var/log/guardian
+       touch /var/log/guardian/guardian.log
+
+       #install initscripts
+       $(call INSTALL_INITSCRIPTS,$(SERVICES))
+
+       # Create symlinks for runlevel interaction.
+       ln -svf /etc/rc.d/init.d/guardian /etc/rc.d/rc3.d/S45guardian
+       ln -svf /etc/rc.d/init.d/guardian /etc/rc.d/rc0.d/K76guardian
+       ln -svf /etc/rc.d/init.d/guardian /etc/rc.d/rc6.d/K76guardian
+
+       # Install include file for backup.
+       install -v -m 644 $(DIR_SRC)/config/backup/includes/guardian \
+               /var/ipfire/backup/addons/includes/guardian
+
+       # Logrotate.
+       -mkdir -pv /etc/logrotate.d
+       install -v -m 644 $(DIR_SRC)/config/guardian/guardian.logrotate \
+               /etc/logrotate.d/guardian
+
+       # Install addon-specific language-files.
+       install -v -m 004 $(DIR_SRC)/config/guardian/guardian.*.pl \
+               /var/ipfire/addon-lang/
+
+       @rm -rf $(DIR_APP)
        @$(POSTBUILD)