##// END OF EJS Templates
All security related files (*.furl and *.pem) are now put in a default...
Brian Granger -
Show More
@@ -16,6 +16,8 b' __docformat__ = "restructuredtext en"'
16 16 #-------------------------------------------------------------------------------
17 17
18 18 import os
19 from os.path import join as pjoin
20
19 21 from IPython.genutils import get_home_dir, get_ipython_dir
20 22 from IPython.external.configobj import ConfigObj
21 23
@@ -53,7 +55,7 b' class ConfigObjManager(object):'
53 55
54 56 def write_default_config_file(self):
55 57 ipdir = get_ipython_dir()
56 fname = ipdir + '/' + self.filename
58 fname = pjoin(ipdir, self.filename)
57 59 if not os.path.isfile(fname):
58 60 print "Writing the configuration file to: " + fname
59 61 self.write_config_obj_to_file(fname)
@@ -87,11 +89,11 b' class ConfigObjManager(object):'
87 89
88 90 # In ipythondir if it is set
89 91 if ipythondir is not None:
90 trythis = ipythondir + '/' + filename
92 trythis = pjoin(ipythondir, filename)
91 93 if os.path.isfile(trythis):
92 94 return trythis
93 95
94 trythis = get_ipython_dir() + '/' + filename
96 trythis = pjoin(get_ipython_dir(), filename)
95 97 if os.path.isfile(trythis):
96 98 return trythis
97 99
@@ -995,6 +995,22 b' def get_ipython_dir():'
995 995 os.path.join(home_dir,ipdir_def)))
996 996 return ipdir
997 997
998 def get_security_dir():
999 """Get the IPython security directory.
1000
1001 This directory is the default location for all security related files,
1002 including SSL/TLS certificates and FURL files.
1003
1004 If the directory does not exist, it is created with 0700 permissions.
1005 If it exists, permissions are set to 0700.
1006 """
1007 security_dir = os.path.join(get_ipython_dir(), 'security')
1008 if not os.path.isdir(security_dir):
1009 os.mkdir(security_dir, 0700)
1010 else:
1011 os.chmod(security_dir, 0700)
1012 return security_dir
1013
998 1014 #****************************************************************************
999 1015 # strings and text
1000 1016
@@ -15,17 +15,15 b' __docformat__ = "restructuredtext en"'
15 15 # Imports
16 16 #-------------------------------------------------------------------------------
17 17
18 from os.path import join as pjoin
19
18 20 from IPython.external.configobj import ConfigObj
19 21 from IPython.config.api import ConfigObjManager
20 from IPython.genutils import get_ipython_dir
22 from IPython.genutils import get_ipython_dir, get_security_dir
21 23
22 24 default_kernel_config = ConfigObj()
23 25
24 try:
25 ipython_dir = get_ipython_dir() + '/'
26 except:
27 # This will defaults to the cwd
28 ipython_dir = ''
26 security_dir = get_security_dir()
29 27
30 28 #-------------------------------------------------------------------------------
31 29 # Engine Configuration
@@ -33,7 +31,7 b' except:'
33 31
34 32 engine_config = dict(
35 33 logfile = '', # Empty means log to stdout
36 furl_file = ipython_dir + 'ipcontroller-engine.furl'
34 furl_file = pjoin(security_dir, 'ipcontroller-engine.furl')
37 35 )
38 36
39 37 #-------------------------------------------------------------------------------
@@ -69,10 +67,10 b' controller_config = dict('
69 67 port = 0, # 0 means pick a port for me
70 68 location = '', # Empty string means try to set automatically
71 69 secure = True,
72 cert_file = ipython_dir + 'ipcontroller-engine.pem',
70 cert_file = pjoin(security_dir, 'ipcontroller-engine.pem'),
73 71 ),
74 72 engine_fc_interface = 'IPython.kernel.enginefc.IFCControllerBase',
75 engine_furl_file = ipython_dir + 'ipcontroller-engine.furl',
73 engine_furl_file = pjoin(security_dir, 'ipcontroller-engine.furl'),
76 74
77 75 controller_interfaces = dict(
78 76 # multiengine = dict(
@@ -83,12 +81,12 b' controller_config = dict('
83 81 task = dict(
84 82 controller_interface = 'IPython.kernel.task.ITaskController',
85 83 fc_interface = 'IPython.kernel.taskfc.IFCTaskController',
86 furl_file = ipython_dir + 'ipcontroller-tc.furl'
84 furl_file = pjoin(security_dir, 'ipcontroller-tc.furl')
87 85 ),
88 86 multiengine = dict(
89 87 controller_interface = 'IPython.kernel.multiengine.IMultiEngine',
90 88 fc_interface = 'IPython.kernel.multienginefc.IFCSynchronousMultiEngine',
91 furl_file = ipython_dir + 'ipcontroller-mec.furl'
89 furl_file = pjoin(security_dir, 'ipcontroller-mec.furl')
92 90 )
93 91 ),
94 92
@@ -97,7 +95,7 b' controller_config = dict('
97 95 port = 0, # 0 means pick a port for me
98 96 location = '', # Empty string means try to set automatically
99 97 secure = True,
100 cert_file = ipython_dir + 'ipcontroller-client.pem'
98 cert_file = pjoin(security_dir, 'ipcontroller-client.pem')
101 99 )
102 100 )
103 101
@@ -108,10 +106,10 b' controller_config = dict('
108 106 client_config = dict(
109 107 client_interfaces = dict(
110 108 task = dict(
111 furl_file = ipython_dir + 'ipcontroller-tc.furl'
109 furl_file = pjoin(security_dir, 'ipcontroller-tc.furl')
112 110 ),
113 111 multiengine = dict(
114 furl_file = ipython_dir + 'ipcontroller-mec.furl'
112 furl_file = pjoin(security_dir, 'ipcontroller-mec.furl')
115 113 )
116 114 )
117 115 )
@@ -105,6 +105,7 b' def start_engine():'
105 105 # register_engine to tell the controller we are ready to do work
106 106 engine_connector = EngineConnector(tub_service)
107 107 furl_file = kernel_config['engine']['furl_file']
108 log.msg("Using furl file: %s" % furl_file)
108 109 d = engine_connector.connect_to_controller(engine_service, furl_file)
109 110 d.addErrback(lambda _: reactor.stop())
110 111
General Comments 0
You need to be logged in to leave comments. Login now