diff options
author | Jackie Huang <jackie.huang@windriver.com> | 2017-04-26 16:22:05 +0800 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2017-04-27 11:14:58 +0200 |
commit | ab68fcadbfa51e6cdd5edd950c4252da2d16de53 (patch) | |
tree | 7436e1467b64a7538c9de32afbea510d318b6018 /meta-perl/recipes-perl | |
parent | 8bdaca3f6688d138d7359190824dbff305a3fc9f (diff) | |
download | meta-openembedded-ab68fcadbfa51e6cdd5edd950c4252da2d16de53.tar.gz |
libauthen-radius-perl: add new recipe
The Authen::Radius module provides a simple class that
allows you to send/receive Radius requests/responses
to/from a Radius server.
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-perl/recipes-perl')
3 files changed, 150 insertions, 0 deletions
diff --git a/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest b/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest new file mode 100644 index 000000000..f1c833e6c --- /dev/null +++ b/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/run-ptest | |||
@@ -0,0 +1,21 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | |||
4 | # prepare testing config | ||
5 | CONF_USERS=`readlink -f /etc/raddb/users` | ||
6 | mv ${CONF_USERS} ${CONF_USERS}_orig | ||
7 | echo "testing Cleartext-Password := \"testpassword\"" > ${CONF_USERS} | ||
8 | cat ${CONF_USERS}_orig >> ${CONF_USERS} | ||
9 | |||
10 | # restart radiusd server | ||
11 | systemctl restart radiusd || /etc/init.d/radiusd restart || { | ||
12 | echo "FAIL: Start radiusd service." | ||
13 | exit 1 | ||
14 | } | ||
15 | |||
16 | # run teests | ||
17 | perl test.pl | ||
18 | |||
19 | # restore the config and restart | ||
20 | mv ${CONF_USERS}_orig ${CONF_USERS} | ||
21 | systemctl restart radiusd || /etc/init.d/radiusd restart | ||
diff --git a/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch b/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch new file mode 100644 index 000000000..9798af497 --- /dev/null +++ b/meta-perl/recipes-perl/libauthen/libauthen-radius-perl/test.pl-adjust-for-ptest.patch | |||
@@ -0,0 +1,90 @@ | |||
1 | From 829302792bf0e4935d29efc23ca1f2e9e7ee7dfd Mon Sep 17 00:00:00 2001 | ||
2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
3 | Date: Thu, 7 Jan 2016 03:12:38 -0500 | ||
4 | Subject: [PATCH] test.pl: adjust for ptest | ||
5 | |||
6 | * Don't use interactive inputs, set default test | ||
7 | settings instead. | ||
8 | * Change the test results output to the ptest format | ||
9 | |||
10 | Upstream-Status: Inappropriate [OE ptest specific] | ||
11 | |||
12 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
13 | --- | ||
14 | test.pl | 31 ++++++++++++++++++------------- | ||
15 | 1 file changed, 18 insertions(+), 13 deletions(-) | ||
16 | |||
17 | diff --git a/test.pl b/test.pl | ||
18 | index cfd1c1e..9b4f10e 100644 | ||
19 | --- a/test.pl | ||
20 | +++ b/test.pl | ||
21 | @@ -7,11 +7,11 @@ | ||
22 | # Change 1..1 below to 1..last_test_to_print . | ||
23 | # (It may become useful if the test is moved to ./t subdirectory.) | ||
24 | |||
25 | -BEGIN {print "1..5\n";} | ||
26 | -END {print "not ok 1\n" unless $loaded;} | ||
27 | +BEGIN {print "Start testing for libauthen-radius-perl\n";} | ||
28 | +END {print "\nFAIL: test1\n" unless $loaded;} | ||
29 | use Authen::Radius; | ||
30 | $loaded = 1; | ||
31 | -print "ok 1\n"; | ||
32 | +print "\nPASS: test1\n"; | ||
33 | |||
34 | ######################### End of black magic. | ||
35 | |||
36 | @@ -19,26 +19,31 @@ print "ok 1\n"; | ||
37 | # (correspondingly "not ok 13") depending on the success of chunk 13 | ||
38 | # of the test code): | ||
39 | |||
40 | +$host = "127.0.0.1"; | ||
41 | +$secret = "testing123"; | ||
42 | +$user = "testing"; | ||
43 | +$pwd = "testpassword"; | ||
44 | + | ||
45 | print "Make sure this machine is in your Radius clients file!\n"; | ||
46 | -print "Enter hostname[:port] of your Radius server: "; chomp ($host = <STDIN>); | ||
47 | -print "Enter shared-secret of your Radius server: "; chomp ($secret = <STDIN>); | ||
48 | -print "Enter a username to be validated: "; chomp ($user = <STDIN>); | ||
49 | -print "Enter this user's password: "; chomp ($pwd = <STDIN>); | ||
50 | +print "hostname of your Radius server: $host\n"; | ||
51 | +print "shared-secret of your Radius server: $secret\n"; | ||
52 | +print "The username to be validated: $user\n"; | ||
53 | +print "The user's password: $pwd\n"; | ||
54 | |||
55 | $t = 2; | ||
56 | if ($host ne '') { | ||
57 | $r = new Authen::Radius(Host => $host, Secret => $secret, Debug => 1); | ||
58 | - print defined($r) ? "" : "not ", "ok $t\n"; $t++; | ||
59 | + print defined($r) ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; | ||
60 | #Authen::Radius->load_dictionary; | ||
61 | - print $r->check_pwd($user, $pwd) ? "" : "not ", "ok $t\n"; $t++; | ||
62 | + print $r->check_pwd($user, $pwd) ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; | ||
63 | @a = $r->get_attributes; | ||
64 | - print $#a != -1 ? "" : "not ", "ok $t\n"; $t++; | ||
65 | + print $#a != -1 ? "\nPASS: test$t\n" : "\nFAIL: test$t\n"; $t++; | ||
66 | #for $a (@a) { | ||
67 | # print "attr: name=$a->{'Name'} value=$a->{'Value'}\n"; | ||
68 | #} | ||
69 | } else { | ||
70 | foreach my $t (2..4) { | ||
71 | - print "skipped $t\n"; | ||
72 | + print "\nSKIP test$t\n"; | ||
73 | } | ||
74 | } | ||
75 | |||
76 | @@ -53,9 +58,9 @@ my $data = "what do ya want for nothing?"; | ||
77 | my $etalon_digest = hex_to_ascii("750c783e6ab0b503eaa86e310a5db738"); | ||
78 | my $digest = Authen::Radius::hmac_md5(undef, $data, $key); | ||
79 | if ($etalon_digest eq $digest) { | ||
80 | - print "ok 5\n"; | ||
81 | + print "\nPASS: test5\n"; | ||
82 | } else { | ||
83 | - print "not ok 5\n"; | ||
84 | + print "\nFAIL: test5\n"; | ||
85 | } | ||
86 | |||
87 | exit; | ||
88 | -- | ||
89 | 1.9.1 | ||
90 | |||
diff --git a/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb b/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb new file mode 100644 index 000000000..ea5bb1b0c --- /dev/null +++ b/meta-perl/recipes-perl/libauthen/libauthen-radius-perl_0.22.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "Authen::Radius - provide simple Radius client facilities" | ||
2 | DESCRIPTION = "The Authen::Radius module provides a simple class that \ | ||
3 | allows you to send/receive Radius requests/responses to/from a \ | ||
4 | Radius server. \ | ||
5 | " | ||
6 | |||
7 | HOMEPAGE = "http://search.cpan.org/~manowar/RadiusPerl" | ||
8 | SECTION = "libs" | ||
9 | |||
10 | LICENSE = "Artistic-2.0" | ||
11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=78ab6ea0cba1f1ec1680ebb149e3bc11" | ||
12 | |||
13 | DEPENDS = "perl" | ||
14 | |||
15 | SRC_URI = "http://search.cpan.org/CPAN/authors/id/M/MA/MANOWAR/RadiusPerl-${PV}.tar.gz \ | ||
16 | file://test.pl-adjust-for-ptest.patch \ | ||
17 | file://run-ptest \ | ||
18 | " | ||
19 | SRC_URI[md5sum] = "d1fe2d6ecf7ea99299e4e3a8f945aad8" | ||
20 | SRC_URI[sha256sum] = "3b276506986ccaa4949d92b13ce053a0017ad11562a991cc753364923fe81ca7" | ||
21 | |||
22 | S = "${WORKDIR}/Authen-Radius-${PV}" | ||
23 | |||
24 | inherit cpan ptest | ||
25 | |||
26 | do_install_ptest() { | ||
27 | install -m 0755 ${S}/test.pl ${D}${PTEST_PATH} | ||
28 | } | ||
29 | |||
30 | RDEPENDS_${PN} += "\ | ||
31 | libdata-hexdump-perl \ | ||
32 | perl-module-digest-md5 \ | ||
33 | perl-module-data-dumper \ | ||
34 | perl-module-io-select \ | ||
35 | perl-module-io-socket \ | ||
36 | " | ||
37 | RDEPENDS_${PN}-ptest += "${PN} freeradius" | ||
38 | |||
39 | BBCLASSEXTEND = "native" | ||