📄 epassserver.java
字号:
import java.net.*;
import java.io.*;
import java.util.*;
/**
Epass type password server.
**/
public class EpassServer extends Server
{
/**
Main runServer function. This is called from the Server class
**/
public void runServer( Socket localSocket )
throws java.io.IOException, java.net.SocketException
{
BufferedReader from;
PrintWriter to;
String httpText;
String command;
String argument;
String userName = ".";
String oldPass = ".";
boolean working = true;
from = new BufferedReader( new InputStreamReader( localSocket.getInputStream() ) );
to = new PrintWriter( new OutputStreamWriter( localSocket.getOutputStream() ), true );
localSocket.setSoTimeout( socketTimeout );
if ( monitorConnect )
{
log.write( serverName+": "+ localSocket.getInetAddress().toString()+ " connected" );
}
sendAndDebug( to, "220 EPass Server OK!" );
while ( working )
{
httpText = from.readLine();
sendAndDebug( to, "250 ok" );
if ( httpText.length() == 0 ) /** Timeout **/
{
working = false;
}
command = StringTools.firstWord( httpText ).toLowerCase();
argument = StringTools.notFirstWord( httpText ).toLowerCase();
if ( command.equals( "user" ) )
{
userName = argument;
}
else if ( command.equals( "pass" ) )
{
oldPass = argument;
}
else if ( command.equals( "newpass" ) )
{
if ( log.validUser( userName, oldPass ) )
{
log.write(serverName+": User "+userName+" changed password");
log.changePassword( userName, argument );
}
else
{
log.write(serverName+": User "+userName+" tried to changed password using "+oldPass);
}
}
}
}
/**
Instantiates an Epass server
**/
public EpassServer( dixie logx )
{
log = logx;
port = 106;
serverName = "Epass";
startServer();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -