def postUnpack(self): utils.putWait("Configuring Apache Tomcat’s ports") serverConfigFile = self.cget("catalina_home") + "conf/server.xml" doc = xml.dom.minidom.parse(serverConfigFile) configuration = doc.getElementsByTagName("Server")[0] configuration.setAttribute("port", self.cget("shutdown_port")) service = configuration.getElementsByTagName("Service")[0] connectors = service.getElementsByTagName("Connector") for connector in connectors: if connector.getAttribute("protocol") == "HTTP/1.1": connector.setAttribute("port", self.cget("http_port")) connector.setAttribute("redirectPort", self.cget("secure_port")) elif connector.getAttribute("protocol") == "AJP/1.3": connector.setAttribute("port", self.cget("ajp_port")) connector.setAttribute("redirectPort", self.cget("secure_port")) sslconnector = doc.createElement("Connector") sslconnector.setAttribute("protocol", "HTTP/1.1") sslconnector.setAttribute("port", self.cget("secure_port")) sslconnector.setAttribute("maxThreads", "100") sslconnector.setAttribute("scheme", "https") sslconnector.setAttribute("secure", "true") sslconnector.setAttribute("SSLEnabled", "true") if self.cget("keystore_file").endswith(".p12"): sslconnector.setAttribute("keystoreType", "PKCS12") sslconnector.setAttribute("keystoreFile", self.cget("keystore_file")) sslconnector.setAttribute("keystorePass", self.cget("keystore_password")) if self.cget("key_alias"): sslconnector.setAttribute("keyAlias", self.cget("key_alias")) if self.cget("key_password"): sslconnector.setAttribute("keyPass", self.cget("key_password")) sslconnector.setAttribute("truststoreFile", self.cget("truststore_file")) sslconnector.setAttribute("truststorePass", self.cget("truststore_password")) if self.cget("revocations_file"): sslconnector.setAttribute("crlFile", self.cget("revocations_file")) sslconnector.setAttribute("clientAuth", "true") sslconnector.setAttribute("sslProtocol", "TLS") service.appendChild(sslconnector) with open(serverConfigFile, "w") as scf: scf.write(doc.toxml()) utils.putDoneOK() if self.cisTrue("use_manager"): utils.putWait("Configuring Apache Tomcat’s managering account") usersConfigFile = self.cget("catalina_home") + "conf/tomcat-users.xml" doc = xml.dom.minidom.parse(usersConfigFile) configuration = doc.getElementsByTagName("tomcat-users")[0] role = doc.createElement("role") role.setAttribute("rolename", "manager-script") configuration.appendChild(role) role = doc.createElement("role") role.setAttribute("rolename", "manager") configuration.appendChild(role) user = doc.createElement("user") user.setAttribute("username", self.cget("login")) user.setAttribute("password", self.cget("password")) user.setAttribute("roles", "manager,manager-script") configuration.appendChild(user) with open(usersConfigFile, "w") as scf: scf.write(doc.toxml()) utils.putDoneOK()
def unpack(self): utils.putWait("Unpacking " + self.pretty_name) directory = self.cget("directory") + "/" + self.cget("name") utils.sh_mkdir_p(directory) detar_command = "tar -C " + directory + " --strip-components=1 -xaf " + self.cget("repo") if utils.sh_exec(detar_command): utils.putDoneOK() self.postUnpack() else: utils.putDoneFail()
def postConfigure(self): # set default urls (for DSeTa) url = self.setSecuredURL() CONFIG.set("ds_policies", "xacml_url", url + "xi") # set policies directories (for DSeTa) policies_dir = CONFIG.get("ds_policies", "dir") admin_dir = (policies_dir + "/admin/").replace("//", "/") capture_dir = (policies_dir + "/capture/").replace("//", "/") query_dir = (policies_dir + "/query/").replace("//", "/") CONFIG.set("ds_policies", "admin_dir", admin_dir) CONFIG.set("ds_policies", "capture_dir", capture_dir) CONFIG.set("ds_policies", "query_dir",query_dir) if (self.cisTrue("deploy_policies")): utils.putWait("Initializing policies in " + policies_dir) utils.sh_mkdir_p(policies_dir) if utils.sh_exec("tar -C " + policies_dir + " --strip-components=1 -xaf resources/ds_policies.tar"): utils.putDoneOK() else: utils.putDoneFail()