Skip to content

Commit 6793dd2

Browse files
committed
Land rapid7#8711, Update stdin processing in resource scripting
2 parents 59de7d3 + 18c9ac7 commit 6793dd2

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

lib/msf/ui/console/command_dispatcher/resource.rb

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ def name
3737
def cmd_resource_help
3838
print_line "Usage: resource path1 [path2 ...]"
3939
print_line
40-
print_line "Run the commands stored in the supplied files. Resource files may also contain"
41-
print_line "ruby code between <ruby></ruby> tags."
40+
print_line "Run the commands stored in the supplied files (- for stdin)."
41+
print_line "Resource files may also contain ERB or Ruby code between <ruby></ruby> tags."
4242
print_line
4343
print_line "See also: makerc"
4444
print_line
@@ -52,21 +52,23 @@ def cmd_resource(*args)
5252

5353
args.each do |res|
5454
good_res = nil
55-
if ::File.exist?(res)
55+
if res == '-'
56+
good_res = res
57+
elsif ::File.exist?(res)
5658
good_res = res
5759
elsif
5860
# let's check to see if it's in the scripts/resource dir (like when tab completed)
59-
[
60-
::Msf::Config.script_directory + ::File::SEPARATOR + "resource",
61-
::Msf::Config.user_script_directory + ::File::SEPARATOR + "resource"
62-
].each do |dir|
63-
res_path = dir + ::File::SEPARATOR + res
64-
if ::File.exist?(res_path)
65-
good_res = res_path
66-
break
61+
[
62+
::Msf::Config.script_directory + ::File::SEPARATOR + "resource",
63+
::Msf::Config.user_script_directory + ::File::SEPARATOR + "resource"
64+
].each do |dir|
65+
res_path = dir + ::File::SEPARATOR + res
66+
if ::File.exist?(res_path)
67+
good_res = res_path
68+
break
69+
end
6770
end
6871
end
69-
end
7072
if good_res
7173
driver.load_resource(good_res)
7274
else

0 commit comments

Comments
 (0)