ronin-support 0.2.0.rc1 → 0.2.0.rc2
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/ChangeLog.md +4 -0
 - data/README.md +2 -1
 - data/gemspec.yml +1 -1
 - data/lib/ronin/extensions/kernel.rb +3 -1
 - data/lib/ronin/extensions/string.rb +44 -45
 - data/lib/ronin/formatting/extensions/binary/integer.rb +9 -3
 - data/lib/ronin/formatting/extensions/binary/string.rb +0 -2
 - data/lib/ronin/support/version.rb +1 -1
 - data/spec/extensions/kernel_spec.rb +7 -7
 - data/spec/extensions/string_spec.rb +2 -2
 - metadata +3 -3
 
    
        data/ChangeLog.md
    CHANGED
    
    | 
         @@ -14,9 +14,13 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
            * Added {Net.smtp_send_message}.
         
     | 
| 
       15 
15 
     | 
    
         
             
            * Added {Net.http_status}.
         
     | 
| 
       16 
16 
     | 
    
         
             
            * Added YARD `@api` tags to define the public, semi-public and private APIs.
         
     | 
| 
      
 17 
     | 
    
         
            +
            * Renamed `Kernel#attempt` to {Kernel#try}.
         
     | 
| 
       17 
18 
     | 
    
         
             
            * Allow `:method` to be used with {Net.http_ok?}.
         
     | 
| 
       18 
19 
     | 
    
         
             
            * Fixed a bug in {Ronin::Network::HTTP.expand_url} where `:host` and `:port`
         
     | 
| 
       19 
20 
     | 
    
         
             
              options were being overridden.
         
     | 
| 
      
 21 
     | 
    
         
            +
            * Improved the performance of {Integer#bytes}.
         
     | 
| 
      
 22 
     | 
    
         
            +
            * Only redefine {String#dump} for Ruby 1.8.x.
         
     | 
| 
      
 23 
     | 
    
         
            +
              * Ruby >= 1.9.1 correctly hex-escapes special characters.
         
     | 
| 
       20 
24 
     | 
    
         
             
            * Fixed a bug in {String#format_chars}, where it was not using `each_char`
         
     | 
| 
       21 
25 
     | 
    
         
             
              for unicode characters.
         
     | 
| 
       22 
26 
     | 
    
         
             
            * Deprecated {String#common_postfix}, in favor of {String#common_suffix}.
         
     | 
    
        data/README.md
    CHANGED
    
    
    
        data/gemspec.yml
    CHANGED
    
    
| 
         @@ -185,53 +185,52 @@ class String 
     | 
|
| 
       185 
185 
     | 
    
         
             
                return self[prefix.length...(length - postfix.length)]
         
     | 
| 
       186 
186 
     | 
    
         
             
              end
         
     | 
| 
       187 
187 
     | 
    
         | 
| 
       188 
     | 
    
         
            -
               
     | 
| 
       189 
     | 
    
         
            -
             
     | 
| 
       190 
     | 
    
         
            -
             
     | 
| 
       191 
     | 
    
         
            -
             
     | 
| 
       192 
     | 
    
         
            -
             
     | 
| 
       193 
     | 
    
         
            -
             
     | 
| 
       194 
     | 
    
         
            -
             
     | 
| 
       195 
     | 
    
         
            -
             
     | 
| 
       196 
     | 
    
         
            -
             
     | 
| 
       197 
     | 
    
         
            -
             
     | 
| 
       198 
     | 
    
         
            -
             
     | 
| 
       199 
     | 
    
         
            -
             
     | 
| 
       200 
     | 
    
         
            -
             
     | 
| 
       201 
     | 
    
         
            -
             
     | 
| 
       202 
     | 
    
         
            -
             
     | 
| 
       203 
     | 
    
         
            -
                 
     | 
| 
       204 
     | 
    
         
            -
             
     | 
| 
       205 
     | 
    
         
            -
             
     | 
| 
       206 
     | 
    
         
            -
             
     | 
| 
       207 
     | 
    
         
            -
             
     | 
| 
       208 
     | 
    
         
            -
             
     | 
| 
       209 
     | 
    
         
            -
             
     | 
| 
       210 
     | 
    
         
            -
             
     | 
| 
       211 
     | 
    
         
            -
             
     | 
| 
       212 
     | 
    
         
            -
             
     | 
| 
       213 
     | 
    
         
            -
             
     | 
| 
       214 
     | 
    
         
            -
             
     | 
| 
       215 
     | 
    
         
            -
             
     | 
| 
       216 
     | 
    
         
            -
             
     | 
| 
       217 
     | 
    
         
            -
             
     | 
| 
       218 
     | 
    
         
            -
             
     | 
| 
       219 
     | 
    
         
            -
             
     | 
| 
       220 
     | 
    
         
            -
             
     | 
| 
       221 
     | 
    
         
            -
             
     | 
| 
       222 
     | 
    
         
            -
             
     | 
| 
       223 
     | 
    
         
            -
             
     | 
| 
       224 
     | 
    
         
            -
             
     | 
| 
       225 
     | 
    
         
            -
             
     | 
| 
       226 
     | 
    
         
            -
             
     | 
| 
       227 
     | 
    
         
            -
             
     | 
| 
       228 
     | 
    
         
            -
             
     | 
| 
       229 
     | 
    
         
            -
             
     | 
| 
      
 188 
     | 
    
         
            +
              if RUBY_VERSION < '1.9.'
         
     | 
| 
      
 189 
     | 
    
         
            +
                ESCAPE_BYTES = {
         
     | 
| 
      
 190 
     | 
    
         
            +
                  0x00 => '\0',
         
     | 
| 
      
 191 
     | 
    
         
            +
                  0x07 => '\a',
         
     | 
| 
      
 192 
     | 
    
         
            +
                  0x08 => '\b',
         
     | 
| 
      
 193 
     | 
    
         
            +
                  0x09 => '\t',
         
     | 
| 
      
 194 
     | 
    
         
            +
                  0x0a => '\n',
         
     | 
| 
      
 195 
     | 
    
         
            +
                  0x0b => '\v',
         
     | 
| 
      
 196 
     | 
    
         
            +
                  0x0c => '\f',
         
     | 
| 
      
 197 
     | 
    
         
            +
                  0x0d => '\r',
         
     | 
| 
      
 198 
     | 
    
         
            +
                  0x22 => '\"',
         
     | 
| 
      
 199 
     | 
    
         
            +
                  0x5c => '\\'
         
     | 
| 
      
 200 
     | 
    
         
            +
                }
         
     | 
| 
      
 201 
     | 
    
         
            +
             
     | 
| 
      
 202 
     | 
    
         
            +
                #
         
     | 
| 
      
 203 
     | 
    
         
            +
                # Dumps the string as a C-style string.
         
     | 
| 
      
 204 
     | 
    
         
            +
                #
         
     | 
| 
      
 205 
     | 
    
         
            +
                # @return [String]
         
     | 
| 
      
 206 
     | 
    
         
            +
                #   The C-style encoded version of the String.
         
     | 
| 
      
 207 
     | 
    
         
            +
                #
         
     | 
| 
      
 208 
     | 
    
         
            +
                # @example
         
     | 
| 
      
 209 
     | 
    
         
            +
                #   "hello\x00\073\x90\r\n".dump
         
     | 
| 
      
 210 
     | 
    
         
            +
                #   # => "hello\0;\x90\r\n"
         
     | 
| 
      
 211 
     | 
    
         
            +
                #
         
     | 
| 
      
 212 
     | 
    
         
            +
                # @note
         
     | 
| 
      
 213 
     | 
    
         
            +
                #   This method is only defined on Ruby 1.8.x.
         
     | 
| 
      
 214 
     | 
    
         
            +
                #
         
     | 
| 
      
 215 
     | 
    
         
            +
                # @api public
         
     | 
| 
      
 216 
     | 
    
         
            +
                #
         
     | 
| 
      
 217 
     | 
    
         
            +
                def dump
         
     | 
| 
      
 218 
     | 
    
         
            +
                  dumped_string = ''
         
     | 
| 
      
 219 
     | 
    
         
            +
             
     | 
| 
      
 220 
     | 
    
         
            +
                  each_byte do |b|
         
     | 
| 
      
 221 
     | 
    
         
            +
                    dumped_string << if (b >= 0x20 && b <= 0x7e)
         
     | 
| 
      
 222 
     | 
    
         
            +
                                       b.chr
         
     | 
| 
      
 223 
     | 
    
         
            +
                                     elsif ESCAPE_BYTES.has_key?(b)
         
     | 
| 
      
 224 
     | 
    
         
            +
                                       ESCAPE_BYTES[b]
         
     | 
| 
      
 225 
     | 
    
         
            +
                                     else
         
     | 
| 
      
 226 
     | 
    
         
            +
                                       ("\\x%.2X" % b)
         
     | 
| 
      
 227 
     | 
    
         
            +
                                     end
         
     | 
| 
      
 228 
     | 
    
         
            +
                  end
         
     | 
| 
      
 229 
     | 
    
         
            +
             
     | 
| 
      
 230 
     | 
    
         
            +
                  return "\"#{dumped_string}\""
         
     | 
| 
       230 
231 
     | 
    
         
             
                end
         
     | 
| 
       231 
232 
     | 
    
         | 
| 
       232 
     | 
    
         
            -
                 
     | 
| 
      
 233 
     | 
    
         
            +
                alias inspect dump
         
     | 
| 
       233 
234 
     | 
    
         
             
              end
         
     | 
| 
       234 
235 
     | 
    
         | 
| 
       235 
     | 
    
         
            -
              alias inspect dump
         
     | 
| 
       236 
     | 
    
         
            -
             
     | 
| 
       237 
236 
     | 
    
         
             
            end
         
     | 
| 
         @@ -53,17 +53,23 @@ class Integer 
     | 
|
| 
       53 
53 
     | 
    
         
             
                case endian
         
     | 
| 
       54 
54 
     | 
    
         
             
                when :little, :net
         
     | 
| 
       55 
55 
     | 
    
         
             
                  mask = 0xff
         
     | 
| 
      
 56 
     | 
    
         
            +
                  shift = 0
         
     | 
| 
       56 
57 
     | 
    
         | 
| 
       57 
58 
     | 
    
         
             
                  address_length.times do |i|
         
     | 
| 
       58 
     | 
    
         
            -
                    buffer << ((self & mask) >>  
     | 
| 
      
 59 
     | 
    
         
            +
                    buffer << ((self & mask) >> shift)
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
       59 
61 
     | 
    
         
             
                    mask <<= 8
         
     | 
| 
      
 62 
     | 
    
         
            +
                    shift += 8
         
     | 
| 
       60 
63 
     | 
    
         
             
                  end
         
     | 
| 
       61 
64 
     | 
    
         
             
                when :big
         
     | 
| 
       62 
     | 
    
         
            -
                   
     | 
| 
      
 65 
     | 
    
         
            +
                  shift = ((address_length - 1) * 8)
         
     | 
| 
      
 66 
     | 
    
         
            +
                  mask = (0xff << shift)
         
     | 
| 
       63 
67 
     | 
    
         | 
| 
       64 
68 
     | 
    
         
             
                  address_length.times do |i|
         
     | 
| 
       65 
     | 
    
         
            -
                    buffer << ((self & mask) >>  
     | 
| 
      
 69 
     | 
    
         
            +
                    buffer << ((self & mask) >> shift)
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
       66 
71 
     | 
    
         
             
                    mask >>= 8
         
     | 
| 
      
 72 
     | 
    
         
            +
                    shift -= 8
         
     | 
| 
       67 
73 
     | 
    
         
             
                  end
         
     | 
| 
       68 
74 
     | 
    
         
             
                else
         
     | 
| 
       69 
75 
     | 
    
         
             
                  raise(ArgumentError,"invalid endian #{endian}")
         
     | 
| 
         @@ -2,28 +2,28 @@ require 'spec_helper' 
     | 
|
| 
       2 
2 
     | 
    
         
             
            require 'ronin/extensions/kernel'
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
            describe Kernel do
         
     | 
| 
       5 
     | 
    
         
            -
              it "should provide Kernel# 
     | 
| 
       6 
     | 
    
         
            -
                Kernel.should respond_to(' 
     | 
| 
      
 5 
     | 
    
         
            +
              it "should provide Kernel#try" do
         
     | 
| 
      
 6 
     | 
    
         
            +
                Kernel.should respond_to('try')
         
     | 
| 
       7 
7 
     | 
    
         
             
              end
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
              describe "# 
     | 
| 
      
 9 
     | 
    
         
            +
              describe "#try" do
         
     | 
| 
       10 
10 
     | 
    
         
             
                it "should return the result of the block if nothing is raised" do
         
     | 
| 
       11 
     | 
    
         
            -
                   
     | 
| 
      
 11 
     | 
    
         
            +
                  try { 2 + 2 }.should == 4
         
     | 
| 
       12 
12 
     | 
    
         
             
                end
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                it "should return nil if an exception is raised" do
         
     | 
| 
       15 
     | 
    
         
            -
                   
     | 
| 
      
 15 
     | 
    
         
            +
                  try { 2 + 'a' }.should be_nil
         
     | 
| 
       16 
16 
     | 
    
         
             
                end
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
18 
     | 
    
         
             
                it "should rescue RuntimeError exceptions" do
         
     | 
| 
       19 
19 
     | 
    
         
             
                  lambda {
         
     | 
| 
       20 
     | 
    
         
            -
                     
     | 
| 
      
 20 
     | 
    
         
            +
                    try { raise(RuntimeError,"something happened",caller) }
         
     | 
| 
       21 
21 
     | 
    
         
             
                  }.should_not raise_error(RuntimeError)
         
     | 
| 
       22 
22 
     | 
    
         
             
                end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
                it "should rescue StandardError exceptions" do
         
     | 
| 
       25 
25 
     | 
    
         
             
                  lambda {
         
     | 
| 
       26 
     | 
    
         
            -
                     
     | 
| 
      
 26 
     | 
    
         
            +
                    try { raise(StandardError,"not allowed to do that",caller) }
         
     | 
| 
       27 
27 
     | 
    
         
             
                  }.should_not raise_error(StandardError)
         
     | 
| 
       28 
28 
     | 
    
         
             
                end
         
     | 
| 
       29 
29 
     | 
    
         
             
              end
         
     | 
| 
         @@ -167,11 +167,11 @@ describe String do 
     | 
|
| 
       167 
167 
     | 
    
         
             
                end
         
     | 
| 
       168 
168 
     | 
    
         | 
| 
       169 
169 
     | 
    
         
             
                it "should dump strings containing non-printable characters" do
         
     | 
| 
       170 
     | 
    
         
            -
                  "hello\x90\x05\ 
     | 
| 
      
 170 
     | 
    
         
            +
                  "hello\x90\x05\xEF".dump.should == '"hello\x90\x05\xEF"'
         
     | 
| 
       171 
171 
     | 
    
         
             
                end
         
     | 
| 
       172 
172 
     | 
    
         | 
| 
       173 
173 
     | 
    
         
             
                it "should dump the string when calling the inspect method" do
         
     | 
| 
       174 
     | 
    
         
            -
                  "hello\x90\x05\ 
     | 
| 
      
 174 
     | 
    
         
            +
                  "hello\x90\x05\xEF".inspect.should == '"hello\x90\x05\xEF"'
         
     | 
| 
       175 
175 
     | 
    
         
             
                end
         
     | 
| 
       176 
176 
     | 
    
         
             
              end
         
     | 
| 
       177 
177 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -2,7 +2,7 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
            name: ronin-support
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
4 
     | 
    
         
             
              prerelease: 6
         
     | 
| 
       5 
     | 
    
         
            -
              version: 0.2.0. 
     | 
| 
      
 5 
     | 
    
         
            +
              version: 0.2.0.rc2
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors: 
         
     | 
| 
       8 
8 
     | 
    
         
             
            - Postmodern
         
     | 
| 
         @@ -10,7 +10,7 @@ autorequire: 
     | 
|
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
     | 
    
         
            -
            date: 2011- 
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2011-06-07 00:00:00 Z
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       16 
16 
     | 
    
         
             
              name: chars
         
     | 
| 
         @@ -88,7 +88,7 @@ dependencies: 
     | 
|
| 
       88 
88 
     | 
    
         
             
                requirements: 
         
     | 
| 
       89 
89 
     | 
    
         
             
                - - ~>
         
     | 
| 
       90 
90 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       91 
     | 
    
         
            -
                    version: 0. 
     | 
| 
      
 91 
     | 
    
         
            +
                    version: 0.7.0
         
     | 
| 
       92 
92 
     | 
    
         
             
              type: :development
         
     | 
| 
       93 
93 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       94 
94 
     | 
    
         
             
              version_requirements: *id007
         
     |