pwn 0.4.695 → 0.4.697

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70b5ba0004d7791378ec5fcd656c39cca71f3a074e80a64eaf3aed243634ca6a
4
- data.tar.gz: a01badbcbe18333492f4b563bedd6c20b6c4604645dd773e0acf72bd71b500cc
3
+ metadata.gz: 2572514219bb53ad28d5bdb441d795b192a4f18b8bcf371652ef8661be793d06
4
+ data.tar.gz: 6afc53d56f23965bebfed008a7e7819457e6fc0face0daa5c4dd21110e1d7c9a
5
5
  SHA512:
6
- metadata.gz: 0fd88ba55522c645f697e69da1ecfbb867b0cc0a90f206272221a0ba8f5d29fdde8720d181494062b6a8d614209ef5a2c67b7e4d036424f5dc57547269f4e728
7
- data.tar.gz: fb1bd375593ca142ce9b52ee0956f5b5e9090a3c300271128bc5546111a24743df8df273c8e3d538c2288e1554e641a0c5dc7d7e101721da0234666e67fafc81
6
+ metadata.gz: 986d271d939c0652a3c8c8ba943a51c56884e95102faad3ee36393f0e3c275af78c3edcdb8cde327424ab487dcc60fd87522010e6e2f587132d88fbd384fc573
7
+ data.tar.gz: 5158e21c12952017324123711dfb88776bc802c10a6cc5519cf10bff9607a8147bf452cae98f9769971c6f7e77510899d37376aba95bbf8d19b1fcf23089488a
data/Gemfile CHANGED
@@ -49,6 +49,7 @@ gem 'net-openvpn', '0.8.7'
49
49
  gem 'net-smtp', '0.3.3'
50
50
  gem 'nexpose', '7.3.0'
51
51
  gem 'nokogiri', '1.15.0'
52
+ gem 'nokogiri-diff', '0.2.0'
52
53
  gem 'oily_png', '1.2.1'
53
54
  gem 'os', '1.1.4'
54
55
  gem 'packetfu', '1.1.13'
data/README.md CHANGED
@@ -37,7 +37,7 @@ $ rvm use ruby-3.2.2@pwn
37
37
  $ rvm list gemsets
38
38
  $ gem install --verbose pwn
39
39
  $ pwn
40
- pwn[v0.4.695]:001 >>> PWN.help
40
+ pwn[v0.4.697]:001 >>> PWN.help
41
41
  ```
42
42
 
43
43
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -52,7 +52,7 @@ $ rvm use ruby-3.2.2@pwn
52
52
  $ gem uninstall --all --executables pwn
53
53
  $ gem install --verbose pwn
54
54
  $ pwn
55
- pwn[v0.4.695]:001 >>> PWN.help
55
+ pwn[v0.4.697]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'nokogiri'
4
+ require 'nokogiri/diff'
5
5
  require 'optparse'
6
6
 
7
7
  opts = {}
@@ -32,14 +32,37 @@ begin
32
32
  x2_path = opts[:x2_path]
33
33
  diff_path = opts[:diff_path]
34
34
 
35
- x1 = Nokogiri::XML(File.open(x1_path))
36
- x2 = Nokogiri::XML(File.open(x2_path))
35
+ x1 = Nokogiri::XML(File.read(x1_path))
36
+ x2 = Nokogiri::XML(File.read(x2_path))
37
37
 
38
- diff = x1.diff(x2)
39
38
  diff_xml = Nokogiri::XML::Builder.new do |xml|
40
39
  xml.diff do
41
- diff.each do |change|
42
- xml.send(change.action, change.node.to_xml) unless change.action == '='
40
+ x1.root.traverse do |node|
41
+ next unless node.element?
42
+
43
+ node_name = node.name
44
+ node_x2 = x2.at_xpath(node.path)
45
+
46
+ if node_x2.nil?
47
+ xml.delete do
48
+ xml.send(node_name, node.attributes)
49
+ end
50
+ elsif node_x2 != node
51
+ xml.change do
52
+ xml.send(node_name, node.attributes)
53
+ end
54
+ end
55
+ end
56
+
57
+ x2.root.traverse do |node|
58
+ next unless node.element?
59
+
60
+ node_name = node.name
61
+ node_x1 = x1.at_xpath(node.path)
62
+
63
+ xml.add do
64
+ xml.send(node_name, node.attributes) if node_x1.nil?
65
+ end
43
66
  end
44
67
  end
45
68
  end
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.695'
4
+ VERSION = '0.4.697'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.695
4
+ version: 0.4.697
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -542,6 +542,20 @@ dependencies:
542
542
  - - '='
543
543
  - !ruby/object:Gem::Version
544
544
  version: 1.15.0
545
+ - !ruby/object:Gem::Dependency
546
+ name: nokogiri-diff
547
+ requirement: !ruby/object:Gem::Requirement
548
+ requirements:
549
+ - - '='
550
+ - !ruby/object:Gem::Version
551
+ version: 0.2.0
552
+ type: :runtime
553
+ prerelease: false
554
+ version_requirements: !ruby/object:Gem::Requirement
555
+ requirements:
556
+ - - '='
557
+ - !ruby/object:Gem::Version
558
+ version: 0.2.0
545
559
  - !ruby/object:Gem::Dependency
546
560
  name: oily_png
547
561
  requirement: !ruby/object:Gem::Requirement