- Timestamp:
- Jun 28, 2021, 2:55:44 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/soju.1.scd
r568 r570 310 310 realname set for a network. 311 311 312 *user update* [- realname <realname>]312 *user update* [-password <password>] [-realname <realname>] 313 313 Update the current user. 314 314 315 315 *user delete* <username> 316 316 Delete a soju user. Only admins can delete accounts. 317 318 *change-password* <new password>319 Change current user password.320 317 321 318 # AUTHORS -
trunk/service.go
r569 r570 261 261 }, 262 262 "update": { 263 usage: "[- realname <realname>]",263 usage: "[-password <password>] [-realname <realname>]", 264 264 desc: "update the current user", 265 265 handle: handleUserUpdate, … … 272 272 }, 273 273 }, 274 },275 "change-password": {276 usage: "<new password>",277 desc: "change your password",278 handle: handlePasswordChange,279 274 }, 280 275 "channel": { … … 735 730 } 736 731 737 func handlePasswordChange(dc *downstreamConn, params []string) error {738 if len(params) != 1 {739 return fmt.Errorf("expected exactly one argument")740 }741 742 hashed, err := bcrypt.GenerateFromPassword([]byte(params[0]), bcrypt.DefaultCost)743 if err != nil {744 return fmt.Errorf("failed to hash password: %v", err)745 }746 if err := dc.user.updatePassword(string(hashed)); err != nil {747 return err748 }749 750 sendServicePRIVMSG(dc, "password updated")751 return nil752 }753 754 732 func handleUserCreate(dc *downstreamConn, params []string) error { 755 733 fs := newFlagSet() … … 789 767 790 768 func handleUserUpdate(dc *downstreamConn, params []string) error { 791 var realname *string769 var password, realname *string 792 770 fs := newFlagSet() 771 fs.Var(stringPtrFlag{&password}, "password", "") 793 772 fs.Var(stringPtrFlag{&realname}, "realname", "") 794 773 … … 797 776 } 798 777 778 if password != nil { 779 hashed, err := bcrypt.GenerateFromPassword([]byte(*password), bcrypt.DefaultCost) 780 if err != nil { 781 return fmt.Errorf("failed to hash password: %v", err) 782 } 783 if err := dc.user.updatePassword(string(hashed)); err != nil { 784 return err 785 } 786 } 799 787 if realname != nil { 800 788 if err := dc.user.updateRealname(*realname); err != nil {
Note:
See TracChangeset
for help on using the changeset viewer.