Louis Sato
d5d0b9e9b8
Revert "Land #6729 , Speed up the datastore"
...
This reverts commit c6b1955a5a , reversing
changes made to 4fb7472391 .
2016-06-28 13:39:52 -05:00
wchen-r7
c6b1955a5a
Land #6729 , Speed up the datastore
2016-06-15 17:55:42 -05:00
Brent Cook
fe1b24e666
allow nil assignment to the datastore
2016-05-23 14:56:19 -05:00
Adam Cammack
a808c9fe63
Bring some sanity to the datastore
...
Before, the datastore would store options case-sensitive, but would
access them case-insensitive, resulting is a number of string compares.
This commit stores options in their downcase form to reduce
update/lookup time. This adds up to reducing msfconsole boot time by
about 10% and rspec time by about 45 sec. (!) on my box.
One tricky part of this conversion is that there are several places (in
pro and framework) where we export or otherwise access the datastore as
a plain hash (case-sensitive). I believe I have caught all the ways we
access the datastore that are case-sensitive and substituted the
original key capitalization in those cases.
2016-03-30 15:17:55 -05:00
Brent Cook
e25525b4a7
avoid validating file-based datastore options on assignment
...
file:/ strings are special with some datastore options, causing them to read a
file rather than emitting the exact string. This causes a couple of problems.
1. the valid? check needs to be special on assignment, since normalization
really means normalizing the path, not playing with the value as we would do
for other types
2. there are races or simply out-of-order assignments when running commands
like 'services -p 80 -R', where the datastore option is assigned before the
file is actually written.
This is the 'easy' fix of disabling assignment validation (which we didn't have
before anyway) for types that can expect a file:/ prefix.
2016-03-28 23:03:17 -05:00
Adam Cammack
22df7c0071
Fix datastore to validate options w/o a default
...
Options without a default were not pulled into the `@options` hash and
therefore were not used to validate options on assignment.
I am not entirely sure how this fix works, since it would seem that
non-override options would not get pulled in if an option was first set
in the global datastore. However, a previous value does not get
overridden and new values are validated. Anything further is merely
speculation on my part.
2016-03-22 19:12:53 -05:00
Adam Cammack
5c163960ed
Fix datastore to not freeze options on the default
2016-03-22 19:07:58 -05:00
Brent Cook
654590911b
Enforce integrity of datastore options on assignment
2016-03-15 14:00:32 -05:00
Brent Cook
694f7f0a65
stop turning all default options into strings
...
we need to adjust vprint* functions, since they now fallthrough to the
'framework.datastore' checks because the false case actually triggers.
2016-03-05 23:09:14 -06:00
root
51dd88114b
Fix grammer in comments
2015-04-13 13:21:41 +05:00
William Vu
0ad3473ebb
Implement case-insensitive datastore.delete
2015-02-24 20:47:00 -06:00
Tab Assassin
7e5e0f7fc8
Retab lib
2013-08-30 16:28:33 -05:00
James Lee
db676f1a88
Whitespace at EOL
2013-03-07 18:20:08 -06:00
HD Moore
d656e3185f
Mark all libraries as defaulting to 8-bit strings
2012-06-29 00:18:28 -05:00
HD Moore
b89af3546d
Revert the previous global fix in favor of a different method.
...
Fixes #6501
2012-03-07 07:37:36 -06:00
HD Moore
de9b35d7b0
Fixes #6485 by allowing validation to write back normalized values to
...
global. This isn't perfect, but we have no better solution unless we
clone the module datastore and unset the default imported_by for the
module run (actively testing that too in a branch)
2012-02-29 01:49:26 -06:00
HD Moore
7b40d8d819
Allow updates to fallthrough to the global store just like reads
2012-02-29 01:40:54 -06:00
James Lee
e7a545c483
spaces at EOL in core stuff
2011-11-20 12:10:08 +11:00
HD Moore
6bdf2a4e2b
Proactively wrap each() in other Hash based classes to avoid situations that trigger modification during enumeration
...
git-svn-id: file:///home/svn/framework3/trunk@12479 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 04:59:27 +00:00
HD Moore
5c2f104ade
Fix module.replicant(), closes #2252
...
git-svn-id: file:///home/svn/framework3/trunk@9824 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-14 17:06:12 +00:00
James Lee
618b377d58
let's try this again. don't convert datastore values to strings when copying, only dup things that are already Strings, see #2189 , #2098 , #2096
...
git-svn-id: file:///home/svn/framework3/trunk@9684 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-06 17:59:36 +00:00
James Lee
c0eaed263c
abstract some copy-paste; add DataStore#copy for doing a deep copy instead of the shallow copy performed by #dup and #clone
...
git-svn-id: file:///home/svn/framework3/trunk@9650 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-01 21:56:38 +00:00
James Lee
832d0bcbfa
add exploit datastore to sessions so we can tell exactly how the session was created
...
git-svn-id: file:///home/svn/framework3/trunk@8651 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-26 01:09:23 +00:00
HD Moore
9b4df1cf42
Add the datastore.clear method
...
git-svn-id: file:///home/svn/framework3/trunk@8450 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-11 05:14:36 +00:00
HD Moore
d67cb3cdde
Really fixes #464
...
git-svn-id: file:///home/svn/framework3/trunk@7525 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-16 02:52:23 +00:00
HD Moore
ba9f7b41b3
Fix save() again
...
git-svn-id: file:///home/svn/framework3/trunk@7524 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-16 02:48:00 +00:00
HD Moore
1ad262a53e
Fixes #464 by using the correct logic to only save user defined variables and to reset default options after a register_*_options call by a mixin
...
git-svn-id: file:///home/svn/framework3/trunk@7523 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-16 02:39:08 +00:00
HD Moore
737dc327a3
Fixes #435 . Resolves a long-standing issue where datastore entries with a default of 'false' were being ignored.
...
git-svn-id: file:///home/svn/framework3/trunk@7334 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-03 18:09:05 +00:00
HD Moore
91dd38550f
Fixes #398 . Allow globals to override local defaults, but fallthrough to local defaults if no global or local is set
...
git-svn-id: file:///home/svn/framework3/trunk@7280 4d416f70-5f16-0410-b530-b9f4589650da
2009-10-26 18:48:06 +00:00
kris
efe44ba6b5
bleh.. a bit of tabs vs spaces
...
git-svn-id: file:///home/svn/framework3/trunk@7171 4d416f70-5f16-0410-b530-b9f4589650da
2009-10-16 18:27:18 +00:00
James Lee
96c8f6127c
Replace += with << for Strings in a bunch of places.
...
git-svn-id: file:///home/svn/framework3/trunk@6318 4d416f70-5f16-0410-b530-b9f4589650da
2009-03-08 07:55:47 +00:00
Ramon de C Valle
f124597a56
Code cleanups
...
git-svn-id: file:///home/svn/framework3/trunk@5773 4d416f70-5f16-0410-b530-b9f4589650da
2008-10-19 21:03:39 +00:00
Matt Miller
4d60b8f146
fixes #19 , don't skip if overwrite is false
...
git-svn-id: file:///home/svn/framework3/trunk@4449 4d416f70-5f16-0410-b530-b9f4589650da
2007-02-21 03:10:48 +00:00
HD Moore
ddb22785ee
The datastore is now case insensitive, but this may lead to some confusion... lets see :-)
...
git-svn-id: file:///home/svn/framework3/trunk@4398 4d416f70-5f16-0410-b530-b9f4589650da
2007-02-16 05:39:38 +00:00
Matt Miller
93da259db2
additions to the user guide, fix data store to not import globally defined values, added ability to flush datastores
...
git-svn-id: file:///home/svn/framework3/trunk@4387 4d416f70-5f16-0410-b530-b9f4589650da
2007-02-15 08:02:47 +00:00
HD Moore
43387ea793
register_options() always overrides the datastore
...
resolves the problem reported by Nicolas P.
git-svn-id: file:///home/svn/incoming/trunk@3642 4d416f70-5f16-0410-b530-b9f4589650da
2006-05-11 16:11:06 +00:00
Matt Miller
a6726c8df7
fix for option import issue when options had spaces
...
git-svn-id: file:///home/svn/incoming/trunk@3571 4d416f70-5f16-0410-b530-b9f4589650da
2006-03-16 16:33:32 +00:00
HD Moore
0b1d97f653
Committed
...
git-svn-id: file:///home/svn/incoming/trunk@3550 4d416f70-5f16-0410-b530-b9f4589650da
2006-03-01 16:16:08 +00:00
Matt Miller
ef8e171e2a
fix clearing user defined options to work correctly
...
git-svn-id: file:///home/svn/incoming/trunk@3389 4d416f70-5f16-0410-b530-b9f4589650da
2006-01-16 16:11:32 +00:00
Matt Miller
09d21fbced
remove puts
...
git-svn-id: file:///home/svn/incoming/trunk@3295 4d416f70-5f16-0410-b530-b9f4589650da
2006-01-01 22:26:18 +00:00
Matt Miller
6bbc5f7e17
remove all non-user defined datastore params when switching payloads
...
git-svn-id: file:///home/svn/incoming/trunk@3293 4d416f70-5f16-0410-b530-b9f4589650da
2005-12-31 20:26:17 +00:00
Matt Miller
2baa7687fe
only user-defined options are saved now
...
git-svn-id: file:///home/svn/incoming/trunk@3249 4d416f70-5f16-0410-b530-b9f4589650da
2005-12-21 02:51:23 +00:00
Matt Miller
6c4703add7
fix generation stuff
...
git-svn-id: file:///home/svn/incoming/trunk@3093 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-25 02:07:35 +00:00
Matt Miller
04a27c3475
msfweb payload generation functional
...
git-svn-id: file:///home/svn/incoming/trunk@3092 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-25 01:59:54 +00:00
Matt Miller
510669e7ef
option normalization
...
git-svn-id: file:///home/svn/incoming/trunk@3035 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-15 21:50:10 +00:00
Matt Miller
6a5870ddcd
updated comments to be more uniformed in class definition
...
git-svn-id: file:///home/svn/incoming/trunk@3004 4d416f70-5f16-0410-b530-b9f4589650da
2005-11-02 16:49:45 +00:00
Matt Miller
81c8cf3104
documentation fixes, code cleanup
...
git-svn-id: file:///home/svn/incoming/trunk@2973 4d416f70-5f16-0410-b530-b9f4589650da
2005-10-19 03:20:20 +00:00
Matt Miller
9a420ac750
meterp fs wrapper action rockin the house
...
git-svn-id: file:///home/svn/incoming/trunk@2793 4d416f70-5f16-0410-b530-b9f4589650da
2005-07-18 07:46:54 +00:00
Matt Miller
645725a3b5
config file parsing, datastore persistence, shared data stores, save in the ui
...
git-svn-id: file:///home/svn/incoming/trunk@2761 4d416f70-5f16-0410-b530-b9f4589650da
2005-07-15 22:30:04 +00:00
Matt Miller
d62566a68f
lots of changes, making the simple wrapper better, lots of improvements
...
git-svn-id: file:///home/svn/incoming/trunk@2750 4d416f70-5f16-0410-b530-b9f4589650da
2005-07-14 06:34:58 +00:00