This should actually fix rmichela#10

This commit is contained in:
Justin Crawford 2019-10-06 02:50:06 -07:00
parent 1b4c7c2304
commit 0afba39d57
No known key found for this signature in database
GPG Key ID: 0D84DEDBB8EF259C
5 changed files with 31 additions and 28 deletions

View File

@ -6,7 +6,7 @@
<groupId>com.ryanmichela</groupId> <groupId>com.ryanmichela</groupId>
<artifactId>sshd</artifactId> <artifactId>sshd</artifactId>
<version>1.3.6</version> <version>1.3.6.1</version>
<url>https://github.com/Justasic/Bukkit-SSHD/</url> <url>https://github.com/Justasic/Bukkit-SSHD/</url>
<properties> <properties>
@ -171,4 +171,4 @@
</build> </build>
<packaging>jar</packaging> <packaging>jar</packaging>
</project> </project>

View File

@ -67,8 +67,7 @@ public class ConsoleLogFormatter extends Formatter {
return result; return result;
} }
public public String format(LogRecord logrecord)
String format(LogRecord logrecord)
{ {
try try
{ {

View File

@ -138,7 +138,7 @@ public class ConsoleShellFactory implements ShellFactory {
this.ConsoleReader.clearScreen(); this.ConsoleReader.clearScreen();
continue; continue;
} }
// Hide the mkpasswd command input. // Hide the mkpasswd command input from other users.
Boolean mkpasswd = command.split(" ")[0].equals("mkpasswd"); Boolean mkpasswd = command.split(" ")[0].equals("mkpasswd");
Bukkit.getScheduler().runTask( Bukkit.getScheduler().runTask(
@ -153,17 +153,12 @@ public class ConsoleShellFactory implements ShellFactory {
else else
{ {
if (!mkpasswd) if (!mkpasswd)
{ SshdPlugin.instance.getLogger().info("<" + this.Username + "> " + command);
SshdPlugin.instance.getLogger().info("<" + this.Username + "> <" + (mkpasswd ? "True": "False") + "> " + command);
}
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command); Bukkit.dispatchCommand(Bukkit.getConsoleSender(), command);
} }
}); });
} }
// This should help stop one of the bugs where bytes are waiting to be written
// but the client fucked off already so the plugin throws an exception.
((Logger)LogManager.getRootLogger()).removeAppender(this.streamHandlerAppender);
} }
catch (IOException e) catch (IOException e)
{ {

View File

@ -1,49 +1,59 @@
package com.ryanmichela.sshd; package com.ryanmichela.sshd;
import org.apache.sshd.common.SshException; import org.apache.sshd.common.SshException;
import org.apache.sshd.common.channel.exception.SshChannelClosedException;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.math.BigInteger;
/** /**
* Copyright 2013 Ryan Michela * Copyright 2013 Ryan Michela
*/ */
public class FlushyOutputStream extends OutputStream { public class FlushyOutputStream extends OutputStream
{
private OutputStream base; private OutputStream base;
private boolean isClosed = false; private boolean isClosed = false;
public FlushyOutputStream(OutputStream base) { public FlushyOutputStream(OutputStream base)
{
this.base = base; this.base = base;
} }
@Override @Override
public void write(int b) throws IOException { public void write(int b) throws IOException
if (isClosed) return; {
base.write(b); this.write(BigInteger.valueOf(b).toByteArray());
base.flush();
} }
@Override @Override
public void write(byte[] b) throws IOException { public void write(byte[] b) throws IOException
if (isClosed) return; {
base.write(b); this.write(b, 0, b.length);
base.flush();
} }
@Override @Override
public void write(byte[] b, int off, int len) throws IOException { public void write(byte[] b, int off, int len) throws IOException
if (isClosed) return; {
try { if (isClosed)
return;
try
{
base.write(b, off, len); base.write(b, off, len);
base.flush(); base.flush();
} catch (SshException e) { }
if (!e.getMessage().contains("channel already closed")) throw e; catch (SshChannelClosedException e)
{
// ignored.
} }
} }
@Override @Override
public void close() { public void close() throws IOException
{
isClosed = true; isClosed = true;
base.close();
} }
} }

View File

@ -39,7 +39,6 @@ class MkpasswdCommand implements CommandExecutor
// Dumb but whatever. Some people are really dense. // Dumb but whatever. Some people are really dense.
if (algoritm.equalsIgnoreCase("PLAIN")) if (algoritm.equalsIgnoreCase("PLAIN"))
{ {
sender.sendMessage("Your hash: " + password);
// I mean c'mon... // I mean c'mon...
sender.sendMessage("Bro really? it's literally your unencrypted password..."); sender.sendMessage("Bro really? it's literally your unencrypted password...");
} }