rails_pwnerer 0.5.10 → 0.5.12
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 +4 -0
- data/Manifest +2 -0
- data/lib/pwnage/app/cluster_config.rb +1 -0
- data/lib/pwnage/app/main.rb +10 -4
- data/lib/pwnage/app/svn.rb +4 -0
- data/lib/pwnage/base/rails.rb +9 -0
- data/lib/pwnage/dev_executor.rb +2 -6
- data/lib/pwnage/executor.rb +3 -0
- data/lib/pwnage/scaffolds/sshd.rb +19 -0
- data/lib/rails_pwnerer.rb +2 -0
- data/rails_pwnerer.gemspec +7 -3
- metadata +6 -2
data/CHANGELOG
CHANGED
data/Manifest
CHANGED
@@ -15,6 +15,7 @@ lib/pwnage/base/gems.rb
|
|
15
15
|
lib/pwnage/base/hostname.rb
|
16
16
|
lib/pwnage/base/packages.rb
|
17
17
|
lib/pwnage/base/process.rb
|
18
|
+
lib/pwnage/base/rails.rb
|
18
19
|
lib/pwnage/base/startup.rb
|
19
20
|
lib/pwnage/base.rb
|
20
21
|
lib/pwnage/config/app.rb
|
@@ -34,6 +35,7 @@ lib/pwnage/scaffolds/hook_dyndns.rb
|
|
34
35
|
lib/pwnage/scaffolds/mysql_config.rb
|
35
36
|
lib/pwnage/scaffolds/packages.rb
|
36
37
|
lib/pwnage/scaffolds/rubygems.rb
|
38
|
+
lib/pwnage/scaffolds/sshd.rb
|
37
39
|
lib/rails_pwnerer.rb
|
38
40
|
LICENSE
|
39
41
|
Manifest
|
@@ -31,6 +31,7 @@ class RailsPwnage::App::ClusterConfig
|
|
31
31
|
when :alloc
|
32
32
|
app_config[:port0] = RailsPwnage::Config.alloc_ports app_config[:mongrels]
|
33
33
|
when :free
|
34
|
+
return if app_config[:port0] == 0 # do not release if ports have already been released
|
34
35
|
RailsPwnage::Config.free_ports app_config[:port0], app_config[:mongrels]
|
35
36
|
app_config[:port0] = 0
|
36
37
|
end
|
data/lib/pwnage/app/main.rb
CHANGED
@@ -16,10 +16,16 @@ module RailsPwnage::App
|
|
16
16
|
app_name = File.basename svn_path
|
17
17
|
instance_magic(app_name, instance_name) do |app, instance|
|
18
18
|
Config.new.alloc app, instance
|
19
|
-
Svn.new.checkout svn_path, app, instance
|
20
|
-
|
21
|
-
|
22
|
-
|
19
|
+
rails_root = Svn.new.checkout svn_path, app, instance
|
20
|
+
if rails_root
|
21
|
+
[Config, Svn, Gems, Database, ClusterConfig, NginxConfig].each do |mod|
|
22
|
+
mod.new.setup app, instance
|
23
|
+
end
|
24
|
+
else
|
25
|
+
[Svn, Config].each do |mod|
|
26
|
+
mod.new.remove app, instance
|
27
|
+
end
|
28
|
+
end
|
23
29
|
end
|
24
30
|
end
|
25
31
|
|
data/lib/pwnage/app/svn.rb
CHANGED
@@ -131,6 +131,10 @@ class RailsPwnage::App::Svn
|
|
131
131
|
def checkout(svn_path, app_name, instance_name)
|
132
132
|
app_path = RailsPwnage::Config[app_name, instance_name][:app_path]
|
133
133
|
system "svn co #{svn_path} #{app_path}"
|
134
|
+
# check that we really checked out a Rails app
|
135
|
+
sanity = check_rails_root app_path
|
136
|
+
print "You didn't checkout a Rails application. Check your path.\n" unless sanity
|
137
|
+
return sanity
|
134
138
|
end
|
135
139
|
|
136
140
|
def setup(app_name, instance_name)
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# extends Base with Rails-related functions
|
2
|
+
|
3
|
+
module RailsPwnage::Base
|
4
|
+
# check if the given path is the root of a Rails application
|
5
|
+
def check_rails_root(path = '.')
|
6
|
+
['app', 'config', 'db', 'lib', 'log', 'public',
|
7
|
+
'script', 'tmp', 'vendor', 'Rakefile'].all? { |dir| File.exists? File.join(path, dir) }
|
8
|
+
end
|
9
|
+
end
|
data/lib/pwnage/dev_executor.rb
CHANGED
@@ -1,11 +1,7 @@
|
|
1
1
|
require 'pp'
|
2
2
|
|
3
3
|
class RailsPwnage::DevExecutor
|
4
|
-
|
5
|
-
def at_app_root()
|
6
|
-
['app', 'config', 'db', 'lib', 'log', 'public',
|
7
|
-
'script', 'tmp', 'vendor', 'Rakefile'].all? { |dir| File.exists? dir }
|
8
|
-
end
|
4
|
+
include RailsPwnage::Base
|
9
5
|
|
10
6
|
def read_config(instance)
|
11
7
|
if instance == '*'
|
@@ -34,7 +30,7 @@ class RailsPwnage::DevExecutor
|
|
34
30
|
|
35
31
|
# standalone runner
|
36
32
|
def run(args)
|
37
|
-
unless
|
33
|
+
unless check_rails_root '.'
|
38
34
|
print "You need to run this at the root of your Rails application\n"
|
39
35
|
return
|
40
36
|
end
|
data/lib/pwnage/executor.rb
CHANGED
@@ -25,6 +25,8 @@ class RailsPwnage::Executor
|
|
25
25
|
when 'rubygems'
|
26
26
|
RubyGems.pre_go
|
27
27
|
RubyGems.go
|
28
|
+
when 'sshd'
|
29
|
+
Sshd.go
|
28
30
|
when 'ddns'
|
29
31
|
if args.length < 5
|
30
32
|
print 'Usage: rpwn scaffold ddns host_name user_name user_password'
|
@@ -34,6 +36,7 @@ class RailsPwnage::Executor
|
|
34
36
|
when nil
|
35
37
|
RubyGems.pre_go
|
36
38
|
Packages.go
|
39
|
+
Sshd.go
|
37
40
|
RubyGems.go
|
38
41
|
Gems.go
|
39
42
|
Dirs.go
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# configures sshd for tunneling (Facebook apps anyone?)
|
2
|
+
|
3
|
+
class RailsPwnage::Scaffolds::Sshd
|
4
|
+
include RailsPwnage::Base
|
5
|
+
|
6
|
+
# runner
|
7
|
+
def run
|
8
|
+
['/etc/ssh/sshd_config', '/etc/sshd_config'].each do |fname|
|
9
|
+
next unless File.exists? fname
|
10
|
+
File.open(fname, 'a') { |f| f.write "GatewayPorts clientspecified\n" }
|
11
|
+
control_boot_script('ssh', :reload)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# standalone runner
|
16
|
+
def self.go
|
17
|
+
self.new.run
|
18
|
+
end
|
19
|
+
end
|
data/lib/rails_pwnerer.rb
CHANGED
@@ -18,6 +18,7 @@ require 'pwnage/base/gems.rb'
|
|
18
18
|
require 'pwnage/base/hostname.rb'
|
19
19
|
require 'pwnage/base/packages.rb'
|
20
20
|
require 'pwnage/base/process.rb'
|
21
|
+
require 'pwnage/base/rails.rb'
|
21
22
|
require 'pwnage/base/startup.rb'
|
22
23
|
|
23
24
|
require 'pwnage/config/app.rb'
|
@@ -35,6 +36,7 @@ require 'pwnage/scaffolds/hook_dyndns.rb'
|
|
35
36
|
require 'pwnage/scaffolds/mysql_config.rb'
|
36
37
|
require 'pwnage/scaffolds/packages.rb'
|
37
38
|
require 'pwnage/scaffolds/rubygems.rb'
|
39
|
+
require 'pwnage/scaffolds/sshd.rb'
|
38
40
|
|
39
41
|
require 'pwnage/app/main.rb'
|
40
42
|
require 'pwnage/app/config.rb'
|
data/rails_pwnerer.gemspec
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
|
2
|
-
# Gem::Specification for Rails_pwnerer-0.5.
|
2
|
+
# Gem::Specification for Rails_pwnerer-0.5.12
|
3
3
|
# Originally generated by Echoe
|
4
4
|
|
5
5
|
--- !ruby/object:Gem::Specification
|
6
6
|
name: rails_pwnerer
|
7
7
|
version: !ruby/object:Gem::Version
|
8
|
-
version: 0.5.
|
8
|
+
version: 0.5.12
|
9
9
|
platform: ruby
|
10
10
|
authors:
|
11
11
|
- Victor Costan
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
|
15
|
-
date: 2008-08-
|
15
|
+
date: 2008-08-23 00:00:00 -04:00
|
16
16
|
default_executable:
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
@@ -51,6 +51,7 @@ extra_rdoc_files:
|
|
51
51
|
- lib/pwnage/base/hostname.rb
|
52
52
|
- lib/pwnage/base/packages.rb
|
53
53
|
- lib/pwnage/base/process.rb
|
54
|
+
- lib/pwnage/base/rails.rb
|
54
55
|
- lib/pwnage/base/startup.rb
|
55
56
|
- lib/pwnage/base.rb
|
56
57
|
- lib/pwnage/config/app.rb
|
@@ -70,6 +71,7 @@ extra_rdoc_files:
|
|
70
71
|
- lib/pwnage/scaffolds/mysql_config.rb
|
71
72
|
- lib/pwnage/scaffolds/packages.rb
|
72
73
|
- lib/pwnage/scaffolds/rubygems.rb
|
74
|
+
- lib/pwnage/scaffolds/sshd.rb
|
73
75
|
- lib/rails_pwnerer.rb
|
74
76
|
- LICENSE
|
75
77
|
- README
|
@@ -91,6 +93,7 @@ files:
|
|
91
93
|
- lib/pwnage/base/hostname.rb
|
92
94
|
- lib/pwnage/base/packages.rb
|
93
95
|
- lib/pwnage/base/process.rb
|
96
|
+
- lib/pwnage/base/rails.rb
|
94
97
|
- lib/pwnage/base/startup.rb
|
95
98
|
- lib/pwnage/base.rb
|
96
99
|
- lib/pwnage/config/app.rb
|
@@ -110,6 +113,7 @@ files:
|
|
110
113
|
- lib/pwnage/scaffolds/mysql_config.rb
|
111
114
|
- lib/pwnage/scaffolds/packages.rb
|
112
115
|
- lib/pwnage/scaffolds/rubygems.rb
|
116
|
+
- lib/pwnage/scaffolds/sshd.rb
|
113
117
|
- lib/rails_pwnerer.rb
|
114
118
|
- LICENSE
|
115
119
|
- Manifest
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_pwnerer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Costan
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-08-
|
12
|
+
date: 2008-08-23 00:00:00 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -48,6 +48,7 @@ extra_rdoc_files:
|
|
48
48
|
- lib/pwnage/base/hostname.rb
|
49
49
|
- lib/pwnage/base/packages.rb
|
50
50
|
- lib/pwnage/base/process.rb
|
51
|
+
- lib/pwnage/base/rails.rb
|
51
52
|
- lib/pwnage/base/startup.rb
|
52
53
|
- lib/pwnage/base.rb
|
53
54
|
- lib/pwnage/config/app.rb
|
@@ -67,6 +68,7 @@ extra_rdoc_files:
|
|
67
68
|
- lib/pwnage/scaffolds/mysql_config.rb
|
68
69
|
- lib/pwnage/scaffolds/packages.rb
|
69
70
|
- lib/pwnage/scaffolds/rubygems.rb
|
71
|
+
- lib/pwnage/scaffolds/sshd.rb
|
70
72
|
- lib/rails_pwnerer.rb
|
71
73
|
- LICENSE
|
72
74
|
- README
|
@@ -88,6 +90,7 @@ files:
|
|
88
90
|
- lib/pwnage/base/hostname.rb
|
89
91
|
- lib/pwnage/base/packages.rb
|
90
92
|
- lib/pwnage/base/process.rb
|
93
|
+
- lib/pwnage/base/rails.rb
|
91
94
|
- lib/pwnage/base/startup.rb
|
92
95
|
- lib/pwnage/base.rb
|
93
96
|
- lib/pwnage/config/app.rb
|
@@ -107,6 +110,7 @@ files:
|
|
107
110
|
- lib/pwnage/scaffolds/mysql_config.rb
|
108
111
|
- lib/pwnage/scaffolds/packages.rb
|
109
112
|
- lib/pwnage/scaffolds/rubygems.rb
|
113
|
+
- lib/pwnage/scaffolds/sshd.rb
|
110
114
|
- lib/rails_pwnerer.rb
|
111
115
|
- LICENSE
|
112
116
|
- Manifest
|