net-tns 1.1.0 → 1.1.1
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.
- checksums.yaml +4 -4
- data/lib/net/tns/client.rb +1 -1
- data/lib/net/tns/gem_version.rb +1 -1
- data/lib/net/tns/helpers/string_helpers.rb +6 -27
- data/lib/net/tns/packet.rb +7 -4
- data/lib/net/tti/message.rb +1 -1
- data/lib/net/tti/messages/function_calls/pre_authentication_response.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c79686c4bd0a8d905987a42092ec1fa49cb140fa
|
4
|
+
data.tar.gz: 5a95a383671604fb14980ea2cfe099055f488db5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c135287fde902c9019eb0da3c5b38c71fb94d13ee90e4625f622bd7c8d71df0ca690c362c971843621da788f73476437aa281c04bb5698ebc073b3d2da35c8f5
|
7
|
+
data.tar.gz: afdce9a532326bb42af0fc093d6b08f2d4a26bc32369fd2c14c9014524b0b7f911a08e3f5241aa0f85896d021dbb4c80370ca567fb1a8a139a30de21a0b4920a
|
data/lib/net/tns/client.rb
CHANGED
@@ -24,7 +24,7 @@ module Net
|
|
24
24
|
request = ConnectPacket.new(:data => "(CONNECT_DATA=(COMMAND=VERSION))")
|
25
25
|
|
26
26
|
response = conn.send_and_receive( request )
|
27
|
-
raise "Expected AcceptPacket in response" unless response.is_a?(AcceptPacket)
|
27
|
+
raise Exceptions::ProtocolException.new("Expected AcceptPacket in response (got #{response.class})") unless response.is_a?(AcceptPacket)
|
28
28
|
|
29
29
|
version_data = response.data
|
30
30
|
rescue Exceptions::RefuseMessageReceived => refuse_err
|
data/lib/net/tns/gem_version.rb
CHANGED
@@ -4,33 +4,12 @@ module Net::TNS
|
|
4
4
|
module StringHelpers
|
5
5
|
HEXCHARS = [("0".."9").to_a, ("a".."f").to_a].flatten
|
6
6
|
|
7
|
-
#
|
8
|
-
# Convert a string to ASCII hex string
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
#
|
14
|
-
def tns_hexify(opts={})
|
15
|
-
delim = opts[:delim]
|
16
|
-
pre = (opts[:prefix] || "")
|
17
|
-
suf = (opts[:suffix] || "")
|
18
|
-
|
19
|
-
if (rx=opts[:rx]) and not rx.kind_of? Regexp
|
20
|
-
raise "rx must be a regular expression for a character class"
|
21
|
-
end
|
22
|
-
|
23
|
-
out=Array.new
|
24
|
-
|
25
|
-
self.each_byte do |c|
|
26
|
-
hc = if (rx and not rx.match c.chr)
|
27
|
-
c.chr
|
28
|
-
else
|
29
|
-
pre + (HEXCHARS[(c >> 4)] + HEXCHARS[(c & 0xf )]) + suf
|
30
|
-
end
|
31
|
-
out << (hc)
|
32
|
-
end
|
33
|
-
out.join(delim)
|
7
|
+
# Adapted from the Ruby Black Bag (http://github.com/emonti/rbkb/)
|
8
|
+
# Convert a string to ASCII hex string
|
9
|
+
def tns_hexify
|
10
|
+
self.each_byte.map do |byte|
|
11
|
+
(HEXCHARS[(byte >> 4)] + HEXCHARS[(byte & 0xf )])
|
12
|
+
end.join()
|
34
13
|
end
|
35
14
|
|
36
15
|
# Convert ASCII hex string to raw.
|
data/lib/net/tns/packet.rb
CHANGED
@@ -25,7 +25,7 @@ module Net
|
|
25
25
|
@@tns_packet_types ||= {}
|
26
26
|
if @@tns_packet_classes.has_key?(tns_type)
|
27
27
|
existing_class = @@tns_packet_classes[tns_type]
|
28
|
-
raise("Duplicate TNS Types Defined: #{existing_class} and #{self} both have a type of #{tns_type}")
|
28
|
+
raise ArgumentError.new("Duplicate TNS Types Defined: #{existing_class} and #{self} both have a type of #{tns_type}")
|
29
29
|
end
|
30
30
|
|
31
31
|
@@tns_packet_classes[tns_type] = self
|
@@ -46,13 +46,16 @@ module Net
|
|
46
46
|
end
|
47
47
|
|
48
48
|
if header_raw.nil? || header_raw.length != Header::LENGTH
|
49
|
-
|
49
|
+
header_length = header_raw.length unless header_raw.nil?
|
50
|
+
raise Exceptions::ProtocolException.new("Failed to read complete header. Read #{header_length.to_i} bytes.")
|
50
51
|
end
|
51
52
|
|
52
53
|
header = Header.new()
|
53
54
|
header.read( header_raw )
|
54
55
|
Net::TNS.logger.debug("Read header. Reported packet length is #{header.packet_length} bytes")
|
55
|
-
|
56
|
+
if header.packet_length > SESSION_DATA_UNIT_SIZE
|
57
|
+
raise Exceptions::ProtocolException.new("Packet length in header (#{header.packet_length}) is longer than SDU size.")
|
58
|
+
end
|
56
59
|
|
57
60
|
payload_raw = socket.read( header.packet_length - Header::LENGTH )
|
58
61
|
packet_raw = header_raw + payload_raw
|
@@ -62,7 +65,7 @@ module Net
|
|
62
65
|
end
|
63
66
|
|
64
67
|
unless packet_raw.length == header.packet_length
|
65
|
-
raise Net::TNS::Exceptions::ProtocolException
|
68
|
+
raise Net::TNS::Exceptions::ProtocolException.new("Failed to read entire packet (read #{packet_raw.length} of #{header.packet_length} bytes).")
|
66
69
|
end
|
67
70
|
|
68
71
|
new_packet = payload_class.read( packet_raw )
|
data/lib/net/tti/message.rb
CHANGED
@@ -22,7 +22,7 @@ module Net
|
|
22
22
|
@@ttc_codes ||= {}
|
23
23
|
if @@ttc_classes.has_key?(ttc_code)
|
24
24
|
existing_class = @@ttc_classes[ttc_code]
|
25
|
-
raise("Duplicate TTC response handlers defined: #{existing_class} and #{self} both have TTC code of #{ttc_code}")
|
25
|
+
raise ArgumentError.new("Duplicate TTC response handlers defined: #{existing_class} and #{self} both have TTC code of #{ttc_code}")
|
26
26
|
end
|
27
27
|
|
28
28
|
@@ttc_classes[ttc_code] = self
|
@@ -23,7 +23,7 @@ module Net
|
|
23
23
|
|
24
24
|
def find_param(key, raise_if_not_found=false)
|
25
25
|
param = self.parameters.find {|p| p.kvp_key == key}
|
26
|
-
raise "No #{key} parameter found" if param.nil? && raise_if_not_found
|
26
|
+
raise Net::TTI::Exceptions::TTIException.new("No #{key} parameter found") if param.nil? && raise_if_not_found
|
27
27
|
return param
|
28
28
|
end
|
29
29
|
private :find_param
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-tns
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Woodbury
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-12-
|
12
|
+
date: 2014-12-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bindata
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '1.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: coveralls
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
56
70
|
description: A pure Ruby (partial) implementation of the Oracle TNS protocol
|
57
71
|
email: woodbusy@gmail.com
|
58
72
|
executables: []
|