From ba3d16c5e3361c73c2ac369e8e0fc98c27a5e3bf Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Sat, 12 Dec 2015 11:19:14 -0800 Subject: [PATCH] [test suite] complete cycle test from %include derived access stanza --- Makefile.am | 3 ++- test/conf/include_def_hmac_access.conf | 13 ++++++++++ test/test-fwknop.pl | 1 + test/tests/basic_operations.pl | 35 ++++++++++++++++++++++++-- test/tests/rijndael_hmac.pl | 12 +++++++++ 5 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 test/conf/include_def_hmac_access.conf diff --git a/Makefile.am b/Makefile.am index 5d9ea7eb..f91225ef 100644 --- a/Makefile.am +++ b/Makefile.am @@ -157,8 +157,9 @@ EXTRA_DIST = \ test/conf/include1_hmac_access.conf \ test/conf/include2_hmac_access.conf \ test/conf/include3_hmac_access.conf \ - test/conf/include_r1_hmac_access.conf \ + test/conf/include_def_hmac_access.conf \ test/conf/include_m1_hmac_access.conf \ + test/conf/include_r1_hmac_access.conf \ test/conf/include_r2_hmac_access.conf \ test/conf/gpg_access.conf \ test/conf/gpg_hmac_access.conf \ diff --git a/test/conf/include_def_hmac_access.conf b/test/conf/include_def_hmac_access.conf new file mode 100644 index 00000000..29909342 --- /dev/null +++ b/test/conf/include_def_hmac_access.conf @@ -0,0 +1,13 @@ + +%include conf/hmac_access.conf + +SOURCE ANY +KEY_BASE64 wzNP62oPPgec+kXDPQLHPOayQBuNbYUTPP+QrErNDmg= +HMAC_KEY_BASE64 Yh+xizBnl6eotC5ec7FanVGClRMlsOAPh2u6eovnerfBVKwaVKzjGoblFMHMc593TNyi0dWn4opLoTIV9q/ttg== +FW_ACCESS_TIMEOUT 3 + + +SOURCE 99.9.9.9 +KEY_BASE64 wzNP62oPPgec+kXDPQLHPOayQBuNbYUTPP+QrErNDmg= +HMAC_KEY_BASE64 Yh+xizBnl6eotC5ec7FanVGClRMlsOAPh2u6eovnerfBVKwaVKzjGoblFMHMc593TNyi0dWn4opLoTIV9q/ttg== +FW_ACCESS_TIMEOUT 3 diff --git a/test/test-fwknop.pl b/test/test-fwknop.pl index 36fa358c..bf8bf228 100755 --- a/test/test-fwknop.pl +++ b/test/test-fwknop.pl @@ -415,6 +415,7 @@ our %cf = ( 'include_r1_hmac_access' => "$conf_dir/include_r1_hmac_access.conf", 'include_r2_hmac_access' => "$conf_dir/include_r2_hmac_access.conf", 'include_m1_hmac_access' => "$conf_dir/include_m1_hmac_access.conf", + 'include_def_hmac_access' => "$conf_dir/include_def_hmac_access.conf", 'hmac_cmd_access' => "$conf_dir/hmac_cmd_access.conf", 'hmac_cmd_setuid_access' => "$conf_dir/hmac_cmd_setuid_access.conf", 'hmac_cmd_giduid_access' => "$conf_dir/hmac_cmd_giduid_access.conf", diff --git a/test/tests/basic_operations.pl b/test/tests/basic_operations.pl index 1fc91a92..6a19ad1c 100644 --- a/test/tests/basic_operations.pl +++ b/test/tests/basic_operations.pl @@ -553,11 +553,42 @@ ], 'positive_output_matches' => [qr/No keys found/], }, - { 'category' => 'basic operations', 'subcategory' => 'server', - 'detail' => 'access.conf include mixed stanza', + 'detail' => 'access.conf include mixed stanza (1)', + 'function' => \&server_conf_files, + 'fwknopd_cmdline' => "$server_rewrite_conf_files -D --exit-parse-config", + 'exec_err' => $YES, + 'server_access_file' => [ + + 'SOURCE 1.1.1.1', + 'KEY stanza1test', + 'REQUIRE_USERNAME user1', + + 'SOURCE 2.2.2.2', + 'KEY stanza2test', + 'REQUIRE_USERNAME user2', + + 'SOURCE 3.3.3.3', + 'KEY stanza3test', + 'REQUIRE_USERNAME user3', + + 'SOURCE 4.4.4.4', + 'KEY stanza4test', + 'REQUIRE_USERNAME user4', + + "%include $cf{'def_access'}", ### default access stanza becomes stanza #5 + ], + 'server_conf_file' => [ + '### comment' + ], + 'positive_output_matches' => [qr/SOURCE.*5.*\sANY/], + }, + { + 'category' => 'basic operations', + 'subcategory' => 'server', + 'detail' => 'access.conf include mixed stanza (2)', 'function' => \&server_conf_files, 'fwknopd_cmdline' => "$server_rewrite_conf_files -D --exit-parse-config", 'exec_err' => $YES, diff --git a/test/tests/rijndael_hmac.pl b/test/tests/rijndael_hmac.pl index a1351122..92cd9fac 100644 --- a/test/tests/rijndael_hmac.pl +++ b/test/tests/rijndael_hmac.pl @@ -154,6 +154,18 @@ qr/SOURCE\s.*123\.3\.3\.3/ ], }, + { + 'category' => 'Rijndael+HMAC', + 'subcategory' => 'client+server', + 'detail' => 'complete cycle, include (2)', + 'function' => \&spa_cycle, + 'cmdline' => $default_client_hmac_args, + 'fwknopd_cmdline' => "$fwknopdCmd -c $cf{'def'} -a $cf{'include_def_hmac_access'} " . + "-d $default_digest_file -p $default_pid_file $intf_str", + 'fw_rule_created' => $NEW_RULE_REQUIRED, + 'fw_rule_removed' => $NEW_RULE_REMOVED, + 'key_file' => $cf{'rc_hmac_b64_key'}, + }, { 'category' => 'Rijndael+HMAC',