7118 lines
445 KiB
HTML
7118 lines
445 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>
|
||
Class: Msf::Plugin::Wmap::WmapCommandDispatcher
|
||
|
||
— Documentation by YARD 0.9.37
|
||
|
||
</title>
|
||
|
||
<link rel="stylesheet" href="../../../css/style.css" type="text/css" />
|
||
|
||
<link rel="stylesheet" href="../../../css/common.css" type="text/css" />
|
||
|
||
<script type="text/javascript">
|
||
pathId = "Msf::Plugin::Wmap::WmapCommandDispatcher";
|
||
relpath = '../../../';
|
||
</script>
|
||
|
||
|
||
<script type="text/javascript" charset="utf-8" src="../../../js/jquery.js"></script>
|
||
|
||
<script type="text/javascript" charset="utf-8" src="../../../js/app.js"></script>
|
||
|
||
|
||
</head>
|
||
<body>
|
||
<div class="nav_wrap">
|
||
<iframe id="nav" src="../../../class_list.html?1"></iframe>
|
||
<div id="resizer"></div>
|
||
</div>
|
||
|
||
<div id="main" tabindex="-1">
|
||
<div id="header">
|
||
<div id="menu">
|
||
|
||
<a href="../../../_index.html">Index (W)</a> »
|
||
<span class='title'><span class='object_link'><a href="../../../Msf.html" title="Msf (module)">Msf</a></span></span> » <span class='title'><span class='object_link'><a href="../../Plugin.html" title="Msf::Plugin (class)">Plugin</a></span></span> » <span class='title'><span class='object_link'><a href="../Wmap.html" title="Msf::Plugin::Wmap (class)">Wmap</a></span></span>
|
||
»
|
||
<span class="title">WmapCommandDispatcher</span>
|
||
|
||
</div>
|
||
|
||
<div id="search">
|
||
|
||
<a class="full_list_link" id="class_list_link"
|
||
href="../../../class_list.html">
|
||
|
||
<svg width="24" height="24">
|
||
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
||
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
||
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
||
</svg>
|
||
</a>
|
||
|
||
</div>
|
||
<div class="clear"></div>
|
||
</div>
|
||
|
||
<div id="content"><h1>Class: Msf::Plugin::Wmap::WmapCommandDispatcher
|
||
|
||
|
||
|
||
</h1>
|
||
<div class="box_info">
|
||
|
||
<dl>
|
||
<dt>Inherits:</dt>
|
||
<dd>
|
||
<span class="inheritName">Object</span>
|
||
|
||
<ul class="fullTree">
|
||
<li>Object</li>
|
||
|
||
<li class="next">Msf::Plugin::Wmap::WmapCommandDispatcher</li>
|
||
|
||
</ul>
|
||
<a href="#" class="inheritanceTree">show all</a>
|
||
|
||
</dd>
|
||
</dl>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<dl>
|
||
<dt>Includes:</dt>
|
||
<dd><span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html" title="Msf::Ui::Console::CommandDispatcher (module)">Ui::Console::CommandDispatcher</a></span></dd>
|
||
</dl>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<dl>
|
||
<dt>Defined in:</dt>
|
||
<dd>plugins/wmap.rb</dd>
|
||
</dl>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
||
<ul class="summary">
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#killwhenstop-instance_method" title="#killwhenstop (instance method)">#<strong>killwhenstop</strong> ⇒ Boolean </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Kill process when exiting.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#lastsites-instance_method" title="#lastsites (instance method)">#<strong>lastsites</strong> ⇒ Array </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Temp location of previously obtained sites.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#masstop-instance_method" title="#masstop (instance method)">#<strong>masstop</strong> ⇒ Boolean </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Flag to stop everything.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#njobs-instance_method" title="#njobs (instance method)">#<strong>njobs</strong> ⇒ Integer </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Max number of jobs.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#nmaxdisplay-instance_method" title="#nmaxdisplay (instance method)">#<strong>nmaxdisplay</strong> ⇒ Boolean </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Flag to stop displaying the same message.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpcarr-instance_method" title="#rpcarr (instance method)">#<strong>rpcarr</strong> ⇒ Array </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Array or rpc connections.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#runlocal-instance_method" title="#runlocal (instance method)">#<strong>runlocal</strong> ⇒ Boolean </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Flag to run local modules only.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#targets-instance_method" title="#targets (instance method)">#<strong>targets</strong> ⇒ Hash </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>WMAP targets.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#wmapmodules-instance_method" title="#wmapmodules (instance method)">#<strong>wmapmodules</strong> ⇒ Array </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Enabled WMAP modules.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
|
||
<h3 class="inherited">Attributes included from <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html" title="Msf::Ui::Console::CommandDispatcher (module)">Ui::Console::CommandDispatcher</a></span></h3>
|
||
<p class="inherited"><span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#driver-instance_method" title="Msf::Ui::Console::CommandDispatcher#driver (method)">#driver</a></span></p>
|
||
|
||
|
||
|
||
<h3 class="inherited">Attributes included from <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher (module)">Rex::Ui::Text::DispatcherShell::CommandDispatcher</a></span></h3>
|
||
<p class="inherited"><span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#shell-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#shell (method)">#shell</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#tab_complete_items-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#tab_complete_items (method)">#tab_complete_items</a></span></p>
|
||
|
||
|
||
|
||
<h2>
|
||
Instance Method Summary
|
||
<small><a href="#" class="summary_toggle">collapse</a></small>
|
||
</h2>
|
||
|
||
<ul class="summary">
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#active_rpc_nodes-instance_method" title="#active_rpc_nodes (instance method)">#<strong>active_rpc_nodes</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#add_web_site-instance_method" title="#add_web_site (instance method)">#<strong>add_web_site</strong>(url) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Reusing code from hdmoore.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#cmd_wmap_modules-instance_method" title="#cmd_wmap_modules (instance method)">#<strong>cmd_wmap_modules</strong>(*args) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#cmd_wmap_nodes-instance_method" title="#cmd_wmap_nodes (instance method)">#<strong>cmd_wmap_nodes</strong>(*args) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#cmd_wmap_run-instance_method" title="#cmd_wmap_run (instance method)">#<strong>cmd_wmap_run</strong>(*args) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#cmd_wmap_sites-instance_method" title="#cmd_wmap_sites (instance method)">#<strong>cmd_wmap_sites</strong>(*args) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#cmd_wmap_targets-instance_method" title="#cmd_wmap_targets (instance method)">#<strong>cmd_wmap_targets</strong>(*args) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#cmd_wmap_vulns-instance_method" title="#cmd_wmap_vulns (instance method)">#<strong>cmd_wmap_vulns</strong>(*args) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#commands-instance_method" title="#commands (instance method)">#<strong>commands</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>The initial command set.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#delete_sites-instance_method" title="#delete_sites (instance method)">#<strong>delete_sites</strong>(wmap_index) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#load_tree-instance_method" title="#load_tree (instance method)">#<strong>load_tree</strong>(s) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Load website structure into a tree.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#load_tree_core-instance_method" title="#load_tree_core (instance method)">#<strong>load_tree_core</strong>(req, wtree) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Private function to avoid duplicate code.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#load_wmap_modules-instance_method" title="#load_wmap_modules (instance method)">#<strong>load_wmap_modules</strong>(reload) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Load all wmap modules.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#local_module_exec-instance_method" title="#local_module_exec (instance method)">#<strong>local_module_exec</strong>(mod, mtype, opts, _nmaxjobs) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#name-instance_method" title="#name (instance method)">#<strong>name</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#print_file-instance_method" title="#print_file (instance method)">#<strong>print_file</strong>(filename) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#print_tree-instance_method" title="#print_tree (instance method)">#<strong>print_tree</strong>(tree, ip, max_level, unicode) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Print Tree structure.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#print_tree_recursive-instance_method" title="#print_tree_recursive (instance method)">#<strong>print_tree_recursive</strong>(tree, max_level, indent, prefix, is_last, unicode) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Recursive function for printing the tree structure.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#process_ids-instance_method" title="#process_ids (instance method)">#<strong>process_ids</strong>(idsstr) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Code by hdm.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#process_urls-instance_method" title="#process_urls (instance method)">#<strong>process_urls</strong>(urlstr) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Code by hdm.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#queryparse-instance_method" title="#queryparse (instance method)">#<strong>queryparse</strong>(query) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#quit%3F-instance_method" title="#quit? (instance method)">#<strong>quit?</strong> ⇒ Boolean </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Modified from <a href="http://stackoverflow.com/questions/946738/detect-key-press-non-blocking-w-o-getc-gets-in-ruby">stackoverflow.com/questions/946738/detect-key-press-non-blocking-w-o-getc-gets-in-ruby</a>.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpc_add_node-instance_method" title="#rpc_add_node (instance method)">#<strong>rpc_add_node</strong>(host, port, ssl, user, pass, bypass_exist) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpc_db_nodes-instance_method" title="#rpc_db_nodes (instance method)">#<strong>rpc_db_nodes</strong>(host, port, user, pass, name) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpc_kill_node-instance_method" title="#rpc_kill_node (instance method)">#<strong>rpc_kill_node</strong>(i, j) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpc_list_nodes-instance_method" title="#rpc_list_nodes (instance method)">#<strong>rpc_list_nodes</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpc_mon_nodes-instance_method" title="#rpc_mon_nodes (instance method)">#<strong>rpc_mon_nodes</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpc_reconnect_nodes-instance_method" title="#rpc_reconnect_nodes (instance method)">#<strong>rpc_reconnect_nodes</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpc_round_exec-instance_method" title="#rpc_round_exec (instance method)">#<strong>rpc_round_exec</strong>(mod, mtype, opts, nmaxjobs) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#rpc_view_jobs-instance_method" title="#rpc_view_jobs (instance method)">#<strong>rpc_view_jobs</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#signature-instance_method" title="#signature (instance method)">#<strong>signature</strong>(fpath, fquery) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Signature of the form ‘,p1,p2,pn’ then to be appended to path: path,p1,p2,pn.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#sort_by_orderid-instance_method" title="#sort_by_orderid (instance method)">#<strong>sort_by_orderid</strong>(matches) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'>
|
||
<p>Sort hash by orderid Yes sorting hashes dont make sense but actually it does when you are enumerating one.</p>
|
||
</div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#view_modules-instance_method" title="#view_modules (instance method)">#<strong>view_modules</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#view_site_tree-instance_method" title="#view_site_tree (instance method)">#<strong>view_site_tree</strong>(urlstr, md, ld) ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#view_sites-instance_method" title="#view_sites (instance method)">#<strong>view_sites</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#view_targets-instance_method" title="#view_targets (instance method)">#<strong>view_targets</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
<li class="public ">
|
||
<span class="summary_signature">
|
||
|
||
<a href="#view_vulns-instance_method" title="#view_vulns (instance method)">#<strong>view_vulns</strong> ⇒ Object </a>
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<span class="summary_desc"><div class='inline'></div></span>
|
||
|
||
</li>
|
||
|
||
|
||
</ul>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h3 class="inherited">Methods included from <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html" title="Msf::Ui::Console::CommandDispatcher (module)">Ui::Console::CommandDispatcher</a></span></h3>
|
||
<p class="inherited"><span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#active_module-instance_method" title="Msf::Ui::Console::CommandDispatcher#active_module (method)">#active_module</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#active_module=-instance_method" title="Msf::Ui::Console::CommandDispatcher#active_module= (method)">#active_module=</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#active_session-instance_method" title="Msf::Ui::Console::CommandDispatcher#active_session (method)">#active_session</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#active_session=-instance_method" title="Msf::Ui::Console::CommandDispatcher#active_session= (method)">#active_session=</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#build_range_array-instance_method" title="Msf::Ui::Console::CommandDispatcher#build_range_array (method)">#build_range_array</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#docs_dir-instance_method" title="Msf::Ui::Console::CommandDispatcher#docs_dir (method)">#docs_dir</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#framework-instance_method" title="Msf::Ui::Console::CommandDispatcher#framework (method)">#framework</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#initialize-instance_method" title="Msf::Ui::Console::CommandDispatcher#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#load_config-instance_method" title="Msf::Ui::Console::CommandDispatcher#load_config (method)">#load_config</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#log_error-instance_method" title="Msf::Ui::Console::CommandDispatcher#log_error (method)">#log_error</a></span>, <span class='object_link'><a href="../../Ui/Console/CommandDispatcher.html#remove_lines-instance_method" title="Msf::Ui::Console::CommandDispatcher#remove_lines (method)">#remove_lines</a></span></p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h3 class="inherited">Methods included from <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher (module)">Rex::Ui::Text::DispatcherShell::CommandDispatcher</a></span></h3>
|
||
<p class="inherited"><span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#cmd_help-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#cmd_help (method)">#cmd_help</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#cmd_help_help-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#cmd_help_help (method)">#cmd_help_help</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#cmd_help_tabs-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#cmd_help_tabs (method)">#cmd_help_tabs</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#deprecated_cmd-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#deprecated_cmd (method)">#deprecated_cmd</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#deprecated_commands-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#deprecated_commands (method)">#deprecated_commands</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#deprecated_help-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#deprecated_help (method)">#deprecated_help</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#docs_dir-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#docs_dir (method)">#docs_dir</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#help_to_s-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#help_to_s (method)">#help_to_s</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#included-class_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher.included (method)">included</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#initialize-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#print-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#print (method)">#print</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#print_error-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#print_error (method)">#print_error</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#print_good-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#print_good (method)">#print_good</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#print_line-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#print_line (method)">#print_line</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#print_status-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#print_status (method)">#print_status</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#print_warning-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#print_warning (method)">#print_warning</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#tab_complete_directory-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#tab_complete_directory (method)">#tab_complete_directory</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#tab_complete_filenames-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#tab_complete_filenames (method)">#tab_complete_filenames</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#tab_complete_generic-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#tab_complete_generic (method)">#tab_complete_generic</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#tab_complete_source_address-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#tab_complete_source_address (method)">#tab_complete_source_address</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#unknown_command-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#unknown_command (method)">#unknown_command</a></span>, <span class='object_link'><a href="../../../Rex/Ui/Text/DispatcherShell/CommandDispatcher.html#update_prompt-instance_method" title="Rex::Ui::Text::DispatcherShell::CommandDispatcher#update_prompt (method)">#update_prompt</a></span></p>
|
||
|
||
<div id="instance_attr_details" class="attr_details">
|
||
<h2>Instance Attribute Details</h2>
|
||
|
||
|
||
<span id="killwhenstop=-instance_method"></span>
|
||
<div class="method_details first">
|
||
<h3 class="signature first" id="killwhenstop-instance_method">
|
||
|
||
#<strong>killwhenstop</strong> ⇒ <tt>Boolean</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns Kill process when exiting.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Boolean</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>Kill process when exiting</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:wmapmodules</span><span class='comma'>,</span> <span class='symbol'>:targets</span><span class='comma'>,</span> <span class='symbol'>:lastsites</span><span class='comma'>,</span> <span class='symbol'>:rpcarr</span><span class='comma'>,</span> <span class='symbol'>:njobs</span><span class='comma'>,</span> <span class='symbol'>:nmaxdisplay</span><span class='comma'>,</span> <span class='symbol'>:runlocal</span><span class='comma'>,</span> <span class='symbol'>:masstop</span><span class='comma'>,</span> <span class='symbol'>:killwhenstop</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<span id="lastsites=-instance_method"></span>
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="lastsites-instance_method">
|
||
|
||
#<strong>lastsites</strong> ⇒ <tt>Array</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns Temp location of previously obtained sites.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Array</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>Temp location of previously obtained sites</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:wmapmodules</span><span class='comma'>,</span> <span class='symbol'>:targets</span><span class='comma'>,</span> <span class='symbol'>:lastsites</span><span class='comma'>,</span> <span class='symbol'>:rpcarr</span><span class='comma'>,</span> <span class='symbol'>:njobs</span><span class='comma'>,</span> <span class='symbol'>:nmaxdisplay</span><span class='comma'>,</span> <span class='symbol'>:runlocal</span><span class='comma'>,</span> <span class='symbol'>:masstop</span><span class='comma'>,</span> <span class='symbol'>:killwhenstop</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<span id="masstop=-instance_method"></span>
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="masstop-instance_method">
|
||
|
||
#<strong>masstop</strong> ⇒ <tt>Boolean</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns Flag to stop everything.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Boolean</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>Flag to stop everything</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:wmapmodules</span><span class='comma'>,</span> <span class='symbol'>:targets</span><span class='comma'>,</span> <span class='symbol'>:lastsites</span><span class='comma'>,</span> <span class='symbol'>:rpcarr</span><span class='comma'>,</span> <span class='symbol'>:njobs</span><span class='comma'>,</span> <span class='symbol'>:nmaxdisplay</span><span class='comma'>,</span> <span class='symbol'>:runlocal</span><span class='comma'>,</span> <span class='symbol'>:masstop</span><span class='comma'>,</span> <span class='symbol'>:killwhenstop</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<span id="njobs=-instance_method"></span>
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="njobs-instance_method">
|
||
|
||
#<strong>njobs</strong> ⇒ <tt>Integer</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns Max number of jobs.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Integer</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>Max number of jobs</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:wmapmodules</span><span class='comma'>,</span> <span class='symbol'>:targets</span><span class='comma'>,</span> <span class='symbol'>:lastsites</span><span class='comma'>,</span> <span class='symbol'>:rpcarr</span><span class='comma'>,</span> <span class='symbol'>:njobs</span><span class='comma'>,</span> <span class='symbol'>:nmaxdisplay</span><span class='comma'>,</span> <span class='symbol'>:runlocal</span><span class='comma'>,</span> <span class='symbol'>:masstop</span><span class='comma'>,</span> <span class='symbol'>:killwhenstop</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<span id="nmaxdisplay=-instance_method"></span>
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="nmaxdisplay-instance_method">
|
||
|
||
#<strong>nmaxdisplay</strong> ⇒ <tt>Boolean</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns Flag to stop displaying the same message.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Boolean</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>Flag to stop displaying the same message</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:wmapmodules</span><span class='comma'>,</span> <span class='symbol'>:targets</span><span class='comma'>,</span> <span class='symbol'>:lastsites</span><span class='comma'>,</span> <span class='symbol'>:rpcarr</span><span class='comma'>,</span> <span class='symbol'>:njobs</span><span class='comma'>,</span> <span class='symbol'>:nmaxdisplay</span><span class='comma'>,</span> <span class='symbol'>:runlocal</span><span class='comma'>,</span> <span class='symbol'>:masstop</span><span class='comma'>,</span> <span class='symbol'>:killwhenstop</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<span id="rpcarr=-instance_method"></span>
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpcarr-instance_method">
|
||
|
||
#<strong>rpcarr</strong> ⇒ <tt>Array</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns Array or rpc connections.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Array</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>Array or rpc connections</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:wmapmodules</span><span class='comma'>,</span> <span class='symbol'>:targets</span><span class='comma'>,</span> <span class='symbol'>:lastsites</span><span class='comma'>,</span> <span class='symbol'>:rpcarr</span><span class='comma'>,</span> <span class='symbol'>:njobs</span><span class='comma'>,</span> <span class='symbol'>:nmaxdisplay</span><span class='comma'>,</span> <span class='symbol'>:runlocal</span><span class='comma'>,</span> <span class='symbol'>:masstop</span><span class='comma'>,</span> <span class='symbol'>:killwhenstop</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<span id="runlocal=-instance_method"></span>
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="runlocal-instance_method">
|
||
|
||
#<strong>runlocal</strong> ⇒ <tt>Boolean</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns Flag to run local modules only.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Boolean</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>Flag to run local modules only</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:wmapmodules</span><span class='comma'>,</span> <span class='symbol'>:targets</span><span class='comma'>,</span> <span class='symbol'>:lastsites</span><span class='comma'>,</span> <span class='symbol'>:rpcarr</span><span class='comma'>,</span> <span class='symbol'>:njobs</span><span class='comma'>,</span> <span class='symbol'>:nmaxdisplay</span><span class='comma'>,</span> <span class='symbol'>:runlocal</span><span class='comma'>,</span> <span class='symbol'>:masstop</span><span class='comma'>,</span> <span class='symbol'>:killwhenstop</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<span id="targets=-instance_method"></span>
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="targets-instance_method">
|
||
|
||
#<strong>targets</strong> ⇒ <tt>Hash</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns WMAP targets.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Hash</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>WMAP targets</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:wmapmodules</span><span class='comma'>,</span> <span class='symbol'>:targets</span><span class='comma'>,</span> <span class='symbol'>:lastsites</span><span class='comma'>,</span> <span class='symbol'>:rpcarr</span><span class='comma'>,</span> <span class='symbol'>:njobs</span><span class='comma'>,</span> <span class='symbol'>:nmaxdisplay</span><span class='comma'>,</span> <span class='symbol'>:runlocal</span><span class='comma'>,</span> <span class='symbol'>:masstop</span><span class='comma'>,</span> <span class='symbol'>:killwhenstop</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
|
||
<span id="wmapmodules=-instance_method"></span>
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="wmapmodules-instance_method">
|
||
|
||
#<strong>wmapmodules</strong> ⇒ <tt>Array</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Returns Enabled WMAP modules.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Array</tt>)</span>
|
||
|
||
|
||
|
||
—
|
||
<div class='inline'>
|
||
<p>Enabled WMAP modules</p>
|
||
</div>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
31
|
||
32
|
||
33</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 31</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_wmapmodules'>wmapmodules</span>
|
||
<span class='ivar'>@wmapmodules</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
<div id="instance_method_details" class="method_details_list">
|
||
<h2>Instance Method Details</h2>
|
||
|
||
|
||
<div class="method_details first">
|
||
<h3 class="signature first" id="active_rpc_nodes-instance_method">
|
||
|
||
#<strong>active_rpc_nodes</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
2138
|
||
2139
|
||
2140
|
||
2141
|
||
2142
|
||
2143
|
||
2144
|
||
2145
|
||
2146
|
||
2147
|
||
2148
|
||
2149</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 2138</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_active_rpc_nodes'>active_rpc_nodes</span>
|
||
<span class='kw'>return</span> <span class='int'>0</span> <span class='kw'>if</span> <span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid__k'>_k</span><span class='comma'>,</span> <span class='id identifier rubyid_conn'>conn</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_conn'>conn</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="add_web_site-instance_method">
|
||
|
||
#<strong>add_web_site</strong>(url) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Reusing code from hdmoore</p>
|
||
|
||
<p>Allow the URL to be supplied as VHOST,URL if a custom VHOST should be used. This allows for things like: localhost,<a href="http://192.168.0.2/admin">192.168.0.2/admin</a>/</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1279
|
||
1280
|
||
1281
|
||
1282
|
||
1283
|
||
1284
|
||
1285
|
||
1286
|
||
1287
|
||
1288
|
||
1289
|
||
1290
|
||
1291
|
||
1292
|
||
1293
|
||
1294
|
||
1295
|
||
1296
|
||
1297
|
||
1298
|
||
1299
|
||
1300
|
||
1301
|
||
1302
|
||
1303
|
||
1304
|
||
1305
|
||
1306
|
||
1307
|
||
1308
|
||
1309
|
||
1310
|
||
1311
|
||
1312
|
||
1313
|
||
1314
|
||
1315
|
||
1316
|
||
1317
|
||
1318
|
||
1319
|
||
1320
|
||
1321
|
||
1322
|
||
1323
|
||
1324
|
||
1325
|
||
1326
|
||
1327
|
||
1328
|
||
1329
|
||
1330</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1279</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_add_web_site'>add_web_site</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
|
||
<span class='comment'># Allow the URL to be supplied as VHOST,URL if a custom VHOST
|
||
</span> <span class='comment'># should be used. This allows for things like:
|
||
</span> <span class='comment'># localhost,http://192.168.0.2/admin/
|
||
</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^http</span><span class='regexp_end'>/</span></span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='id identifier rubyid_vhost'>vhost</span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Prefix http:// when the URL has no specified parameter
|
||
</span> <span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>^[a-z0-9A-Z]+://</span><span class='regexp_end'>}</span></span>
|
||
<span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>http://</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_url'>url</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span> <span class='op'>=</span> <span class='kw'>begin</span>
|
||
<span class='const'>URI</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='kw'>nil</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not understand URL: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_url'>url</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>=</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_hostname'>hostname</span> <span class='kw'>if</span> <span class='id identifier rubyid_vhost'>vhost</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_scheme'>scheme</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^https?</span><span class='regexp_end'>/</span></span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Only http and https URLs are accepted: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_url'>url</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_ssl'>ssl</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_scheme'>scheme</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>https</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_ssl'>ssl</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_site'>site</span> <span class='op'>=</span> <span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_report_web_site'>report_web_site</span><span class='lparen'>(</span><span class='label'>wait:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>host:</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='label'>port:</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='label'>vhost:</span> <span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='label'>ssl:</span> <span class='id identifier rubyid_ssl'>ssl</span><span class='comma'>,</span> <span class='label'>workspace:</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_workspace'>workspace</span><span class='rparen'>)</span>
|
||
<span class='kw'>rescue</span> <span class='const'>SocketError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
||
<span class='id identifier rubyid_elog'><span class='object_link'><a href="../../../top-level-namespace.html#elog-instance_method" title="#elog (method)">elog</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not get address for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>error:</span> <span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not get address for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>nil</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>return</span> <span class='id identifier rubyid_site'>site</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="cmd_wmap_modules-instance_method">
|
||
|
||
#<strong>cmd_wmap_modules</strong>(*args) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
73
|
||
74
|
||
75
|
||
76
|
||
77
|
||
78
|
||
79
|
||
80
|
||
81
|
||
82
|
||
83
|
||
84
|
||
85
|
||
86
|
||
87
|
||
88
|
||
89
|
||
90
|
||
91
|
||
92
|
||
93
|
||
94</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 73</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_cmd_wmap_modules'>cmd_wmap_modules</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_arg'>arg</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span>
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_arg'>arg</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-l</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_view_modules'>view_modules</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-r</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_load_wmap_modules'>load_wmap_modules</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Usage: wmap_modules [options]</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-h Display this help text</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-l List all wmap enabled modules</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-r Reload wmap modules</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown flag.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="cmd_wmap_nodes-instance_method">
|
||
|
||
#<strong>cmd_wmap_nodes</strong>(*args) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
227
|
||
228
|
||
229
|
||
230
|
||
231
|
||
232
|
||
233
|
||
234
|
||
235
|
||
236
|
||
237
|
||
238
|
||
239
|
||
240
|
||
241
|
||
242
|
||
243
|
||
244
|
||
245
|
||
246
|
||
247
|
||
248
|
||
249
|
||
250
|
||
251
|
||
252
|
||
253
|
||
254
|
||
255
|
||
256
|
||
257
|
||
258
|
||
259
|
||
260
|
||
261
|
||
262
|
||
263
|
||
264
|
||
265
|
||
266
|
||
267
|
||
268
|
||
269
|
||
270
|
||
271
|
||
272
|
||
273
|
||
274
|
||
275
|
||
276
|
||
277
|
||
278
|
||
279
|
||
280
|
||
281
|
||
282
|
||
283
|
||
284
|
||
285
|
||
286
|
||
287
|
||
288
|
||
289
|
||
290
|
||
291
|
||
292
|
||
293
|
||
294
|
||
295
|
||
296
|
||
297
|
||
298
|
||
299
|
||
300
|
||
301
|
||
302
|
||
303
|
||
304
|
||
305
|
||
306
|
||
307
|
||
308
|
||
309
|
||
310</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 227</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_cmd_wmap_nodes'>cmd_wmap_nodes</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rpcarr'>rpcarr</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rpcarr'>rpcarr</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_arg'>arg</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span>
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_arg'>arg</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-a</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_r'>r</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_u'>u</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_p'>p</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_rpc_add_node'>rpc_add_node</span><span class='lparen'>(</span><span class='id identifier rubyid_h'>h</span><span class='comma'>,</span> <span class='id identifier rubyid_r'>r</span><span class='comma'>,</span> <span class='id identifier rubyid_s'>s</span><span class='comma'>,</span> <span class='id identifier rubyid_u'>u</span><span class='comma'>,</span> <span class='id identifier rubyid_p'>p</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_res'>res</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Node created.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unable to create node</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-c</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_idref'>idref</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_idref'>idref</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>No id defined</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_idref'>idref</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ALL</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>All nodes removed</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rpcarr'>rpcarr</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid__v'>_v</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_idx'>idx</span> <span class='op'>==</span> <span class='id identifier rubyid_idref'>idref</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_k'>k</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Node deleted </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-d</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_host'>host</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_port'>port</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_user'>user</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_pass'>pass</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_dbname'>dbname</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_rpc_db_nodes'>rpc_db_nodes</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='id identifier rubyid_pass'>pass</span><span class='comma'>,</span> <span class='id identifier rubyid_dbname'>dbname</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_res'>res</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>OK.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Error</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-l</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_rpc_list_nodes'>rpc_list_nodes</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-j</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_rpc_view_jobs'>rpc_view_jobs</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-k</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_node'>node</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_jid'>jid</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_rpc_kill_node'>rpc_kill_node</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='comma'>,</span> <span class='id identifier rubyid_jid'>jid</span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Usage: wmap_nodes [options]</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-h Display this help text</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-c id Remove id node (Use ALL for ALL nodes</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-a host port ssl user pass Add node</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-d host port user pass db Force all nodes to connect to db</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-j View detailed jobs</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-k ALL|id ALL|job_id Kill jobs on node</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-l List all current nodes</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown flag.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="cmd_wmap_run-instance_method">
|
||
|
||
#<strong>cmd_wmap_run</strong>(*args) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
312
|
||
313
|
||
314
|
||
315
|
||
316
|
||
317
|
||
318
|
||
319
|
||
320
|
||
321
|
||
322
|
||
323
|
||
324
|
||
325
|
||
326
|
||
327
|
||
328
|
||
329
|
||
330
|
||
331
|
||
332
|
||
333
|
||
334
|
||
335
|
||
336
|
||
337
|
||
338
|
||
339
|
||
340
|
||
341
|
||
342
|
||
343
|
||
344
|
||
345
|
||
346
|
||
347
|
||
348
|
||
349
|
||
350
|
||
351
|
||
352
|
||
353
|
||
354
|
||
355
|
||
356
|
||
357
|
||
358
|
||
359
|
||
360
|
||
361
|
||
362
|
||
363
|
||
364
|
||
365
|
||
366
|
||
367
|
||
368
|
||
369
|
||
370
|
||
371
|
||
372
|
||
373
|
||
374
|
||
375
|
||
376
|
||
377
|
||
378
|
||
379
|
||
380
|
||
381
|
||
382
|
||
383
|
||
384
|
||
385
|
||
386
|
||
387
|
||
388
|
||
389
|
||
390
|
||
391
|
||
392
|
||
393
|
||
394
|
||
395
|
||
396
|
||
397
|
||
398
|
||
399
|
||
400
|
||
401
|
||
402
|
||
403
|
||
404
|
||
405
|
||
406
|
||
407
|
||
408
|
||
409
|
||
410
|
||
411
|
||
412
|
||
413
|
||
414
|
||
415
|
||
416
|
||
417
|
||
418
|
||
419
|
||
420
|
||
421
|
||
422
|
||
423
|
||
424
|
||
425
|
||
426
|
||
427
|
||
428
|
||
429
|
||
430
|
||
431
|
||
432
|
||
433
|
||
434
|
||
435
|
||
436
|
||
437
|
||
438
|
||
439
|
||
440
|
||
441
|
||
442
|
||
443
|
||
444
|
||
445
|
||
446
|
||
447
|
||
448
|
||
449
|
||
450
|
||
451
|
||
452
|
||
453
|
||
454
|
||
455
|
||
456
|
||
457
|
||
458
|
||
459
|
||
460
|
||
461
|
||
462
|
||
463
|
||
464
|
||
465
|
||
466
|
||
467
|
||
468
|
||
469
|
||
470
|
||
471
|
||
472
|
||
473
|
||
474
|
||
475
|
||
476
|
||
477
|
||
478
|
||
479
|
||
480
|
||
481
|
||
482
|
||
483
|
||
484
|
||
485
|
||
486
|
||
487
|
||
488
|
||
489
|
||
490
|
||
491
|
||
492
|
||
493
|
||
494
|
||
495
|
||
496
|
||
497
|
||
498
|
||
499
|
||
500
|
||
501
|
||
502
|
||
503
|
||
504
|
||
505
|
||
506
|
||
507
|
||
508
|
||
509
|
||
510
|
||
511
|
||
512
|
||
513
|
||
514
|
||
515
|
||
516
|
||
517
|
||
518
|
||
519
|
||
520
|
||
521
|
||
522
|
||
523
|
||
524
|
||
525
|
||
526
|
||
527
|
||
528
|
||
529
|
||
530
|
||
531
|
||
532
|
||
533
|
||
534
|
||
535
|
||
536
|
||
537
|
||
538
|
||
539
|
||
540
|
||
541
|
||
542
|
||
543
|
||
544
|
||
545
|
||
546
|
||
547
|
||
548
|
||
549
|
||
550
|
||
551
|
||
552
|
||
553
|
||
554
|
||
555
|
||
556
|
||
557
|
||
558
|
||
559
|
||
560
|
||
561
|
||
562
|
||
563
|
||
564
|
||
565
|
||
566
|
||
567
|
||
568
|
||
569
|
||
570
|
||
571
|
||
572
|
||
573
|
||
574
|
||
575
|
||
576
|
||
577
|
||
578
|
||
579
|
||
580
|
||
581
|
||
582
|
||
583
|
||
584
|
||
585
|
||
586
|
||
587
|
||
588
|
||
589
|
||
590
|
||
591
|
||
592
|
||
593
|
||
594
|
||
595
|
||
596
|
||
597
|
||
598
|
||
599
|
||
600
|
||
601
|
||
602
|
||
603
|
||
604
|
||
605
|
||
606
|
||
607
|
||
608
|
||
609
|
||
610
|
||
611
|
||
612
|
||
613
|
||
614
|
||
615
|
||
616
|
||
617
|
||
618
|
||
619
|
||
620
|
||
621
|
||
622
|
||
623
|
||
624
|
||
625
|
||
626
|
||
627
|
||
628
|
||
629
|
||
630
|
||
631
|
||
632
|
||
633
|
||
634
|
||
635
|
||
636
|
||
637
|
||
638
|
||
639
|
||
640
|
||
641
|
||
642
|
||
643
|
||
644
|
||
645
|
||
646
|
||
647
|
||
648
|
||
649
|
||
650
|
||
651
|
||
652
|
||
653
|
||
654
|
||
655
|
||
656
|
||
657
|
||
658
|
||
659
|
||
660
|
||
661
|
||
662
|
||
663
|
||
664
|
||
665
|
||
666
|
||
667
|
||
668
|
||
669
|
||
670
|
||
671
|
||
672
|
||
673
|
||
674
|
||
675
|
||
676
|
||
677
|
||
678
|
||
679
|
||
680
|
||
681
|
||
682
|
||
683
|
||
684
|
||
685
|
||
686
|
||
687
|
||
688
|
||
689
|
||
690
|
||
691
|
||
692
|
||
693
|
||
694
|
||
695
|
||
696
|
||
697
|
||
698
|
||
699
|
||
700
|
||
701
|
||
702
|
||
703
|
||
704
|
||
705
|
||
706
|
||
707
|
||
708
|
||
709
|
||
710
|
||
711
|
||
712
|
||
713
|
||
714
|
||
715
|
||
716
|
||
717
|
||
718
|
||
719
|
||
720
|
||
721
|
||
722
|
||
723
|
||
724
|
||
725
|
||
726
|
||
727
|
||
728
|
||
729
|
||
730
|
||
731
|
||
732
|
||
733
|
||
734
|
||
735
|
||
736
|
||
737
|
||
738
|
||
739
|
||
740
|
||
741
|
||
742
|
||
743
|
||
744
|
||
745
|
||
746
|
||
747
|
||
748
|
||
749
|
||
750
|
||
751
|
||
752
|
||
753
|
||
754
|
||
755
|
||
756
|
||
757
|
||
758
|
||
759
|
||
760
|
||
761
|
||
762
|
||
763
|
||
764
|
||
765
|
||
766
|
||
767
|
||
768
|
||
769
|
||
770
|
||
771
|
||
772
|
||
773
|
||
774
|
||
775
|
||
776
|
||
777
|
||
778
|
||
779
|
||
780
|
||
781
|
||
782
|
||
783
|
||
784
|
||
785
|
||
786
|
||
787
|
||
788
|
||
789
|
||
790
|
||
791
|
||
792
|
||
793
|
||
794
|
||
795
|
||
796
|
||
797
|
||
798
|
||
799
|
||
800
|
||
801
|
||
802
|
||
803
|
||
804
|
||
805
|
||
806
|
||
807
|
||
808
|
||
809
|
||
810
|
||
811
|
||
812
|
||
813
|
||
814
|
||
815
|
||
816
|
||
817
|
||
818
|
||
819
|
||
820
|
||
821
|
||
822
|
||
823
|
||
824
|
||
825
|
||
826
|
||
827
|
||
828
|
||
829
|
||
830
|
||
831
|
||
832
|
||
833
|
||
834
|
||
835
|
||
836
|
||
837
|
||
838
|
||
839
|
||
840
|
||
841
|
||
842
|
||
843
|
||
844
|
||
845
|
||
846
|
||
847
|
||
848
|
||
849
|
||
850
|
||
851
|
||
852
|
||
853
|
||
854
|
||
855
|
||
856
|
||
857
|
||
858
|
||
859
|
||
860
|
||
861
|
||
862
|
||
863
|
||
864
|
||
865
|
||
866
|
||
867
|
||
868
|
||
869
|
||
870
|
||
871
|
||
872
|
||
873
|
||
874
|
||
875
|
||
876
|
||
877
|
||
878
|
||
879
|
||
880
|
||
881
|
||
882
|
||
883
|
||
884
|
||
885
|
||
886
|
||
887
|
||
888
|
||
889
|
||
890
|
||
891
|
||
892
|
||
893
|
||
894
|
||
895
|
||
896
|
||
897
|
||
898
|
||
899
|
||
900
|
||
901
|
||
902
|
||
903
|
||
904
|
||
905
|
||
906
|
||
907
|
||
908
|
||
909
|
||
910
|
||
911
|
||
912
|
||
913
|
||
914
|
||
915
|
||
916
|
||
917
|
||
918
|
||
919
|
||
920
|
||
921
|
||
922
|
||
923
|
||
924
|
||
925
|
||
926
|
||
927
|
||
928
|
||
929
|
||
930
|
||
931
|
||
932
|
||
933
|
||
934
|
||
935
|
||
936
|
||
937
|
||
938
|
||
939
|
||
940
|
||
941
|
||
942
|
||
943
|
||
944
|
||
945
|
||
946
|
||
947
|
||
948
|
||
949
|
||
950
|
||
951
|
||
952
|
||
953
|
||
954
|
||
955
|
||
956
|
||
957
|
||
958
|
||
959
|
||
960
|
||
961
|
||
962
|
||
963
|
||
964
|
||
965
|
||
966
|
||
967
|
||
968
|
||
969
|
||
970
|
||
971
|
||
972
|
||
973
|
||
974
|
||
975
|
||
976
|
||
977
|
||
978
|
||
979
|
||
980
|
||
981
|
||
982
|
||
983
|
||
984
|
||
985
|
||
986
|
||
987
|
||
988
|
||
989
|
||
990
|
||
991
|
||
992
|
||
993
|
||
994
|
||
995
|
||
996
|
||
997
|
||
998
|
||
999
|
||
1000
|
||
1001
|
||
1002
|
||
1003
|
||
1004
|
||
1005
|
||
1006
|
||
1007
|
||
1008
|
||
1009
|
||
1010
|
||
1011
|
||
1012
|
||
1013
|
||
1014
|
||
1015
|
||
1016
|
||
1017
|
||
1018
|
||
1019
|
||
1020
|
||
1021
|
||
1022
|
||
1023
|
||
1024
|
||
1025
|
||
1026
|
||
1027
|
||
1028
|
||
1029
|
||
1030
|
||
1031
|
||
1032
|
||
1033
|
||
1034
|
||
1035
|
||
1036
|
||
1037
|
||
1038
|
||
1039
|
||
1040
|
||
1041
|
||
1042
|
||
1043
|
||
1044
|
||
1045
|
||
1046
|
||
1047
|
||
1048
|
||
1049
|
||
1050
|
||
1051
|
||
1052
|
||
1053
|
||
1054
|
||
1055
|
||
1056
|
||
1057
|
||
1058
|
||
1059
|
||
1060
|
||
1061
|
||
1062
|
||
1063
|
||
1064
|
||
1065
|
||
1066
|
||
1067
|
||
1068
|
||
1069
|
||
1070
|
||
1071
|
||
1072
|
||
1073
|
||
1074
|
||
1075
|
||
1076
|
||
1077
|
||
1078
|
||
1079
|
||
1080
|
||
1081
|
||
1082
|
||
1083
|
||
1084
|
||
1085
|
||
1086
|
||
1087
|
||
1088
|
||
1089
|
||
1090
|
||
1091
|
||
1092
|
||
1093
|
||
1094
|
||
1095
|
||
1096
|
||
1097
|
||
1098
|
||
1099
|
||
1100
|
||
1101
|
||
1102
|
||
1103
|
||
1104
|
||
1105
|
||
1106
|
||
1107
|
||
1108
|
||
1109
|
||
1110
|
||
1111
|
||
1112
|
||
1113
|
||
1114
|
||
1115
|
||
1116
|
||
1117
|
||
1118
|
||
1119
|
||
1120
|
||
1121
|
||
1122
|
||
1123
|
||
1124
|
||
1125
|
||
1126
|
||
1127
|
||
1128
|
||
1129
|
||
1130
|
||
1131
|
||
1132
|
||
1133
|
||
1134
|
||
1135
|
||
1136
|
||
1137
|
||
1138
|
||
1139
|
||
1140
|
||
1141
|
||
1142
|
||
1143
|
||
1144
|
||
1145
|
||
1146
|
||
1147
|
||
1148
|
||
1149
|
||
1150
|
||
1151
|
||
1152
|
||
1153
|
||
1154
|
||
1155
|
||
1156
|
||
1157
|
||
1158
|
||
1159
|
||
1160
|
||
1161
|
||
1162
|
||
1163
|
||
1164
|
||
1165
|
||
1166
|
||
1167
|
||
1168
|
||
1169
|
||
1170
|
||
1171
|
||
1172
|
||
1173
|
||
1174
|
||
1175
|
||
1176
|
||
1177
|
||
1178
|
||
1179
|
||
1180</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 312</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_cmd_wmap_run'>cmd_wmap_run</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
||
<span class='comment'># Stop everything
|
||
</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_masstop'>masstop</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_killwhenstop'>killwhenstop</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
|
||
<span class='id identifier rubyid_trap'>trap</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>INT</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Stopping execution...</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_masstop'>masstop</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_killwhenstop'>killwhenstop</span>
|
||
<span class='id identifier rubyid_rpc_kill_node'>rpc_kill_node</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ALL</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ALL</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Max numbers of concurrent jobs per node
|
||
</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_njobs'>njobs</span> <span class='op'>=</span> <span class='int'>25</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_nmaxdisplay'>nmaxdisplay</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_runlocal'>runlocal</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
|
||
<span class='comment'># Formatting
|
||
</span> <span class='id identifier rubyid_sizeline'>sizeline</span> <span class='op'>=</span> <span class='int'>60</span>
|
||
|
||
<span class='id identifier rubyid_wmap_show'>wmap_show</span> <span class='op'>=</span> <span class='int'>2</span><span class='op'>**</span><span class='int'>0</span>
|
||
<span class='id identifier rubyid_wmap_expl'>wmap_expl</span> <span class='op'>=</span> <span class='int'>2</span><span class='op'>**</span><span class='int'>1</span>
|
||
|
||
<span class='comment'># Exclude files can be modified by setting datastore['WMAP_EXCLUDE']
|
||
</span> <span class='id identifier rubyid_wmap_exclude_files'>wmap_exclude_files</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.*\.(gif|jpg|png*)$</span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_run_wmap_ssl'>run_wmap_ssl</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='id identifier rubyid_run_wmap_server'>run_wmap_server</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='id identifier rubyid_run_wmap_dir_file'>run_wmap_dir_file</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='id identifier rubyid_run_wmap_query'>run_wmap_query</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='id identifier rubyid_run_wmap_unique_query'>run_wmap_unique_query</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='id identifier rubyid_run_wmap_generic'>run_wmap_generic</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
|
||
<span class='comment'># If module supports datastore['VERBOSE']
|
||
</span> <span class='id identifier rubyid_moduleverbose'>moduleverbose</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
|
||
<span class='id identifier rubyid_showprogress'>showprogress</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rpcarr'>rpcarr</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rpcarr'>rpcarr</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_run_wmap_ssl'>run_wmap_ssl</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Loading of wmap ssl modules disabled.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_run_wmap_server'>run_wmap_server</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Loading of wmap server modules disabled.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_run_wmap_dir_file'>run_wmap_dir_file</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Loading of wmap dir and file modules disabled.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_run_wmap_query'>run_wmap_query</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Loading of wmap query modules disabled.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_run_wmap_unique_query'>run_wmap_unique_query</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Loading of wmap unique query modules disabled.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_run_wmap_generic'>run_wmap_generic</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Loading of wmap generic modules disabled.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_stamp'>stamp</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
|
||
<span class='id identifier rubyid_mode'>mode</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
|
||
<span class='id identifier rubyid_eprofile'>eprofile</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_using_p'>using_p</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
<span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
<span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
|
||
<span class='id identifier rubyid_mname'>mname</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_inipathname'>inipathname</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_arg'>arg</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span>
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_arg'>arg</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-t</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_mode'>mode</span> <span class='op'>|=</span> <span class='id identifier rubyid_wmap_show'>wmap_show</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-e</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_mode'>mode</span> <span class='op'>|=</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span>
|
||
|
||
<span class='id identifier rubyid_profile'>profile</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_profile'>profile</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Using profile </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_profile'>profile</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_profile'>profile</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_str'>str</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_str'>str</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>#</span><span class='tstring_end'>'</span></span>
|
||
<span class='comment'># Not a comment
|
||
</span> <span class='id identifier rubyid_modname'>modname</span> <span class='op'>=</span> <span class='id identifier rubyid_str'>str</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_modname'>modname</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_eprofile'>eprofile</span> <span class='op'><<</span> <span class='id identifier rubyid_modname'>modname</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_using_p'>using_p</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Profile not found or invalid.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Using ALL wmap enabled modules.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-m</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_mode'>mode</span> <span class='op'>|=</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span>
|
||
|
||
<span class='id identifier rubyid_mname'>mname</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_mname'>mname</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Using module </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_mname'>mname</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-p</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_mode'>mode</span> <span class='op'>|=</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span>
|
||
|
||
<span class='id identifier rubyid_inipathname'>inipathname</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_inipathname'>inipathname</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Using initial path </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inipathname'>inipathname</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Usage: wmap_run [options]</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-h Display this help text</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-t Show all enabled modules</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-m [regex] Launch only modules that name match provided regex.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-p [regex] Only test path defined by regex.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-e [/path/to/profile] Launch profile modules against all matched targets.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t (No profile file runs all enabled modules.)</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown flag</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_show'>wmap_show</span> <span class='op'>==</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>NO WMAP NODES DEFINED. Executing local modules</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_runlocal'>runlocal</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_targets'>targets</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Targets have not been selected.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_targets'>targets</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Targets have not been selected.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_execmod'>execmod</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_show'>wmap_show</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_execmod'>execmod</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_targets'>targets</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_t'>t</span><span class='comma'>,</span> <span class='id identifier rubyid_idx'>idx</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_selected_host'>selected_host</span> <span class='op'>=</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:host</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_selected_port'>selected_port</span> <span class='op'>=</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:port</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_selected_ssl'>selected_ssl</span> <span class='op'>=</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:ssl</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_selected_vhost'>selected_vhost</span> <span class='op'>=</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:vhost</span><span class='rbracket'>]</span>
|
||
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Testing target:</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\tSite: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='embexpr_end'>}</span><span class='tstring_content'> (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_selected_host'>selected_host</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\tPort: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_selected_port'>selected_port</span><span class='embexpr_end'>}</span><span class='tstring_content'> SSL: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_selected_ssl'>selected_ssl</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Testing started. </span><span class='embexpr_beg'>#{</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_selected_ssl'>selected_ssl</span>
|
||
<span class='id identifier rubyid_run_wmap_ssl'>run_wmap_ssl</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
<span class='comment'># print_status ("Target is not SSL. SSL modules disabled.")
|
||
</span> <span class='kw'>end</span>
|
||
|
||
<span class='comment'># wmap_dir, wmap_file
|
||
</span> <span class='id identifier rubyid_matches'>matches</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'># wmap_server
|
||
</span> <span class='id identifier rubyid_matches1'>matches1</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'># wmap_query
|
||
</span> <span class='id identifier rubyid_matches2'>matches2</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'># wmap_ssl
|
||
</span> <span class='id identifier rubyid_matches3'>matches3</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'># wmap_unique_query
|
||
</span> <span class='id identifier rubyid_matches5'>matches5</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'># wmap_generic
|
||
</span> <span class='id identifier rubyid_matches10'>matches10</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'># OPTIONS
|
||
</span> <span class='id identifier rubyid_jobify'>jobify</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
|
||
<span class='comment'># This will be clean later
|
||
</span> <span class='id identifier rubyid_load_wmap_modules'>load_wmap_modules</span><span class='lparen'>(</span><span class='kw'>false</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_wmapmodules'>wmapmodules</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_w'>w</span><span class='op'>|</span>
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_w'>w</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span>
|
||
<span class='kw'>when</span> <span class='symbol'>:wmap_server</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_run_wmap_server'>run_wmap_server</span>
|
||
<span class='id identifier rubyid_matches1'>matches1</span><span class='lbracket'>[</span><span class='id identifier rubyid_w'>w</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='symbol'>:wmap_query</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_run_wmap_query'>run_wmap_query</span>
|
||
<span class='id identifier rubyid_matches2'>matches2</span><span class='lbracket'>[</span><span class='id identifier rubyid_w'>w</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='symbol'>:wmap_unique_query</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_run_wmap_unique_query'>run_wmap_unique_query</span>
|
||
<span class='id identifier rubyid_matches5'>matches5</span><span class='lbracket'>[</span><span class='id identifier rubyid_w'>w</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='symbol'>:wmap_generic</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_run_wmap_generic'>run_wmap_generic</span>
|
||
<span class='id identifier rubyid_matches10'>matches10</span><span class='lbracket'>[</span><span class='id identifier rubyid_w'>w</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='symbol'>:wmap_dir</span><span class='comma'>,</span> <span class='symbol'>:wmap_file</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_run_wmap_dir_file'>run_wmap_dir_file</span>
|
||
<span class='id identifier rubyid_matches'>matches</span><span class='lbracket'>[</span><span class='id identifier rubyid_w'>w</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='symbol'>:wmap_ssl</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_run_wmap_ssl'>run_wmap_ssl</span>
|
||
<span class='id identifier rubyid_matches3'>matches3</span><span class='lbracket'>[</span><span class='id identifier rubyid_w'>w</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>else</span>
|
||
<span class='comment'># Black Hole
|
||
</span> <span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Execution order (orderid)
|
||
</span> <span class='id identifier rubyid_matches'>matches</span> <span class='op'>=</span> <span class='id identifier rubyid_sort_by_orderid'>sort_by_orderid</span><span class='lparen'>(</span><span class='id identifier rubyid_matches'>matches</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_matches1'>matches1</span> <span class='op'>=</span> <span class='id identifier rubyid_sort_by_orderid'>sort_by_orderid</span><span class='lparen'>(</span><span class='id identifier rubyid_matches1'>matches1</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_matches2'>matches2</span> <span class='op'>=</span> <span class='id identifier rubyid_sort_by_orderid'>sort_by_orderid</span><span class='lparen'>(</span><span class='id identifier rubyid_matches2'>matches2</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_matches3'>matches3</span> <span class='op'>=</span> <span class='id identifier rubyid_sort_by_orderid'>sort_by_orderid</span><span class='lparen'>(</span><span class='id identifier rubyid_matches3'>matches3</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_matches5'>matches5</span> <span class='op'>=</span> <span class='id identifier rubyid_sort_by_orderid'>sort_by_orderid</span><span class='lparen'>(</span><span class='id identifier rubyid_matches5'>matches5</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_matches10'>matches10</span> <span class='op'>=</span> <span class='id identifier rubyid_sort_by_orderid'>sort_by_orderid</span><span class='lparen'>(</span><span class='id identifier rubyid_matches10'>matches10</span><span class='rparen'>)</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Handle modules that need to be run before all tests IF SERVER is SSL, once usually again the SSL web server.
|
||
</span> <span class='comment'># :wmap_ssl
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n=[ SSL testing ]=</span><span class='tstring_end'>"</span></span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_selected_ssl'>selected_ssl</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Target is not SSL. SSL modules disabled.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_matches3'>matches3</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_xref'>xref</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Module not part of profile or not match
|
||
</span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_p'>using_p</span> <span class='op'>&&</span> <span class='id identifier rubyid_eprofile'>eprofile</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_mname'>mname</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_using_p'>using_p</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='comment'># Module options hash
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># The code is just a proof-of-concept and will be expanded in the future
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Module </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># For modules to have access to the global datastore
|
||
</span> <span class='comment'># i.e. set -g DOMAIN test.com
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_gkey'>gkey</span><span class='comma'>,</span> <span class='id identifier rubyid_gval'>gval</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='id identifier rubyid_gkey'>gkey</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_gval'>gval</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Parameters passed in hash xref
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOSTS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RPORT</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_port'>selected_port</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SSL</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_ssl'>selected_ssl</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VERBOSE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_moduleverbose'>moduleverbose</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ShowProgress</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_showprogress'>showprogress</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RunAsJob</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_jobify'>jobify</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_execmod'>execmod</span>
|
||
<span class='id identifier rubyid_rpc_round_exec'>rpc_round_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='comma'>,</span> <span class='id identifier rubyid_njobs'>njobs</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception during launch from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Handle modules that need to be run before all tests, once usually again the web server.
|
||
</span> <span class='comment'># :wmap_server
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n=[ Web Server testing ]=</span><span class='tstring_end'>"</span></span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_matches1'>matches1</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_xref'>xref</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Module not part of profile or not match
|
||
</span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_p'>using_p</span> <span class='op'>&&</span> <span class='id identifier rubyid_eprofile'>eprofile</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_mname'>mname</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_using_p'>using_p</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='comment'># Module options hash
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># The code is just a proof-of-concept and will be expanded in the future
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Module </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># For modules to have access to the global datastore
|
||
</span> <span class='comment'># i.e. set -g DOMAIN test.com
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_gkey'>gkey</span><span class='comma'>,</span> <span class='id identifier rubyid_gval'>gval</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='id identifier rubyid_gkey'>gkey</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_gval'>gval</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Parameters passed in hash xref
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOSTS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RPORT</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_port'>selected_port</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SSL</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_ssl'>selected_ssl</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VERBOSE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_moduleverbose'>moduleverbose</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ShowProgress</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_showprogress'>showprogress</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RunAsJob</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_jobify'>jobify</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_execmod'>execmod</span>
|
||
<span class='id identifier rubyid_rpc_round_exec'>rpc_round_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='comma'>,</span> <span class='id identifier rubyid_njobs'>njobs</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception during launch from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Handle modules to be run at every path/file
|
||
</span> <span class='comment'># wmap_dir, wmap_file
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n=[ File/Dir testing ]=</span><span class='tstring_end'>"</span></span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_matches'>matches</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_xref'>xref</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Module not part of profile or not match
|
||
</span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_p'>using_p</span> <span class='op'>&&</span> <span class='id identifier rubyid_eprofile'>eprofile</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_mname'>mname</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_using_p'>using_p</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='comment'># Module options hash
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># The code is just a proof-of-concept and will be expanded in the future
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Module </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># For modules to have access to the global datastore
|
||
</span> <span class='comment'># i.e. set -g DOMAIN test.com
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_gkey'>gkey</span><span class='comma'>,</span> <span class='id identifier rubyid_gval'>gval</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='id identifier rubyid_gkey'>gkey</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_gval'>gval</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Parameters passed in hash xref
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOSTS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RPORT</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_port'>selected_port</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SSL</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_ssl'>selected_ssl</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VERBOSE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_moduleverbose'>moduleverbose</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ShowProgress</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_showprogress'>showprogress</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RunAsJob</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_jobify'>jobify</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Run the plugins that only need to be
|
||
</span> <span class='comment'># launched once.
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_wtype'>wtype</span> <span class='op'>=</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span>
|
||
|
||
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_workspace'>workspace</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_find_by_address'>find_by_address</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_host'>selected_host</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='id identifier rubyid_h'>h</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</span><span class='period'>.</span><span class='id identifier rubyid_find_by_port'>find_by_port</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_port'>selected_port</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_w'>w</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_web_sites'>web_sites</span><span class='period'>.</span><span class='id identifier rubyid_find_by_vhost'>find_by_vhost</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_test_tree'>test_tree</span> <span class='op'>=</span> <span class='id identifier rubyid_load_tree'>load_tree</span><span class='lparen'>(</span><span class='id identifier rubyid_w'>w</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_test_tree'>test_tree</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_node'>node</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_p'>p</span> <span class='op'>=</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_current_path'>current_path</span>
|
||
<span class='id identifier rubyid_testpath'>testpath</span> <span class='op'>=</span> <span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_p'>p</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_strpath'>strpath</span> <span class='op'>=</span> <span class='id identifier rubyid_testpath'>testpath</span><span class='period'>.</span><span class='id identifier rubyid_cleanpath'>cleanpath</span><span class='lparen'>(</span><span class='kw'>false</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Fixing paths
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_is_leaf?'>is_leaf?</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_is_root?'>is_root?</span>
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Later we can add here more checks to see if its a file
|
||
</span> <span class='comment'>#
|
||
</span> <span class='kw'>elsif</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_is_root?'>is_root?</span>
|
||
<span class='id identifier rubyid_strpath'>strpath</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_strpath'>strpath</span> <span class='op'>=</span> <span class='id identifier rubyid_strpath'>strpath</span><span class='period'>.</span><span class='id identifier rubyid_chomp'>chomp</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_strpath'>strpath</span> <span class='op'>=</span> <span class='id identifier rubyid_strpath'>strpath</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>//</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='comment'># print_status("Testing path: #{strpath}")
|
||
</span>
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Launch plugin depending module type.
|
||
</span> <span class='comment'># Module type depends on main input type.
|
||
</span> <span class='comment'># Code may be the same but it depend on final
|
||
</span> <span class='comment'># versions of plugins
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_wtype'>wtype</span>
|
||
<span class='kw'>when</span> <span class='symbol'>:wmap_file</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_is_leaf?'>is_leaf?</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_is_root?'>is_root?</span>
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Check if an exclusion regex has been defined
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_excludefilestr'>excludefilestr</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>WMAP_EXCLUDE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_wmap_exclude_files'>wmap_exclude_files</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='lparen'>(</span><span class='id identifier rubyid_strpath'>strpath</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_excludefilestr'>excludefilestr</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>&&</span> <span class='id identifier rubyid_strpath'>strpath</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_inipathname'>inipathname</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PATH</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_strpath'>strpath</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Path: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_strpath'>strpath</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_execmod'>execmod</span>
|
||
<span class='id identifier rubyid_rpc_round_exec'>rpc_round_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='comma'>,</span> <span class='id identifier rubyid_njobs'>njobs</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception during launch from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='symbol'>:wmap_dir</span>
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_is_leaf?'>is_leaf?</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_strpath'>strpath</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_is_root?'>is_root?</span> <span class='op'>||</span> <span class='op'>!</span><span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_is_leaf?'>is_leaf?</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>&&</span> <span class='id identifier rubyid_strpath'>strpath</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_inipathname'>inipathname</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PATH</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_strpath'>strpath</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Path: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_strpath'>strpath</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_execmod'>execmod</span>
|
||
<span class='id identifier rubyid_rpcnode'>rpcnode</span> <span class='op'>=</span> <span class='id identifier rubyid_rpc_round_exec'>rpc_round_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='comma'>,</span> <span class='id identifier rubyid_njobs'>njobs</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception during launch from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Run modules for each request to play with URI with UNIQUE query parameters.
|
||
</span> <span class='comment'># wmap_unique_query
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n=[ Unique Query testing ]=</span><span class='tstring_end'>"</span></span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_matches5'>matches5</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_xref'>xref</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Module not part of profile or not match
|
||
</span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_p'>using_p</span> <span class='op'>&&</span> <span class='id identifier rubyid_eprofile'>eprofile</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_mname'>mname</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_using_p'>using_p</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='comment'># Module options hash
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># The code is just a proof-of-concept and will be expanded in the future
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Module </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># For modules to have access to the global datastore
|
||
</span> <span class='comment'># i.e. set -g DOMAIN test.com
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_gkey'>gkey</span><span class='comma'>,</span> <span class='id identifier rubyid_gval'>gval</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='id identifier rubyid_gkey'>gkey</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_gval'>gval</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Parameters passed in hash xref
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOSTS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RPORT</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_port'>selected_port</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SSL</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_ssl'>selected_ssl</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VERBOSE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_moduleverbose'>moduleverbose</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ShowProgress</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_showprogress'>showprogress</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RunAsJob</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_jobify'>jobify</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Run the plugins for each request that have a distinct
|
||
</span> <span class='comment'># GET/POST URI QUERY string.
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_utest_query'>utest_query</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_workspace'>workspace</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_find_by_address'>find_by_address</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_host'>selected_host</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='id identifier rubyid_h'>h</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</span><span class='period'>.</span><span class='id identifier rubyid_find_by_port'>find_by_port</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_port'>selected_port</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_w'>w</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_web_sites'>web_sites</span><span class='period'>.</span><span class='id identifier rubyid_find_by_vhost'>find_by_vhost</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_w'>w</span><span class='period'>.</span><span class='id identifier rubyid_web_forms'>web_forms</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_form'>form</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Only test unique query strings by comparing signature to previous tested signatures 'path,p1,p2,pn'
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_datastr'>datastr</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_typestr'>typestr</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_temparr'>temparr</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
|
||
<span class='comment'># print_status "---------"
|
||
</span> <span class='comment'># print_status form.params
|
||
</span> <span class='comment'># print_status "+++++++++"
|
||
</span>
|
||
<span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_pn'>pn</span><span class='comma'>,</span> <span class='id identifier rubyid_pv'>pv</span><span class='comma'>,</span> <span class='id identifier rubyid__pt'>_pt</span> <span class='op'>=</span> <span class='id identifier rubyid_p'>p</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_pn'>pn</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_pn'>pn</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_pv'>pv</span> <span class='op'>||</span> <span class='id identifier rubyid_pv'>pv</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='comment'># TODO: add value based on param name
|
||
</span> <span class='id identifier rubyid_pv'>pv</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>aaa</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># temparr << pn.to_s + "=" + Rex::Text.uri_encode(pv.to_s)
|
||
</span> <span class='id identifier rubyid_temparr'>temparr</span> <span class='op'><<</span> <span class='id identifier rubyid_pn'>pn</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_pv'>pv</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Blank parameter name. Form </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_datastr'>datastr</span> <span class='op'>=</span> <span class='id identifier rubyid_temparr'>temparr</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>&</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_temparr'>temparr</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_temparr'>temparr</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_utest_query'>utest_query</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_signature'>signature</span><span class='lparen'>(</span><span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='id identifier rubyid_datastr'>datastr</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>METHOD</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PATH</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>QUERY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_query'>query</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GET</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>QUERY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_datastr'>datastr</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>DATA</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>POST</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>DATA</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_datastr'>datastr</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>TYPES</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_typestr'>typestr</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># TODO: Add headers, etc.
|
||
</span> <span class='comment'>#
|
||
</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>&&</span> <span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_inipathname'>inipathname</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Path </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='comment'># print_status("Unique PATH #{modopts['PATH']}")
|
||
</span> <span class='comment'># print_status("Unique GET #{modopts['QUERY']}")
|
||
</span> <span class='comment'># print_status("Unique POST #{modopts['DATA']}")
|
||
</span> <span class='comment'># print_status("MODOPTS: #{modopts}")
|
||
</span>
|
||
<span class='kw'>begin</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_execmod'>execmod</span>
|
||
<span class='id identifier rubyid_rpcnode'>rpcnode</span> <span class='op'>=</span> <span class='id identifier rubyid_rpc_round_exec'>rpc_round_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='comma'>,</span> <span class='id identifier rubyid_njobs'>njobs</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_utest_query'>utest_query</span><span class='lbracket'>[</span><span class='id identifier rubyid_signature'>signature</span><span class='lparen'>(</span><span class='id identifier rubyid_form'>form</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='id identifier rubyid_datastr'>datastr</span><span class='rparen'>)</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='int'>1</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception during launch from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Run modules for each request to play with URI query parameters.
|
||
</span> <span class='comment'># This approach will reduce the complexity of the Tree used before
|
||
</span> <span class='comment'># and will make this shotgun implementation much simple.
|
||
</span> <span class='comment'># wmap_query
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n=[ Query testing ]=</span><span class='tstring_end'>"</span></span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_matches2'>matches2</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_xref'>xref</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Module not part of profile or not match
|
||
</span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='op'>!</span><span class='lparen'>(</span><span class='id identifier rubyid_using_p'>using_p</span> <span class='op'>&&</span> <span class='id identifier rubyid_eprofile'>eprofile</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_mname'>mname</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_using_p'>using_p</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='comment'># Module options hash
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># The code is just a proof-of-concept and will be expanded in the future
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Module </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># For modules to have access to the global datastore
|
||
</span> <span class='comment'># i.e. set -g DOMAIN test.com
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_gkey'>gkey</span><span class='comma'>,</span> <span class='id identifier rubyid_gval'>gval</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='id identifier rubyid_gkey'>gkey</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_gval'>gval</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Parameters passed in hash xref
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOSTS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RPORT</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_port'>selected_port</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SSL</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_ssl'>selected_ssl</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VERBOSE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_moduleverbose'>moduleverbose</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ShowProgress</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_showprogress'>showprogress</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RunAsJob</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_jobify'>jobify</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Run the plugins for each request that have a distinct
|
||
</span> <span class='comment'># GET/POST URI QUERY string.
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_workspace'>workspace</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_find_by_address'>find_by_address</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_host'>selected_host</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='id identifier rubyid_h'>h</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</span><span class='period'>.</span><span class='id identifier rubyid_find_by_port'>find_by_port</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_port'>selected_port</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_w'>w</span> <span class='op'>=</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_web_sites'>web_sites</span><span class='period'>.</span><span class='id identifier rubyid_find_by_vhost'>find_by_vhost</span><span class='lparen'>(</span><span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_w'>w</span><span class='period'>.</span><span class='id identifier rubyid_web_forms'>web_forms</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_req'>req</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_datastr'>datastr</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_typestr'>typestr</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_temparr'>temparr</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
|
||
<span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_pn'>pn</span><span class='comma'>,</span> <span class='id identifier rubyid_pv'>pv</span><span class='comma'>,</span> <span class='id identifier rubyid__pt'>_pt</span> <span class='op'>=</span> <span class='id identifier rubyid_p'>p</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_pn'>pn</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_pn'>pn</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_pv'>pv</span> <span class='op'>||</span> <span class='id identifier rubyid_pv'>pv</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='comment'># TODO: add value based on param name
|
||
</span> <span class='id identifier rubyid_pv'>pv</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>aaa</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
<span class='comment'># temparr << pn.to_s + "=" + Rex::Text.uri_encode(pv.to_s)
|
||
</span> <span class='id identifier rubyid_temparr'>temparr</span> <span class='op'><<</span> <span class='id identifier rubyid_pn'>pn</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_pv'>pv</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Blank parameter name. Form </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_datastr'>datastr</span> <span class='op'>=</span> <span class='id identifier rubyid_temparr'>temparr</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>&</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_temparr'>temparr</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_temparr'>temparr</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>METHOD</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PATH</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>GET</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>QUERY</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_datastr'>datastr</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>DATA</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>DATA</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_datastr'>datastr</span> <span class='kw'>if</span> <span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>POST</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>TYPES</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_typestr'>typestr</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># TODO: Add method, headers, etc.
|
||
</span> <span class='comment'>#
|
||
</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_usinginipath'>usinginipath</span> <span class='op'>&&</span> <span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_inipathname'>inipathname</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Path </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='comment'># print_status("Query PATH #{modopts['PATH']}")
|
||
</span> <span class='comment'># print_status("Query GET #{modopts['QUERY']}")
|
||
</span> <span class='comment'># print_status("Query POST #{modopts['DATA']}")
|
||
</span> <span class='comment'># print_status("Query TYPES #{typestr}")
|
||
</span>
|
||
<span class='kw'>begin</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_execmod'>execmod</span>
|
||
<span class='id identifier rubyid_rpc_round_exec'>rpc_round_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='comma'>,</span> <span class='id identifier rubyid_njobs'>njobs</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception during launch from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Handle modules that need to be after all tests, once.
|
||
</span> <span class='comment'># Good place to have modules that analyze the test results and/or
|
||
</span> <span class='comment'># launch exploits.
|
||
</span> <span class='comment'># :wmap_generic
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n=[ General testing ]=</span><span class='tstring_end'>"</span></span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_matches10'>matches10</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_xref'>xref</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>STOPPED.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Module not part of profile or not match
|
||
</span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='op'>!</span><span class='lparen'>(</span><span class='id identifier rubyid_using_p'>using_p</span> <span class='op'>&&</span> <span class='id identifier rubyid_eprofile'>eprofile</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_last'>last</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_mname'>mname</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='op'>!</span><span class='id identifier rubyid_using_m'>using_m</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_using_p'>using_p</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='comment'># Module options hash
|
||
</span> <span class='id identifier rubyid_modopts'>modopts</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># The code is just a proof-of-concept and will be expanded in the future
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Module </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># For modules to have access to the global datastore
|
||
</span> <span class='comment'># i.e. set -g DOMAIN test.com
|
||
</span> <span class='comment'>#
|
||
</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_datastore'>datastore</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_gkey'>gkey</span><span class='comma'>,</span> <span class='id identifier rubyid_gval'>gval</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='id identifier rubyid_gkey'>gkey</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_gval'>gval</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Parameters passed in hash xref
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RHOSTS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_host'>selected_host</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RPORT</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_port'>selected_port</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SSL</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_ssl'>selected_ssl</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_selected_vhost'>selected_vhost</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VERBOSE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_moduleverbose'>moduleverbose</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ShowProgress</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_showprogress'>showprogress</span>
|
||
<span class='id identifier rubyid_modopts'>modopts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RunAsJob</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_jobify'>jobify</span>
|
||
|
||
<span class='comment'>#
|
||
</span> <span class='comment'># Run the plugins that only need to be
|
||
</span> <span class='comment'># launched once.
|
||
</span> <span class='comment'>#
|
||
</span>
|
||
<span class='kw'>begin</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_execmod'>execmod</span>
|
||
<span class='id identifier rubyid_rpc_round_exec'>rpc_round_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_modopts'>modopts</span><span class='comma'>,</span> <span class='id identifier rubyid_njobs'>njobs</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception during launch from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> >> Exception from </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='gvar'>$ERROR_INFO</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span> <span class='op'>&</span> <span class='id identifier rubyid_wmap_expl'>wmap_expl</span> <span class='op'>!=</span> <span class='int'>0</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>+</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='lparen'>(</span><span class='id identifier rubyid_runlocal'>runlocal</span> <span class='op'>&&</span> <span class='id identifier rubyid_execmod'>execmod</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_rpc_list_nodes'>rpc_list_nodes</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Note: Use wmap_nodes -l to list node status for completion</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Launch completed in </span><span class='embexpr_beg'>#{</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>-</span> <span class='id identifier rubyid_stamp'>stamp</span><span class='embexpr_end'>}</span><span class='tstring_content'> seconds.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>+</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_sizeline'>sizeline</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Done.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># EOM
|
||
</span><span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="cmd_wmap_sites-instance_method">
|
||
|
||
#<strong>cmd_wmap_sites</strong>(*args) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
127
|
||
128
|
||
129
|
||
130
|
||
131
|
||
132
|
||
133
|
||
134
|
||
135
|
||
136
|
||
137
|
||
138
|
||
139
|
||
140
|
||
141
|
||
142
|
||
143
|
||
144
|
||
145
|
||
146
|
||
147
|
||
148
|
||
149
|
||
150
|
||
151
|
||
152
|
||
153
|
||
154
|
||
155
|
||
156
|
||
157
|
||
158
|
||
159
|
||
160
|
||
161
|
||
162
|
||
163
|
||
164
|
||
165
|
||
166
|
||
167
|
||
168
|
||
169
|
||
170
|
||
171
|
||
172
|
||
173
|
||
174
|
||
175
|
||
176
|
||
177
|
||
178
|
||
179
|
||
180
|
||
181
|
||
182
|
||
183
|
||
184
|
||
185
|
||
186
|
||
187
|
||
188
|
||
189
|
||
190
|
||
191
|
||
192
|
||
193
|
||
194
|
||
195
|
||
196
|
||
197
|
||
198
|
||
199
|
||
200
|
||
201
|
||
202
|
||
203
|
||
204
|
||
205
|
||
206
|
||
207
|
||
208
|
||
209
|
||
210
|
||
211
|
||
212
|
||
213
|
||
214
|
||
215
|
||
216
|
||
217
|
||
218
|
||
219
|
||
220
|
||
221
|
||
222
|
||
223
|
||
224
|
||
225</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 127</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_cmd_wmap_sites'>cmd_wmap_sites</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_arg'>arg</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span>
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_arg'>arg</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-a</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_site'>site</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_site'>site</span>
|
||
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='id identifier rubyid_add_web_site'>add_web_site</span><span class='lparen'>(</span><span class='id identifier rubyid_site'>site</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_s'>s</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Site created.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unable to create site</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>No site provided.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-d</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_del_idx'>del_idx</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_del_idx'>del_idx</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_delete_sites'>delete_sites</span><span class='lparen'>(</span><span class='id identifier rubyid_del_idx'>del_idx</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_d'>d</span><span class='op'>|</span> <span class='id identifier rubyid_d'>d</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^[0-9]*$</span><span class='regexp_end'>/</span></span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&</span><span class='symbol'>:to_i</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>No index provided.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-l</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_view_sites'>view_sites</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-s</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_u'>u</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_l'>l</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
<span class='id identifier rubyid_o'>o</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
|
||
|
||
<span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_u'>u</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_l'>l</span> <span class='op'>=</span> <span class='int'>200</span>
|
||
<span class='id identifier rubyid_o'>o</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>true</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>elsif</span> <span class='lparen'>(</span><span class='id identifier rubyid_l'>l</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>true</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_l'>l</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>false</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='comment'># Add check if unicode parameters is the second one
|
||
</span> <span class='id identifier rubyid_o'>o</span> <span class='op'>=</span> <span class='id identifier rubyid_l'>l</span>
|
||
<span class='id identifier rubyid_l'>l</span> <span class='op'>=</span> <span class='int'>200</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_l'>l</span> <span class='op'>=</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_o'>o</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_o'>o</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>true</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_u'>u</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>http</span><span class='tstring_end'>'</span></span>
|
||
<span class='comment'># Parameters are in url form
|
||
</span> <span class='id identifier rubyid_view_site_tree'>view_site_tree</span><span class='lparen'>(</span><span class='id identifier rubyid_u'>u</span><span class='comma'>,</span> <span class='id identifier rubyid_l'>l</span><span class='comma'>,</span> <span class='id identifier rubyid_o'>o</span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='comment'># Parameters are digits
|
||
</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_lastsites'>lastsites</span> <span class='op'>||</span> <span class='id identifier rubyid_lastsites'>lastsites</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_view_sites'>view_sites</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Web sites ids. referenced from previous table.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_u'>u</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>,</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_id'>id</span><span class='op'>|</span>
|
||
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>></span> <span class='id identifier rubyid_lastsites'>lastsites</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipping id </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span> <span class='op'><<</span> <span class='id identifier rubyid_lastsites'>lastsites</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='rbracket'>]</span>
|
||
<span class='comment'># print_status("Loading #{self.lastsites[id.to_i]}.")
|
||
</span> <span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Skip the DB entirely if no matches
|
||
</span> <span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_target_whitelist'>target_whitelist</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>unless</span> <span class='id identifier rubyid_targets'>targets</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_targets'>targets</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ent'>ent</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_view_site_tree'>view_site_tree</span><span class='lparen'>(</span><span class='id identifier rubyid_ent'>ent</span><span class='comma'>,</span> <span class='id identifier rubyid_l'>l</span><span class='comma'>,</span> <span class='id identifier rubyid_o'>o</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Usage: wmap_sites [options]</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-h Display this help text</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-a [url] Add site (vhost,url)</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-d [ids] Delete sites (separate ids with space)</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-l List all available sites</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-s [id] Display site structure (vhost,url|ids) (level) (unicode output true/false)</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown flag.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="cmd_wmap_targets-instance_method">
|
||
|
||
#<strong>cmd_wmap_targets</strong>(*args) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
96
|
||
97
|
||
98
|
||
99
|
||
100
|
||
101
|
||
102
|
||
103
|
||
104
|
||
105
|
||
106
|
||
107
|
||
108
|
||
109
|
||
110
|
||
111
|
||
112
|
||
113
|
||
114
|
||
115
|
||
116
|
||
117
|
||
118
|
||
119
|
||
120
|
||
121
|
||
122
|
||
123
|
||
124
|
||
125</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 96</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_cmd_wmap_targets'>cmd_wmap_targets</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_arg'>arg</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span>
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_arg'>arg</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-c</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_targets'>targets</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-l</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_view_targets'>view_targets</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-t</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_process_urls'>process_urls</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-d</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_process_ids'>process_ids</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Usage: wmap_targets [options]</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-h Display this help text</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-t [urls] Define target sites (vhost1,url[space]vhost2,url) </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-d [ids] Define target sites (id1, id2, id3 ...)</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-c Clean target sites list</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-l List all target sites</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown flag.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="cmd_wmap_vulns-instance_method">
|
||
|
||
#<strong>cmd_wmap_vulns</strong>(*args) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
53
|
||
54
|
||
55
|
||
56
|
||
57
|
||
58
|
||
59
|
||
60
|
||
61
|
||
62
|
||
63
|
||
64
|
||
65
|
||
66
|
||
67
|
||
68
|
||
69
|
||
70
|
||
71</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 53</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_cmd_wmap_vulns'>cmd_wmap_vulns</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_arg'>arg</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span><span class='rparen'>)</span>
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_arg'>arg</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-l</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_view_vulns'>view_vulns</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-h</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Usage: wmap_vulns [options]</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-h Display this help text</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t-l Display web vulns table</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown flag.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="commands-instance_method">
|
||
|
||
#<strong>commands</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>The initial command set</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
42
|
||
43
|
||
44
|
||
45
|
||
46
|
||
47
|
||
48
|
||
49
|
||
50
|
||
51</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 42</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_commands'>commands</span>
|
||
<span class='lbrace'>{</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap_targets</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Manage targets</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap_sites</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Manage sites</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap_nodes</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Manage nodes</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap_run</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Test targets</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap_modules</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Manage wmap modules</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap_vulns</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Display web vulns</span><span class='tstring_end'>'</span></span>
|
||
<span class='rbrace'>}</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="delete_sites-instance_method">
|
||
|
||
#<strong>delete_sites</strong>(wmap_index) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1211
|
||
1212
|
||
1213
|
||
1214
|
||
1215
|
||
1216
|
||
1217
|
||
1218
|
||
1219
|
||
1220
|
||
1221
|
||
1222
|
||
1223
|
||
1224
|
||
1225
|
||
1226
|
||
1227
|
||
1228
|
||
1229
|
||
1230
|
||
1231
|
||
1232</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1211</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_delete_sites'>delete_sites</span><span class='lparen'>(</span><span class='id identifier rubyid_wmap_index'>wmap_index</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_to_del'>to_del</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
||
<span class='comment'># Rebuild the index from wmap_sites -l
|
||
</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_bdhost'>bdhost</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_bdhost'>bdhost</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_serv'>serv</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_web_sites'>web_sites</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_web'>web</span><span class='op'>|</span>
|
||
<span class='comment'># If the index of this site matches any deletion index,
|
||
</span> <span class='comment'># add to our hash, saving the index for later output
|
||
</span> <span class='id identifier rubyid_to_del'>to_del</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_web'>web</span> <span class='kw'>if</span> <span class='id identifier rubyid_wmap_index'>wmap_index</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_w'>w</span><span class='op'>|</span> <span class='id identifier rubyid_w'>w</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>==</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbrace'>}</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_to_del'>to_del</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_widx'>widx</span><span class='comma'>,</span> <span class='id identifier rubyid_wsite'>wsite</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_wsite'>wsite</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Deleted </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wsite'>wsite</span><span class='period'>.</span><span class='id identifier rubyid_vhost'>vhost</span><span class='embexpr_end'>}</span><span class='tstring_content'> on </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wsite'>wsite</span><span class='period'>.</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='period'>.</span><span class='id identifier rubyid_address'>address</span><span class='embexpr_end'>}</span><span class='tstring_content'> at index </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_widx'>widx</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could note delete {wsite.vhost} on </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wsite'>wsite</span><span class='period'>.</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='period'>.</span><span class='id identifier rubyid_address'>address</span><span class='embexpr_end'>}</span><span class='tstring_content'> at index </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_widx'>widx</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="load_tree-instance_method">
|
||
|
||
#<strong>load_tree</strong>(s) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Load website structure into a tree</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1569
|
||
1570
|
||
1571
|
||
1572
|
||
1573
|
||
1574
|
||
1575
|
||
1576
|
||
1577
|
||
1578
|
||
1579
|
||
1580
|
||
1581
|
||
1582
|
||
1583
|
||
1584
|
||
1585</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1569</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_load_tree'>load_tree</span><span class='lparen'>(</span><span class='id identifier rubyid_s'>s</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_wtree'>wtree</span> <span class='op'>=</span> <span class='const'>Tree</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_vhost'>vhost</span><span class='rparen'>)</span>
|
||
|
||
<span class='comment'># Load site pages
|
||
</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_web_pages'>web_pages</span><span class='period'>.</span><span class='id identifier rubyid_order'>order</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>path asc</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_req'>req</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_code'>code</span> <span class='op'>!=</span> <span class='int'>404</span>
|
||
<span class='id identifier rubyid_load_tree_core'>load_tree_core</span><span class='lparen'>(</span><span class='id identifier rubyid_req'>req</span><span class='comma'>,</span> <span class='id identifier rubyid_wtree'>wtree</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Load site forms
|
||
</span> <span class='id identifier rubyid_s'>s</span><span class='period'>.</span><span class='id identifier rubyid_web_forms'>web_forms</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_req'>req</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_load_tree_core'>load_tree_core</span><span class='lparen'>(</span><span class='id identifier rubyid_req'>req</span><span class='comma'>,</span> <span class='id identifier rubyid_wtree'>wtree</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_wtree'>wtree</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="load_tree_core-instance_method">
|
||
|
||
#<strong>load_tree_core</strong>(req, wtree) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Private function to avoid duplicate code</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1555
|
||
1556
|
||
1557
|
||
1558
|
||
1559
|
||
1560
|
||
1561
|
||
1562
|
||
1563
|
||
1564</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1555</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_load_tree_core'>load_tree_core</span><span class='lparen'>(</span><span class='id identifier rubyid_req'>req</span><span class='comma'>,</span> <span class='id identifier rubyid_wtree'>wtree</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_pathchr'>pathchr</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_tarray'>tarray</span> <span class='op'>=</span> <span class='id identifier rubyid_req'>req</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='id identifier rubyid_pathchr'>pathchr</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_tarray'>tarray</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_tpath'>tpath</span> <span class='op'>=</span> <span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_pathchr'>pathchr</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_tarray'>tarray</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_df'>df</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_wtree'>wtree</span><span class='period'>.</span><span class='id identifier rubyid_add_at_path'>add_at_path</span><span class='lparen'>(</span><span class='id identifier rubyid_tpath'>tpath</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='id identifier rubyid_df'>df</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_tpath'>tpath</span> <span class='op'>+=</span> <span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_df'>df</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="load_wmap_modules-instance_method">
|
||
|
||
#<strong>load_wmap_modules</strong>(reload) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Load all wmap modules</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
2214
|
||
2215
|
||
2216
|
||
2217
|
||
2218
|
||
2219
|
||
2220
|
||
2221
|
||
2222
|
||
2223
|
||
2224
|
||
2225
|
||
2226
|
||
2227
|
||
2228
|
||
2229
|
||
2230
|
||
2231
|
||
2232
|
||
2233
|
||
2234
|
||
2235
|
||
2236
|
||
2237
|
||
2238
|
||
2239</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 2214</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_load_wmap_modules'>load_wmap_modules</span><span class='lparen'>(</span><span class='id identifier rubyid_reload'>reload</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_reload'>reload</span> <span class='op'>||</span> <span class='op'>!</span><span class='id identifier rubyid_wmapmodules'>wmapmodules</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Loading wmap modules...</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_wmapmodules'>wmapmodules</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='lbracket'>[</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_auxiliary'>auxiliary</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>auxiliary</span><span class='tstring_end'>'</span></span> <span class='rbracket'>]</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_exploits'>exploits</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>exploit</span><span class='tstring_end'>'</span></span> <span class='rbracket'>]</span> <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_mtype'>mtype</span><span class='op'>|</span>
|
||
<span class='comment'># Scan all exploit modules for matching references
|
||
</span> <span class='id identifier rubyid_mtype'>mtype</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each_module'>each_module</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_n'>n</span><span class='comma'>,</span> <span class='id identifier rubyid_m'>m</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_e'>e</span> <span class='op'>=</span> <span class='id identifier rubyid_m'>m</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='comment'># Only include wmap_enabled plugins
|
||
</span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap_enabled</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_penabled'>penabled</span> <span class='op'>=</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_wmap_enabled'>wmap_enabled</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_penabled'>penabled</span>
|
||
<span class='id identifier rubyid_wmapmodules'>wmapmodules</span> <span class='op'><<</span> <span class='lbracket'>[</span><span class='id identifier rubyid_mtype'>mtype</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_n'>n</span><span class='comma'>,</span> <span class='id identifier rubyid_mtype'>mtype</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_wmap_type'>wmap_type</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_orderid'>orderid</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_idx'>idx</span><span class='embexpr_end'>}</span><span class='tstring_content'> wmap enabled modules loaded.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="local_module_exec-instance_method">
|
||
|
||
#<strong>local_module_exec</strong>(mod, mtype, opts, _nmaxjobs) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1719
|
||
1720
|
||
1721
|
||
1722
|
||
1723
|
||
1724
|
||
1725
|
||
1726
|
||
1727
|
||
1728
|
||
1729
|
||
1730
|
||
1731
|
||
1732
|
||
1733
|
||
1734
|
||
1735
|
||
1736
|
||
1737
|
||
1738
|
||
1739
|
||
1740
|
||
1741
|
||
1742
|
||
1743
|
||
1744
|
||
1745
|
||
1746
|
||
1747
|
||
1748
|
||
1749
|
||
1750
|
||
1751
|
||
1752
|
||
1753
|
||
1754
|
||
1755
|
||
1756
|
||
1757
|
||
1758
|
||
1759
|
||
1760
|
||
1761
|
||
1762
|
||
1763</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1719</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_local_module_exec'>local_module_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_mod'>mod</span><span class='comma'>,</span> <span class='id identifier rubyid_mtype'>mtype</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='id identifier rubyid__nmaxjobs'>_nmaxjobs</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_jobify'>jobify</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
|
||
<span class='id identifier rubyid_modinst'>modinst</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_modules'>modules</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_mod'>mod</span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_modinst'>modinst</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unknown module</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_sess'>sess</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
|
||
<span class='kw'>case</span> <span class='id identifier rubyid_mtype'>mtype</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>auxiliary</span><span class='tstring_end'>'</span></span>
|
||
<span class='const'><span class='object_link'><a href="../../../Msf.html" title="Msf (module)">Msf</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Simple.html" title="Msf::Simple (module)">Simple</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Simple/Auxiliary.html" title="Msf::Simple::Auxiliary (module)">Auxiliary</a></span></span><span class='period'>.</span><span class='id identifier rubyid_run_simple'><span class='object_link'><a href="../../Simple/Auxiliary.html#run_simple-class_method" title="Msf::Simple::Auxiliary.run_simple (method)">run_simple</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_modinst'>modinst</span><span class='comma'>,</span> <span class='lbrace'>{</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Action</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ACTION</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>LocalOutput</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_driver'>driver</span><span class='period'>.</span><span class='id identifier rubyid_output'>output</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RunAsJob</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_jobify'>jobify</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Options</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_opts'>opts</span>
|
||
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
||
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>exploit</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PAYLOAD</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PAYLOAD</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="" title="Msf::Plugin::Wmap::WmapCommandDispatcher (class)">WmapCommandDispatcher</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Ui/Console/CommandDispatcher/Exploit.html" title="Msf::Ui::Console::CommandDispatcher::Exploit (class)">Exploit</a></span></span><span class='period'>.</span><span class='id identifier rubyid_choose_payload'><span class='object_link'><a href="../../Ui/Console/CommandDispatcher/Exploit.html#choose_payload-class_method" title="Msf::Ui::Console::CommandDispatcher::Exploit.choose_payload (method)">choose_payload</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_modinst'>modinst</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>TARGET</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_sess'>sess</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Msf.html" title="Msf (module)">Msf</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Simple.html" title="Msf::Simple (module)">Simple</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Simple/Exploit.html" title="Msf::Simple::Exploit (module)">Exploit</a></span></span><span class='period'>.</span><span class='id identifier rubyid_exploit_simple'><span class='object_link'><a href="../../Simple/Exploit.html#exploit_simple-class_method" title="Msf::Simple::Exploit.exploit_simple (method)">exploit_simple</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_modinst'>modinst</span><span class='comma'>,</span> <span class='lbrace'>{</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Payload</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PAYLOAD</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Target</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>TARGET</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>LocalOutput</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_driver'>driver</span><span class='period'>.</span><span class='id identifier rubyid_output'>output</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RunAsJob</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_jobify'>jobify</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Options</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_opts'>opts</span>
|
||
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Wrong mtype.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_sess'>sess</span>
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_jobify'>jobify</span> <span class='op'>==</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='id identifier rubyid_sess'>sess</span><span class='period'>.</span><span class='id identifier rubyid_interactive?'>interactive?</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span>
|
||
<span class='id identifier rubyid_driver'>driver</span><span class='period'>.</span><span class='id identifier rubyid_run_single'>run_single</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>sessions -q -i </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_sess'>sess</span><span class='period'>.</span><span class='id identifier rubyid_sid'>sid</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Session </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_sess'>sess</span><span class='period'>.</span><span class='id identifier rubyid_sid'>sid</span><span class='embexpr_end'>}</span><span class='tstring_content'> created in the background.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="name-instance_method">
|
||
|
||
#<strong>name</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
35
|
||
36
|
||
37</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 35</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_name'>name</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="print_file-instance_method">
|
||
|
||
#<strong>print_file</strong>(filename) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1587
|
||
1588
|
||
1589
|
||
1590
|
||
1591
|
||
1592
|
||
1593
|
||
1594
|
||
1595
|
||
1596</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1587</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_print_file'>print_file</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_ext'>ext</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_extname'>extname</span><span class='lparen'>(</span><span class='id identifier rubyid_filename'>filename</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='qwords_beg'>%w[</span><span class='tstring_content'>.txt</span><span class='words_sep'> </span><span class='tstring_content'>.md</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_ext'>ext</span>
|
||
<span class='id identifier rubyid_print'>print</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%bld%red</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>elsif</span> <span class='qwords_beg'>%w[</span><span class='tstring_content'>.css</span><span class='words_sep'> </span><span class='tstring_content'>.js</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_ext'>ext</span>
|
||
<span class='id identifier rubyid_print'>print</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%grn</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filename'>filename</span><span class='embexpr_end'>}</span><span class='tstring_content'>%clr</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="print_tree-instance_method">
|
||
|
||
#<strong>print_tree</strong>(tree, ip, max_level, unicode) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Print Tree structure. Less ugly Modified by Jon P.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1642
|
||
1643
|
||
1644
|
||
1645
|
||
1646
|
||
1647
|
||
1648
|
||
1649
|
||
1650
|
||
1651
|
||
1652
|
||
1653
|
||
1654
|
||
1655
|
||
1656
|
||
1657</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1642</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_print_tree'>print_tree</span><span class='lparen'>(</span><span class='id identifier rubyid_tree'>tree</span><span class='comma'>,</span> <span class='id identifier rubyid_ip'>ip</span><span class='comma'>,</span> <span class='id identifier rubyid_max_level'>max_level</span><span class='comma'>,</span> <span class='id identifier rubyid_unicode'>unicode</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='int'>4</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_depth'>depth</span> <span class='op'><=</span> <span class='id identifier rubyid_max_level'>max_level</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_depth'>depth</span> <span class='op'>==</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span> <span class='op'>+</span> <span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_indent'>indent</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>%cya[</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>] (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ip'>ip</span><span class='embexpr_end'>}</span><span class='tstring_content'>)%clr</span><span class='tstring_end'>"</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='int'>1</span>
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_children'>children</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span>
|
||
<span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_children'>children</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_child'>child</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_print_tree_recursive'>print_tree_recursive</span><span class='lparen'>(</span><span class='id identifier rubyid_child'>child</span><span class='comma'>,</span> <span class='id identifier rubyid_max_level'>max_level</span><span class='comma'>,</span> <span class='id identifier rubyid_indent'>indent</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span> <span class='op'>>=</span> <span class='id identifier rubyid_c'>c</span><span class='comma'>,</span> <span class='id identifier rubyid_unicode'>unicode</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_i'>i</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="print_tree_recursive-instance_method">
|
||
|
||
#<strong>print_tree_recursive</strong>(tree, max_level, indent, prefix, is_last, unicode) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Recursive function for printing the tree structure</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1601
|
||
1602
|
||
1603
|
||
1604
|
||
1605
|
||
1606
|
||
1607
|
||
1608
|
||
1609
|
||
1610
|
||
1611
|
||
1612
|
||
1613
|
||
1614
|
||
1615
|
||
1616
|
||
1617
|
||
1618
|
||
1619
|
||
1620
|
||
1621
|
||
1622
|
||
1623
|
||
1624
|
||
1625
|
||
1626
|
||
1627
|
||
1628
|
||
1629
|
||
1630
|
||
1631
|
||
1632
|
||
1633
|
||
1634
|
||
1635
|
||
1636</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1601</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_print_tree_recursive'>print_tree_recursive</span><span class='lparen'>(</span><span class='id identifier rubyid_tree'>tree</span><span class='comma'>,</span> <span class='id identifier rubyid_max_level'>max_level</span><span class='comma'>,</span> <span class='id identifier rubyid_indent'>indent</span><span class='comma'>,</span> <span class='id identifier rubyid_prefix'>prefix</span><span class='comma'>,</span> <span class='id identifier rubyid_is_last'>is_last</span><span class='comma'>,</span> <span class='id identifier rubyid_unicode'>unicode</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_depth'>depth</span> <span class='op'><=</span> <span class='id identifier rubyid_max_level'>max_level</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print'>print</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='id identifier rubyid_indent'>indent</span><span class='rparen'>)</span>
|
||
|
||
<span class='comment'># Prefix serve to print the superior hierarchy
|
||
</span> <span class='id identifier rubyid_prefix'>prefix</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_bool'>bool</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_unicode'>unicode</span>
|
||
<span class='id identifier rubyid_print'>print</span> <span class='lparen'>(</span><span class='id identifier rubyid_bool'>bool</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>│</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='int'>3</span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print'>print</span> <span class='lparen'>(</span><span class='id identifier rubyid_bool'>bool</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='int'>3</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_unicode'>unicode</span>
|
||
<span class='comment'># The last children is special
|
||
</span> <span class='id identifier rubyid_print'>print</span> <span class='lparen'>(</span><span class='id identifier rubyid_is_last'>is_last</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>└</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>├</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>─</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='int'>2</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print'>print</span> <span class='lparen'>(</span><span class='id identifier rubyid_is_last'>is_last</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>`</span><span class='tstring_end'>'</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-</span><span class='tstring_end'>'</span></span> <span class='op'>*</span> <span class='int'>2</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_children'>children</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>></span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>%bld%blu</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>%clr (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_c'>c</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_file'>print_file</span> <span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='int'>1</span>
|
||
<span class='id identifier rubyid_new_prefix'>new_prefix</span> <span class='op'>=</span> <span class='id identifier rubyid_prefix'>prefix</span> <span class='op'>+</span> <span class='lbracket'>[</span><span class='id identifier rubyid_is_last'>is_last</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_tree'>tree</span><span class='period'>.</span><span class='id identifier rubyid_children'>children</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_child'>child</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_is_last'>is_last</span> <span class='op'>=</span> <span class='id identifier rubyid_i'>i</span> <span class='op'>>=</span> <span class='id identifier rubyid_c'>c</span>
|
||
<span class='id identifier rubyid_print_tree_recursive'>print_tree_recursive</span><span class='lparen'>(</span><span class='id identifier rubyid_child'>child</span><span class='comma'>,</span> <span class='id identifier rubyid_max_level'>max_level</span><span class='comma'>,</span> <span class='id identifier rubyid_indent'>indent</span><span class='comma'>,</span> <span class='id identifier rubyid_new_prefix'>new_prefix</span><span class='comma'>,</span> <span class='id identifier rubyid_is_last'>is_last</span><span class='comma'>,</span> <span class='id identifier rubyid_unicode'>unicode</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_i'>i</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="process_ids-instance_method">
|
||
|
||
#<strong>process_ids</strong>(idsstr) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Code by hdm. Modified two lines by et lastsites contains a temporary array with vhost,url strings so the id can be referenced in the array and prevent new sites added in the db to corrupt previous id list.</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1445
|
||
1446
|
||
1447
|
||
1448
|
||
1449
|
||
1450
|
||
1451
|
||
1452
|
||
1453
|
||
1454
|
||
1455
|
||
1456
|
||
1457
|
||
1458
|
||
1459
|
||
1460
|
||
1461
|
||
1462
|
||
1463
|
||
1464
|
||
1465
|
||
1466
|
||
1467
|
||
1468
|
||
1469
|
||
1470
|
||
1471
|
||
1472
|
||
1473
|
||
1474
|
||
1475</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1445</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_process_ids'>process_ids</span><span class='lparen'>(</span><span class='id identifier rubyid_idsstr'>idsstr</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_lastsites'>lastsites</span> <span class='op'>||</span> <span class='id identifier rubyid_lastsites'>lastsites</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_view_sites'>view_sites</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Web sites ids. referenced from previous table.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_ids'>ids</span> <span class='op'>=</span> <span class='id identifier rubyid_idsstr'>idsstr</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>,</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_ids'>ids</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_id'>id</span><span class='op'>|</span>
|
||
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>></span> <span class='id identifier rubyid_lastsites'>lastsites</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipping id </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span> <span class='op'><<</span> <span class='id identifier rubyid_lastsites'>lastsites</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Loading </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_lastsites'>lastsites</span><span class='lbracket'>[</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Skip the DB entirely if no matches
|
||
</span> <span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_target_whitelist'>target_whitelist</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_targets'>targets</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_targets'>targets</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ent'>ent</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_process_urls'>process_urls</span><span class='lparen'>(</span><span class='id identifier rubyid_ent'>ent</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="process_urls-instance_method">
|
||
|
||
#<strong>process_urls</strong>(urlstr) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Code by hdm. Modified two lines by et</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1334
|
||
1335
|
||
1336
|
||
1337
|
||
1338
|
||
1339
|
||
1340
|
||
1341
|
||
1342
|
||
1343
|
||
1344
|
||
1345
|
||
1346
|
||
1347
|
||
1348
|
||
1349
|
||
1350
|
||
1351
|
||
1352
|
||
1353
|
||
1354
|
||
1355
|
||
1356
|
||
1357
|
||
1358
|
||
1359
|
||
1360
|
||
1361
|
||
1362
|
||
1363
|
||
1364
|
||
1365
|
||
1366
|
||
1367
|
||
1368
|
||
1369
|
||
1370
|
||
1371
|
||
1372
|
||
1373
|
||
1374
|
||
1375
|
||
1376
|
||
1377
|
||
1378
|
||
1379
|
||
1380
|
||
1381
|
||
1382
|
||
1383
|
||
1384
|
||
1385
|
||
1386
|
||
1387
|
||
1388
|
||
1389
|
||
1390
|
||
1391
|
||
1392
|
||
1393
|
||
1394
|
||
1395
|
||
1396
|
||
1397
|
||
1398
|
||
1399
|
||
1400
|
||
1401
|
||
1402
|
||
1403
|
||
1404
|
||
1405
|
||
1406
|
||
1407
|
||
1408
|
||
1409
|
||
1410
|
||
1411
|
||
1412
|
||
1413
|
||
1414
|
||
1415
|
||
1416
|
||
1417
|
||
1418
|
||
1419
|
||
1420
|
||
1421
|
||
1422
|
||
1423
|
||
1424
|
||
1425
|
||
1426
|
||
1427
|
||
1428
|
||
1429
|
||
1430
|
||
1431
|
||
1432
|
||
1433
|
||
1434
|
||
1435
|
||
1436
|
||
1437
|
||
1438
|
||
1439
|
||
1440</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1334</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_process_urls'>process_urls</span><span class='lparen'>(</span><span class='id identifier rubyid_urlstr'>urlstr</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
|
||
<span class='id identifier rubyid_urls'>urls</span> <span class='op'>=</span> <span class='id identifier rubyid_urlstr'>urlstr</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s+</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_urls'>urls</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_url'>url</span><span class='op'>|</span>
|
||
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
|
||
<span class='comment'># Allow the URL to be supplied as VHOST,URL if a custom VHOST
|
||
</span> <span class='comment'># should be used. This allows for things like:
|
||
</span> <span class='comment'># localhost,http://192.168.0.2/admin/
|
||
</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^http</span><span class='regexp_end'>/</span></span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='id identifier rubyid_vhost'>vhost</span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Prefix http:// when the URL has no specified parameter
|
||
</span> <span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>^[a-z0-9A-Z]+://</span><span class='regexp_end'>}</span></span>
|
||
<span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>http://</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_url'>url</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span> <span class='op'>=</span> <span class='kw'>begin</span>
|
||
<span class='const'>URI</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='kw'>nil</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not understand URL: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_url'>url</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_scheme'>scheme</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^https?</span><span class='regexp_end'>/</span></span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Only http and https URLs are accepted: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_url'>url</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span> <span class='op'><<</span> <span class='lbracket'>[</span><span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>||</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='rbracket'>]</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Skip the DB entirely if no matches
|
||
</span> <span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_target_whitelist'>target_whitelist</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_targets'>targets</span>
|
||
<span class='comment'># First time targets are defined
|
||
</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_targets'>targets</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_target_whitelist'>target_whitelist</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ent'>ent</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_target'>target</span> <span class='op'>=</span> <span class='id identifier rubyid_ent'>ent</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Socket</span><span class='period'>.</span><span class='id identifier rubyid_getaddress'>getaddress</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
||
<span class='kw'>rescue</span> <span class='const'>SocketError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
||
<span class='id identifier rubyid_elog'><span class='object_link'><a href="../../../top-level-namespace.html#elog-instance_method" title="#elog (method)">elog</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not get address for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wmap</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>error:</span> <span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not get address for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>. Skipping.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_host'>host</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_workspace'>workspace</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_find_by_address'>find_by_address</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_host'>host</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No matching host for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_serv'>serv</span> <span class='op'>=</span> <span class='id identifier rubyid_host'>host</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</span><span class='period'>.</span><span class='id identifier rubyid_find_by_port_and_proto'>find_by_port_and_proto</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tcp</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_serv'>serv</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No matching service for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_sites'>sites</span> <span class='op'>=</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_web_sites'>web_sites</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>vhost = ? and service_id = ?</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_sites'>sites</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_site'>site</span><span class='op'>|</span>
|
||
<span class='comment'># Initial default path
|
||
</span> <span class='id identifier rubyid_inipath'>inipath</span> <span class='op'>=</span> <span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_inipath'>inipath</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># site.web_forms.where(path: target.path).each do |form|
|
||
</span> <span class='id identifier rubyid_ckey'>ckey</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_site'>site</span><span class='period'>.</span><span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_host'>host</span><span class='period'>.</span><span class='id identifier rubyid_address'>address</span><span class='comma'>,</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='id identifier rubyid_inipath'>inipath</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_join'><span class='object_link'><a href="../../../top-level-namespace.html#join-instance_method" title="#join (method)">join</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_targets'>targets</span><span class='lbracket'>[</span><span class='id identifier rubyid_ckey'>ckey</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_targets'>targets</span><span class='lbracket'>[</span><span class='id identifier rubyid_ckey'>ckey</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="WebTarget.html" title="Msf::Plugin::Wmap::WebTarget (class)">WebTarget</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Wmap.html#initialize-instance_method" title="Msf::Plugin::Wmap#initialize (method)">new</a></span></span>
|
||
<span class='id identifier rubyid_targets'>targets</span><span class='lbracket'>[</span><span class='id identifier rubyid_ckey'>ckey</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
||
<span class='label'>vhost:</span> <span class='id identifier rubyid_site'>site</span><span class='period'>.</span><span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span>
|
||
<span class='label'>host:</span> <span class='id identifier rubyid_host'>host</span><span class='period'>.</span><span class='id identifier rubyid_address'>address</span><span class='comma'>,</span>
|
||
<span class='label'>port:</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='comma'>,</span>
|
||
<span class='label'>ssl:</span> <span class='lparen'>(</span><span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>https</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
||
<span class='label'>path:</span> <span class='id identifier rubyid_inipath'>inipath</span>
|
||
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
||
<span class='comment'># self.targets[ckey][inipath] = []
|
||
</span> <span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Target already set in targets list.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Store the form object in the hash for this path
|
||
</span> <span class='comment'># self.targets[ckey][inipath] << inipath
|
||
</span> <span class='comment'># end
|
||
</span> <span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="queryparse-instance_method">
|
||
|
||
#<strong>queryparse</strong>(query) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1667
|
||
1668
|
||
1669
|
||
1670
|
||
1671
|
||
1672
|
||
1673
|
||
1674
|
||
1675
|
||
1676
|
||
1677
|
||
1678
|
||
1679</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1667</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_queryparse'>queryparse</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_params'>params</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>[&;]</span><span class='regexp_end'>/n</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_pairs'>pairs</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_pairs'>pairs</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
||
<span class='comment'># Error
|
||
</span> <span class='kw'>else</span>
|
||
<span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_params'>params</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="quit?-instance_method">
|
||
|
||
#<strong>quit?</strong> ⇒ <tt>Boolean</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Modified from <a href="http://stackoverflow.com/questions/946738/detect-key-press-non-blocking-w-o-getc-gets-in-ruby">stackoverflow.com/questions/946738/detect-key-press-non-blocking-w-o-getc-gets-in-ruby</a></p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
<p class="tag_title">Returns:</p>
|
||
<ul class="return">
|
||
|
||
<li>
|
||
|
||
|
||
<span class='type'>(<tt>Boolean</tt>)</span>
|
||
|
||
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
2000
|
||
2001
|
||
2002
|
||
2003
|
||
2004
|
||
2005
|
||
2006
|
||
2007
|
||
2008
|
||
2009
|
||
2010
|
||
2011
|
||
2012</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 2000</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_quit?'>quit?</span>
|
||
<span class='kw'>while</span> <span class='lparen'>(</span><span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='id identifier rubyid_driver'>driver</span><span class='period'>.</span><span class='id identifier rubyid_input'>input</span><span class='period'>.</span><span class='id identifier rubyid_read_nonblock'>read_nonblock</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Quited</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Q</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>false</span>
|
||
<span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EINTR</span>
|
||
<span class='kw'>false</span>
|
||
<span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EAGAIN</span>
|
||
<span class='kw'>false</span>
|
||
<span class='kw'>rescue</span> <span class='const'>EOFError</span>
|
||
<span class='kw'>true</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpc_add_node-instance_method">
|
||
|
||
#<strong>rpc_add_node</strong>(host, port, ssl, user, pass, bypass_exist) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1681
|
||
1682
|
||
1683
|
||
1684
|
||
1685
|
||
1686
|
||
1687
|
||
1688
|
||
1689
|
||
1690
|
||
1691
|
||
1692
|
||
1693
|
||
1694
|
||
1695
|
||
1696
|
||
1697
|
||
1698
|
||
1699
|
||
1700
|
||
1701
|
||
1702
|
||
1703
|
||
1704
|
||
1705
|
||
1706
|
||
1707
|
||
1708
|
||
1709
|
||
1710
|
||
1711
|
||
1712
|
||
1713
|
||
1714
|
||
1715
|
||
1716
|
||
1717</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1681</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_rpc_add_node'>rpc_add_node</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='id identifier rubyid_ssl'>ssl</span><span class='comma'>,</span> <span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='id identifier rubyid_pass'>pass</span><span class='comma'>,</span> <span class='id identifier rubyid_bypass_exist'>bypass_exist</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rpcarr'>rpcarr</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_rpcarr'>rpcarr</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_istr'>istr</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>|</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_port'>port</span><span class='embexpr_end'>}</span><span class='tstring_content'>|</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ssl'>ssl</span><span class='embexpr_end'>}</span><span class='tstring_content'>|</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_user'>user</span><span class='embexpr_end'>}</span><span class='tstring_content'>|</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_pass'>pass</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_istr'>istr</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_bypass_exist'>bypass_exist</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='lbracket'>[</span><span class='id identifier rubyid_istr'>istr</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Connection already exists </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_istr'>istr</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_temprpc'>temprpc</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'><span class='object_link'><a href="../../../Msf.html" title="Msf (module)">Msf</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../RPC.html" title="Msf::RPC (module)">RPC</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../RPC/Client.html" title="Msf::RPC::Client (class)">Client</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../../RPC/Client.html#initialize-instance_method" title="Msf::RPC::Client#initialize (method)">new</a></span></span><span class='lparen'>(</span>
|
||
<span class='label'>host:</span> <span class='id identifier rubyid_host'>host</span><span class='comma'>,</span>
|
||
<span class='label'>port:</span> <span class='id identifier rubyid_port'>port</span><span class='comma'>,</span>
|
||
<span class='label'>ssl:</span> <span class='id identifier rubyid_ssl'>ssl</span>
|
||
<span class='rparen'>)</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unable to connect</span><span class='tstring_end'>'</span></span>
|
||
<span class='comment'># raise ConnectionError
|
||
</span> <span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_temprpc'>temprpc</span><span class='period'>.</span><span class='id identifier rubyid_login'>login</span><span class='lparen'>(</span><span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='id identifier rubyid_pass'>pass</span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_res'>res</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Unable to authenticate to </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_port'>port</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_temprpc'>temprpc</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>core.version</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Connected to </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_port'>port</span><span class='embexpr_end'>}</span><span class='tstring_content'> [</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>version</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>].</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='lbracket'>[</span><span class='id identifier rubyid_istr'>istr</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_temprpc'>temprpc</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Unable to connect</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpc_db_nodes-instance_method">
|
||
|
||
#<strong>rpc_db_nodes</strong>(host, port, user, pass, name) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1853
|
||
1854
|
||
1855
|
||
1856
|
||
1857
|
||
1858
|
||
1859
|
||
1860
|
||
1861
|
||
1862
|
||
1863
|
||
1864
|
||
1865
|
||
1866
|
||
1867
|
||
1868
|
||
1869
|
||
1870
|
||
1871
|
||
1872
|
||
1873
|
||
1874
|
||
1875
|
||
1876
|
||
1877</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1853</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_rpc_db_nodes'>rpc_db_nodes</span><span class='lparen'>(</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='id identifier rubyid_pass'>pass</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_rpc_reconnect_nodes'>rpc_reconnect_nodes</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_active_rpc_nodes'>active_rpc_nodes</span> <span class='op'>==</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>No active nodes at this time</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_v'>v</span>
|
||
<span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>db.driver</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>driver:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>postgresql</span><span class='tstring_end'>'</span></span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>db.connect</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>database:</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>host:</span> <span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='label'>port:</span> <span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='label'>username:</span> <span class='id identifier rubyid_user'>user</span><span class='comma'>,</span> <span class='label'>password:</span> <span class='id identifier rubyid_pass'>pass</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>db.status</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_res'>res</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>db</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_name'>name</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>db_connect </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_res'>res</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_port'>port</span><span class='embexpr_end'>}</span><span class='tstring_content'> OK</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Error db_connect </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_res'>res</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_port'>port</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No connection to node </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpc_kill_node-instance_method">
|
||
|
||
#<strong>rpc_kill_node</strong>(i, j) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1909
|
||
1910
|
||
1911
|
||
1912
|
||
1913
|
||
1914
|
||
1915
|
||
1916
|
||
1917
|
||
1918
|
||
1919
|
||
1920
|
||
1921
|
||
1922
|
||
1923
|
||
1924
|
||
1925
|
||
1926
|
||
1927
|
||
1928
|
||
1929
|
||
1930
|
||
1931
|
||
1932
|
||
1933
|
||
1934
|
||
1935
|
||
1936
|
||
1937
|
||
1938
|
||
1939
|
||
1940
|
||
1941
|
||
1942
|
||
1943
|
||
1944
|
||
1945
|
||
1946
|
||
1947
|
||
1948</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1909</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_rpc_kill_node'>rpc_kill_node</span><span class='lparen'>(</span><span class='id identifier rubyid_i'>i</span><span class='comma'>,</span> <span class='id identifier rubyid_j'>j</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_i'>i</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Nodes not defined</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_j'>j</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Node jobs defined</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_rpc_reconnect_nodes'>rpc_reconnect_nodes</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_active_rpc_nodes'>active_rpc_nodes</span> <span class='op'>==</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>No active nodes at this time</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid__k'>_k</span><span class='comma'>,</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_idx'>idx</span> <span class='op'>==</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ALL</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='comment'># begin
|
||
</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rpccon'>rpccon</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No connection to node </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_idx'>idx</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job.list</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_j'>j</span> <span class='op'>==</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_j'>j</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ALL</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job.stop</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Node </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_idx'>idx</span><span class='embexpr_end'>}</span><span class='tstring_content'> Killed job id </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='comment'># rescue
|
||
</span> <span class='comment'># print_error("No connection")
|
||
</span> <span class='comment'># end
|
||
</span> <span class='kw'>end</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpc_list_nodes-instance_method">
|
||
|
||
#<strong>rpc_list_nodes</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
2088
|
||
2089
|
||
2090
|
||
2091
|
||
2092
|
||
2093
|
||
2094
|
||
2095
|
||
2096
|
||
2097
|
||
2098
|
||
2099
|
||
2100
|
||
2101
|
||
2102
|
||
2103
|
||
2104
|
||
2105
|
||
2106
|
||
2107
|
||
2108
|
||
2109
|
||
2110
|
||
2111
|
||
2112
|
||
2113
|
||
2114
|
||
2115
|
||
2116
|
||
2117
|
||
2118
|
||
2119
|
||
2120
|
||
2121
|
||
2122
|
||
2123
|
||
2124
|
||
2125
|
||
2126
|
||
2127
|
||
2128
|
||
2129
|
||
2130
|
||
2131
|
||
2132
|
||
2133
|
||
2134
|
||
2135
|
||
2136</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 2088</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_rpc_list_nodes'>rpc_list_nodes</span>
|
||
<span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Text</span><span class='op'>::</span><span class='const'>Table</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Indent</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_indent'>indent</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Header</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Nodes</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Columns</span><span class='tstring_end'>'</span></span> <span class='op'>=></span>
|
||
<span class='lbracket'>[</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Id</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Host</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Port</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SSL</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>User</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Pass</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Status</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>#jobs</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='rbracket'>]</span>
|
||
<span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
|
||
<span class='id identifier rubyid_rpc_reconnect_nodes'>rpc_reconnect_nodes</span>
|
||
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_arrk'>arrk</span> <span class='op'>=</span> <span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rpccon'>rpccon</span>
|
||
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>NOCONN</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>else</span>
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>core.version</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>version</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job.list</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'><<</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>4</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='comma'>,</span> <span class='id identifier rubyid_n'>n</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='id identifier rubyid_tbl'>tbl</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpc_mon_nodes-instance_method">
|
||
|
||
#<strong>rpc_mon_nodes</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
2014
|
||
2015
|
||
2016
|
||
2017
|
||
2018
|
||
2019
|
||
2020
|
||
2021
|
||
2022
|
||
2023
|
||
2024
|
||
2025
|
||
2026
|
||
2027
|
||
2028
|
||
2029
|
||
2030
|
||
2031
|
||
2032
|
||
2033
|
||
2034
|
||
2035
|
||
2036
|
||
2037
|
||
2038
|
||
2039
|
||
2040
|
||
2041
|
||
2042
|
||
2043
|
||
2044
|
||
2045
|
||
2046
|
||
2047
|
||
2048
|
||
2049
|
||
2050
|
||
2051
|
||
2052
|
||
2053
|
||
2054
|
||
2055
|
||
2056
|
||
2057
|
||
2058
|
||
2059
|
||
2060
|
||
2061
|
||
2062
|
||
2063
|
||
2064
|
||
2065
|
||
2066
|
||
2067
|
||
2068
|
||
2069
|
||
2070
|
||
2071
|
||
2072
|
||
2073
|
||
2074
|
||
2075
|
||
2076
|
||
2077
|
||
2078
|
||
2079
|
||
2080
|
||
2081
|
||
2082
|
||
2083
|
||
2084
|
||
2085
|
||
2086</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 2014</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_rpc_mon_nodes'>rpc_mon_nodes</span>
|
||
<span class='comment'># Pretty monitor
|
||
</span>
|
||
<span class='id identifier rubyid_color'>color</span> <span class='op'>=</span> <span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ConsoleDriver</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_output'>output</span><span class='period'>.</span><span class='id identifier rubyid_supports_color?'>supports_color?</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='kw'>false</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_colors'>colors</span> <span class='op'>=</span> <span class='lbracket'>[</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%grn</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%blu</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%yel</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%whi</span><span class='tstring_end'>'</span></span>
|
||
<span class='rbracket'>]</span>
|
||
|
||
<span class='comment'># begin
|
||
</span> <span class='id identifier rubyid_loop'>loop</span> <span class='kw'>do</span>
|
||
<span class='id identifier rubyid_rpc_reconnect_nodes'>rpc_reconnect_nodes</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid__k'>_k</span><span class='comma'>,</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>NOCONN</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='int'>1</span>
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%red</span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rpccon'>rpccon</span>
|
||
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>NOCONN</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='int'>1</span>
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%red</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>else</span>
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%blu</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%red</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job.list</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%blu</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='int'>1</span>
|
||
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>NOCONN</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>%red</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># begin
|
||
</span> <span class='kw'>if</span> <span class='op'>!</span><span class='ivar'>@stdio</span>
|
||
<span class='ivar'>@stdio</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../../Rex/Ui.html" title="Rex::Ui (module)">Ui</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../../Rex/Ui/Text.html" title="Rex::Ui::Text (module)">Text</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../../Rex/Ui/Text/Output.html" title="Rex::Ui::Text::Output (class)">Output</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../../Rex/Ui/Text/Output/Stdio.html" title="Rex::Ui::Text::Output::Stdio (class)">Stdio</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../../../Rex/Ui/Text/Output/Stdio.html#initialize-instance_method" title="Rex::Ui::Text::Output::Stdio#initialize (method)">new</a></span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_color'>color</span> <span class='op'>==</span> <span class='kw'>true</span>
|
||
<span class='ivar'>@stdio</span><span class='period'>.</span><span class='id identifier rubyid_auto_color'>auto_color</span>
|
||
<span class='kw'>else</span>
|
||
<span class='ivar'>@stdio</span><span class='period'>.</span><span class='id identifier rubyid_disable_color'>disable_color</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_msg'>msg</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>[</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_idx'>idx</span><span class='embexpr_end'>}</span><span class='tstring_content'>] </span><span class='embexpr_beg'>#{</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>%bld</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_c'>c</span><span class='embexpr_end'>}</span><span class='tstring_content'>||%clr</span><span class='tstring_end'>"</span></span> <span class='op'>*</span> <span class='id identifier rubyid_n'>n</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_n'>n</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_v'>v</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span>
|
||
<span class='ivar'>@stdio</span><span class='period'>.</span><span class='id identifier rubyid_print_raw'>print_raw</span><span class='lparen'>(</span><span class='ivar'>@stdio</span><span class='period'>.</span><span class='id identifier rubyid_substitute_colors'>substitute_colors</span><span class='lparen'>(</span><span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
||
|
||
<span class='comment'># rescue
|
||
</span> <span class='comment'># blah
|
||
</span> <span class='comment'># end
|
||
</span> <span class='id identifier rubyid_sleep'>sleep</span><span class='lparen'>(</span><span class='int'>2</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='comment'># rescue
|
||
</span> <span class='comment'># print_status("End.")
|
||
</span> <span class='comment'># end
|
||
</span><span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpc_reconnect_nodes-instance_method">
|
||
|
||
#<strong>rpc_reconnect_nodes</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1879
|
||
1880
|
||
1881
|
||
1882
|
||
1883
|
||
1884
|
||
1885
|
||
1886
|
||
1887
|
||
1888
|
||
1889
|
||
1890
|
||
1891
|
||
1892
|
||
1893
|
||
1894
|
||
1895
|
||
1896
|
||
1897
|
||
1898
|
||
1899
|
||
1900
|
||
1901
|
||
1902
|
||
1903
|
||
1904
|
||
1905
|
||
1906
|
||
1907</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1879</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_rpc_reconnect_nodes'>rpc_reconnect_nodes</span>
|
||
<span class='comment'># Sucky 5 mins token timeout.
|
||
</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='op'>|</span>
|
||
<span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_rpccon'>rpccon</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='id identifier rubyid_k'>k</span>
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job.list</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_tarr'>tarr</span> <span class='op'>=</span> <span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_login'>login</span><span class='lparen'>(</span><span class='id identifier rubyid_tarr'>tarr</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_tarr'>tarr</span><span class='lbracket'>[</span><span class='int'>4</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ConnectionError</span> <span class='kw'>unless</span> <span class='id identifier rubyid_res'>res</span>
|
||
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Reauth to node </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tarr'>tarr</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tarr'>tarr</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>break</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ERROR CONNECTING TO NODE. Disabling </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_idx'>idx</span><span class='embexpr_end'>}</span><span class='tstring_content'> use wmap_nodes -a to reconnect</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='lbracket'>[</span><span class='id identifier rubyid_idx'>idx</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_active_rpc_nodes'>active_rpc_nodes</span> <span class='op'>==</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>No active nodes</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_masstop'>masstop</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpc_round_exec-instance_method">
|
||
|
||
#<strong>rpc_round_exec</strong>(mod, mtype, opts, nmaxjobs) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1765
|
||
1766
|
||
1767
|
||
1768
|
||
1769
|
||
1770
|
||
1771
|
||
1772
|
||
1773
|
||
1774
|
||
1775
|
||
1776
|
||
1777
|
||
1778
|
||
1779
|
||
1780
|
||
1781
|
||
1782
|
||
1783
|
||
1784
|
||
1785
|
||
1786
|
||
1787
|
||
1788
|
||
1789
|
||
1790
|
||
1791
|
||
1792
|
||
1793
|
||
1794
|
||
1795
|
||
1796
|
||
1797
|
||
1798
|
||
1799
|
||
1800
|
||
1801
|
||
1802
|
||
1803
|
||
1804
|
||
1805
|
||
1806
|
||
1807
|
||
1808
|
||
1809
|
||
1810
|
||
1811
|
||
1812
|
||
1813
|
||
1814
|
||
1815
|
||
1816
|
||
1817
|
||
1818
|
||
1819
|
||
1820
|
||
1821
|
||
1822
|
||
1823
|
||
1824
|
||
1825
|
||
1826
|
||
1827
|
||
1828
|
||
1829
|
||
1830
|
||
1831
|
||
1832
|
||
1833
|
||
1834
|
||
1835
|
||
1836
|
||
1837
|
||
1838
|
||
1839
|
||
1840
|
||
1841
|
||
1842
|
||
1843
|
||
1844
|
||
1845
|
||
1846
|
||
1847
|
||
1848
|
||
1849
|
||
1850
|
||
1851</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1765</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_rpc_round_exec'>rpc_round_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_mod'>mod</span><span class='comma'>,</span> <span class='id identifier rubyid_mtype'>mtype</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='id identifier rubyid_nmaxjobs'>nmaxjobs</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_active_rpc_nodes'>active_rpc_nodes</span> <span class='op'>==</span> <span class='int'>0</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_runlocal'>runlocal</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>All active nodes not working or removed</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_rpc_reconnect_nodes'>rpc_reconnect_nodes</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>until</span> <span class='id identifier rubyid_res'>res</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_active_rpc_nodes'>active_rpc_nodes</span> <span class='op'>==</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>All active nodes not working or removed</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># find the node with less jobs load.
|
||
</span> <span class='id identifier rubyid_minjobs'>minjobs</span> <span class='op'>=</span> <span class='id identifier rubyid_nmaxjobs'>nmaxjobs</span>
|
||
<span class='id identifier rubyid_minconn'>minconn</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
<span class='id identifier rubyid_nid'>nid</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rpccon'>rpccon</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Skipping inactive node </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_nid'>nid</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_nid'>nid</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_currentjobs'>currentjobs</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job.list</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_currentjobs'>currentjobs</span> <span class='op'><</span> <span class='id identifier rubyid_minjobs'>minjobs</span>
|
||
<span class='id identifier rubyid_minconn'>minconn</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span>
|
||
<span class='id identifier rubyid_minjobs'>minjobs</span> <span class='op'>=</span> <span class='id identifier rubyid_currentjobs'>currentjobs</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_currentjobs'>currentjobs</span> <span class='op'>==</span> <span class='id identifier rubyid_nmaxjobs'>nmaxjobs</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_nmaxdisplay'>nmaxdisplay</span> <span class='op'>==</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Node </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_nid'>nid</span><span class='embexpr_end'>}</span><span class='tstring_content'> reached max number of jobs </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_nmaxjobs'>nmaxjobs</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Waiting for available node/slot...</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_nmaxdisplay'>nmaxdisplay</span> <span class='op'>=</span> <span class='kw'>true</span>
|
||
<span class='kw'>end</span>
|
||
<span class='comment'># print_status("Node #{nid} #currentjobs #{currentjobs} #min #{minjobs}")
|
||
</span> <span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Unable to connect. Node </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tarr'>tarr</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tarr'>tarr</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='lbracket'>[</span><span class='id identifier rubyid_k'>k</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_active_rpc_nodes'>active_rpc_nodes</span> <span class='op'>==</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>All active nodes, not working or removed</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Sending job to next node</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_nid'>nid</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_minjobs'>minjobs</span> <span class='op'><</span> <span class='id identifier rubyid_nmaxjobs'>nmaxjobs</span>
|
||
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_minconn'>minconn</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>module.execute</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_mtype'>mtype</span><span class='comma'>,</span> <span class='id identifier rubyid_mod'>mod</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='rparen'>)</span>
|
||
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_nmaxdisplay'>nmaxdisplay</span> <span class='op'>=</span> <span class='kw'>false</span>
|
||
<span class='comment'># print_status(">>>#{res} #{mod}")
|
||
</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_res'>res</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job_id</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>else</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Unable to execute module in node </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_res'>res</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># print_status("Max number of jobs #{nmaxjobs} reached in node #{k}") if minjobs >= nmaxjobs
|
||
</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_runlocal'>runlocal</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_masstop'>masstop</span>
|
||
<span class='id identifier rubyid_local_module_exec'>local_module_exec</span><span class='lparen'>(</span><span class='id identifier rubyid_mod'>mod</span><span class='comma'>,</span> <span class='id identifier rubyid_mtype'>mtype</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span><span class='comma'>,</span> <span class='id identifier rubyid_nmaxjobs'>nmaxjobs</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="rpc_view_jobs-instance_method">
|
||
|
||
#<strong>rpc_view_jobs</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1950
|
||
1951
|
||
1952
|
||
1953
|
||
1954
|
||
1955
|
||
1956
|
||
1957
|
||
1958
|
||
1959
|
||
1960
|
||
1961
|
||
1962
|
||
1963
|
||
1964
|
||
1965
|
||
1966
|
||
1967
|
||
1968
|
||
1969
|
||
1970
|
||
1971
|
||
1972
|
||
1973
|
||
1974
|
||
1975
|
||
1976
|
||
1977
|
||
1978
|
||
1979
|
||
1980
|
||
1981
|
||
1982
|
||
1983
|
||
1984
|
||
1985
|
||
1986
|
||
1987
|
||
1988
|
||
1989
|
||
1990
|
||
1991
|
||
1992
|
||
1993
|
||
1994
|
||
1995
|
||
1996
|
||
1997</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1950</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_rpc_view_jobs'>rpc_view_jobs</span>
|
||
<span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_rpc_reconnect_nodes'>rpc_reconnect_nodes</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_active_rpc_nodes'>active_rpc_nodes</span> <span class='op'>==</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>No active nodes at this time</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_rpcarr'>rpcarr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='op'>|</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rpccon'>rpccon</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>[Node #</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_idx'>idx</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='embexpr_end'>}</span><span class='tstring_content'> DISABLED/NO CONNECTION]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>else</span>
|
||
|
||
<span class='id identifier rubyid_arrk'>arrk</span> <span class='op'>=</span> <span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>|</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>[Node #</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_idx'>idx</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'> Port:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'> SSL:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'> User:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_arrk'>arrk</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>begin</span>
|
||
<span class='id identifier rubyid_n'>n</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job.list</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Text</span><span class='op'>::</span><span class='const'>Table</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Indent</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_indent'>indent</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Header</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Jobs</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Columns</span><span class='tstring_end'>'</span></span> <span class='op'>=></span>
|
||
<span class='lbracket'>[</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Id</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Job name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Target</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PATH</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='rbracket'>]</span>
|
||
<span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_n'>n</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_jinfo'>jinfo</span> <span class='op'>=</span> <span class='id identifier rubyid_rpccon'>rpccon</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>job.info</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_dstore'>dstore</span> <span class='op'>=</span> <span class='id identifier rubyid_jinfo'>jinfo</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>datastore</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'><<</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_dstore'>dstore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>VHOST</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>:</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_dstore'>dstore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>RPORT</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_dstore'>dstore</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>PATH</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='rbracket'>]</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='id identifier rubyid_tbl'>tbl</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>[Node #</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_idx'>idx</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_k'>k</span><span class='embexpr_end'>}</span><span class='tstring_content'> DISABLED/NO CONNECTION]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="signature-instance_method">
|
||
|
||
#<strong>signature</strong>(fpath, fquery) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Signature of the form ‘,p1,p2,pn’ then to be appended to path: path,p1,p2,pn</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1662
|
||
1663
|
||
1664
|
||
1665</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1662</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_signature'>signature</span><span class='lparen'>(</span><span class='id identifier rubyid_fpath'>fpath</span><span class='comma'>,</span> <span class='id identifier rubyid_fquery'>fquery</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_hsig'>hsig</span> <span class='op'>=</span> <span class='id identifier rubyid_queryparse'>queryparse</span><span class='lparen'>(</span><span class='id identifier rubyid_fquery'>fquery</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_fpath'>fpath</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_hsig'>hsig</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_p'>p</span><span class='op'>|</span> <span class='id identifier rubyid_p'>p</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'><span class='object_link'><a href="../../../top-level-namespace.html#join-instance_method" title="#join (method)">join</a></span></span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="sort_by_orderid-instance_method">
|
||
|
||
#<strong>sort_by_orderid</strong>(matches) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><div class="docstring">
|
||
<div class="discussion">
|
||
|
||
<p>Sort hash by orderid Yes sorting hashes dont make sense but actually it does when you are enumerating one. And sort_by of a hash returns an array so this is the reason for this ugly piece of code</p>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="tags">
|
||
|
||
|
||
</div><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
2199
|
||
2200
|
||
2201
|
||
2202
|
||
2203
|
||
2204
|
||
2205
|
||
2206
|
||
2207
|
||
2208
|
||
2209
|
||
2210
|
||
2211</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 2199</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_sort_by_orderid'>sort_by_orderid</span><span class='lparen'>(</span><span class='id identifier rubyid_matches'>matches</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_temphash'>temphash</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
||
|
||
<span class='id identifier rubyid_temparr'>temparr</span> <span class='op'>=</span> <span class='id identifier rubyid_matches'>matches</span><span class='period'>.</span><span class='id identifier rubyid_sort_by'>sort_by</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_xref'>xref</span><span class='comma'>,</span> <span class='id identifier rubyid__v'>_v</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_xref'>xref</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_temparr'>temparr</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_b'>b</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_temphash'>temphash</span><span class='lbracket'>[</span><span class='id identifier rubyid_b'>b</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_b'>b</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_temphash'>temphash</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="view_modules-instance_method">
|
||
|
||
#<strong>view_modules</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
2151
|
||
2152
|
||
2153
|
||
2154
|
||
2155
|
||
2156
|
||
2157
|
||
2158
|
||
2159
|
||
2160
|
||
2161
|
||
2162
|
||
2163
|
||
2164
|
||
2165
|
||
2166
|
||
2167
|
||
2168
|
||
2169
|
||
2170
|
||
2171
|
||
2172
|
||
2173
|
||
2174
|
||
2175
|
||
2176
|
||
2177
|
||
2178
|
||
2179
|
||
2180
|
||
2181
|
||
2182
|
||
2183
|
||
2184
|
||
2185
|
||
2186
|
||
2187
|
||
2188
|
||
2189
|
||
2190
|
||
2191
|
||
2192
|
||
2193
|
||
2194</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 2151</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_view_modules'>view_modules</span>
|
||
<span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_wmaptype'>wmaptype</span> <span class='op'>=</span> <span class='qsymbols_beg'>%i[</span><span class='words_sep'>
|
||
</span><span class='tstring_content'>wmap_ssl</span><span class='words_sep'>
|
||
</span><span class='tstring_content'>wmap_server</span><span class='words_sep'>
|
||
</span><span class='tstring_content'>wmap_dir</span><span class='words_sep'>
|
||
</span><span class='tstring_content'>wmap_file</span><span class='words_sep'>
|
||
</span><span class='tstring_content'>wmap_unique_query</span><span class='words_sep'>
|
||
</span><span class='tstring_content'>wmap_query</span><span class='words_sep'>
|
||
</span><span class='tstring_content'>wmap_generic</span><span class='words_sep'>
|
||
</span><span class='tstring_end'>]</span></span>
|
||
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_wmapmodules'>wmapmodules</span>
|
||
<span class='id identifier rubyid_load_wmap_modules'>load_wmap_modules</span><span class='lparen'>(</span><span class='kw'>true</span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_wmaptype'>wmaptype</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_modt'>modt</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Text</span><span class='op'>::</span><span class='const'>Table</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Indent</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_indent'>indent</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Header</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_modt'>modt</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Columns</span><span class='tstring_end'>'</span></span> <span class='op'>=></span>
|
||
<span class='lbracket'>[</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>OrderID</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='rbracket'>]</span>
|
||
<span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_wmapmodules'>wmapmodules</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_w'>w</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_oid'>oid</span> <span class='op'>=</span> <span class='id identifier rubyid_w'>w</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_w'>w</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='int'>0xFFFFFF</span>
|
||
<span class='id identifier rubyid_oid'>oid</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>:last</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_w'>w</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_modt'>modt</span>
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'><<</span> <span class='lbracket'>[</span><span class='id identifier rubyid_w'>w</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_oid'>oid</span><span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='id identifier rubyid_tbl'>tbl</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="view_site_tree-instance_method">
|
||
|
||
#<strong>view_site_tree</strong>(urlstr, md, ld) ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1477
|
||
1478
|
||
1479
|
||
1480
|
||
1481
|
||
1482
|
||
1483
|
||
1484
|
||
1485
|
||
1486
|
||
1487
|
||
1488
|
||
1489
|
||
1490
|
||
1491
|
||
1492
|
||
1493
|
||
1494
|
||
1495
|
||
1496
|
||
1497
|
||
1498
|
||
1499
|
||
1500
|
||
1501
|
||
1502
|
||
1503
|
||
1504
|
||
1505
|
||
1506
|
||
1507
|
||
1508
|
||
1509
|
||
1510
|
||
1511
|
||
1512
|
||
1513
|
||
1514
|
||
1515
|
||
1516
|
||
1517
|
||
1518
|
||
1519
|
||
1520
|
||
1521
|
||
1522
|
||
1523
|
||
1524
|
||
1525
|
||
1526
|
||
1527
|
||
1528
|
||
1529
|
||
1530
|
||
1531
|
||
1532
|
||
1533
|
||
1534
|
||
1535
|
||
1536
|
||
1537
|
||
1538
|
||
1539
|
||
1540
|
||
1541
|
||
1542
|
||
1543
|
||
1544
|
||
1545
|
||
1546
|
||
1547
|
||
1548
|
||
1549
|
||
1550
|
||
1551
|
||
1552</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1477</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_view_site_tree'>view_site_tree</span><span class='lparen'>(</span><span class='id identifier rubyid_urlstr'>urlstr</span><span class='comma'>,</span> <span class='id identifier rubyid_md'>md</span><span class='comma'>,</span> <span class='id identifier rubyid_ld'>ld</span><span class='rparen'>)</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_urlstr'>urlstr</span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_site_whitelist'>site_whitelist</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
|
||
<span class='id identifier rubyid_urls'>urls</span> <span class='op'>=</span> <span class='id identifier rubyid_urlstr'>urlstr</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\s+</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_urls'>urls</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_url'>url</span><span class='op'>|</span>
|
||
<span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
|
||
<span class='comment'># Allow the URL to be supplied as VHOST,URL if a custom VHOST
|
||
</span> <span class='comment'># should be used. This allows for things like:
|
||
</span> <span class='comment'># localhost,http://192.168.0.2/admin/
|
||
</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^http</span><span class='regexp_end'>/</span></span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='id identifier rubyid_vhost'>vhost</span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Prefix http:// when the URL has no specified parameter
|
||
</span> <span class='kw'>if</span> <span class='id identifier rubyid_url'>url</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>^[a-z0-9A-Z]+://</span><span class='regexp_end'>}</span></span>
|
||
<span class='id identifier rubyid_url'>url</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>http://</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_url'>url</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span> <span class='op'>=</span> <span class='kw'>begin</span>
|
||
<span class='const'>URI</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
|
||
<span class='kw'>rescue</span> <span class='const'>StandardError</span>
|
||
<span class='kw'>nil</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Could not understand URL: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_url'>url</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_scheme'>scheme</span> <span class='op'>!~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^https?</span><span class='regexp_end'>/</span></span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Only http and https URLs are accepted: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_url'>url</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_site_whitelist'>site_whitelist</span> <span class='op'><<</span> <span class='lbracket'>[</span><span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>||</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_uri'><span class='object_link'><a href="../../../top-level-namespace.html#uri-instance_method" title="#uri (method)">uri</a></span></span><span class='rbracket'>]</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='comment'># Skip the DB entirely if no matches
|
||
</span> <span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_site_whitelist'>site_whitelist</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
|
||
<span class='id identifier rubyid_site_whitelist'>site_whitelist</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_ent'>ent</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_target'>target</span> <span class='op'>=</span> <span class='id identifier rubyid_ent'>ent</span>
|
||
|
||
<span class='id identifier rubyid_host'>host</span> <span class='op'>=</span> <span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_workspace'>workspace</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_find_by_address'>find_by_address</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='rparen'>)</span>
|
||
<span class='kw'>unless</span> <span class='id identifier rubyid_host'>host</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No matching host for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
<span class='id identifier rubyid_serv'>serv</span> <span class='op'>=</span> <span class='id identifier rubyid_host'>host</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</span><span class='period'>.</span><span class='id identifier rubyid_find_by_port_and_proto'>find_by_port_and_proto</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tcp</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>unless</span> <span class='id identifier rubyid_serv'>serv</span>
|
||
<span class='id identifier rubyid_print_error'>print_error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No matching service for </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>next</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_sites'>sites</span> <span class='op'>=</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_web_sites'>web_sites</span><span class='period'>.</span><span class='id identifier rubyid_where'>where</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>vhost = ? and service_id = ?</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_sites'>sites</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_site'>site</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_load_tree'>load_tree</span><span class='lparen'>(</span><span class='id identifier rubyid_site'>site</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_tree'>print_tree</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='comma'>,</span> <span class='id identifier rubyid_target'>target</span><span class='period'>.</span><span class='id identifier rubyid_host'>host</span><span class='comma'>,</span> <span class='id identifier rubyid_md'>md</span><span class='comma'>,</span> <span class='id identifier rubyid_ld'>ld</span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_line'>print_line</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="view_sites-instance_method">
|
||
|
||
#<strong>view_sites</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1234
|
||
1235
|
||
1236
|
||
1237
|
||
1238
|
||
1239
|
||
1240
|
||
1241
|
||
1242
|
||
1243
|
||
1244
|
||
1245
|
||
1246
|
||
1247
|
||
1248
|
||
1249
|
||
1250
|
||
1251
|
||
1252
|
||
1253
|
||
1254
|
||
1255
|
||
1256
|
||
1257
|
||
1258
|
||
1259
|
||
1260
|
||
1261
|
||
1262
|
||
1263
|
||
1264
|
||
1265
|
||
1266
|
||
1267
|
||
1268
|
||
1269
|
||
1270
|
||
1271</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1234</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_view_sites'>view_sites</span>
|
||
<span class='comment'># Clean temporary sites list
|
||
</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_lastsites'>lastsites</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
||
|
||
<span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Text</span><span class='op'>::</span><span class='const'>Table</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Indent</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_indent'>indent</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Header</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Available sites</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Columns</span><span class='tstring_end'>'</span></span> <span class='op'>=></span>
|
||
<span class='lbracket'>[</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Id</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Host</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Vhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Port</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Proto</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'># Pages</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'># Forms</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='rbracket'>]</span>
|
||
<span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>=</span> <span class='int'>0</span>
|
||
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_bdhost'>bdhost</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_bdhost'>bdhost</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_serv'>serv</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_web_sites'>web_sites</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_web'>web</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='id identifier rubyid_web'>web</span><span class='period'>.</span><span class='id identifier rubyid_web_pages'>web_pages</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span>
|
||
<span class='id identifier rubyid_f'>f</span> <span class='op'>=</span> <span class='id identifier rubyid_web'>web</span><span class='period'>.</span><span class='id identifier rubyid_web_forms'>web_forms</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span>
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'><<</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='id identifier rubyid_bdhost'>bdhost</span><span class='period'>.</span><span class='id identifier rubyid_address'>address</span><span class='comma'>,</span> <span class='id identifier rubyid_web'>web</span><span class='period'>.</span><span class='id identifier rubyid_vhost'>vhost</span><span class='comma'>,</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='comma'>,</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='rbracket'>]</span>
|
||
<span class='id identifier rubyid_idx'>idx</span> <span class='op'>+=</span> <span class='int'>1</span>
|
||
|
||
<span class='id identifier rubyid_turl'>turl</span> <span class='op'>=</span> <span class='id identifier rubyid_web'>web</span><span class='period'>.</span><span class='id identifier rubyid_vhost'>vhost</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>://</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_bdhost'>bdhost</span><span class='period'>.</span><span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>:</span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span>
|
||
<span class='id identifier rubyid_lastsites'>lastsites</span> <span class='op'><<</span> <span class='id identifier rubyid_turl'>turl</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='id identifier rubyid_tbl'>tbl</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="view_targets-instance_method">
|
||
|
||
#<strong>view_targets</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
1182
|
||
1183
|
||
1184
|
||
1185
|
||
1186
|
||
1187
|
||
1188
|
||
1189
|
||
1190
|
||
1191
|
||
1192
|
||
1193
|
||
1194
|
||
1195
|
||
1196
|
||
1197
|
||
1198
|
||
1199
|
||
1200
|
||
1201
|
||
1202
|
||
1203
|
||
1204
|
||
1205
|
||
1206
|
||
1207
|
||
1208
|
||
1209</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 1182</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_view_targets'>view_targets</span>
|
||
<span class='kw'>if</span> <span class='id identifier rubyid_targets'>targets</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_targets'>targets</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>No targets have been defined</span><span class='tstring_end'>'</span></span>
|
||
<span class='kw'>return</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_indent'>indent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
|
||
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../Rex.html" title="Rex (module)">Rex</a></span></span><span class='op'>::</span><span class='const'>Text</span><span class='op'>::</span><span class='const'>Table</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Indent</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='id identifier rubyid_indent'>indent</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Header</span><span class='tstring_end'>'</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Defined targets</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Columns</span><span class='tstring_end'>'</span></span> <span class='op'>=></span>
|
||
<span class='lbracket'>[</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Id</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Vhost</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Host</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Port</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>SSL</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Path</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
||
<span class='rbracket'>]</span>
|
||
<span class='rparen'>)</span>
|
||
|
||
<span class='id identifier rubyid_targets'>targets</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_t'>t</span><span class='comma'>,</span> <span class='id identifier rubyid_idx'>idx</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_tbl'>tbl</span> <span class='op'><<</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:vhost</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:host</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:port</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:ssl</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t</span><span class='tstring_end'>"</span></span> <span class='op'>+</span> <span class='id identifier rubyid_t'>t</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:path</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='rbracket'>]</span>
|
||
<span class='kw'>end</span>
|
||
|
||
<span class='id identifier rubyid_print_status'>print_status</span> <span class='id identifier rubyid_tbl'>tbl</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="method_details ">
|
||
<h3 class="signature " id="view_vulns-instance_method">
|
||
|
||
#<strong>view_vulns</strong> ⇒ <tt>Object</tt>
|
||
|
||
|
||
|
||
|
||
|
||
</h3><table class="source_code">
|
||
<tr>
|
||
<td>
|
||
<pre class="lines">
|
||
|
||
|
||
2241
|
||
2242
|
||
2243
|
||
2244
|
||
2245
|
||
2246
|
||
2247
|
||
2248
|
||
2249
|
||
2250
|
||
2251
|
||
2252
|
||
2253</pre>
|
||
</td>
|
||
<td>
|
||
<pre class="code"><span class="info file"># File 'plugins/wmap.rb', line 2241</span>
|
||
|
||
<span class='kw'>def</span> <span class='id identifier rubyid_view_vulns'>view_vulns</span>
|
||
<span class='id identifier rubyid_framework'>framework</span><span class='period'>.</span><span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_hosts'>hosts</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_host'>host</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_host'>host</span><span class='period'>.</span><span class='id identifier rubyid_services'>services</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_serv'>serv</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_serv'>serv</span><span class='period'>.</span><span class='id identifier rubyid_web_sites'>web_sites</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_site'>site</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_site'>site</span><span class='period'>.</span><span class='id identifier rubyid_web_vulns'>web_vulns</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_wv'>wv</span><span class='op'>|</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>+ [</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_host'>host</span><span class='period'>.</span><span class='id identifier rubyid_address'>address</span><span class='embexpr_end'>}</span><span class='tstring_content'>] (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_site'>site</span><span class='period'>.</span><span class='id identifier rubyid_vhost'>vhost</span><span class='embexpr_end'>}</span><span class='tstring_content'>): </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wv'>wv</span><span class='period'>.</span><span class='id identifier rubyid_category'>category</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wv'>wv</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wv'>wv</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wv'>wv</span><span class='period'>.</span><span class='id identifier rubyid_description'>description</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='id identifier rubyid_print_status'>print_status</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\t</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wv'>wv</span><span class='period'>.</span><span class='id identifier rubyid_method'>method</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_wv'>wv</span><span class='period'>.</span><span class='id identifier rubyid_proof'>proof</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span>
|
||
<span class='kw'>end</span></pre>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div id="footer">
|
||
Generated on Fri May 8 17:05:30 2026 by
|
||
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
||
0.9.37 (ruby-3.1.5).
|
||
</div>
|
||
|
||
</div>
|
||
</body>
|
||
</html> |