OSDN Git Service

Remove the trip in a password.
authorbeatles <beatles@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Fri, 15 Sep 2006 12:25:17 +0000 (12:25 +0000)
committerbeatles <beatles@b8c68f68-1e22-0410-b08e-880e1f8202b4>
Fri, 15 Sep 2006 12:25:17 +0000 (12:25 +0000)
changelog
shogi-server

index f05c0ff..5dec8eb 100644 (file)
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+2006-09-15  Daigo Moriwaki <daigo at debian dot org>
+
+       * [shogi-server]
+         - Remove the trip in a password. Now the password is hashed.
+
 2006-09-09  Daigo Moriwaki <daigo at debian dot org>
 
        * [shogi-server]
index dbd7c58..7c94fae 100755 (executable)
@@ -156,9 +156,6 @@ class BasicPlayer
   # Idetifier of the player in the rating system
   attr_accessor :id
 
-  # Trip (password) for the rating player id
-  attr_reader :trip
-  
   # Name of the player
   attr_accessor :name
   
@@ -205,14 +202,12 @@ class BasicPlayer
   ##
   # Parses str in the LOGIN command, sets up @id and @trip
   #
-  def parse_password(str)
-    @password, *trip = str.split(",") # used by rating
-    trip = trip.join(",") # if no trip, *trip -> []; [].join(",") -> "";
-    if trip.empty?
-      @id = @trip = nil
+  def set_password(str)
+    if str && !str.empty?
+      @password = str.strip
+      @id   = "%s+%s" % [@name, Digest::MD5.hexdigest(@password)]
     else
-      @trip = trip
-      @id   = "%s+%s" % [@name, Digest::MD5.hexdigest(@trip)]
+      @id = @password = nil
     end
   end
 end
@@ -297,7 +292,7 @@ class Player < BasicPlayer
     @eol = $1
     str.chomp!
     (login, @name, password, ext) = str.split
-    parse_password(password)
+    set_password(password)
     if (ext)
       @protocol = "x1"
     else