pwn 0.4.781 → 0.4.782

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: 121672a13a6ed2a9612bdff41f5a6d3a9b2738c0d0786f6280b9b7b9b4da8cc3
4
- data.tar.gz: c32e53c870610a547ebd1e24a2eaf741a71aeadf5f3368cf007a4b1abdb2d23b
3
+ metadata.gz: 1450ae82baf714135135ab6704a4e64b727a2f736cae7e32f4a12e6f24fca5bf
4
+ data.tar.gz: 608fb1826e49e092b84872842d2c0c407a5d3993aaa64364714fcc9073ca61c4
5
5
  SHA512:
6
- metadata.gz: ee8d7b6ecda36fe032d27b1f4dff3925046a35cb37dae7eb5657875c69251113f7432542ec5f5301f0fea98c26629f2b285eedacf6c108734753af583f3b57d5
7
- data.tar.gz: 2460e3f9557132f856d3be6c6578b2ddffaad22e9145f786cfbe5520c1000a3744290db3524859bc2509dabd8f5205e5f6a546286c338ea5f806b604199a82a4
6
+ metadata.gz: 51cd7e78554f70f786fef5eab7025d8395fd954162887cfb4bd990abc36664b89198bc32f76bf68a22b665375c5b113cca3e8abf540d68d1270ec780310c76fc
7
+ data.tar.gz: 1686ea1951933bda3152f39293d9291bfde83ae49acdf6484094e6451c5e5a1a39091ab45a380da16c87339808bbcd45c166ba786be7fafb6108b3817958132f
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.781]:001 >>> PWN.help
40
+ pwn[v0.4.782]: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.781]:001 >>> PWN.help
55
+ pwn[v0.4.782]:001 >>> PWN.help
56
56
  ```
57
57
 
58
58
 
@@ -28,7 +28,7 @@ OptionParser.new do |options|
28
28
  opts[:plugins] = plugins
29
29
  end
30
30
 
31
- options.on('-L', '--[no-]list-available', '<Optional - List Available Jenkins Plugins for Installation>') do |list_available_bool|
31
+ options.on('-L', '--list-available', '<Optional - List Available Jenkins Plugins for Installation>') do |list_available_bool|
32
32
  opts[:list_available_bool] = list_available_bool
33
33
  end
34
34
 
@@ -42,54 +42,52 @@ if opts.empty?
42
42
  exit 1
43
43
  end
44
44
 
45
- ip = opts[:ip].to_s.scrub
46
- port = opts[:port].to_i
47
- username = opts[:username]
48
- api_key = opts[:api_key]
49
- plugins = opts[:plugins].to_s.scrub
50
- list_available_bool = if opts[:list_available_bool]
51
- true
52
- else
53
- false
54
- end
45
+ begin
46
+ ip = opts[:ip].to_s.scrub
47
+ port = opts[:port].to_i
48
+ username = opts[:username]
49
+ api_key = opts[:api_key]
50
+ plugins = opts[:plugins].to_s.scrub
51
+ list_available_bool = true if opts[:list_available_bool] ||= false
52
+ restart_jenkins = true if opts[:restart_jenkins] ||= false
53
+
54
+ if port.positive?
55
+ jenkins_obj = PWN::Plugins::Jenkins.connect(
56
+ ip: ip,
57
+ port: port,
58
+ username: username,
59
+ api_key: api_key
60
+ )
61
+ else
62
+ jenkins_obj = PWN::Plugins::Jenkins.connect(
63
+ ip: ip,
64
+ username: username,
65
+ api_key: api_key
66
+ )
67
+ end
55
68
 
56
- restart_jenkins = true if opts[:restart_jenkins] ||= false
57
- if restart_jenkins
58
- puts 'Restarting Jenkins...'
59
- jenkins_obj.system.restart
60
- exit 0
61
- end
69
+ if restart_jenkins
70
+ puts 'Restarting Jenkins...'
71
+ jenkins_obj.system.restart
72
+ exit 0
73
+ end
62
74
 
63
- if port.positive?
64
- jenkins_obj = PWN::Plugins::Jenkins.connect(
65
- ip: ip,
66
- port: port,
67
- username: username,
68
- api_key: api_key
69
- )
70
- else
71
- jenkins_obj = PWN::Plugins::Jenkins.connect(
72
- ip: ip,
73
- username: username,
74
- api_key: api_key
75
- )
76
- end
75
+ if list_available_bool
76
+ puts jenkins_obj.plugin.list_available
77
+ else
78
+ plugin_arr = []
79
+ plugins.split(',').each do |p|
80
+ plugin_arr.push(p.strip.chomp)
81
+ end
77
82
 
78
- if list_available_bool
79
- puts jenkins_obj.plugin.list_available
80
- else
81
- plugin_arr = []
82
- plugins.split(',').each do |p|
83
- plugin_arr.push(p.strip.chomp)
83
+ jenkins_obj.plugin.install(plugin_arr)
84
84
  end
85
-
86
- # In Reference to https://github.com/arangamani/jenkins_api_client/issues/287
87
- # Bug in RubyGem jenkins_api_client 1.5.3 when interacting w/ Jenkins > 2.190
88
- # i.e.
89
- # Crumbs turned on...
90
- # JenkinsApi::Exceptions::Forbidden: Access Denied...
91
- # Crumb expired...
92
- jenkins_obj.plugin.install(plugin_arr)
85
+ rescue Interrupt
86
+ puts "\nGoodbye."
87
+ rescue JenkinsApi::Exceptions::ServiceUnavailable
88
+ puts 'Jenkins Server Unavailable.' unless restart_jenkins
89
+ rescue StandardError => e
90
+ raise e
91
+ ensure
92
+ PWN::Plugins::Jenkins.disconnect(jenkins_obj: jenkins_obj) unless restart_jenkins
93
93
  end
94
-
95
- PWN::Plugins::Jenkins.disconnect(jenkins_obj: jenkins_obj)
@@ -23,20 +23,12 @@ module PWN
23
23
 
24
24
  public_class_method def self.connect(opts = {})
25
25
  ip = opts[:ip]
26
- port = if opts[:port]
27
- opts[:port].to_i
28
- else
29
- 8080
30
- end
26
+ port = opts[:port].to_i ||= 8888
31
27
  username = opts[:username].to_s.scrub
32
28
  base_jenkins_api_uri = "https://#{ip}/ase/services".to_s.scrub
33
29
  api_key = opts[:api_key].to_s.scrub
34
30
  identity_file = opts[:identity_file].to_s.scrub
35
- ssl_bool = if opts[:ssl] == true
36
- opts[:ssl]
37
- else
38
- false
39
- end
31
+ ssl_bool = true if opts[:ssl] ||= false
40
32
 
41
33
  if opts[:proxy]
42
34
  proxy = URI(opts[:proxy])
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.781'
4
+ VERSION = '0.4.782'
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.781
4
+ version: 0.4.782
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.