diff --git a/scouter.agent.host/src/scouter/agent/Configure.java b/scouter.agent.host/src/scouter/agent/Configure.java index d30ecdb58..5f29ecda2 100644 --- a/scouter.agent.host/src/scouter/agent/Configure.java +++ b/scouter.agent.host/src/scouter/agent/Configure.java @@ -92,7 +92,7 @@ public final static synchronized Configure getInstance() { public int cpu_fatal_history = 3; //Memory - public boolean mem_alert_enabled = true; + public boolean mem_alert_enabled = false; public long mem_alert_interval_ms = 30000; public int mem_warning_pct = 80; public int mem_fatal_pct = 90; @@ -216,7 +216,7 @@ private void apply() { this.cpu_warning_history = getInt("cpu_warning_history", 3); this.cpu_fatal_history = getInt("cpu_fatal_history", 3); - this.mem_alert_enabled = getBoolean("mem_alert_enabled", true); + this.mem_alert_enabled = getBoolean("mem_alert_enabled", false); this.mem_alert_interval_ms = getLong("mem_alert_interval_ms", 30000); this.mem_warning_pct = getInt("mem_warning_pct", 80); this.mem_fatal_pct = getInt("mem_fatal_pct", 90); diff --git a/scouter.agent.java/src/scouter/agent/Configure.java b/scouter.agent.java/src/scouter/agent/Configure.java index 84a86acbb..b4b8c5571 100644 --- a/scouter.agent.java/src/scouter/agent/Configure.java +++ b/scouter.agent.java/src/scouter/agent/Configure.java @@ -156,8 +156,8 @@ public final static synchronized Configure getInstance() { public String log_dir =""; public boolean log_rotation_enabled =true; public int log_keep_days =7; - public boolean _log_trace_enabled = false; - public boolean _log_trace_use_logger = false; + public boolean _trace = false; + public boolean _trace_use_logger = false; //Hook public String hook_args_patterns = ""; @@ -168,6 +168,7 @@ public final static synchronized Configure getInstance() { public String hook_method_patterns = ""; public String hook_method_ignore_prefixes = "get,set"; public String hook_method_ignore_classes = ""; + public String hook_method_exclude_patterns = ""; private StringSet _hook_method_ignore_classes = new StringSet(); public boolean hook_method_access_public_enabled = true; public boolean hook_method_access_private_enabled = false; @@ -376,6 +377,7 @@ private void apply() { this.profile_connection_open_enabled = getBoolean("profile_connection_open_enabled", true); this._summary_connection_leak_fullstack_enabled = getBoolean("_summary_connection_leak_fullstack_enabled", false); this.hook_method_patterns = getValue("hook_method_patterns", ""); + this.hook_method_exclude_patterns = getValue("hook_method_exclude_patterns", ""); this.hook_method_access_public_enabled = getBoolean("hook_method_access_public_enabled", true); this.hook_method_access_protected_enabled = getBoolean("hook_method_access_protected_enabled", false); this.hook_method_access_private_enabled = getBoolean("hook_method_access_private_enabled", false); @@ -503,8 +505,8 @@ private void apply() { this.log_dir = getValue("log_dir", ""); this.log_rotation_enabled = getBoolean("log_rotation_enabled", true); this.log_keep_days = getInt("log_keep_days", 7); - this._log_trace_enabled = getBoolean("_log_trace_enabled", false); - this._log_trace_use_logger = getBoolean("_log_trace_use_logger", false); + this._trace = getBoolean("_trace", false); + this._trace_use_logger = getBoolean("_trace_use_logger", false); this.enduser_trace_endpoint_url = getValue("enduser_trace_endpoint_url", "_scouter_browser.jsp"); this.enduser_perf_endpoint_hash = HashUtil.hash(this.enduser_trace_endpoint_url); diff --git a/scouter.agent.java/src/scouter/agent/Logger.java b/scouter.agent.java/src/scouter/agent/Logger.java index 7beec9f43..5a98cb7b7 100644 --- a/scouter.agent.java/src/scouter/agent/Logger.java +++ b/scouter.agent.java/src/scouter/agent/Logger.java @@ -45,8 +45,8 @@ public static void println(String id, String message, Throwable t) { } public static void trace(Object message) { - if(conf._log_trace_enabled) { - if(conf._log_trace_use_logger) { + if(conf._trace) { + if(conf._trace_use_logger) { println(build("SCOUTER-TRC", toString(message)), true); } else { System.out.println(build("SCOUTER-TRC", toString(message))); diff --git a/scouter.agent.java/src/scouter/agent/asm/MethodASM.java b/scouter.agent.java/src/scouter/agent/asm/MethodASM.java index 758321fe3..ed8a45dfb 100644 --- a/scouter.agent.java/src/scouter/agent/asm/MethodASM.java +++ b/scouter.agent.java/src/scouter/agent/asm/MethodASM.java @@ -17,20 +17,25 @@ package scouter.agent.asm; +import java.util.List; + import scouter.agent.ClassDesc; import scouter.agent.Configure; import scouter.agent.asm.util.AsmUtil; import scouter.agent.asm.util.HookingSet; import scouter.agent.netio.data.DataProxy; import scouter.agent.trace.TraceMain; -import scouter.org.objectweb.asm.*; +import scouter.org.objectweb.asm.ClassVisitor; +import scouter.org.objectweb.asm.Label; +import scouter.org.objectweb.asm.MethodVisitor; +import scouter.org.objectweb.asm.Opcodes; +import scouter.org.objectweb.asm.Type; import scouter.org.objectweb.asm.commons.LocalVariablesSorter; -import java.util.List; - public class MethodASM implements IASM, Opcodes { private List target = HookingSet.getHookingMethodSet(Configure.getInstance().hook_method_patterns); + private List excludeTarget = HookingSet.getHookingMethodSet(Configure.getInstance().hook_method_exclude_patterns); Configure conf = Configure.getInstance(); @@ -47,7 +52,7 @@ public ClassVisitor transform(ClassVisitor cv, String className, ClassDesc class for (int i = 0; i < target.size(); i++) { HookingSet mset = target.get(i); if (mset.classMatch.include(className)) { - return new MethodCV(cv, mset, className); + return new MethodCV(cv, mset, excludeTarget, className); } } return cv; @@ -58,10 +63,12 @@ class MethodCV extends ClassVisitor implements Opcodes { public String className; private HookingSet mset; + private List excludeTarget; - public MethodCV(ClassVisitor cv, HookingSet mset, String className) { + public MethodCV(ClassVisitor cv, HookingSet mset, List excludeTarget, String className) { super(ASM4, cv); this.mset = mset; + this.excludeTarget = excludeTarget; this.className = className; } @@ -74,6 +81,16 @@ public MethodVisitor visitMethod(int access, String name, String desc, String si if (AsmUtil.isSpecial(name)) { return mv; } + + // check exclude method set + for (int i = 0; i < excludeTarget.size(); i++) { + HookingSet excludeSet = excludeTarget.get(i); + if (excludeSet.classMatch.include(className)) { + if (excludeSet.isA(name, desc)) { + return mv; + } + } + } Configure conf = Configure.getInstance(); boolean isPublic = conf.hook_method_access_public_enabled; diff --git a/scouter.agent.java/src/scouter/agent/asm/util/HookingSet.java b/scouter.agent.java/src/scouter/agent/asm/util/HookingSet.java index 8c3a1fa6f..1436be71f 100644 --- a/scouter.agent.java/src/scouter/agent/asm/util/HookingSet.java +++ b/scouter.agent.java/src/scouter/agent/asm/util/HookingSet.java @@ -79,7 +79,7 @@ public int get(String method, String desc) { public static Map getHookingSet(String arg) { String[] c = StringUtil.split(arg, ','); - Map classSet = new HashMap(); + Map classMap = new HashMap(); for (int i = 0; i < c.length; i++) { String s = c[i]; int x = s.lastIndexOf("."); @@ -88,14 +88,14 @@ public static Map getHookingSet(String arg) { String cname = s.substring(0, x).replace('.', '/'); String mname = s.substring(x + 1); - HookingSet methodSet = classSet.get(cname); + HookingSet methodSet = classMap.get(cname); if (methodSet == null) { methodSet = new HookingSet(); - classSet.put(cname, methodSet); + classMap.put(cname, methodSet); } methodSet.add(mname); } - return classSet; + return classMap; } public static List getHookingMethodSet(String patterns) { diff --git a/scouter.agent.java/src/scouter/agent/counter/task/ServicePerf.java b/scouter.agent.java/src/scouter/agent/counter/task/ServicePerf.java index 383c30030..eeae65e49 100644 --- a/scouter.agent.java/src/scouter/agent/counter/task/ServicePerf.java +++ b/scouter.agent.java/src/scouter/agent/counter/task/ServicePerf.java @@ -40,6 +40,7 @@ public class ServicePerf { private MeterResource activeCounter = new MeterResource(); + private Configure conf = Configure.getInstance(); @Counter public void getServicePerf(CounterBasket pw) { @@ -108,6 +109,11 @@ public void getServicePerf(CounterBasket pw) { public void summay(CounterBasket pw) { long time = System.currentTimeMillis(); long now = DateUtil.getMinUnit(time) / 5; + + if(conf.getBoolean("_dev_summary_test", false)) { + now = time / 1000 / 15; + } + if (now == last_sent) return; last_sent = now; diff --git a/scouter.agent.java/src/scouter/agent/counter/task/TomcatJMXPerf.java b/scouter.agent.java/src/scouter/agent/counter/task/TomcatJMXPerf.java index 22140dcf6..3f80f2996 100644 --- a/scouter.agent.java/src/scouter/agent/counter/task/TomcatJMXPerf.java +++ b/scouter.agent.java/src/scouter/agent/counter/task/TomcatJMXPerf.java @@ -21,8 +21,10 @@ import java.util.HashSet; import java.util.List; import java.util.Set; + import javax.management.MBeanServer; import javax.management.ObjectName; + import scouter.agent.Configure; import scouter.agent.Logger; import scouter.agent.ObjTypeDetector; @@ -85,7 +87,6 @@ public boolean equals(Object obj) { } } private MBeanServer server; - private String version; List beanList = new ArrayList(); public long collectCnt = 0; @Counter @@ -147,18 +148,6 @@ private void getMBeanList() { if (type == null) { continue; } - if (StringUtil.isEmpty(version) && "Server".equals(type)) { // Server - // Bean - try { - Object value = server.getAttribute(mbean, "serverInfo"); - if (value != null) { - version = value.toString().split("/")[1]; - Logger.println("Tomcat version = " + version); - } - } catch (Exception e) { - e.printStackTrace(); - } - } if ("GlobalRequestProcessor".equals(type)) { String port = mbean.getKeyProperty("name"); try { diff --git a/scouter.agent.java/src/scouter/agent/trace/TraceSQL.java b/scouter.agent.java/src/scouter/agent/trace/TraceSQL.java index 7fd5e944f..266d86f86 100644 --- a/scouter.agent.java/src/scouter/agent/trace/TraceSQL.java +++ b/scouter.agent.java/src/scouter/agent/trace/TraceSQL.java @@ -243,7 +243,7 @@ public static void end(Object stat, Throwable thr, int updatedCount) { LocalContext lCtx = (LocalContext) stat; TraceContext tCtx = lCtx.context; - Logger.trace("affected row = " + updatedCount); + //Logger.trace("affected row = " + updatedCount); SqlStep3 step = (SqlStep3) lCtx.stepSingle; tCtx.lastSqlStep = step; diff --git a/scouter.agent.java/src/scouter/agent/util/AsyncRunner.java b/scouter.agent.java/src/scouter/agent/util/AsyncRunner.java index a352753a0..d10da3faf 100644 --- a/scouter.agent.java/src/scouter/agent/util/AsyncRunner.java +++ b/scouter.agent.java/src/scouter/agent/util/AsyncRunner.java @@ -146,7 +146,7 @@ private void alert(LeakInfo2 leakInfo2) { } DataProxy.sendAlert(AlertLevel.WARN, "CONNECTION_NOT_CLOSE", "Connection may not closed", mv); - if(conf._log_trace_enabled) Logger.trace("[Force-Close-InnerObject]" + System.identityHashCode(leakInfo2.innerObject)); + if(conf._trace) Logger.trace("[Force-Close-InnerObject]" + System.identityHashCode(leakInfo2.innerObject)); boolean closeResult = leakInfo2.closeManager.close(leakInfo2.innerObject); //Logger.println("G003", "connection auto closed:" + closeResult); diff --git a/scouter.client/src/scouter/client/ApplicationWorkbenchWindowAdvisor.java b/scouter.client/src/scouter/client/ApplicationWorkbenchWindowAdvisor.java index b8ae1d555..cb6fb4e3e 100644 --- a/scouter.client/src/scouter/client/ApplicationWorkbenchWindowAdvisor.java +++ b/scouter.client/src/scouter/client/ApplicationWorkbenchWindowAdvisor.java @@ -33,6 +33,7 @@ import scouter.Version; import scouter.client.net.LoginMgr; +import scouter.client.net.LoginResult; import scouter.client.popup.LoginDialog; import scouter.client.popup.LoginDialog.ILoginDialog; import scouter.client.preferences.PreferenceConstants; @@ -119,8 +120,8 @@ public void preWindowOpen() { if (index > -1) { String id = accountInfo.substring(0, index); String pwd = accountInfo.substring(index + 1, accountInfo.length()); - boolean result = LoginMgr.silentLogin(server, id, pwd); - if (result) { + LoginResult result = LoginMgr.silentLogin(server, id, pwd); + if (result.success) { autoLogined = true; } } diff --git a/scouter.client/src/scouter/client/context/actions/OpenServerAction.java b/scouter.client/src/scouter/client/context/actions/OpenServerAction.java index 4fa2a0fd8..dffef611e 100644 --- a/scouter.client/src/scouter/client/context/actions/OpenServerAction.java +++ b/scouter.client/src/scouter/client/context/actions/OpenServerAction.java @@ -21,13 +21,12 @@ import org.eclipse.jface.action.Action; import org.eclipse.swt.widgets.Display; -import scouter.client.Images; import scouter.client.net.LoginMgr; +import scouter.client.net.LoginResult; import scouter.client.popup.LoginDialog; import scouter.client.server.Server; import scouter.client.server.ServerManager; import scouter.client.util.ConsoleProxy; -import scouter.client.util.ImageUtil; import scouter.util.StringUtil; @@ -44,9 +43,9 @@ public OpenServerAction(int serverId) { public void run() { Server server = ServerManager.getInstance().getServer(serverId); if (StringUtil.isNotEmpty(server.getUserId()) && StringUtil.isNotEmpty(server.getPassword())) { - boolean result = LoginMgr.silentLogin(server, server.getUserId(), server.getPassword()); - if (result == false) { - ConsoleProxy.errorSafe("Failed opening server"); + LoginResult result = LoginMgr.silentLogin(server, server.getUserId(), server.getPassword()); + if (result.success == false) { + ConsoleProxy.errorSafe(result.getErrorMessage()); } } else { LoginDialog dialog = new LoginDialog(Display.getDefault(), null, LoginDialog.TYPE_OPEN_SERVER, server.getIp() + ":" + server.getPort()); diff --git a/scouter.client/src/scouter/client/net/LoginMgr.java b/scouter.client/src/scouter/client/net/LoginMgr.java index 40e4fa312..73bbfebee 100644 --- a/scouter.client/src/scouter/client/net/LoginMgr.java +++ b/scouter.client/src/scouter/client/net/LoginMgr.java @@ -31,13 +31,14 @@ import scouter.util.SysJMX; public class LoginMgr{ - public static boolean login(int serverId, String user, String password){ + public static LoginResult login(int serverId, String user, String password){ Server server = ServerManager.getInstance().getServer(serverId); - String encrypted = CipherUtil.md5(password); + String encrypted = CipherUtil.sha256(password); return silentLogin(server, user, encrypted); } - public static boolean silentLogin(Server server, String user, String encryptedPwd){ + public static LoginResult silentLogin(Server server, String user, String encryptedPwd){ + LoginResult result = new LoginResult(); try { MapPack param = new MapPack(); param.put("id", user); @@ -46,12 +47,16 @@ public static boolean silentLogin(Server server, String user, String encryptedPw param.put("hostname", SysJMX.getHostName()); MapPack out = TcpProxy.loginProxy(server.getId(), param); - - if (out != null) { + if (out == null) { + result.success = false; + result.errorMessage = "Network connection failed"; + } else { long session = out.getLong("session"); String error = out.getText("error"); if(error != null && session == 0L){ - return false; + result.success = false; + result.errorMessage = "Authentication failed"; + return result; } server.setOpen(true); long time = out.getLong("time"); @@ -93,12 +98,14 @@ public static boolean silentLogin(Server server, String user, String encryptedPw counterEngine.parse(((BlobValue)v1).value); } } - return true; + result.success = true; } } catch(Exception e){ e.printStackTrace(); + result.success = false; + result.errorMessage = "Network connection failed : " + e.getMessage(); } - return false; + return result; } public static MapPack getCounterXmlServer(int serverId) { diff --git a/scouter.client/src/scouter/client/net/LoginResult.java b/scouter.client/src/scouter/client/net/LoginResult.java new file mode 100644 index 000000000..f3e680f95 --- /dev/null +++ b/scouter.client/src/scouter/client/net/LoginResult.java @@ -0,0 +1,17 @@ +package scouter.client.net; + +import scouter.util.StringUtil; + +public class LoginResult { + + public boolean success; + public String errorMessage; + + public String getErrorMessage() { + if (!success && StringUtil.isEmpty(errorMessage)) { + return "Failure to unknown causes"; + } + return errorMessage; + } + +} diff --git a/scouter.client/src/scouter/client/popup/AccountDialog.java b/scouter.client/src/scouter/client/popup/AccountDialog.java index 335262915..b9dc76d16 100644 --- a/scouter.client/src/scouter/client/popup/AccountDialog.java +++ b/scouter.client/src/scouter/client/popup/AccountDialog.java @@ -317,7 +317,7 @@ public void run() { try { MapPack param = new MapPack(); param.put("id", id); - param.put("pass", CipherUtil.md5(password)); + param.put("pass", CipherUtil.sha256(password)); param.put("email", email); param.put("group", selectedGroup); MapPack p = (MapPack) tcp.getSingle(RequestCmd.ADD_ACCOUNT, param); @@ -355,7 +355,7 @@ public void run() { try { MapPack param = new MapPack(); param.put("id", id); - param.put("pass", CipherUtil.md5(password)); + param.put("pass", CipherUtil.sha256(password)); param.put("email", email); param.put("group", selectedGroup); MapPack p = (MapPack) tcp.getSingle(RequestCmd.EDIT_ACCOUNT, param); diff --git a/scouter.client/src/scouter/client/popup/LoginDialog.java b/scouter.client/src/scouter/client/popup/LoginDialog.java index 2b1db71ac..e67eca326 100644 --- a/scouter.client/src/scouter/client/popup/LoginDialog.java +++ b/scouter.client/src/scouter/client/popup/LoginDialog.java @@ -46,12 +46,12 @@ import scouter.Version; import scouter.client.Activator; import scouter.client.net.LoginMgr; +import scouter.client.net.LoginResult; import scouter.client.preferences.ServerPrefUtil; import scouter.client.server.Server; import scouter.client.server.ServerManager; import scouter.client.util.UIUtil; import scouter.net.NetConstants; -import scouter.util.CipherUtil; import scouter.util.StringUtil; public class LoginDialog { @@ -320,7 +320,7 @@ public boolean loginInToServer(String address) { String addr[] = address.split(":"); ip = addr[0]; port = addr[1]; - msg("Logging in..." + address); + msg("Log in..." + address); ServerManager srvMgr = ServerManager.getInstance(); if (this.openType != TYPE_EDIT_SERVER && srvMgr.isRunningServer(ip, port)) { @@ -336,12 +336,12 @@ public boolean loginInToServer(String address) { existServer = true; } - boolean success = LoginMgr.login(server.getId(), id.getText(), pass.getText()); - if (success) { + LoginResult result = LoginMgr.login(server.getId(), id.getText(), pass.getText()); + if (result.success) { msg("Successfully log in to " + address); ServerPrefUtil.addServerAddr(address); if (autoLogin) { - ServerPrefUtil.addAutoLoginServer(address, id.getText(), CipherUtil.md5(pass.getText())); + ServerPrefUtil.addAutoLoginServer(address, id.getText(), server.getPassword()); } else { ServerPrefUtil.removeAutoLoginServer(address); } @@ -360,7 +360,7 @@ public boolean loginInToServer(String address) { if (existServer == false) { ServerManager.getInstance().removeServer(server.getId()); } - errMsg("Please check your ID/Password or network."); + errMsg(result.getErrorMessage()); msg(""); return false; } diff --git a/scouter.client/src/scouter/client/threads/SessionObserver.java b/scouter.client/src/scouter/client/threads/SessionObserver.java index 478d97aa4..92b4f1322 100644 --- a/scouter.client/src/scouter/client/threads/SessionObserver.java +++ b/scouter.client/src/scouter/client/threads/SessionObserver.java @@ -20,6 +20,7 @@ import java.util.Set; import scouter.client.net.LoginMgr; +import scouter.client.net.LoginResult; import scouter.client.server.Server; import scouter.client.server.ServerManager; import scouter.client.util.ConsoleProxy; @@ -53,11 +54,11 @@ public void run() { server.setSession(0); // reset session } if (/*server.isConnected() &&*/ server.getSession() == 0) { - boolean success = LoginMgr.silentLogin(server, server.getUserId(), server.getPassword()); - if (success) { + LoginResult result = LoginMgr.silentLogin(server, server.getUserId(), server.getPassword()); + if (result.success) { ConsoleProxy.infoSafe("Success re-login to " + server.getName()); } else { - ConsoleProxy.errorSafe("Failed re-login to " + server.getName()); + ConsoleProxy.errorSafe("Failed re-login to " + server.getName() + " : " + result.getErrorMessage()); } } } diff --git a/scouter.client/src/scouter/client/util/MenuUtil.java b/scouter.client/src/scouter/client/util/MenuUtil.java index acb82878b..7bd57103a 100644 --- a/scouter.client/src/scouter/client/util/MenuUtil.java +++ b/scouter.client/src/scouter/client/util/MenuUtil.java @@ -113,6 +113,7 @@ import scouter.client.xlog.actions.OpenXLogLoadTimeAction; import scouter.client.xlog.actions.OpenXLogRealTimeAction; import scouter.lang.Counter; +import scouter.lang.ObjectType; import scouter.lang.counters.CounterConstants; import scouter.lang.counters.CounterEngine; import scouter.util.DateUtil; @@ -388,7 +389,9 @@ public static void createCounterContextMenu(final String id, Control control, fi MenuManager mgr = new MenuManager(); mgr.setRemoveAllWhenShown(true); final CounterEngine counterEngine = ServerManager.getInstance().getServer(serverId).getCounterEngine(); - final Counter counterObj = counterEngine.getObjectType(objType).getFamily().getCounter(counter); + ObjectType objectType = counterEngine.getObjectType(objType); + if (objectType == null) return; + final Counter counterObj = objectType.getFamily().getCounter(counter); mgr.addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager mgr) { if (mgr == null) return; diff --git a/scouter.common/src/scouter/util/CipherUtil.java b/scouter.common/src/scouter/util/CipherUtil.java index 65fa7c7ac..ecb968b8a 100644 --- a/scouter.common/src/scouter/util/CipherUtil.java +++ b/scouter.common/src/scouter/util/CipherUtil.java @@ -55,6 +55,32 @@ public static String md5(String plainText) { } return md5Text; + } + + public static String sha256(String plainText) { + String salt = "qwertyuiop!@#$%^&*()zxcvbnm,."; + String sha256Text = null; + if (plainText != null) { + try { + MessageDigest sha256 = MessageDigest.getInstance("SHA-256"); + sha256.update(salt.getBytes()); + byte[] byteArray = plainText.getBytes(); + byte[] sha256Bytes = sha256.digest(byteArray); + StringBuffer buf = new StringBuffer(); + + for (int i = 0; i < sha256Bytes.length; i++) { + if ((sha256Bytes[i] & 0xff) < 0x10) { + buf.append("0"); + } + buf.append(Long.toString(sha256Bytes[i] & 0xff, 16)); + } + + sha256Text = buf.toString(); + } catch (Throwable t) { + return plainText; + } + } + return sha256Text; } private static Key genKey() throws GeneralSecurityException { @@ -105,13 +131,15 @@ private static byte[] padding(byte[] src) { } public static void main(String[] args) { - String pwd = "admin"; + String pwd = "guest"; String md5 = md5(pwd); String cnd = encode(pwd); - String rtn = decode(cnd); + String rtn = decode(cnd); + String sha256 = sha256(pwd); System.out.println("'" + pwd + "'"); System.out.println("'" + md5 + "'"); System.out.println("'" + cnd + "'"); - System.out.println("'" + rtn + "'"); + System.out.println("'" + rtn + "'"); + System.out.println("'" + sha256 + "'"); } } \ No newline at end of file diff --git a/scouter.deploy/build.xml b/scouter.deploy/build.xml index d4b7cc69e..47b0ebfdf 100644 --- a/scouter.deploy/build.xml +++ b/scouter.deploy/build.xml @@ -4,7 +4,7 @@ - + diff --git a/scouter.server/src/scouter/server/account/account.xml b/scouter.server/src/scouter/server/account/account.xml index f4adc2943..fc8a99632 100644 --- a/scouter.server/src/scouter/server/account/account.xml +++ b/scouter.server/src/scouter/server/account/account.xml @@ -1,10 +1,10 @@ - + admin@scouter.com - + guest@scouter.com \ No newline at end of file