pwn 0.4.695 → 0.4.697

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 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