Ignore:
Timestamp:
Sep 12, 2014, 11:14:11 AM (10 years ago)
Author:
alloc
Message:

fixes

Location:
binary-improvements/7dtd-server-fixes/src/NetConnections/Servers
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/src/NetConnections/Servers/Telnet/TelnetConnection.cs

    r187 r189  
    3838
    3939                        if (endpoint is IPEndPoint) {
    40                                 endpointAddressHash = ((IPEndPoint)endpoint).Address.GetHashCode();
     40                                endpointAddressHash = ((IPEndPoint)endpoint).Address.GetHashCode ();
    4141                                //Log.Out ("Hash: " + endpointAddressHash);
    4242                        } else {
    43                                 Log.Out ("EndPoint is not an IPEndPoint but: " + endpoint.GetType().ToString());
     43                                Log.Out ("EndPoint is not an IPEndPoint but: " + endpoint.GetType ().ToString ());
    4444                        }
    4545
     
    7878                                        while (!IsClosed()) {
    7979                                                string line = reader.ReadLine ();
    80                                                 if (line != null) {
     80                                                if (line != null && line.Length > 0) {
    8181                                                        line = line.Trim ();
    82 
    83                                                         if (!IsAuthenticated ()) {
    84                                                                 if (line.Equals (GamePrefs.GetString (EnumGamePrefs.TelnetPassword))) {
    85                                                                         authenticated = true;
    86                                                                         WriteLine ("Logon successful.");
    87                                                                         WriteLine (string.Empty);
    88                                                                         WriteLine (string.Empty);
    89                                                                         WriteLine (string.Empty);
    90                                                                         LoginMessage ();
     82                                                        if (line.Length > 0) {
     83                                                                if (!IsAuthenticated ()) {
     84                                                                        if (line.Equals (GamePrefs.GetString (EnumGamePrefs.TelnetPassword))) {
     85                                                                                authenticated = true;
     86                                                                                WriteLine ("Logon successful.");
     87                                                                                WriteLine (string.Empty);
     88                                                                                WriteLine (string.Empty);
     89                                                                                WriteLine (string.Empty);
     90                                                                                LoginMessage ();
     91                                                                        } else {
     92                                                                                if (owner.RegisterFailedLogin (endpointAddressHash)) {
     93                                                                                        WriteLine ("Password incorrect, please enter password:");
     94                                                                                } else {
     95                                                                                        WriteLine ("Too many failed login attempts!");
     96                                                                                        Thread.Sleep (100);
     97                                                                                        Close ();
     98                                                                                        Log.Out ("Telnet connection closed for too many login attempts: " + endpoint);
     99                                                                                        break;
     100                                                                                }
     101                                                                        }
    91102                                                                } else {
    92                                                                         if (owner.RegisterFailedLogin(endpointAddressHash)) {
    93                                                                                 WriteLine ("Password incorrect, please enter password:");
    94                                                                         } else {
    95                                                                                 WriteLine ("Too many failed login attempts!");
    96                                                                                 Thread.Sleep(100);
     103                                                                        if (line.ToLower ().Equals ("exit")) {
     104                                                                                Log.Out ("Telnet connection closed by client: " + endpoint);
    97105                                                                                Close ();
    98                                                                                 Log.Out ("Telnet connection closed for too many login attempts: " + endpoint);
    99106                                                                                break;
    100107                                                                        }
     108                                                                        Log.Out ("Telnet executed \"" + line + "\" from: " + endpoint);
     109                                                                        ConsoleOutputSeparator.QueueNetCommand (line, this);
    101110                                                                }
    102                                                         } else {
    103                                                                 if (line.ToLower ().Equals ("exit")) {
    104                                                                         Log.Out ("Telnet connection closed by client: " + endpoint);
    105                                                                         Close ();
    106                                                                         break;
    107                                                                 }
    108                                                                 Log.Out ("Telnet executed \"" + line + "\" from: " + endpoint);
    109                                                                 ConsoleOutputSeparator.QueueNetCommand (line, this);
    110111                                                        }
    111112                                                }
  • binary-improvements/7dtd-server-fixes/src/NetConnections/Servers/Web/StaticHandler.cs

    r154 r189  
    3030                                byte[] content;
    3131                                if (cache) {
    32                                         Monitor.Enter (fileCache);
    33                                         try {
     32                                        lock (fileCache) {
    3433                                                if (!fileCache.ContainsKey (fn)) {
    3534                                                        if (!File.Exists (datapath + "/" + fn)) {
     
    4140
    4241                                                content = fileCache [fn];
    43                                         } finally {
    44                                                 Monitor.Exit (fileCache);
    4542                                        }
    4643                                } else {
     
    5552                                resp.ContentLength64 = content.Length;
    5653                                resp.OutputStream.Write (content, 0, content.Length);
    57                         } catch (FileNotFoundException e) {
     54                        } catch (FileNotFoundException) {
    5855                                resp.StatusCode = (int)HttpStatusCode.NotFound;
    5956                                if (logMissingFiles)
Note: See TracChangeset for help on using the changeset viewer.