James Lee
5f5c024193
supress a useless exception (trying to close a closed stream)
...
git-svn-id: file:///home/svn/framework3/trunk@13071 4d416f70-5f16-0410-b530-b9f4589650da
2011-06-30 05:12:07 +00:00
James Lee
9d99b9de22
fix a logic error that results in sockets closing instead of resending data, really fixes #4642 ; also fixes a nil error when read() failed, makes logs actually useful
...
git-svn-id: file:///home/svn/framework3/trunk@12885 4d416f70-5f16-0410-b530-b9f4589650da
2011-06-08 21:36:34 +00:00
James Lee
9311f5b198
add a unit test for ring buffer. all these tests pass on 1.8.7-p299, 1.9.1-p378, and 1.9.2-p180
...
git-svn-id: file:///home/svn/framework3/trunk@12694 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-23 19:15:00 +00:00
HD Moore
aa98667a77
Two performance fixes for HTTP Servers. The first reduces latency from 0.25s to near-zero for back-to-back connections by using the Queue class as a notify system. The second switches the slow socket.get for the much faster socket.read
...
git-svn-id: file:///home/svn/framework3/trunk@12615 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-14 18:34:06 +00:00
HD Moore
4500d09c2f
Bubble up errors from socket.get_once() and trigger an EOFError when read() returns nil
...
git-svn-id: file:///home/svn/framework3/trunk@12607 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-13 06:37:15 +00:00
James Lee
e621828cac
check for a nil return value from write(), fixes #4329
...
git-svn-id: file:///home/svn/framework3/trunk@12528 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-03 06:55:15 +00:00
HD Moore
1c86441f12
This removes the abortive_close code for stream sockets, it was leading to inconsistencies in how dead sessions were cleaned up
...
git-svn-id: file:///home/svn/framework3/trunk@12519 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-03 03:59:02 +00:00
HD Moore
b93e134195
Use shell_write vs ring.put
...
git-svn-id: file:///home/svn/framework3/trunk@12516 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-02 23:07:02 +00:00
HD Moore
d98f8dfd89
Make it clear that all Rex::IO::Stream implementations must accept a second parameter called opts for the read, write, and put methods
...
git-svn-id: file:///home/svn/framework3/trunk@12515 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-02 21:39:09 +00:00
James Lee
e30d2bbdd4
revert r12476, as it breaks interactive meterpreter channels. r12495 and r12494 should deal with what it was it was trying to solve in the first place. fixes #4293 .
...
git-svn-id: file:///home/svn/framework3/trunk@12496 4d416f70-5f16-0410-b530-b9f4589650da
2011-05-02 00:29:48 +00:00
HD Moore
22537ffbde
A few more tweaks to non-blocking ssl mode
...
git-svn-id: file:///home/svn/framework3/trunk@12482 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 10:24:52 +00:00
HD Moore
5758f2ab46
Add support for non-blocking OpenSSL sockets when the Ruby version supports them (1.9.2+ or with openssl-nonblock gem).
...
git-svn-id: file:///home/svn/framework3/trunk@12480 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 07:59:33 +00:00
HD Moore
20c949d1fb
Fix some bad copypasta from non-blocking write commit. This should make stream sessions happy again.
...
git-svn-id: file:///home/svn/framework3/trunk@12476 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-30 04:25:42 +00:00
HD Moore
8ba356271f
Fixes #4223 on Windows by catching the specific exception class
...
git-svn-id: file:///home/svn/framework3/trunk@12450 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-27 00:20:32 +00:00
HD Moore
9d715a1492
Switch from readpartial to read_nonblock, which works around an OpenSSL deadlock. This also adds support for the openssl-nonblock gem's specific exceptions
...
git-svn-id: file:///home/svn/framework3/trunk@12414 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-23 20:45:49 +00:00
HD Moore
a61e7290b0
Do not modify the string passed to write() operations
...
git-svn-id: file:///home/svn/framework3/trunk@12394 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-21 17:29:11 +00:00
HD Moore
8b920a8f95
Dont modify the data buffer passed to write
...
git-svn-id: file:///home/svn/framework3/trunk@12393 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-21 17:17:26 +00:00
Mike Smith
d5d9d56081
Create a dedicated db table to track sessions & session events.
...
* Add new db tables for session & session_events
* Migrate existing session data from events db table
* Modify session report methods to log to the new tables
git-svn-id: file:///home/svn/framework3/trunk@12273 4d416f70-5f16-0410-b530-b9f4589650da
2011-04-07 21:59:32 +00:00
James Lee
c09be5561d
this should have been a raise all along, see r9752
...
git-svn-id: file:///home/svn/framework3/trunk@12119 4d416f70-5f16-0410-b530-b9f4589650da
2011-03-23 23:15:11 +00:00
Joshua Drake
f001463ed1
catch ENOTSOCK errors in has_read_data?
...
git-svn-id: file:///home/svn/framework3/trunk@11541 4d416f70-5f16-0410-b530-b9f4589650da
2011-01-11 08:47:42 +00:00
HD Moore
c28ad8ea0c
Minor improvements and corner case bug fixes to session handling. This fixes issues that can come up when a stream is shut down
...
git-svn-id: file:///home/svn/framework3/trunk@11371 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-18 03:00:26 +00:00
James Lee
b89fe64e74
whitespace
...
git-svn-id: file:///home/svn/framework3/trunk@11209 4d416f70-5f16-0410-b530-b9f4589650da
2010-12-02 22:13:39 +00:00
HD Moore
29073a519a
Small tweaks to the thread code, add an update method
...
git-svn-id: file:///home/svn/framework3/trunk@11011 4d416f70-5f16-0410-b530-b9f4589650da
2010-11-12 17:28:40 +00:00
HD Moore
a12d9f8dbf
This patch adds detailed thread tracking across the metasploit framework, along with a new console command (threads) to manage these. This level of tracking is required to accurately monitor background tasks, assist with debugging, and kill orphaned threads.
...
git-svn-id: file:///home/svn/framework3/trunk@11003 4d416f70-5f16-0410-b530-b9f4589650da
2010-11-12 06:19:49 +00:00
HD Moore
467fceb2a7
Fixes #2692 by retrying writes when the sendQ is full.
...
git-svn-id: file:///home/svn/framework3/trunk@10712 4d416f70-5f16-0410-b530-b9f4589650da
2010-10-16 21:50:03 +00:00
HD Moore
7ccf4e2f11
Change stream writes to be non-blocking, this has been pretty heavily tested over the last couple days, and should preserve the original behavior as well. This fixes a deadlock in Ruby in certain conditions
...
git-svn-id: file:///home/svn/framework3/trunk@10306 4d416f70-5f16-0410-b530-b9f4589650da
2010-09-13 14:39:17 +00:00
HD Moore
16134447d9
Cleanup / cosmetic for dcerpc, make EBADF pretend to be EOFError in terms of what exception is raised
...
git-svn-id: file:///home/svn/framework3/trunk@9752 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-09 19:05:16 +00:00
HD Moore
adf33feb0e
Catch an odd corner case with zero timeouts - this broke dcerpc over tcp
...
git-svn-id: file:///home/svn/framework3/trunk@9749 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-09 17:58:59 +00:00
HD Moore
864fcafb4a
See #2167 . This should make all platforms equal now in terms of how read selects are handled. It looks like OS X needs the same workaround as Windows
...
git-svn-id: file:///home/svn/framework3/trunk@9641 4d416f70-5f16-0410-b530-b9f4589650da
2010-07-01 14:49:49 +00:00
HD Moore
dfa7fb7d0b
Move away from Kernel.select in exchange for IO.select, solves some issues with windows compatibility
...
git-svn-id: file:///home/svn/framework3/trunk@9330 4d416f70-5f16-0410-b530-b9f4589650da
2010-05-20 20:42:17 +00:00
HD Moore
a29371647f
Force cygwin to use the Rex::ThreadSafe.select code
...
git-svn-id: file:///home/svn/framework3/trunk@9322 4d416f70-5f16-0410-b530-b9f4589650da
2010-05-18 15:11:19 +00:00
HD Moore
4308689fd9
Remove diagnostic line
...
git-svn-id: file:///home/svn/framework3/trunk@9165 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-27 23:08:06 +00:00
HD Moore
49635c4ab0
Call the right select:
...
git-svn-id: file:///home/svn/framework3/trunk@9164 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-27 22:55:17 +00:00
HD Moore
936190125e
Bug fix for Ruby 1.9 (error can close the server socket, not the client socket). Small jRuby compatibility improvement
...
git-svn-id: file:///home/svn/framework3/trunk@9155 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-27 14:39:09 +00:00
HD Moore
3ad0560d00
Use the kernel select in 1.9, its less buggy and doesn't have the issues that lead us to create our own in the first place
...
git-svn-id: file:///home/svn/framework3/trunk@9044 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-09 22:48:31 +00:00
HD Moore
3c4024a0c6
Expose the server client list, set the keepalive
...
git-svn-id: file:///home/svn/framework3/trunk@8992 4d416f70-5f16-0410-b530-b9f4589650da
2010-04-03 06:05:06 +00:00
HD Moore
432f1676aa
Increase LocalRelay block size, return exploit_uuid in sessions
...
git-svn-id: file:///home/svn/framework3/trunk@8939 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-27 15:44:33 +00:00
HD Moore
6bd2a954cf
Lots of small changes, the big one is moving from sysread -> readpartial in the stream base class
...
git-svn-id: file:///home/svn/framework3/trunk@8764 4d416f70-5f16-0410-b530-b9f4589650da
2010-03-10 06:43:46 +00:00
Stephen Fewer
6335fde3e1
Commit the Ruby side for the UDP socket pivoting. Change the TCP client channel so the respective StreamAbstraction is responsible for monitoring its own rsock.
...
git-svn-id: file:///home/svn/framework3/trunk@8431 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-09 16:45:46 +00:00
Stephen Fewer
fd2469db24
Commit the Ruby end for TCP server channels, the modified TCP client channels and the support for pivoting a reverse_tcp meterpreter.
...
git-svn-id: file:///home/svn/framework3/trunk@8384 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-06 17:59:25 +00:00
Tod Beardsley
3fe8d0375b
Adds a print_debug message handler -- mostly useful during development to easily inspect objects.
...
git-svn-id: file:///home/svn/framework3/trunk@8353 4d416f70-5f16-0410-b530-b9f4589650da
2010-02-02 21:03:07 +00:00
HD Moore
2c3cace80c
Fix up the classes needed by msfweb. Fixes #495
...
git-svn-id: file:///home/svn/framework3/trunk@7447 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-10 15:59:49 +00:00
HD Moore
075b8c5fa4
Fixes #434 . Always use Timeout.timeout() -- on Ruby 1.9 this results in the Timeout::TimeoutError exception vs RuntimeError
...
git-svn-id: file:///home/svn/framework3/trunk@7323 4d416f70-5f16-0410-b530-b9f4589650da
2009-11-02 18:14:57 +00:00
HD Moore
753c7aa7d5
Apply patch to fix SSL server support
...
git-svn-id: file:///home/svn/framework3/trunk@6391 4d416f70-5f16-0410-b530-b9f4589650da
2009-03-25 16:41:10 +00:00
kris
248f1e9fc3
Remove "#{xxx.to_s}" redundancies ('s/\(#{[^}]*\)\.to_s}/\1}/g')
...
git-svn-id: file:///home/svn/framework3/trunk@6022 4d416f70-5f16-0410-b530-b9f4589650da
2008-12-19 07:11:08 +00:00
HD Moore
a7595fce6c
Fixes #250 . Solves an old bug with background jobs not working right, fixes the 'background modules dont work' bug as well.
...
git-svn-id: file:///home/svn/framework3/trunk@5926 4d416f70-5f16-0410-b530-b9f4589650da
2008-11-16 20:54:41 +00:00
HD Moore
cf3475644e
Remove debugging code
...
git-svn-id: file:///home/svn/framework3/trunk@5917 4d416f70-5f16-0410-b530-b9f4589650da
2008-11-13 18:28:15 +00:00
HD Moore
cca9c39eab
Typo fix from Rhyss
...
git-svn-id: file:///home/svn/framework3/trunk@5881 4d416f70-5f16-0410-b530-b9f4589650da
2008-11-11 05:39:23 +00:00
HD Moore
e9b3919ace
Normalize exceptions across socket libraries
...
git-svn-id: file:///home/svn/framework3/trunk@5879 4d416f70-5f16-0410-b530-b9f4589650da
2008-11-11 05:11:40 +00:00
HD Moore
6dd840e4b3
Fixes #201 . Better error processing of client sockets
...
git-svn-id: file:///home/svn/framework3/trunk@5872 4d416f70-5f16-0410-b530-b9f4589650da
2008-11-10 21:30:35 +00:00