radiustar 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +3 -0
- data/README.rdoc +1 -1
- data/lib/radiustar/dictionary.rb +51 -14
- data/lib/radiustar/dictionary/attributes.rb +8 -1
- data/lib/radiustar/dictionary/values.rb +5 -1
- data/lib/radiustar/packet.rb +1 -1
- data/lib/radiustar/radiustar.rb +4 -0
- data/lib/radiustar/request.rb +17 -2
- data/lib/radiustar/vendor.rb +60 -0
- data/radiustar.gemspec +34 -0
- data/templates/dictionary.digium +36 -0
- data/templates/gandalf.dictionary +105 -0
- data/version.txt +1 -1
- metadata +7 -3
data/History.txt
CHANGED
data/README.rdoc
CHANGED
data/lib/radiustar/dictionary.rb
CHANGED
@@ -2,45 +2,66 @@ module Radiustar
|
|
2
2
|
|
3
3
|
class Dictionary
|
4
4
|
|
5
|
+
include Radiustar
|
6
|
+
|
5
7
|
DEFAULT_DICTIONARY_PATH = ::File.join(::File.dirname(__FILE__), '..', '..', 'templates', 'default.txt')
|
6
8
|
|
7
9
|
def initialize(initial_path = nil)
|
8
10
|
@attributes = AttributesCollection.new
|
11
|
+
@vendors = VendorCollection.new
|
9
12
|
|
10
13
|
read initial_path if initial_path
|
11
14
|
end
|
12
15
|
|
13
16
|
def read(path)
|
14
17
|
file = File.open(path) do |f|
|
18
|
+
current_vendor = nil
|
15
19
|
f.each_line do |line|
|
16
20
|
next if line =~ /^\#/ # discard comments
|
17
21
|
split_line = line.split(/\s+/)
|
18
22
|
next if split_line == []
|
19
23
|
case split_line.first.upcase
|
20
24
|
when "ATTRIBUTE"
|
21
|
-
set_attr(split_line)
|
25
|
+
current_vendor.nil? ? set_attr(split_line) : set_vendor_attr(current_vendor, split_line)
|
22
26
|
when "VALUE"
|
23
|
-
set_value(split_line)
|
27
|
+
current_vendor.nil? ? set_value(split_line) : set_vendor_value(current_vendor, split_line)
|
28
|
+
when "VENDOR"
|
29
|
+
add_vendor(split_line)
|
30
|
+
when "BEGIN-VENDOR"
|
31
|
+
current_vendor = set_vendor(split_line)
|
32
|
+
when "END-VENDOR"
|
33
|
+
current_vendor = nil
|
24
34
|
end
|
25
35
|
end
|
26
36
|
end
|
37
|
+
end
|
27
38
|
|
28
|
-
|
29
|
-
|
30
|
-
|
39
|
+
def find_attribute_by_name(name)
|
40
|
+
@attributes.find_by_name(name)
|
41
|
+
end
|
31
42
|
|
32
|
-
|
33
|
-
|
34
|
-
|
43
|
+
def find_attribute_by_id(id)
|
44
|
+
@attributes.find_by_id(id)
|
45
|
+
end
|
35
46
|
|
36
|
-
|
37
|
-
|
38
|
-
|
47
|
+
def attribute_name_defined?(name)
|
48
|
+
!@attributes.find_by_name(name).nil?
|
49
|
+
end
|
39
50
|
|
40
|
-
|
41
|
-
|
42
|
-
|
51
|
+
def attribute_id_defined?(id)
|
52
|
+
!@attributes.find_by_id(id).nil?
|
53
|
+
end
|
54
|
+
|
55
|
+
def vendors
|
56
|
+
@vendors
|
57
|
+
end
|
58
|
+
|
59
|
+
def attributes
|
60
|
+
@attributes
|
61
|
+
end
|
43
62
|
|
63
|
+
def name
|
64
|
+
"Dictionary"
|
44
65
|
end
|
45
66
|
|
46
67
|
class << self
|
@@ -61,6 +82,22 @@ module Radiustar
|
|
61
82
|
@attributes.find_by_name(line[1]).add_value(line[2], line[3])
|
62
83
|
end
|
63
84
|
|
85
|
+
def add_vendor(line)
|
86
|
+
@vendors.add(line[2], line[1])
|
87
|
+
end
|
88
|
+
|
89
|
+
def set_vendor(line)
|
90
|
+
@vendors.find_by_name(line[1])
|
91
|
+
end
|
92
|
+
|
93
|
+
def set_vendor_attr(vendor, line)
|
94
|
+
vendor.add_attribute(line[1], line[2], line[3])
|
95
|
+
end
|
96
|
+
|
97
|
+
def set_vendor_value(vendor, line)
|
98
|
+
vendor.find_attribute_by_name(line[1]).add_value(line[2], line[3])
|
99
|
+
end
|
100
|
+
|
64
101
|
end
|
65
102
|
|
66
103
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Radiustar
|
2
2
|
|
3
|
-
class AttributesCollection
|
3
|
+
class AttributesCollection < Array
|
4
4
|
|
5
5
|
def initialize
|
6
6
|
@collection = {}
|
@@ -10,6 +10,7 @@ module Radiustar
|
|
10
10
|
def add(name, id, type)
|
11
11
|
@collection[name] ||= Attribute.new(name, id.to_i, type)
|
12
12
|
@revcollection[id.to_i] ||= @collection[name]
|
13
|
+
self << @collection[name]
|
13
14
|
end
|
14
15
|
|
15
16
|
def find_by_name(name)
|
@@ -24,6 +25,8 @@ module Radiustar
|
|
24
25
|
|
25
26
|
class Attribute
|
26
27
|
|
28
|
+
include Radiustar
|
29
|
+
|
27
30
|
attr_reader :name, :id, :type
|
28
31
|
|
29
32
|
def initialize(name, id, type)
|
@@ -49,6 +52,10 @@ module Radiustar
|
|
49
52
|
!@values.empty?
|
50
53
|
end
|
51
54
|
|
55
|
+
def values
|
56
|
+
@values
|
57
|
+
end
|
58
|
+
|
52
59
|
end
|
53
60
|
|
54
61
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Radiustar
|
2
2
|
|
3
|
-
class ValuesCollection
|
3
|
+
class ValuesCollection < Array
|
4
4
|
|
5
5
|
def initialize
|
6
6
|
@collection = {}
|
@@ -10,6 +10,7 @@ module Radiustar
|
|
10
10
|
def add(name, id)
|
11
11
|
@collection[name] ||= Value.new(name, id)
|
12
12
|
@revcollection[id.to_i] ||= @collection[name]
|
13
|
+
self << @collection[name]
|
13
14
|
end
|
14
15
|
|
15
16
|
def find_by_name(name)
|
@@ -27,6 +28,9 @@ module Radiustar
|
|
27
28
|
end
|
28
29
|
|
29
30
|
class Value
|
31
|
+
|
32
|
+
include Radiustar
|
33
|
+
|
30
34
|
attr_accessor :name
|
31
35
|
|
32
36
|
def initialize(name, id)
|
data/lib/radiustar/packet.rb
CHANGED
@@ -112,7 +112,7 @@ module Radiustar
|
|
112
112
|
attribute_type = attribute_type.to_i
|
113
113
|
|
114
114
|
attribute = @dict.find_attribute_by_id(attribute_type)
|
115
|
-
attribute_value = case attribute.
|
115
|
+
attribute_value = case attribute.class
|
116
116
|
when 'string'
|
117
117
|
attribute_value
|
118
118
|
when 'integer'
|
data/lib/radiustar/radiustar.rb
CHANGED
data/lib/radiustar/request.rb
CHANGED
@@ -4,10 +4,13 @@ module Radiustar
|
|
4
4
|
|
5
5
|
class Request
|
6
6
|
|
7
|
-
def initialize(server, my_ip, dict_file = nil)
|
7
|
+
def initialize(server, my_ip = nil, dict_file = nil)
|
8
8
|
@dict = dict_file.nil? ? Dictionary.default : Dictionary.new(dict_file)
|
9
|
-
|
9
|
+
|
10
10
|
@host, @port = server.split(":")
|
11
|
+
|
12
|
+
@my_ip = my_ip || get_my_ip(@host)
|
13
|
+
|
11
14
|
@port = Socket.getservbyname("radius", "udp") unless @port
|
12
15
|
@port = 1812 unless @port
|
13
16
|
@port = @port.to_i # just in case
|
@@ -60,6 +63,18 @@ module Radiustar
|
|
60
63
|
Packet.new(@dict, Process.pid & 0xff, data[0])
|
61
64
|
end
|
62
65
|
|
66
|
+
#looks up the source IP address with a route to the specified destination
|
67
|
+
def get_my_ip(dest_address)
|
68
|
+
orig_reverse_lookup_setting = Socket.do_not_reverse_lookup
|
69
|
+
Socket.do_not_reverse_lookup = true
|
70
|
+
|
71
|
+
UDPSocket.open do |sock|
|
72
|
+
sock.connect dest_address, 1
|
73
|
+
sock.addr.last
|
74
|
+
end
|
75
|
+
ensure
|
76
|
+
Socket.do_not_reverse_lookup = orig_reverse_lookup_setting
|
77
|
+
end
|
63
78
|
|
64
79
|
end
|
65
80
|
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module Radiustar
|
2
|
+
|
3
|
+
class VendorCollection < Array
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@collection = {}
|
7
|
+
@revcollection = []
|
8
|
+
end
|
9
|
+
|
10
|
+
def add(id, name)
|
11
|
+
@collection[name] ||= Vendor.new(name, id)
|
12
|
+
@revcollection[id.to_i] ||= @collection[name]
|
13
|
+
self << @collection[name]
|
14
|
+
end
|
15
|
+
|
16
|
+
def find_by_name(name)
|
17
|
+
@collection[name]
|
18
|
+
end
|
19
|
+
|
20
|
+
def find_by_id(id)
|
21
|
+
@revcollection[id.to_i]
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
class Vendor
|
27
|
+
|
28
|
+
include Radiustar
|
29
|
+
|
30
|
+
attr_reader :name, :id
|
31
|
+
|
32
|
+
def initialize(name, id)
|
33
|
+
@name = name
|
34
|
+
@id = id
|
35
|
+
@attributes = AttributesCollection.new
|
36
|
+
end
|
37
|
+
|
38
|
+
def add_attribute(name, id, type)
|
39
|
+
@attributes.add(name, id, type)
|
40
|
+
end
|
41
|
+
|
42
|
+
def find_attribute_by_name(name)
|
43
|
+
@attributes.find_by_name(name)
|
44
|
+
end
|
45
|
+
|
46
|
+
def find_attribute_by_id(id)
|
47
|
+
@attributes.find_by_id(id.to_i)
|
48
|
+
end
|
49
|
+
|
50
|
+
def has_attributes?
|
51
|
+
!@attributes.empty?
|
52
|
+
end
|
53
|
+
|
54
|
+
def attributes
|
55
|
+
@attributes
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
data/radiustar.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{radiustar}
|
5
|
+
s.version = "0.0.3"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["PJ Davis"]
|
9
|
+
s.date = %q{2010-06-30}
|
10
|
+
s.description = %q{Ruby Radius Library}
|
11
|
+
s.email = %q{pj.davis@gmail.com}
|
12
|
+
s.extra_rdoc_files = ["History.txt", "README.rdoc", "templates/default.txt", "version.txt"]
|
13
|
+
s.files = [".gitignore", "History.txt", "README.rdoc", "Rakefile", "lib/radiustar.rb", "lib/radiustar/dictionary.rb", "lib/radiustar/dictionary/attributes.rb", "lib/radiustar/dictionary/values.rb", "lib/radiustar/packet.rb", "lib/radiustar/radiustar.rb", "lib/radiustar/request.rb", "lib/radiustar/vendor.rb", "radiustar.gemspec", "spec/radiustar_spec.rb", "spec/spec_helper.rb", "templates/default.txt", "templates/dictionary.digium", "templates/gandalf.dictionary", "test/test_radiustar.rb", "version.txt"]
|
14
|
+
s.homepage = %q{http://github.com/pjdavis/radiustar}
|
15
|
+
s.rdoc_options = ["--main", "README.rdoc"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.rubyforge_project = %q{radiustar}
|
18
|
+
s.rubygems_version = %q{1.3.6}
|
19
|
+
s.summary = %q{Ruby Radius Library}
|
20
|
+
s.test_files = ["test/test_radiustar.rb"]
|
21
|
+
|
22
|
+
if s.respond_to? :specification_version then
|
23
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
24
|
+
s.specification_version = 3
|
25
|
+
|
26
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
27
|
+
s.add_development_dependency(%q<bones>, [">= 3.4.1"])
|
28
|
+
else
|
29
|
+
s.add_dependency(%q<bones>, [">= 3.4.1"])
|
30
|
+
end
|
31
|
+
else
|
32
|
+
s.add_dependency(%q<bones>, [">= 3.4.1"])
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- text -*-
|
2
|
+
##############################################################################
|
3
|
+
#
|
4
|
+
# Digium's Asterisk specific radius attributes
|
5
|
+
# markster@digium.com
|
6
|
+
#
|
7
|
+
# http://bugs.digium.com/file_download.php\?file_id=9688\&type=bug
|
8
|
+
#
|
9
|
+
# $Id$
|
10
|
+
#
|
11
|
+
##############################################################################
|
12
|
+
|
13
|
+
VENDOR Digium 22736
|
14
|
+
|
15
|
+
BEGIN-VENDOR Digium
|
16
|
+
|
17
|
+
ATTRIBUTE Asterisk-Acc-Code 101 string
|
18
|
+
ATTRIBUTE Asterisk-Src 102 string
|
19
|
+
ATTRIBUTE Asterisk-Dst 103 string
|
20
|
+
ATTRIBUTE Asterisk-Dst-Ctx 104 string
|
21
|
+
ATTRIBUTE Asterisk-Clid 105 string
|
22
|
+
ATTRIBUTE Asterisk-Chan 106 string
|
23
|
+
ATTRIBUTE Asterisk-Dst-Chan 107 string
|
24
|
+
ATTRIBUTE Asterisk-Last-App 108 string
|
25
|
+
ATTRIBUTE Asterisk-Last-Data 109 string
|
26
|
+
ATTRIBUTE Asterisk-Start-Time 110 string
|
27
|
+
ATTRIBUTE Asterisk-Answer-Time 111 string
|
28
|
+
ATTRIBUTE Asterisk-End-Time 112 string
|
29
|
+
ATTRIBUTE Asterisk-Duration 113 integer
|
30
|
+
ATTRIBUTE Asterisk-Bill-Sec 114 integer
|
31
|
+
ATTRIBUTE Asterisk-Disposition 115 string
|
32
|
+
ATTRIBUTE Asterisk-AMA-Flags 116 string
|
33
|
+
ATTRIBUTE Asterisk-Unique-ID 117 string
|
34
|
+
ATTRIBUTE Asterisk-User-Field 118 string
|
35
|
+
|
36
|
+
END-VENDOR Digium
|
@@ -0,0 +1,105 @@
|
|
1
|
+
# -*- text -*-
|
2
|
+
# Gandalf dictionary
|
3
|
+
#
|
4
|
+
# Version: 1.00 24-July-2003 Blaise St-Laurent <bstlaurent@okiok.com>
|
5
|
+
#
|
6
|
+
# Notes: Dictionary was made specifically for the Gandalf XpressWay
|
7
|
+
# RLAN with Link Authentication through RADIUS
|
8
|
+
#
|
9
|
+
# $Id$
|
10
|
+
#
|
11
|
+
VENDOR Gandalf 64
|
12
|
+
|
13
|
+
#
|
14
|
+
# Vendor-specific attributes
|
15
|
+
#
|
16
|
+
BEGIN-VENDOR Gandalf
|
17
|
+
|
18
|
+
ATTRIBUTE Gandalf-Remote-LAN-Name 0 string
|
19
|
+
ATTRIBUTE Gandalf-Operational-Modes 1 integer
|
20
|
+
ATTRIBUTE Gandalf-Compression-Status 2 integer
|
21
|
+
ATTRIBUTE Gandalf-Min-Outgoing-Bearer 3 integer
|
22
|
+
ATTRIBUTE Gandalf-Authentication-String 5 string
|
23
|
+
ATTRIBUTE Gandalf-PPP-Authentication 6 integer
|
24
|
+
ATTRIBUTE Gandalf-PPP-NCP-Type 7 integer
|
25
|
+
ATTRIBUTE Gandalf-Fwd-Multicast-In 8 integer
|
26
|
+
ATTRIBUTE Gandalf-Fwd-Broadcast-In 9 integer
|
27
|
+
ATTRIBUTE Gandalf-Fwd-Unicast-In 10 integer
|
28
|
+
ATTRIBUTE Gandalf-Fwd-Multicast-Out 11 integer
|
29
|
+
ATTRIBUTE Gandalf-Fwd-Broadcast-Out 12 integer
|
30
|
+
ATTRIBUTE Gandalf-Fwd-Unicast-Out 13 integer
|
31
|
+
ATTRIBUTE Gandalf-Around-The-Corner 14 integer
|
32
|
+
ATTRIBUTE Gandalf-Channel-Group-Name-1 15 string
|
33
|
+
ATTRIBUTE Gandalf-Dial-Prefix-Name-1 16 string
|
34
|
+
ATTRIBUTE Gandalf-Phone-Number-1 17 string
|
35
|
+
ATTRIBUTE Gandalf-Calling-Line-ID-1 18 string
|
36
|
+
ATTRIBUTE Gandalf-Channel-Group-Name-2 19 string
|
37
|
+
ATTRIBUTE Gandalf-Dial-Prefix-Name-2 20 string
|
38
|
+
ATTRIBUTE Gandalf-Phone-Number-2 21 string
|
39
|
+
ATTRIBUTE Gandalf-Calling-Line-ID-2 22 string
|
40
|
+
ATTRIBUTE Gandalf-IPX-Spoofing-State 23 integer
|
41
|
+
ATTRIBUTE Gandalf-IPX-Watchdog-Spoof 24 integer
|
42
|
+
ATTRIBUTE Gandalf-SAP-Group-Name-1 25 string
|
43
|
+
ATTRIBUTE Gandalf-SAP-Group-Name-2 26 string
|
44
|
+
ATTRIBUTE Gandalf-SAP-Group-Name-3 27 string
|
45
|
+
ATTRIBUTE Gandalf-SAP-Group-Name-4 28 string
|
46
|
+
ATTRIBUTE Gandalf-SAP-Group-Name-5 29 string
|
47
|
+
ATTRIBUTE Gandalf-Hunt-Group 30 string
|
48
|
+
ATTRIBUTE Gandalf-Modem-Mode 31 integer
|
49
|
+
ATTRIBUTE Gandalf-Modem-Required-1 32 integer
|
50
|
+
ATTRIBUTE Gandalf-Modem-Required-2 33 integer
|
51
|
+
|
52
|
+
VALUE Gandalf-Operational-Modes Disabled 1
|
53
|
+
VALUE Gandalf-Operational-Modes Called-Only 2
|
54
|
+
VALUE Gandalf-Operational-Modes Calling-Called 3
|
55
|
+
VALUE Gandalf-Operational-Modes Calling-Only 4
|
56
|
+
|
57
|
+
VALUE Gandalf-Compression-Status Disabled 1
|
58
|
+
VALUE Gandalf-Compression-Status Enabled 2
|
59
|
+
|
60
|
+
VALUE Gandalf-Min-Outgoing-Bearer Unrestricted-64K 1
|
61
|
+
VALUE Gandalf-Min-Outgoing-Bearer Digital-56K 2
|
62
|
+
VALUE Gandalf-Min-Outgoing-Bearer 3100Hz-Audio 3
|
63
|
+
|
64
|
+
VALUE Gandalf-PPP-Authentication CHAP 1
|
65
|
+
VALUE Gandalf-PPP-Authentication PAP 2
|
66
|
+
VALUE Gandalf-PPP-Authentication PAP-Sending-on-Incoming-Calls 3
|
67
|
+
|
68
|
+
VALUE Gandalf-PPP-NCP-Type BCP 2
|
69
|
+
VALUE Gandalf-PPP-NCP-Type IPCP 3
|
70
|
+
|
71
|
+
VALUE Gandalf-Fwd-Multicast-In Disabled 1
|
72
|
+
VALUE Gandalf-Fwd-Multicast-In Enabled 2
|
73
|
+
|
74
|
+
VALUE Gandalf-Fwd-Broadcast-In Disabled 1
|
75
|
+
VALUE Gandalf-Fwd-Broadcast-In Enabled 2
|
76
|
+
|
77
|
+
VALUE Gandalf-Fwd-Unicast-In Disabled 1
|
78
|
+
VALUE Gandalf-Fwd-Unicast-In Enabled 2
|
79
|
+
|
80
|
+
VALUE Gandalf-Fwd-Multicast-Out Disabled 1
|
81
|
+
VALUE Gandalf-Fwd-Multicast-Out Enabled 2
|
82
|
+
|
83
|
+
VALUE Gandalf-Fwd-Broadcast-Out Disabled 1
|
84
|
+
VALUE Gandalf-Fwd-Broadcast-Out Enabled 2
|
85
|
+
|
86
|
+
VALUE Gandalf-Fwd-Unicast-Out Disabled 1
|
87
|
+
VALUE Gandalf-Fwd-Unicast-Out Enabled 2
|
88
|
+
|
89
|
+
VALUE Gandalf-IPX-Spoofing-State Forward 1
|
90
|
+
VALUE Gandalf-IPX-Spoofing-State Spoof 2
|
91
|
+
VALUE Gandalf-IPX-Spoofing-State Filter-all-outgoing-RIP-SAP 3
|
92
|
+
|
93
|
+
VALUE Gandalf-IPX-Watchdog-Spoof Disabled 1
|
94
|
+
VALUE Gandalf-IPX-Watchdog-Spoof Enabled 2
|
95
|
+
|
96
|
+
VALUE Gandalf-Modem-Mode Disabled 1
|
97
|
+
VALUE Gandalf-Modem-Mode Enabled 2
|
98
|
+
|
99
|
+
VALUE Gandalf-Modem-Required-1 Disabled 1
|
100
|
+
VALUE Gandalf-Modem-Required-1 Enabled 2
|
101
|
+
|
102
|
+
VALUE Gandalf-Modem-Required-2 Disabled 1
|
103
|
+
VALUE Gandalf-Modem-Required-2 Enabled 2
|
104
|
+
|
105
|
+
END-VENDOR Gandalf
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 3
|
9
|
+
version: 0.0.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- PJ Davis
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-06-30 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -54,9 +54,13 @@ files:
|
|
54
54
|
- lib/radiustar/packet.rb
|
55
55
|
- lib/radiustar/radiustar.rb
|
56
56
|
- lib/radiustar/request.rb
|
57
|
+
- lib/radiustar/vendor.rb
|
58
|
+
- radiustar.gemspec
|
57
59
|
- spec/radiustar_spec.rb
|
58
60
|
- spec/spec_helper.rb
|
59
61
|
- templates/default.txt
|
62
|
+
- templates/dictionary.digium
|
63
|
+
- templates/gandalf.dictionary
|
60
64
|
- test/test_radiustar.rb
|
61
65
|
- version.txt
|
62
66
|
has_rdoc: true
|