Author: gabor
Date: Mon Jul 19 20:19:14 2010
New Revision: 210254
URL: http://svn.freebsd.org/changeset/base/210254

Log:
  - Add a periodic script, which can be used to find installed ports' files with
    mismatched checksum
  
  PR:           conf/124641
  Submitted by: Alex Kozlov <s...@rm-rf.kiev.ua>
  Approved by:  delphij (mentor)

Added:
  head/etc/periodic/security/460.chkportsum   (contents, props changed)
Modified:
  head/etc/defaults/periodic.conf
  head/etc/periodic/security/Makefile

Modified: head/etc/defaults/periodic.conf
==============================================================================
--- head/etc/defaults/periodic.conf     Mon Jul 19 19:54:37 2010        
(r210253)
+++ head/etc/defaults/periodic.conf     Mon Jul 19 20:19:14 2010        
(r210254)
@@ -171,6 +171,9 @@ daily_status_security_passwdless_enable=
 # 410.logincheck
 daily_status_security_logincheck_enable="YES"
 
+# 460.chkportsum
+daily_status_security_chkportsum_enable="NO"   # Check ports w/ wrong checksum
+
 # 500.ipfwdenied
 daily_status_security_ipfwdenied_enable="YES"
 

Added: head/etc/periodic/security/460.chkportsum
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/etc/periodic/security/460.chkportsum   Mon Jul 19 20:19:14 2010        
(r210254)
@@ -0,0 +1,68 @@
+#!/bin/sh -
+#
+# Copyright (c) 2010  The FreeBSD Project
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+
+if [ -r /etc/defaults/periodic.conf ]
+then
+    . /etc/defaults/periodic.conf
+    source_periodic_confs
+fi
+
+. /etc/periodic/security/security.functions
+
+rc=0
+
+echo ""
+echo 'Checking for ports with mismatched checksums:'
+
+case "${daily_status_security_chkportsum_enable}" in
+       [Yy][Ee][Ss])
+       pkg_info -ga 2>/dev/null | \
+       while read one two three; do
+               case ${one} in
+                       Information)
+                       case ${two} in
+                                 for) name=${three%%:} ;;
+                                       *) name='??' ;;
+                       esac
+                       ;;
+                       Mismatched|'') ;;
+                       *)
+                       if [ -n ${name} ]; then
+                               echo ${name}: ${one}
+                       fi
+                       ;;
+               esac
+       done
+       ;;
+       *)
+       rc=0
+       ;;
+esac
+
+exit $rc

Modified: head/etc/periodic/security/Makefile
==============================================================================
--- head/etc/periodic/security/Makefile Mon Jul 19 19:54:37 2010        
(r210253)
+++ head/etc/periodic/security/Makefile Mon Jul 19 20:19:14 2010        
(r210254)
@@ -7,6 +7,7 @@ FILES=  100.chksetuid \
        300.chkuid0 \
        400.passwdless \
        410.logincheck \
+       460.chkportsum \
        700.kernelmsg \
        800.loginfail \
        900.tcpwrap \
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to