⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 epassserver.java

📁 java开源邮件服务器 smtp pop3
💻 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 + -