Skip to content

Commit 1c57c00

Browse files
committed
Tab complete case insensitive module options too
1 parent 7d93d28 commit 1c57c00

File tree

1 file changed

+8
-6
lines changed
  • lib/msf/ui/console/command_dispatcher

1 file changed

+8
-6
lines changed

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2035,7 +2035,7 @@ def cmd_set_tabs(str, words)
20352035

20362036
unless str.blank?
20372037
res = res.select { |term| term.upcase.start_with?(str.upcase) }
2038-
res = res.map { |term| str << term[str.length..-1] }
2038+
res = res.map { |term| str + term[str.length..-1] }
20392039
end
20402040

20412041
return res
@@ -2735,6 +2735,8 @@ def tab_complete_option(str, words)
27352735
# Is this option used by the active module?
27362736
if (mod.options.include?(opt))
27372737
res.concat(option_values_dispatch(mod.options[opt], str, words))
2738+
elsif (mod.options.include?(opt.upcase))
2739+
res.concat(option_values_dispatch(mod.options[opt.upcase], str, words))
27382740
end
27392741

27402742
# How about the selected payload?
@@ -2779,8 +2781,8 @@ def option_values_dispatch(o, str, words)
27792781
when 'Msf::OptAddressRange'
27802782
case str
27812783
when /^file:(.*)/
2782-
files = tab_complete_filenames($1,words)
2783-
res += files.map { |f| "file:" << f } if files
2784+
files = tab_complete_filenames($1, words)
2785+
res += files.map { |f| "file:" + f } if files
27842786
when /\/$/
27852787
res << str+'32'
27862788
res << str+'24'
@@ -2813,7 +2815,7 @@ def option_values_dispatch(o, str, words)
28132815
end
28142816

28152817
when 'Msf::OptPath'
2816-
files = tab_complete_filenames(str,words)
2818+
files = tab_complete_filenames(str, words)
28172819
res += files if files
28182820

28192821
when 'Msf::OptBool'
@@ -2822,8 +2824,8 @@ def option_values_dispatch(o, str, words)
28222824

28232825
when 'Msf::OptString'
28242826
if (str =~ /^file:(.*)/)
2825-
files = tab_complete_filenames($1,words)
2826-
res += files.map { |f| "file:" << f } if files
2827+
files = tab_complete_filenames($1, words)
2828+
res += files.map { |f| "file:" + f } if files
28272829
end
28282830
end
28292831

0 commit comments

Comments
 (0)