MCPcopy Index your code
hub / github.com/OWASP/SecurityShepherd / doPost

Method doPost

src/main/java/servlets/Setup.java:34–109  ·  view source on GitHub ↗
(HttpServletRequest request, HttpServletResponse response)

Source from the content-addressed store, hash-verified

32 private static final long serialVersionUID = -892181347446991016L;
33
34 public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
35 //Translation Stuff
36 Locale locale = new Locale(Validate.validateLanguage(request.getSession()));
37 ResourceBundle errors = ResourceBundle.getBundle("i18n.servlets.errors", locale);
38 ResourceBundle bundle = ResourceBundle.getBundle("i18n.text", locale);
39
40 //Output Stuff
41 PrintWriter out = response.getWriter();
42 String htmlOutput = new String();
43 boolean success = false;
44 try
45 {
46 //Parameters From Form
47 String dbHost = request.getParameter("dbhost");
48 String dbPort = request.getParameter("dbport");
49 String dbUser = request.getParameter("dbuser");
50 String dbPass = request.getParameter("dbpass");
51 String dbAuth = request.getParameter("dbauth");
52 String dbOverride = request.getParameter("dboverride");
53
54 String auth = new String(Files.readAllBytes(Paths.get(Constants.SETUP_AUTH)));
55
56 StringBuffer dbProp = new StringBuffer();
57 dbProp.append("databaseConnectionURL=jdbc:mysql://" + dbHost + ":" + dbPort + "/");
58 dbProp.append("\n");
59 dbProp.append("DriverType=org.gjt.mm.mysql.Driver");
60 dbProp.append("\n");
61 dbProp.append("databaseSchema=core");
62 dbProp.append("\n");
63 dbProp.append("databaseUsername=" + dbUser);
64 dbProp.append("\n");
65 dbProp.append("databasePassword=" + dbPass);
66 dbProp.append("\n");
67
68 if (!auth.equals(dbAuth)) {
69 htmlOutput = bundle.getString("generic.text.setup.authentication.failed");
70 } else {
71 Files.write(Paths.get(Constants.DBPROP), dbProp.toString().getBytes(), StandardOpenOption.CREATE);
72 if (Database.getDatabaseConnection(null) == null) {
73 htmlOutput = bundle.getString("generic.text.setup.connection.failed");
74 } else {
75 try {
76 if (dbOverride.equalsIgnoreCase("overide")) {
77 executeSqlScript();
78 htmlOutput = bundle.getString("generic.text.setup.success") + " " + bundle.getString("generic.text.setup.success.overwrittendb");
79 }
80 else if (dbOverride.equalsIgnoreCase("upgrade")) {
81 executeUpdateScript();
82 htmlOutput = bundle.getString("generic.text.setup.success") + " " + bundle.getString("generic.text.setup.success.updatedb");
83 }else {
84 htmlOutput = bundle.getString("generic.text.setup.success");
85 }
86 success = true;
87 } catch (InstallationException e) {
88 htmlOutput = bundle.getString("generic.text.setup.failed") + ": " + e.getMessage();
89 FileUtils.deleteQuietly(new File(Constants.DBPROP));
90 }
91 //Clean up File as it is not needed anymore. Will Cause a new one to be generated next time too

Callers

nothing calls this directly

Calls 6

validateLanguageMethod · 0.95
getDatabaseConnectionMethod · 0.95
executeSqlScriptMethod · 0.95
executeUpdateScriptMethod · 0.95
removeAuthFileMethod · 0.95
getSessionMethod · 0.80

Tested by

no test coverage detected