pwn 0.4.781 → 0.4.782

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