- Timestamp:
- Oct 24, 2020, 1:14:23 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/contrib/znc-import.go
r357 r421 115 115 log.Fatalf("failed to store user %q: %v", username, err) 116 116 } 117 118 l, err := db.ListNetworks(username) 117 userID := u.ID 118 119 l, err := db.ListNetworks(userID) 119 120 if err != nil { 120 121 log.Fatalf("failed to list networks for user %q: %v", username, err) … … 182 183 n.Pass = pass 183 184 184 if err := db.StoreNetwork(user name, n); err != nil {185 if err := db.StoreNetwork(userID, n); err != nil { 185 186 logger.Fatalf("failed to store network: %v", err) 186 187 } -
trunk/db.go
r420 r421 71 71 id INTEGER PRIMARY KEY, 72 72 name VARCHAR(255), 73 user VARCHAR(255)NOT NULL,73 user INTEGER NOT NULL, 74 74 addr VARCHAR(255) NOT NULL, 75 75 nick VARCHAR(255) NOT NULL, … … 83 83 sasl_external_cert BLOB DEFAULT NULL, 84 84 sasl_external_key BLOB DEFAULT NULL, 85 FOREIGN KEY(user) REFERENCES User(username), 86 UNIQUE(user, addr, nick) 85 FOREIGN KEY(user) REFERENCES User(id), 86 UNIQUE(user, addr, nick), 87 UNIQUE(user, name) 87 88 ); 88 89 … … 116 117 ALTER TABLE UserNew RENAME TO User; 117 118 `, 119 ` 120 CREATE TABLE NetworkNew ( 121 id INTEGER PRIMARY KEY, 122 name VARCHAR(255), 123 user INTEGER NOT NULL, 124 addr VARCHAR(255) NOT NULL, 125 nick VARCHAR(255) NOT NULL, 126 username VARCHAR(255), 127 realname VARCHAR(255), 128 pass VARCHAR(255), 129 connect_commands VARCHAR(1023), 130 sasl_mechanism VARCHAR(255), 131 sasl_plain_username VARCHAR(255), 132 sasl_plain_password VARCHAR(255), 133 sasl_external_cert BLOB DEFAULT NULL, 134 sasl_external_key BLOB DEFAULT NULL, 135 FOREIGN KEY(user) REFERENCES User(id), 136 UNIQUE(user, addr, nick), 137 UNIQUE(user, name) 138 ); 139 INSERT INTO NetworkNew 140 SELECT Network.id, name, User.id as user, addr, nick, 141 Network.username, realname, pass, connect_commands, 142 sasl_mechanism, sasl_plain_username, sasl_plain_password, 143 sasl_external_cert, sasl_external_key 144 FROM Network 145 JOIN User ON Network.user = User.username; 146 DROP TABLE Network; 147 ALTER TABLE NetworkNew RENAME TO Network; 148 `, 118 149 } 119 150 … … 264 295 } 265 296 266 func (db *DB) DeleteUser( username string) error {297 func (db *DB) DeleteUser(id int64) error { 267 298 db.lock.Lock() 268 299 defer db.lock.Unlock() … … 280 311 JOIN Network ON Channel.network = Network.id 281 312 WHERE Network.user = ? 282 )`, username)283 if err != nil { 284 return err 285 } 286 287 _, err = tx.Exec("DELETE FROM Network WHERE user = ?", username)288 if err != nil { 289 return err 290 } 291 292 _, err = tx.Exec("DELETE FROM User WHERE username = ?", username)313 )`, id) 314 if err != nil { 315 return err 316 } 317 318 _, err = tx.Exec("DELETE FROM Network WHERE user = ?", id) 319 if err != nil { 320 return err 321 } 322 323 _, err = tx.Exec("DELETE FROM User WHERE id = ?", id) 293 324 if err != nil { 294 325 return err … … 298 329 } 299 330 300 func (db *DB) ListNetworks(user name string) ([]Network, error) {331 func (db *DB) ListNetworks(userID int64) ([]Network, error) { 301 332 db.lock.RLock() 302 333 defer db.lock.RUnlock() … … 307 338 FROM Network 308 339 WHERE user = ?`, 309 user name)340 userID) 310 341 if err != nil { 311 342 return nil, err … … 343 374 } 344 375 345 func (db *DB) StoreNetwork(user name string, network *Network) error {376 func (db *DB) StoreNetwork(userID int64, network *Network) error { 346 377 db.lock.Lock() 347 378 defer db.lock.Unlock() … … 386 417 sasl_plain_password, sasl_external_cert, sasl_external_key) 387 418 VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, 388 user name, netName, network.Addr, network.Nick, netUsername, realname, pass, connectCommands,419 userID, netName, network.Addr, network.Nick, netUsername, realname, pass, connectCommands, 389 420 saslMechanism, saslPlainUsername, saslPlainPassword, network.SASL.External.CertBlob, 390 421 network.SASL.External.PrivKeyBlob) -
trunk/downstream.go
r419 r421 1017 1017 } 1018 1018 n.Nick = nick 1019 err = dc.srv.db.StoreNetwork(dc.user. Username, &n.Network)1019 err = dc.srv.db.StoreNetwork(dc.user.ID, &n.Network) 1020 1020 }) 1021 1021 if err != nil { … … 1698 1698 n.SASL.Plain.Username = username 1699 1699 n.SASL.Plain.Password = password 1700 if err := dc.srv.db.StoreNetwork(dc.user. Username, &n.Network); err != nil {1700 if err := dc.srv.db.StoreNetwork(dc.user.ID, &n.Network); err != nil { 1701 1701 dc.logger.Printf("failed to save NickServ credentials: %v", err) 1702 1702 } -
trunk/service.go
r379 r421 549 549 net.SASL.Mechanism = "EXTERNAL" 550 550 551 if err := dc.srv.db.StoreNetwork( net.Username, &net.Network); err != nil {551 if err := dc.srv.db.StoreNetwork(dc.user.ID, &net.Network); err != nil { 552 552 return err 553 553 } … … 594 594 net.SASL.Mechanism = "PLAIN" 595 595 596 if err := dc.srv.db.StoreNetwork( net.Username, &net.Network); err != nil {596 if err := dc.srv.db.StoreNetwork(dc.user.ID, &net.Network); err != nil { 597 597 return err 598 598 } … … 618 618 net.SASL.Mechanism = "" 619 619 620 if err := dc.srv.db.StoreNetwork(dc.user. Username, &net.Network); err != nil {620 if err := dc.srv.db.StoreNetwork(dc.user.ID, &net.Network); err != nil { 621 621 return err 622 622 } … … 690 690 u.stop() 691 691 692 if err := dc.srv.db.DeleteUser( username); err != nil {692 if err := dc.srv.db.DeleteUser(dc.user.ID); err != nil { 693 693 return fmt.Errorf("failed to delete user: %v", err) 694 694 } -
trunk/user.go
r416 r421 315 315 defer close(u.done) 316 316 317 networks, err := u.srv.db.ListNetworks(u. Username)317 networks, err := u.srv.db.ListNetworks(u.ID) 318 318 if err != nil { 319 319 u.srv.Logger.Printf("failed to list networks for user %q: %v", u.Username, err) … … 509 509 510 510 network := newNetwork(u, record, nil) 511 err := u.srv.db.StoreNetwork(u. Username, &network.Network)511 err := u.srv.db.StoreNetwork(u.ID, &network.Network) 512 512 if err != nil { 513 513 return nil, err … … 529 529 } 530 530 531 if err := u.srv.db.StoreNetwork(u. Username, record); err != nil {531 if err := u.srv.db.StoreNetwork(u.ID, record); err != nil { 532 532 return nil, err 533 533 }
Note:
See TracChangeset
for help on using the changeset viewer.