From a08f0cfe1019b409ef85d0ce847f4089fb2c4859 Mon Sep 17 00:00:00 2001 From: Tom Eastep Date: Tue, 30 Jan 2018 16:32:39 -0800 Subject: [PATCH] Avoid awkward blank lines Signed-off-by: Tom Eastep --- Shorewall/Perl/Shorewall/Chains.pm | 24 +++++++++---------- Shorewall/Perl/Shorewall/Compiler.pm | 11 ++++----- Shorewall/Perl/Shorewall/Config.pm | 10 ++++++++ Shorewall/Perl/Shorewall/Misc.pm | 2 -- Shorewall/Perl/Shorewall/Providers.pm | 33 ++++++++++++++------------- Shorewall/Perl/Shorewall/Proxyarp.pm | 1 + 6 files changed, 44 insertions(+), 37 deletions(-) diff --git a/Shorewall/Perl/Shorewall/Chains.pm b/Shorewall/Perl/Shorewall/Chains.pm index 52f40a2ce..bcf698962 100644 --- a/Shorewall/Perl/Shorewall/Chains.pm +++ b/Shorewall/Perl/Shorewall/Chains.pm @@ -8509,7 +8509,7 @@ sub save_dynamic_chains() { ); if ( have_capability 'IPTABLES_S' ) { - emit <<"EOF"; + emithd <<"EOF"; if chain_exists 'UPnP -t nat'; then $tool -t nat -S UPnP | tail -n +2 > \${VARDIR}/.UPnP else @@ -8530,6 +8530,7 @@ fi EOF if ( $config{MINIUPNPD} ) { emit << "EOF"; + if chain_exists 'MINIUPNPD-POSTROUTING -t nat'; then $tool -t nat -S MINIUPNPD-POSTROUTING | tail -n +2 > \${VARDIR}/.MINIUPNPD-POSTROUTING else @@ -8538,7 +8539,7 @@ fi EOF } } else { - emit <<"EOF"; + emithd <<"EOF"; if chain_exists 'UPnP -t nat'; then $utility -t nat | grep '^-A UPnP ' > \${VARDIR}/.UPnP else @@ -8558,7 +8559,8 @@ else fi EOF if ( $config{MINIUPNPD} ) { - emit << "EOF"; + emithd << "EOF"; + if chain_exists 'MINIUPNPD-POSTROUTING -t nat'; then $utility -t nat | grep '^-A MINIUPNPD-POSTROUTING' > \${VARDIR}/.MINIUPNPD-POSTROUTING else @@ -8572,7 +8574,7 @@ EOF emit ( 'else' ); push_indent; -emit <<"EOF"; +emithd <<"EOF"; rm -f \${VARDIR}/.UPnP rm -f \${VARDIR}/.forwardUPnP EOF @@ -8609,7 +8611,7 @@ sub ensure_ipsets( @ ) { pop_indent; - emit( qq( fi\n) ); + emit( q( fi) ); } @@ -8785,7 +8787,6 @@ sub create_load_ipsets() { ' $IPSET flush $set' , ' $IPSET destroy $set' , " done" , - '', ); } else { # @@ -8797,7 +8798,7 @@ sub create_load_ipsets() { ' fi' ); }; - emit( '}' ); + emit( "}\n" ); } # # Now generate load_ipsets() @@ -8866,20 +8867,17 @@ sub create_load_ipsets() { ensure_ipsets( @ipsets ); emit( 'elif [ "$COMMAND" = refresh ]; then' ); ################### Refresh Command ################### - emit ( '' ); ensure_ipsets( @ipsets ); - emit ( '' ); }; - emit ( 'fi' , - '' ); + emit ( 'fi' ); } else { emit 'true'; } pop_indent; - emit '}'; + emit "}\n"; } # @@ -9052,7 +9050,7 @@ sub create_netfilter_load( $ ) { "cat \${VARDIR}/.${utility}-input | \$command # Use this nonsensical form to appease SELinux", 'if [ $? != 0 ]; then', qq( fatal_error "iptables-restore Failed. Input is in \${VARDIR}/.${utility}-input"), - "fi\n" + 'fi' ); pop_indent; diff --git a/Shorewall/Perl/Shorewall/Compiler.pm b/Shorewall/Perl/Shorewall/Compiler.pm index 903d26386..25b15229d 100644 --- a/Shorewall/Perl/Shorewall/Compiler.pm +++ b/Shorewall/Perl/Shorewall/Compiler.pm @@ -103,7 +103,7 @@ sub generate_script_1( $ ) { copy2( $lib, $debug ) if -f $lib; - emit <<'EOF'; + emithd<<'EOF'; ################################################################################ # Functions to execute the various user exits (extension scripts) ################################################################################ @@ -125,7 +125,7 @@ EOF emit '}'; } - emit <<'EOF'; + emithd <<'EOF'; ################################################################################ # End user exit functions ################################################################################ @@ -270,12 +270,11 @@ sub generate_script_2() { ); emit( 'chain_exists DOCKER-INGRESS && g_dockeringress=Yes' ); emit( 'chain_exists DOCKER-ISOLATION && g_dockernetwork=Yes' ); - emit( '' ); } pop_indent; - emit "\n}\n"; # End of initialize() + emit "}\n"; # End of initialize() emit( '' , '#' , @@ -525,7 +524,7 @@ sub generate_script_3($) { my $config_dir = $globals{CONFIGDIR}; - emit<<"EOF"; + emithd <<"EOF"; set_state Started $config_dir run_restored_exit elif [ \$COMMAND = refresh ]; then @@ -572,7 +571,7 @@ EOF ' run_started_exit', "fi\n" ); - emit<<'EOF'; + emithd<<'EOF'; date > ${VARDIR}/restarted case $COMMAND in diff --git a/Shorewall/Perl/Shorewall/Config.pm b/Shorewall/Perl/Shorewall/Config.pm index 99be1ba34..7cddb2141 100644 --- a/Shorewall/Perl/Shorewall/Config.pm +++ b/Shorewall/Perl/Shorewall/Config.pm @@ -189,6 +189,7 @@ our %EXPORT_TAGS = ( internal => [ qw( create_temp_script in_hex8 in_hexp emit + emithd emitstd emit_unindented save_progress_message @@ -1710,6 +1711,15 @@ sub emit { } } +# +# Used to emit a 'here documents' string without introducing an unwanted blank line at the end +# +sub emithd( $ ) { + my ( $line ) = @_; #make writable + chomp $line; + emit $line; +} + # # Version of emit() that writes to standard out unconditionally # diff --git a/Shorewall/Perl/Shorewall/Misc.pm b/Shorewall/Perl/Shorewall/Misc.pm index 25fe3fd09..b94c35a0f 100644 --- a/Shorewall/Perl/Shorewall/Misc.pm +++ b/Shorewall/Perl/Shorewall/Misc.pm @@ -2646,7 +2646,6 @@ EOF rm -f ${VARDIR}/proxyarp fi - EOF } else { emit <<'EOF'; @@ -2660,7 +2659,6 @@ EOF rm -f ${VARDIR}/proxyndp fi - EOF } diff --git a/Shorewall/Perl/Shorewall/Providers.pm b/Shorewall/Perl/Shorewall/Providers.pm index a4ae0f6ee..630992103 100644 --- a/Shorewall/Perl/Shorewall/Providers.pm +++ b/Shorewall/Perl/Shorewall/Providers.pm @@ -876,7 +876,7 @@ sub add_a_provider( $$ ) { } emit( "run_ip route replace default via $gateway src $address dev $physical ${mtu}table $id $realm" ); - emit( qq( echo "\$IP route del default via $gateway src $address dev $physical ${mtu}table $id $realm > /dev/null 2>&1" >> \${VARDIR}/undo_${table}_routing) ); + emit( qq(echo "\$IP route del default via $gateway src $address dev $physical ${mtu}table $id $realm > /dev/null 2>&1" >> \${VARDIR}/undo_${table}_routing) ); } if ( ! $noautosrc ) { @@ -885,7 +885,8 @@ sub add_a_provider( $$ ) { emit( "run_ip rule add from $address pref 20000 table $id" , "echo \"\$IP -$family rule del from $address pref 20000> /dev/null 2>&1\" >> \${VARDIR}/undo_${table}_routing" ); } else { - emit ( "find_interface_addresses $physical | while read address; do", + emit ( '', + "find_interface_addresses $physical | while read address; do", " qt \$IP -$family rule del from \$address", " run_ip rule add from \$address pref 20000 table $id", " echo \"\$IP -$family rule del from \$address pref 20000 > /dev/null 2>&1\" >> \${VARDIR}/undo_${table}_routing", @@ -1250,7 +1251,7 @@ CEOF 'if [ $COMMAND = disable ]; then', " do_persistent_${what}_${table}", "else", - " echo 1 > \${VARDIR}/${physical}_disabled\n", + " echo 1 > \${VARDIR}/${physical}_disabled", "fi\n", ); } @@ -1593,7 +1594,8 @@ sub finish_providers() { } if ( $config{USE_DEFAULT_RT} ) { - emit ( " while qt \$IP -$family route del default table $main; do", + emit ( '', + " while qt \$IP -$family route del default table $main; do", ' true', ' done', '' @@ -1739,7 +1741,7 @@ sub process_providers( $ ) { add_a_provider( $providers{$_}, $tcdevices ) for @providers; - emit << 'EOF';; + emithd << 'EOF';; # # Enable an optional provider @@ -1785,12 +1787,11 @@ EOF pop_indent; pop_indent; - emit << 'EOF';; + emithd << 'EOF';; *) startup_error "$g_interface is not an optional provider or interface" ;; esac - } # @@ -1894,20 +1895,19 @@ sub setup_providers() { start_providers; - setup_null_routing if $config{NULL_ROUTE_RFC1918}; + setup_null_routing, emit '' if $config{NULL_ROUTE_RFC1918}; - emit ''; - - emit "start_$providers{$_}->{what}_$_" for @providers; - - emit ''; + if ( @providers ) { + emit "start_$providers{$_}->{what}_$_" for @providers; + emit ''; + } finish_providers; emit "\nrun_ip route flush cache"; pop_indent; - emit "fi\n"; + emit 'fi'; setup_route_marking if @routemarked_interfaces || @load_interfaces; } else { @@ -1918,9 +1918,10 @@ sub setup_providers() { if ( $pseudoproviders ) { emit ''; emit "start_$providers{$_}->{what}_$_" for @providers; + emit ''; } - emit "\nundo_routing"; + emit "undo_routing"; emit "restore_default_route $config{USE_DEFAULT_RT}"; my $standard_routes = @{$providers{main}{routes}} || @{$providers{default}{routes}}; @@ -1945,7 +1946,7 @@ sub setup_providers() { pop_indent; - emit "fi\n"; + emit 'fi'; } } diff --git a/Shorewall/Perl/Shorewall/Proxyarp.pm b/Shorewall/Perl/Shorewall/Proxyarp.pm index fe6add514..1ed42f6a0 100644 --- a/Shorewall/Perl/Shorewall/Proxyarp.pm +++ b/Shorewall/Perl/Shorewall/Proxyarp.pm @@ -96,6 +96,7 @@ sub setup_one_proxy_arp( $$$$$$$ ) { } emit ( "run_ip neigh add proxy $address nud permanent dev $extphy" , + '' , qq(progress_message " Host $address connected to $interface added to $proto on $extphy"\n) ); push @proxyarp, "$address $interface $external $haveroute";