[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