Duncan.  We have upgraded to twisted 2.4!

-EAD

On Jun 15, 2006, at 6:38 AM, Zenoss wrote:

#135: Discover TCP services by doing a port scan
---------------------------- +-----------------------------------------------
  Reporter:  edahl          |       Owner:  oubiwann
      Type:  enhancement    |      Status:  assigned
  Priority:  major          |   Milestone:  zenoss-0.21.0
 Component:  DataCollector  |     Version:
Resolution:                 |    Keywords:
---------------------------- +-----------------------------------------------
Comment (by oubiwann):

I have added a custom semaphore module to my sandbox. It's based on some
 code I wrote a while ago for grouping deferreds. There is a minor
improvement in socket handling (the reactor now handles over a thousand ports before barfing, as opposed to only handling 250), twisted 1.3 is still sorely lacking in the kind of performance needed for a portscanner.

Note that my custom semaphore code not works perfectly with python 2.4 and twisted 2.2, and it also out-performs the twisted-native DeferredSemaphore
 by about 14%.

After lots of testing and reading some of the tickets on twisted's trac,
 I've come to the conclusion that the twisted 1.3 code  is simply not
 capable of handling thousands of sockets gracefully. Also, one of the
fixes mentioned in 2.0 is "Close client sockets explicitly after failed
 connections" (and this may be the source of the problem).

So it seems that we can't get a fully functional portscanner in twisted
 unless we upgrade.

 [1 hour later]

Yes! That was it! I tracked down the changeset in the twisted code base.
 The following files were changed:

   twitsed.internet.base
   twitsed.internet.tcp
   twitsed.internet.ssl

Unfortunately, this was also the time when they moved from __implements__ to zope.interface.implements(), so there was some mess in this changeset I had to clean up before porting to 1.3. I have now changed these files and will put them in the sandbox, pending discussion on how to integrate the
 socket fixes into the current zenoss code base.

 But: woo-hoo! portscan works in 1.3 now!

--
Ticket URL: <http://dev.zenoss.org/trac/ticket/135>
Zenoss <http://example.com/>
Zenoss Monitoring System

_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users

Reply via email to