From c730b321eb0d21167dd0948b994f8e1025095385 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Tue, 27 Sep 2016 09:25:24 +0200 Subject: [PATCH] make: whitespace sweep target and execution --- Makefile | 5 + Mk/plugins.mk | 10 + Scripts/cleanfile | 185 ++++++++++++++++++ Scripts/version.sh | 38 ++++ .../OPNsense/HelloWorld/helloworld.conf | 2 - .../FtpProxy/Api/SettingsController.php | 24 +-- .../OPNsense/FtpProxy/ItemController.php | 2 +- .../OPNsense/FtpProxy/forms/dialogEdit.xml | 2 +- .../app/models/OPNsense/FtpProxy/ACL/ACL.xml | 2 +- .../app/models/OPNsense/FtpProxy/FtpProxy.xml | 2 +- .../models/OPNsense/FtpProxy/Menu/Menu.xml | 2 +- .../scripts/OPNsense/FtpProxy/FtpProxy.sh | 14 +- .../templates/OPNsense/FtpProxy/+MANIFEST | 2 +- .../templates/OPNsense/HAProxy/haproxy.conf | 1 - 14 files changed, 263 insertions(+), 28 deletions(-) create mode 100755 Scripts/cleanfile create mode 100755 Scripts/version.sh diff --git a/Makefile b/Makefile index 81833235d..38bcce303 100644 --- a/Makefile +++ b/Makefile @@ -25,3 +25,8 @@ lint: .for PLUGIN_DIR in ${PLUGIN_DIRS} ${MAKE} -C ${PLUGIN_DIR} lint .endfor + +sweep: +.for PLUGIN_DIR in ${PLUGIN_DIRS} + ${MAKE} -C ${PLUGIN_DIR} sweep +.endfor diff --git a/Mk/plugins.mk b/Mk/plugins.mk index 76b64ea4a..a11dbcbe8 100644 --- a/Mk/plugins.mk +++ b/Mk/plugins.mk @@ -193,5 +193,15 @@ lint: check ! -name "*.tgz" ! -name "*.xml.dist" \ -type f -print0 | xargs -0 -n1 php -l +sweep: check + find ${.CURDIR}/src -type f -name "*.map" -print0 | \ + xargs -0 -n1 rm + if grep -nr sourceMappingURL= ${.CURDIR}/src; then \ + echo "Mentions of sourceMappingURL must be removed"; \ + exit 1; \ + fi + find ${.CURDIR}/src ! -name "*.min.*" ! -name "*.svg" \ + ! -name "*.ser" -type f -print0 | \ + xargs -0 -n1 ${.CURDIR}/../../Scripts/cleanfile .PHONY: check diff --git a/Scripts/cleanfile b/Scripts/cleanfile new file mode 100755 index 000000000..9274bb69d --- /dev/null +++ b/Scripts/cleanfile @@ -0,0 +1,185 @@ +#!/usr/bin/env perl +# +# Clean a text file -- or directory of text files -- of stealth whitespace. +# WARNING: this can be a highly destructive operation. Use with caution. +# + +use bytes; +use File::Basename; + +# Default options +$max_width = 119; + +# Clean up space-tab sequences, either by removing spaces or +# replacing them with tabs. +sub clean_space_tabs($) +{ + no bytes; # Tab alignment depends on characters + + my($li) = @_; + my($lo) = ''; + my $pos = 0; + my $nsp = 0; + my($i, $c); + + for ($i = 0; $i < length($li); $i++) { + $c = substr($li, $i, 1); + if ($c eq "\t") { + my $npos = ($pos+$nsp+8) & ~7; + my $ntab = ($npos >> 3) - ($pos >> 3); + $lo .= "\t" x $ntab; + $pos = $npos; + $nsp = 0; + } elsif ($c eq "\n" || $c eq "\r") { + $lo .= " " x $nsp; + $pos += $nsp; + $nsp = 0; + $lo .= $c; + $pos = 0; + } elsif ($c eq " ") { + $nsp++; + } else { + $lo .= " " x $nsp; + $pos += $nsp; + $nsp = 0; + $lo .= $c; + $pos++; + } + } + $lo .= " " x $nsp; + return $lo; +} + +# Compute the visual width of a string +sub strwidth($) { + no bytes; # Tab alignment depends on characters + + my($li) = @_; + my($c, $i); + my $pos = 0; + my $mlen = 0; + + for ($i = 0; $i < length($li); $i++) { + $c = substr($li,$i,1); + if ($c eq "\t") { + $pos = ($pos+8) & ~7; + } elsif ($c eq "\n") { + $mlen = $pos if ($pos > $mlen); + $pos = 0; + } else { + $pos++; + } + } + + $mlen = $pos if ($pos > $mlen); + return $mlen; +} + +$name = basename($0); + +@files = (); + +while (defined($a = shift(@ARGV))) { + if ($a =~ /^-/) { + if ($a eq '-width' || $a eq '-w') { + $max_width = shift(@ARGV)+0; + } else { + print STDERR "Usage: $name [-width #] files...\n"; + exit 1; + } + } else { + push(@files, $a); + } +} + +foreach $f ( @files ) { + print STDERR "$name: $f\n"; + + if (! -f $f) { + print STDERR "$f: not a file\n"; + next; + } + + if (!open(FILE, '+<', $f)) { + print STDERR "$name: Cannot open file: $f: $!\n"; + next; + } + + binmode FILE; + + # First, verify that it is not a binary file; consider any file + # with a zero byte to be a binary file. Is there any better, or + # additional, heuristic that should be applied? + $is_binary = 0; + + while (read(FILE, $data, 65536) > 0) { + if ($data =~ /\0/) { + $is_binary = 1; + last; + } + } + + if ($is_binary) { + print STDERR "$name: $f: binary file\n"; + next; + } + + seek(FILE, 0, 0); + + $in_bytes = 0; + $out_bytes = 0; + $blank_bytes = 0; + + @blanks = (); + @lines = (); + $last = "\n"; + $lineno = 0; + + while ( defined($line = ) ) { + $lineno++; + $in_bytes += length($line); + $line =~ s/[ \t\r]*$//; # Remove trailing spaces + $line = clean_space_tabs($line); + $last = $line; + + if ( $line eq "\n" ) { + push(@blanks, $line); + $blank_bytes += length($line); + } else { + push(@lines, @blanks); + $out_bytes += $blank_bytes; + push(@lines, $line); + $out_bytes += length($line); + @blanks = (); + $blank_bytes = 0; + } + + $l_width = strwidth($line); + if ($max_width && $l_width > $max_width) { + print STDERR + "$f:$lineno: line exceeds $max_width characters ($l_width)\n"; + } + } + + if ( chop($last) ne "\n" ) { + # fix missing newline at EOF + push(@lines, "\n"); + # increment input bytes to signal character append + $in_bytes += 1; + } + + # Any blanks at the end of the file are discarded + + if ($in_bytes != $out_bytes) { + # Only write to the file if changed + seek(FILE, 0, 0); + print FILE @lines; + + if ( !defined($where = tell(FILE)) || + !truncate(FILE, $where) ) { + die "$name: Failed to truncate modified file: $f: $!\n"; + } + } + + close(FILE); +} diff --git a/Scripts/version.sh b/Scripts/version.sh new file mode 100755 index 000000000..156b93d26 --- /dev/null +++ b/Scripts/version.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +# Copyright (c) 2015 Franco Fichtner +# +# 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. + +set -e + +VERSION=$(git describe --abbrev=0 --always) +REVISION=$(git rev-list ${VERSION}.. --count) +COMMENT=$(git rev-list HEAD --max-count=1 | cut -c1-9) +if [ "${REVISION}" != "0" ]; then + # must construct full version string manually + VERSION=${VERSION}_${REVISION} +fi + +echo ${VERSION}-${COMMENT} diff --git a/devel/helloworld/src/opnsense/service/templates/OPNsense/HelloWorld/helloworld.conf b/devel/helloworld/src/opnsense/service/templates/OPNsense/HelloWorld/helloworld.conf index 0b22eba6d..e24d4ef3c 100644 --- a/devel/helloworld/src/opnsense/service/templates/OPNsense/HelloWorld/helloworld.conf +++ b/devel/helloworld/src/opnsense/service/templates/OPNsense/HelloWorld/helloworld.conf @@ -5,5 +5,3 @@ FromEmail={{ OPNsense.helloworld.general.FromEmail|default("") }} ToEmail={{ OPNsense.helloworld.general.ToEmail|default("") }} Subject={{ OPNsense.helloworld.general.Description|default("") }} {% endif %} - - diff --git a/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/Api/SettingsController.php b/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/Api/SettingsController.php index 2b62068a8..fdd14e0b7 100644 --- a/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/Api/SettingsController.php +++ b/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/Api/SettingsController.php @@ -83,7 +83,7 @@ class SettingsController extends ApiControllerBase $OldFlags = $mdlFtpProxy->configToFlags($node); $result = array("result" => "failed", "validations" => array()); $proxyInfo = $this->request->getPost("ftpproxy"); - + $node->setNodes($proxyInfo); $valMsgs = $mdlFtpProxy->performValidation(); foreach ($valMsgs as $field => $msg) { @@ -94,11 +94,11 @@ class SettingsController extends ApiControllerBase if (count($result['validations']) == 0) { // check for duplicates foreach ($CurrentProxies['ftpproxies']['ftpproxy'] as $CurrentUUID => &$CurrentProxy) { - if ($node->listenaddress->__toString() == $CurrentProxy['listenaddress'] && + if ($node->listenaddress->__toString() == $CurrentProxy['listenaddress'] && $node->listenport->__toString() == $CurrentProxy['listenport'] && $uuid != $CurrentUUID) { return array( - "result" => "failed", + "result" => "failed", "validations" => array( "ftpproxy.listenaddress" => "Listen address in combination with Listen port already exists.", "ftpproxy.listenport" => "Listen port in combination with Listen address already exists." @@ -111,7 +111,7 @@ class SettingsController extends ApiControllerBase // save config if validated correctly $mdlFtpProxy->serializeToConfig(); Config::getInstance()->save(); - + $backend = new Backend(); // apply new settings to the ftp-proxy process // stop ftp-proxy with old flags @@ -148,17 +148,17 @@ class SettingsController extends ApiControllerBase $CurrentProxies = $mdlFtpProxy->getNodes(); $node = $mdlFtpProxy->ftpproxies->ftpproxy->Add(); $node->setNodes($this->request->getPost("ftpproxy")); - + $valMsgs = $mdlFtpProxy->performValidation(); foreach ($valMsgs as $field => $msg) { $fieldnm = str_replace($node->__reference, "ftpproxy", $msg->getField()); $result["validations"][$fieldnm] = $msg->getMessage(); } - + if (count($result['validations']) == 0) { foreach ($CurrentProxies['ftpproxies']['ftpproxy'] as &$CurrentProxy) { - if ($node->listenaddress->__toString() == $CurrentProxy['listenaddress'] + if ($node->listenaddress->__toString() == $CurrentProxy['listenaddress'] && $node->listenport->__toString() == $CurrentProxy['listenport']) { return array( "result" => "failed", @@ -166,7 +166,7 @@ class SettingsController extends ApiControllerBase "ftpproxy.listenaddress" => "Listen address in combination with Listen port already exists.", "ftpproxy.listenport" => "Listen port in combination with Listen address already exists." ) - ); + ); } } // retrieve ftp-proxy flags and set defaults @@ -247,7 +247,7 @@ class SettingsController extends ApiControllerBase $node->enabled = "1"; $response = $backend->configdpRun('ftpproxy start ', array($mdlFtpProxy->configToFlags($node))); } - + // if item has toggled, serialize to config and save $mdlFtpProxy->serializeToConfig(); Config::getInstance()->save(); @@ -281,14 +281,14 @@ class SettingsController extends ApiControllerBase "description" ); $mdlFtpProxy = new FtpProxy(); - + $grid = new UIModelGrid($mdlFtpProxy->ftpproxies->ftpproxy); $response = $grid->fetchBindRequest( $this->request, $fields, "listenport" ); - + $backend = new Backend(); foreach($response['rows'] as &$row) { $node = $mdlFtpProxy->getNodeByReference('ftpproxies.ftpproxy.' . $row['uuid']); @@ -299,7 +299,7 @@ class SettingsController extends ApiControllerBase } $row['status'] = 2; } - + return $response; } } diff --git a/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/ItemController.php b/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/ItemController.php index 66ad6ef6c..679fc52da 100644 --- a/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/ItemController.php +++ b/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/ItemController.php @@ -36,5 +36,5 @@ namespace OPNsense\FtpProxy; */ class ItemController extends \OPNsense\Base\IndexController { - + } diff --git a/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/forms/dialogEdit.xml b/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/forms/dialogEdit.xml index 55113d9b5..b58b2d9d0 100644 --- a/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/forms/dialogEdit.xml +++ b/net/ftp-proxy/src/opnsense/mvc/app/controllers/OPNsense/FtpProxy/forms/dialogEdit.xml @@ -71,4 +71,4 @@ text - \ No newline at end of file + diff --git a/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/ACL/ACL.xml b/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/ACL/ACL.xml index b64e803dc..e2c790551 100644 --- a/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/ACL/ACL.xml +++ b/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/ACL/ACL.xml @@ -7,4 +7,4 @@ api/ftpproxy/* - \ No newline at end of file + diff --git a/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/FtpProxy.xml b/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/FtpProxy.xml index 9f454586a..984e61bb2 100644 --- a/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/FtpProxy.xml +++ b/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/FtpProxy.xml @@ -75,4 +75,4 @@ - \ No newline at end of file + diff --git a/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/Menu/Menu.xml b/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/Menu/Menu.xml index 52c724a35..9ae1d002a 100644 --- a/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/Menu/Menu.xml +++ b/net/ftp-proxy/src/opnsense/mvc/app/models/OPNsense/FtpProxy/Menu/Menu.xml @@ -2,4 +2,4 @@ - \ No newline at end of file + diff --git a/net/ftp-proxy/src/opnsense/scripts/OPNsense/FtpProxy/FtpProxy.sh b/net/ftp-proxy/src/opnsense/scripts/OPNsense/FtpProxy/FtpProxy.sh index 79cf4983b..0cc261cde 100644 --- a/net/ftp-proxy/src/opnsense/scripts/OPNsense/FtpProxy/FtpProxy.sh +++ b/net/ftp-proxy/src/opnsense/scripts/OPNsense/FtpProxy/FtpProxy.sh @@ -1,19 +1,19 @@ #!/bin/sh # # Copyright (C) 2016 EURO-LOG AG -# +# # 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 ``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 @@ -58,14 +58,14 @@ done if [ "X$LISTENADDRESS" == "X" -o "X$LISTENPORT" == "X" ]; then ( >&2 echo "Either listenaddress or listenport not given. Check -b and -p flags." ) exit 999 -fi +fi ftpproxy_start () { ftpproxy_status if [ $? -gt 0 ]; then # already running return 0 fi - + /usr/sbin/ftp-proxy $FLAGS return $? } diff --git a/net/ftp-proxy/src/opnsense/service/templates/OPNsense/FtpProxy/+MANIFEST b/net/ftp-proxy/src/opnsense/service/templates/OPNsense/FtpProxy/+MANIFEST index ff299d539..8673b8819 100644 --- a/net/ftp-proxy/src/opnsense/service/templates/OPNsense/FtpProxy/+MANIFEST +++ b/net/ftp-proxy/src/opnsense/service/templates/OPNsense/FtpProxy/+MANIFEST @@ -3,4 +3,4 @@ version: 0.1 origin: opnsense/ftpproxy comment: ftp-proxy configuration desc: configuration templates for ftp-proxy -prefix: / \ No newline at end of file +prefix: / diff --git a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf index 53559cab0..f22de296f 100644 --- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf +++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf @@ -890,4 +890,3 @@ listen remote_statistics {% else %} # statistics are DISABLED {% endif %} -