Forum: CFEngine Help
Subject: Re: Odd behaviour of splitstring
Author: neilhwatson
Link to topic: https://cfengine.com/forum/read.php?3,25023,25025#msg-25025
Back to splitstring. It seems that duplicate lines are skipped suggesting
there is some associative array being used in the source code.
-> Edited file /tmp/ipnow
R: raw: # Generated by iptables-save v1.4.8 on Fri Feb 24 17:32:10 2012
*raw
:PREROUTING ACCEPT [377:34237]
:OUTPUT ACCEPT [159:45044]
COMMIT
# Completed on Fri Feb 24 17:32:10 2012
# Generated by iptables-save v1.4.8 on Fri Feb 24 17:32:10 2012
*nat
neil
:PREROUTING ACCEPT [14:982]
:POSTROUTING ACCEPT [15:1058]
:OUTPUT ACCEPT [1:76]
neil
:br0_masq - [0:0]
-A POSTROUTING -o br0 -j br0_masq
-A br0_masq -s 192.168.122.0/24 -j SNAT --to-source 46.21.99.2
COMMIT
R: EOF1
R: lines: # Generated by iptables-save v1.4.8 on Fri Feb 24 17:32:10 2012
R: lines: *raw
R: lines: :PREROUTING ACCEPT [377:34237]
R: lines: :OUTPUT ACCEPT [159:45044]
R: lines: COMMIT
R: lines: # Completed on Fri Feb 24 17:32:10 2012
R: lines: *nat
R: lines: neil
R: lines: :PREROUTING ACCEPT [14:982]
R: lines: :POSTROUTING ACCEPT [15:1058]
R: lines: :OUTPUT ACCEPT [1:76]
R: lines: :br0_masq - [0:0]
R: lines: -A POSTROUTING -o br0 -j br0_masq
R: lines: -A br0_masq -s 192.168.122.0/24 -j SNAT --to-source 46.21.99.2
R: EOF2
R: rules: *raw
R: rules: :PREROUTING ACCEPT [377:34237]
R: rules: :OUTPUT ACCEPT [159:45044]
R: rules: COMMIT
R: rules: *nat
R: rules: neil
R: rules: :PREROUTING ACCEPT [14:982]
R: rules: :POSTROUTING ACCEPT [15:1058]
R: rules: :OUTPUT ACCEPT [1:76]
R: rules: :br0_masq - [0:0]
R: rules: -A POSTROUTING -o br0 -j br0_masq
R: rules: -A br0_masq -s 192.168.122.0/24 -j SNAT --to-source 46.21.99.2
R: EOF3
See how the duplicate lines in raw, neil and COMMIT, are lost lines and rules.
bundle agent iptables_save{
vars:
"raw" string => execresult( "/bin/cat /root/inputs/now",
"noshell");
"lines" slist => splitstring( "${raw}", "\n", "100000");
"rules" slist => grep( ".*?[^#]*", "lines" );
reports:
cfengine::
"raw: ${raw}";
" EOF1";
"lines: ${lines}";
" EOF2";
"rules: ${rules}";
" EOF3";
}
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine