- Timestamp:
- Mar 27, 2020, 9:38:38 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/db.go
r149 r173 105 105 106 106 return users, nil 107 } 108 109 func (db *DB) GetUser(username string) (*User, error) { 110 db.lock.RLock() 111 defer db.lock.RUnlock() 112 113 user := &User{Username: username} 114 115 var password *string 116 row := db.db.QueryRow("SELECT password FROM User WHERE username = ?", username) 117 if err := row.Scan(&password); err != nil { 118 return nil, err 119 } 120 user.Password = fromStringPtr(password) 121 return user, nil 107 122 } 108 123 -
trunk/downstream.go
r168 r173 587 587 username, networkName := unmarshalUsername(username) 588 588 589 u := dc.srv.getUser(username) 590 if u == nil { 591 dc.logger.Printf("failed authentication for %q: unknown username", username) 592 return errAuthFailed 593 } 594 595 err := bcrypt.CompareHashAndPassword([]byte(u.Password), []byte(password)) 589 u, err := dc.srv.db.GetUser(username) 596 590 if err != nil { 597 591 dc.logger.Printf("failed authentication for %q: %v", username, err) … … 599 593 } 600 594 601 dc.user = u 595 err = bcrypt.CompareHashAndPassword([]byte(u.Password), []byte(password)) 596 if err != nil { 597 dc.logger.Printf("failed authentication for %q: %v", username, err) 598 return errAuthFailed 599 } 600 601 dc.user = dc.srv.getUser(username) 602 if dc.user == nil { 603 dc.logger.Printf("failed authentication for %q: user not active", username) 604 return errAuthFailed 605 } 602 606 dc.networkName = networkName 603 607 return nil
Note:
See TracChangeset
for help on using the changeset viewer.