Skip to content

Commit

Permalink
0003449: Relaunch SymmetricDS Control Center symcc as privileged on
Browse files Browse the repository at this point in the history
Windows
  • Loading branch information
erilong committed Feb 23, 2018
1 parent 28452a3 commit 3c75f2c
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 22 deletions.
Expand Up @@ -236,12 +236,15 @@ public boolean isPrivileged() {
}

@Override
public void relaunchAsPrivileged(String cmd, String args) {
public void relaunchAsPrivileged(String className) {
String quote = getWrapperCommandQuote();
String args = "-DSYM_HOME=" + System.getenv("SYM_HOME") +
" -Djava.io.tmpdir=" + quote + System.getProperty("java.io.tmpdir") + quote +
" -cp " + quote + config.getClassPath() + quote + " " + className;
Shell32Ex.SHELLEXECUTEINFO execInfo = new Shell32Ex.SHELLEXECUTEINFO();
execInfo.lpFile = new WString(cmd);
if (args != null) {
execInfo.lpParameters = new WString(args);
}
execInfo.lpFile = new WString(config.getJavaCommand().replaceAll("(?i)java$", "javaw")
.replaceAll("(?i)java.exe$", "javaw.exe"));
execInfo.lpParameters = new WString(args);
execInfo.nShow = Shell32Ex.SW_SHOWDEFAULT;
execInfo.fMask = Shell32Ex.SEE_MASK_NOCLOSEPROCESS;
execInfo.lpVerb = new WString("runas");
Expand Down
Expand Up @@ -168,7 +168,25 @@ public ArrayList<String> getCommand(boolean isConsole) {
maxMem += "M";
}
cmdList.add("-Xmx" + maxMem);

cmdList.add("-cp");
cmdList.add(getClassPath());

List<String> javaAdditional = getListProperty(prop, "wrapper.java.additional");
cmdList.addAll(javaAdditional);

List<String> appParams = getListProperty(prop, "wrapper.app.parameter");
appParams.remove("--no-log-console");
cmdList.addAll(appParams);

if (!isConsole) {
cmdList.add("--no-log-console");
}

return cmdList;
}

public String getClassPath() {
String version = System.getProperty("java.version");
boolean expandWildcard = version != null && version.startsWith("1.5");

Expand All @@ -186,22 +204,7 @@ public ArrayList<String> getCommand(boolean isConsole) {
}
sb.append(classPath);
}

cmdList.add("-cp");
cmdList.add(sb.toString());

List<String> javaAdditional = getListProperty(prop, "wrapper.java.additional");
cmdList.addAll(javaAdditional);

List<String> appParams = getListProperty(prop, "wrapper.app.parameter");
appParams.remove("--no-log-console");
cmdList.addAll(appParams);

if (!isConsole) {
cmdList.add("--no-log-console");
}

return cmdList;
return sb.toString();
}

private String expandWildcard(String classPath) {
Expand Down
Expand Up @@ -308,7 +308,7 @@ public void restart() {
start();
}

public void relaunchAsPrivileged(String cmd, String args) {
public void relaunchAsPrivileged(String className) {
}

public void status() {
Expand Down

0 comments on commit 3c75f2c

Please sign in to comment.