Deduplicate Random ID
This commit is contained in:
parent
6e2e67d26f
commit
781f4a919b
12
app/app.go
12
app/app.go
|
@ -1,15 +1,14 @@
|
||||||
package app
|
package app
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/rand"
|
|
||||||
"cwtch.im/cwtch/app/plugins"
|
"cwtch.im/cwtch/app/plugins"
|
||||||
"cwtch.im/cwtch/event"
|
"cwtch.im/cwtch/event"
|
||||||
|
"cwtch.im/cwtch/model"
|
||||||
"cwtch.im/cwtch/model/attr"
|
"cwtch.im/cwtch/model/attr"
|
||||||
"cwtch.im/cwtch/model/constants"
|
"cwtch.im/cwtch/model/constants"
|
||||||
"cwtch.im/cwtch/peer"
|
"cwtch.im/cwtch/peer"
|
||||||
"cwtch.im/cwtch/protocol/connections"
|
"cwtch.im/cwtch/protocol/connections"
|
||||||
"cwtch.im/cwtch/storage"
|
"cwtch.im/cwtch/storage"
|
||||||
"encoding/hex"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"git.openprivacy.ca/openprivacy/connectivity"
|
"git.openprivacy.ca/openprivacy/connectivity"
|
||||||
"git.openprivacy.ca/openprivacy/log"
|
"git.openprivacy.ca/openprivacy/log"
|
||||||
|
@ -85,18 +84,11 @@ func (ac *applicationCore) DeletePeer(onion string) {
|
||||||
delete(ac.eventBuses, onion)
|
delete(ac.eventBuses, onion)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GenerateRandomID generates a random 16 byte hex id code
|
|
||||||
func GenerateRandomID() string {
|
|
||||||
randBytes := make([]byte, 16)
|
|
||||||
rand.Read(randBytes)
|
|
||||||
return path.Join(hex.EncodeToString(randBytes))
|
|
||||||
}
|
|
||||||
|
|
||||||
func (app *application) CreateTaggedPeer(name string, password string, tag string) {
|
func (app *application) CreateTaggedPeer(name string, password string, tag string) {
|
||||||
app.appmutex.Lock()
|
app.appmutex.Lock()
|
||||||
defer app.appmutex.Unlock()
|
defer app.appmutex.Unlock()
|
||||||
|
|
||||||
profileDirectory := path.Join(app.directory, "profiles", GenerateRandomID())
|
profileDirectory := path.Join(app.directory, "profiles", model.GenerateRandomID())
|
||||||
|
|
||||||
profile, err := peer.CreateEncryptedStorePeer(profileDirectory, name, password)
|
profile, err := peer.CreateEncryptedStorePeer(profileDirectory, name, password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"golang.org/x/crypto/ed25519"
|
"golang.org/x/crypto/ed25519"
|
||||||
"io"
|
"io"
|
||||||
"path/filepath"
|
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -67,7 +66,7 @@ func getRandomness(arr *[]byte) {
|
||||||
func GenerateRandomID() string {
|
func GenerateRandomID() string {
|
||||||
randBytes := make([]byte, 16)
|
randBytes := make([]byte, 16)
|
||||||
rand.Read(randBytes)
|
rand.Read(randBytes)
|
||||||
return filepath.Join(hex.EncodeToString(randBytes))
|
return hex.EncodeToString(randBytes)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetCopy returns a full deep copy of the Profile struct and its members (timeline inclusion control by arg)
|
// GetCopy returns a full deep copy of the Profile struct and its members (timeline inclusion control by arg)
|
||||||
|
|
Loading…
Reference in New Issue