@cherrypy.expose
@cherrypy.tools.mako(filename="/vnc.mako")
def vnc(self, machine_id):
- """VNC applet page.
+ """VNC applet page"""
+ return self._vnc(machine_id)
+
+ @cherrypy.expose
+ @cherrypy.tools.response_headers(headers=[('Content-Disposition', 'attachment; filename=vnc.jnlp')])
+ @cherrypy.tools.mako(filename="/vnc_jnlp.mako", content_type="application/x-java-jnlp-file")
+ def vnc_jnlp(self, machine_id):
+ """VNC applet exposed as a Java Web Start app (JNLP file)"""
+ return self._vnc(machine_id)
+
+ def _vnc(self, machine_id):
+ """VNC applet page functionality.
Note that due to same-domain restrictions, the applet connects to
the webserver, which needs to forward those requests to the xen
renumber = False
for n in machine.nics:
- if n.other_action in ('renumber', 'renumber_dhcp'):
+ if n.other_action == 'renumber_dhcp':
renumber = True
main_status['memory'] += ' MiB'