diff options
author | David Ostrovsky <david@ostrovsky.org> | 2014-03-19 21:43:41 +0100 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-04-10 18:58:09 -0400 |
commit | 4495ff757818e2a5c2a556ab2e6a0c3d36bbbc11 (patch) | |
tree | 93cc359a233124693b05ee3271c4f5aae269347c /src/main/java/com/gitblit/transport | |
parent | ebd4f4460cfe786f89898decbb6f62dd25a9d1ea (diff) | |
download | gitblit-4495ff757818e2a5c2a556ab2e6a0c3d36bbbc11.tar.gz gitblit-4495ff757818e2a5c2a556ab2e6a0c3d36bbbc11.zip |
Report identified user and command on command failure
Fix commented out code. Now failure is reported as:
Internal server error (user admin) during gitblit version
Diffstat (limited to 'src/main/java/com/gitblit/transport')
-rw-r--r-- | src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java b/src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java index 4162a400..c4d6a57e 100644 --- a/src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java +++ b/src/main/java/com/gitblit/transport/ssh/commands/BaseCommand.java @@ -232,7 +232,7 @@ public abstract class BaseCommand implements Command, SessionAware { public void cancel() { synchronized (this) { try { - // onExit(/*STATUS_CANCEL*/); + onExit(STATUS_CANCEL); } finally { ctx = null; } @@ -317,18 +317,12 @@ public abstract class BaseCommand implements Command, SessionAware { /** * Terminate this command and return a result code to the remote client. * <p> - * Commands should invoke this at most once. Once invoked, the command may - * lose access to request based resources as any callbacks previously - * registered with {@link RequestCleanup} will fire. + * Commands should invoke this at most once. * - * @param rc - * exit code for the remote client. + * @param rc exit code for the remote client. */ protected void onExit(final int rc) { exit.onExit(rc); - // if (cleanup != null) { - // cleanup.run(); - // } } private int handleError(final Throwable e) { @@ -346,16 +340,14 @@ public abstract class BaseCommand implements Command, SessionAware { } else { final StringBuilder m = new StringBuilder(); m.append("Internal server error"); - // if (userProvider.get().isIdentifiedUser()) { - // final IdentifiedUser u = (IdentifiedUser) userProvider.get(); - // m.append(" (user "); - // m.append(u.getAccount().getUserName()); - // m.append(" account "); - // m.append(u.getAccountId()); - // m.append(")"); - // } - // m.append(" during "); - // m.append(contextProvider.get().getCommandLine()); + String user = ctx.getClient().getUsername(); + if (user != null) { + m.append(" (user "); + m.append(user); + m.append(")"); + } + m.append(" during "); + m.append(ctx.getCommandLine()); log.error(m.toString(), e); } |