mirror of
https://github.com/mumble-voip/grumble.git
synced 2025-12-21 10:31:56 -08:00
Only allow blob-storage for registered users.
This commit is contained in:
parent
1c297dfbf8
commit
1f97723cfd
1 changed files with 9 additions and 3 deletions
12
message.go
12
message.go
|
|
@ -637,7 +637,7 @@ func (server *Server) handleUserStateMessage(client *Client, msg *Message) {
|
||||||
|
|
||||||
broadcast := false
|
broadcast := false
|
||||||
|
|
||||||
if userstate.Texture != nil {
|
if userstate.Texture != nil && target.user != nil {
|
||||||
key, err := globalBlobstore.Put(userstate.Texture)
|
key, err := globalBlobstore.Put(userstate.Texture)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("Blobstore error: %v", err.String())
|
log.Panicf("Blobstore error: %v", err.String())
|
||||||
|
|
@ -677,7 +677,7 @@ func (server *Server) handleUserStateMessage(client *Client, msg *Message) {
|
||||||
target.PluginIdentity = *userstate.PluginIdentity
|
target.PluginIdentity = *userstate.PluginIdentity
|
||||||
}
|
}
|
||||||
|
|
||||||
if userstate.Comment != nil {
|
if userstate.Comment != nil && target.user != nil {
|
||||||
key, err := globalBlobstore.Put([]byte(*userstate.Comment))
|
key, err := globalBlobstore.Put([]byte(*userstate.Comment))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicf("Blobstore error: %v", err.String())
|
log.Panicf("Blobstore error: %v", err.String())
|
||||||
|
|
@ -782,15 +782,21 @@ func (server *Server) handleUserStateMessage(client *Client, msg *Message) {
|
||||||
// If a texture hash is set on user, we transmit that instead of
|
// If a texture hash is set on user, we transmit that instead of
|
||||||
// the texture itself. This allows the client to intelligently fetch
|
// the texture itself. This allows the client to intelligently fetch
|
||||||
// the blobs that it does not already have in its local storage.
|
// the blobs that it does not already have in its local storage.
|
||||||
if userstate.Texture != nil && target.user.HasTexture() {
|
if userstate.Texture != nil && target.user != nil && target.user.HasTexture() {
|
||||||
userstate.Texture = nil
|
userstate.Texture = nil
|
||||||
userstate.TextureHash = target.user.TextureBlobHashBytes()
|
userstate.TextureHash = target.user.TextureBlobHashBytes()
|
||||||
|
} else if target.user == nil {
|
||||||
|
userstate.Texture = nil
|
||||||
|
userstate.TextureHash = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ditto for comments.
|
// Ditto for comments.
|
||||||
if userstate.Comment != nil && target.user.HasComment() {
|
if userstate.Comment != nil && target.user.HasComment() {
|
||||||
userstate.Comment = nil
|
userstate.Comment = nil
|
||||||
userstate.CommentHash = target.user.CommentBlobHashBytes()
|
userstate.CommentHash = target.user.CommentBlobHashBytes()
|
||||||
|
} else if target.user == nil {
|
||||||
|
userstate.Comment = nil
|
||||||
|
userstate.CommentHash = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
err := server.broadcastProtoMessageWithPredicate(MessageUserState, userstate, func(client *Client) bool {
|
err := server.broadcastProtoMessageWithPredicate(MessageUserState, userstate, func(client *Client) bool {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue