[CalendarServer-changes] [246] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Wed Oct 4 15:17:46 PDT 2006


Revision: 246
          http://trac.macosforge.org/projects/calendarserver/changeset/246
Author:   wsanchez at apple.com
Date:     2006-10-04 15:17:46 -0700 (Wed, 04 Oct 2006)

Log Message:
-----------
Set up a manhole

Modified Paths:
--------------
    CalendarServer/trunk/bin/caldavd
    CalendarServer/trunk/conf/caldavd-dev.plist
    CalendarServer/trunk/twistedcaldav/repository.py

Modified: CalendarServer/trunk/bin/caldavd
===================================================================
--- CalendarServer/trunk/bin/caldavd	2006-10-04 21:42:05 UTC (rev 245)
+++ CalendarServer/trunk/bin/caldavd	2006-10-04 22:17:46 UTC (rev 246)
@@ -63,6 +63,7 @@
         self.onlyssl = False
         self.keyfile = "/etc/certificates/Default.key"
         self.certfile = "/etc/certificates/Default.crt"
+        self.manhole = 0
 
         self.serverlogfile = "/var/log/caldavd/server.log"
         self.errorlogfile = "/var/log/caldavd/error.log"
@@ -271,6 +272,7 @@
                    "SSLOnly":                    "onlyssl",
                    "SSLPrivateKey":              "keyfile",
                    "SSLCertificate":             "certfile",
+                   "ManholePort":                "manhole",
                    "ServerLogFile":              "serverlogfile",
                    "ErrorLogFile":               "errorlogfile",
                    "PIDFile":                    "pidfile",
@@ -285,6 +287,8 @@
         for k,v in root.items():
             if mapper.has_key(k) and hasattr(self, mapper[k]):
                 setattr(self, mapper[k], v)
+            else:
+                print "Unknown option: %s" % (k,)
 
     def validate(self):
         
@@ -345,24 +349,28 @@
 maxsize       =  %(maxsize)d
 quota         =  %(quota)d
 serverlogfile = "%(serverlogfile)s"
+manhole       =  %(manhole)d
 
 from twistedcaldav.repository import startServer
 
-application, site = startServer(docroot, repo, doacct, doacl, dossl, keyfile, certfile, onlyssl, port, sslport, maxsize, quota, serverlogfile)
+application, site = startServer(docroot, repo, doacct, doacl, dossl, keyfile, certfile, onlyssl, port, sslport, maxsize, quota, serverlogfile, manhole)
 
-""" % {"docroot":       self.docroot,
-       "repo":          self.repo,
-       "doacct":        self.doacct,
-       "doacl":         self.doacl,
-       "dossl":         self.dossl,
-       "keyfile":       self.keyfile,
-       "certfile":      self.certfile,
-       "onlyssl":       self.onlyssl,
-       "port":          self.port,
-       "sslport":       self.sslport,
-       "maxsize":       self.maxsize,
-       "quota":         self.quota,
-       "serverlogfile": self.serverlogfile}
+""" % {
+    "docroot":       self.docroot,
+    "repo":          self.repo,
+    "doacct":        self.doacct,
+    "doacl":         self.doacl,
+    "dossl":         self.dossl,
+    "keyfile":       self.keyfile,
+    "certfile":      self.certfile,
+    "onlyssl":       self.onlyssl,
+    "port":          self.port,
+    "sslport":       self.sslport,
+    "maxsize":       self.maxsize,
+    "quota":         self.quota,
+    "serverlogfile": self.serverlogfile,
+    "manhole":       self.manhole,
+}
 
 if __name__ == "__main__":
 

Modified: CalendarServer/trunk/conf/caldavd-dev.plist
===================================================================
--- CalendarServer/trunk/conf/caldavd-dev.plist	2006-10-04 21:42:05 UTC (rev 245)
+++ CalendarServer/trunk/conf/caldavd-dev.plist	2006-10-04 22:17:46 UTC (rev 246)
@@ -47,6 +47,9 @@
   <key>SSLCertificate</key>
   <string>conf/server.pem</string>
 
+  <key>ManholePort</key>
+  <integer>8000</integer>
+
   <key>ServerLogFile</key>
   <string>bin/server.log</string>
 

Modified: CalendarServer/trunk/twistedcaldav/repository.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/repository.py	2006-10-04 21:42:05 UTC (rev 245)
+++ CalendarServer/trunk/twistedcaldav/repository.py	2006-10-04 22:17:46 UTC (rev 246)
@@ -106,7 +106,7 @@
 ELEMENT_AUTORESPOND = "autorespond"
 ATTRIBUTE_REPEAT = "repeat"
 
-def startServer(docroot, repo, doacct, doacl, dossl, keyfile, certfile, onlyssl, port, sslport, maxsize, quota, serverlogfile):
+def startServer(docroot, repo, doacct, doacl, dossl, keyfile, certfile, onlyssl, port, sslport, maxsize, quota, serverlogfile, manhole):
 
     if not dossl and onlyssl:
         dossl = True
@@ -171,17 +171,29 @@
                                                               credentialFactories,
                                                               loginInterfaces)))
     
-    factory     = HTTPFactory(site)
+    factory = HTTPFactory(site)
     
     if not onlyssl:
         print "Starting http server"
-        server = TCPServer(port, factory).setServiceParent(parent)
+        TCPServer(port, factory).setServiceParent(parent)
     
     if dossl:
         print "Starting https server"
         sslContext = DefaultOpenSSLContextFactory(keyfile, certfile)
-        sslserver  = SSLServer(sslport, factory, sslContext).setServiceParent(parent)
+        SSLServer(sslport, factory, sslContext).setServiceParent(parent)
 
+    print "Manhole: %r" % (manhole,)
+    if manhole:
+        print "Starting manhole on port %d" % (manhole,)
+        from twisted.manhole.telnet import ShellFactory
+        from twisted.internet import reactor
+        manhole_factory = ShellFactory()
+        reactor.listenTCP(manhole, manhole_factory)
+        manhole_factory.username = "admin"
+        manhole_factory.password = ""
+        manhole_factory.namespace["site"] = site
+        manhole_factory.namespace["portal"] = portal
+
     return application, site
 
 class RepositoryBuilder (object):

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061004/a57a4aca/attachment.html


More information about the calendarserver-changes mailing list