|  | @@ -410,21 +410,27 @@ func GetUserByEmail(email string) (*User, error) {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // LoginUserPlain validates user by raw user name and password.
 | 
	
		
			
				|  |  | -func LoginUserPlain(name, passwd string) (*User, error) {
 | 
	
		
			
				|  |  | -	user := User{LowerName: strings.ToLower(name)}
 | 
	
		
			
				|  |  | -	has, err := orm.Get(&user)
 | 
	
		
			
				|  |  | +func LoginUserPlain(uname, passwd string) (*User, error) {
 | 
	
		
			
				|  |  | +	var u *User
 | 
	
		
			
				|  |  | +	if strings.Contains(uname, "@") {
 | 
	
		
			
				|  |  | +		u = &User{Email: uname}
 | 
	
		
			
				|  |  | +	} else {
 | 
	
		
			
				|  |  | +		u = &User{LowerName: strings.ToLower(uname)}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	has, err := orm.Get(u)
 | 
	
		
			
				|  |  |  	if err != nil {
 | 
	
		
			
				|  |  |  		return nil, err
 | 
	
		
			
				|  |  |  	} else if !has {
 | 
	
		
			
				|  |  |  		return nil, ErrUserNotExist
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	newUser := &User{Passwd: passwd, Salt: user.Salt}
 | 
	
		
			
				|  |  | +	newUser := &User{Passwd: passwd, Salt: u.Salt}
 | 
	
		
			
				|  |  |  	newUser.EncodePasswd()
 | 
	
		
			
				|  |  | -	if user.Passwd != newUser.Passwd {
 | 
	
		
			
				|  |  | +	if u.Passwd != newUser.Passwd {
 | 
	
		
			
				|  |  |  		return nil, ErrUserNotExist
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | -	return &user, nil
 | 
	
		
			
				|  |  | +	return u, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // Follow is connection request for receiving user notifycation.
 |