forked from External/grumble
Use default blobstore in Grumble.
This commit is contained in:
parent
4ac0c4c244
commit
690e5bc750
5 changed files with 20 additions and 17 deletions
|
|
@ -13,6 +13,7 @@ import (
|
||||||
"goprotobuf.googlecode.com/hg/proto"
|
"goprotobuf.googlecode.com/hg/proto"
|
||||||
"mumbleproto"
|
"mumbleproto"
|
||||||
"cryptstate"
|
"cryptstate"
|
||||||
|
"grumble/blobstore"
|
||||||
"io"
|
"io"
|
||||||
"packetdatastream"
|
"packetdatastream"
|
||||||
)
|
)
|
||||||
|
|
@ -543,7 +544,7 @@ func (client *Client) sendChannelTree(channel *Channel) {
|
||||||
if client.Version >= 0x10202 {
|
if client.Version >= 0x10202 {
|
||||||
chanstate.DescriptionHash = channel.DescriptionBlobHashBytes()
|
chanstate.DescriptionHash = channel.DescriptionBlobHashBytes()
|
||||||
} else {
|
} else {
|
||||||
buf, err := globalBlobstore.Get(channel.DescriptionBlob)
|
buf, err := blobstore.Get(channel.DescriptionBlob)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic("Blobstore error.")
|
panic("Blobstore error.")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ var sqlitedb *string = flag.String("murmurdb", "", "Path to murmur.sqlite to imp
|
||||||
var cleanup *bool = flag.Bool("clean", false, "Clean up existing data dir content before importing Murmur data")
|
var cleanup *bool = flag.Bool("clean", false, "Clean up existing data dir content before importing Murmur data")
|
||||||
var gencert *bool = flag.Bool("gencert", false, "Generate a self-signed certificate for use with Grumble")
|
var gencert *bool = flag.Bool("gencert", false, "Generate a self-signed certificate for use with Grumble")
|
||||||
|
|
||||||
var globalBlobstore *blobstore.BlobStore
|
|
||||||
var servers map[int64]*Server
|
var servers map[int64]*Server
|
||||||
|
|
||||||
func Usage() {
|
func Usage() {
|
||||||
|
|
@ -103,7 +102,7 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Printf("Using blob directory: %s", *blobdir)
|
log.Printf("Using blob directory: %s", *blobdir)
|
||||||
globalBlobstore, err = blobstore.NewBlobStore(*blobdir, true)
|
err = blobstore.Open(*blobdir, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Unable to initialize blobstore: %v", err.String())
|
log.Fatalf("Unable to initialize blobstore: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
15
message.go
15
message.go
|
|
@ -10,6 +10,7 @@ import (
|
||||||
"net"
|
"net"
|
||||||
"cryptstate"
|
"cryptstate"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"grumble/blobstore"
|
||||||
)
|
)
|
||||||
|
|
||||||
// These are the different kinds of messages
|
// These are the different kinds of messages
|
||||||
|
|
@ -234,7 +235,7 @@ func (server *Server) handleChannelStateMessage(client *Client, msg *Message) {
|
||||||
|
|
||||||
key := ""
|
key := ""
|
||||||
if len(description) > 0 {
|
if len(description) > 0 {
|
||||||
key, err = globalBlobstore.Put([]byte(description))
|
key, err = blobstore.Put([]byte(description))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -413,7 +414,7 @@ func (server *Server) handleChannelStateMessage(client *Client, msg *Message) {
|
||||||
|
|
||||||
// Description change
|
// Description change
|
||||||
if chanstate.Description != nil {
|
if chanstate.Description != nil {
|
||||||
key, err := globalBlobstore.Put([]byte(*chanstate.Description))
|
key, err := blobstore.Put([]byte(*chanstate.Description))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -635,7 +636,7 @@ func (server *Server) handleUserStateMessage(client *Client, msg *Message) {
|
||||||
broadcast := false
|
broadcast := false
|
||||||
|
|
||||||
if userstate.Texture != nil && target.user != nil {
|
if userstate.Texture != nil && target.user != nil {
|
||||||
key, err := globalBlobstore.Put(userstate.Texture)
|
key, err := blobstore.Put(userstate.Texture)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -675,7 +676,7 @@ func (server *Server) handleUserStateMessage(client *Client, msg *Message) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if userstate.Comment != nil && target.user != nil {
|
if userstate.Comment != nil && target.user != nil {
|
||||||
key, err := globalBlobstore.Put([]byte(*userstate.Comment))
|
key, err := blobstore.Put([]byte(*userstate.Comment))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -1147,7 +1148,7 @@ func (server *Server) handleRequestBlob(client *Client, msg *Message) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if target.user.HasTexture() {
|
if target.user.HasTexture() {
|
||||||
buf, err := globalBlobstore.Get(target.user.TextureBlob)
|
buf, err := blobstore.Get(target.user.TextureBlob)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -1171,7 +1172,7 @@ func (server *Server) handleRequestBlob(client *Client, msg *Message) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if target.user.HasComment() {
|
if target.user.HasComment() {
|
||||||
buf, err := globalBlobstore.Get(target.user.CommentBlob)
|
buf, err := blobstore.Get(target.user.CommentBlob)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -1195,7 +1196,7 @@ func (server *Server) handleRequestBlob(client *Client, msg *Message) {
|
||||||
if channel, ok := server.Channels[int(cid)]; ok {
|
if channel, ok := server.Channels[int(cid)]; ok {
|
||||||
if channel.HasDescription() {
|
if channel.HasDescription() {
|
||||||
chanstate.Reset()
|
chanstate.Reset()
|
||||||
buf, err := globalBlobstore.Get(channel.DescriptionBlob)
|
buf, err := blobstore.Get(channel.DescriptionBlob)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ package main
|
||||||
// SQLite datbase into a format that Grumble can understand.
|
// SQLite datbase into a format that Grumble can understand.
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"grumble/blobstore"
|
||||||
"os"
|
"os"
|
||||||
"sqlite"
|
"sqlite"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
@ -87,7 +88,7 @@ func populateChannelInfoFromDatabase(server *Server, c *Channel, db *sqlite.Conn
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
key, err := globalBlobstore.Put([]byte(description))
|
key, err := blobstore.Put([]byte(description))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
@ -361,7 +362,7 @@ func populateUsers(server *Server, db *sqlite.Conn) (err os.Error) {
|
||||||
|
|
||||||
user.Password = "sha1$$" + SHA1Password
|
user.Password = "sha1$$" + SHA1Password
|
||||||
|
|
||||||
key, err := globalBlobstore.Put(Texture)
|
key, err := blobstore.Put(Texture)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
@ -405,7 +406,7 @@ func populateUsers(server *Server, db *sqlite.Conn) (err os.Error) {
|
||||||
case UserInfoEmail:
|
case UserInfoEmail:
|
||||||
user.Email = Value
|
user.Email = Value
|
||||||
case UserInfoComment:
|
case UserInfoComment:
|
||||||
key, err := globalBlobstore.Put([]byte(Value))
|
key, err := blobstore.Put([]byte(Value))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import (
|
||||||
"cryptstate"
|
"cryptstate"
|
||||||
"fmt"
|
"fmt"
|
||||||
"gob"
|
"gob"
|
||||||
|
"grumble/blobstore"
|
||||||
"grumble/serverconf"
|
"grumble/serverconf"
|
||||||
"hash"
|
"hash"
|
||||||
"io"
|
"io"
|
||||||
|
|
@ -602,7 +603,7 @@ func (server *Server) finishAuthenticate(client *Client) {
|
||||||
if client.Version >= 0x10203 {
|
if client.Version >= 0x10203 {
|
||||||
userstate.TextureHash = client.user.TextureBlobHashBytes()
|
userstate.TextureHash = client.user.TextureBlobHashBytes()
|
||||||
} else {
|
} else {
|
||||||
buf, err := globalBlobstore.Get(client.user.TextureBlob)
|
buf, err := blobstore.Get(client.user.TextureBlob)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -615,7 +616,7 @@ func (server *Server) finishAuthenticate(client *Client) {
|
||||||
if client.Version >= 0x10203 {
|
if client.Version >= 0x10203 {
|
||||||
userstate.CommentHash = client.user.CommentBlobHashBytes()
|
userstate.CommentHash = client.user.CommentBlobHashBytes()
|
||||||
} else {
|
} else {
|
||||||
buf, err := globalBlobstore.Get(client.user.CommentBlob)
|
buf, err := blobstore.Get(client.user.CommentBlob)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -750,7 +751,7 @@ func (server *Server) sendUserList(client *Client) {
|
||||||
if client.Version >= 0x10203 {
|
if client.Version >= 0x10203 {
|
||||||
userstate.TextureHash = connectedClient.user.TextureBlobHashBytes()
|
userstate.TextureHash = connectedClient.user.TextureBlobHashBytes()
|
||||||
} else {
|
} else {
|
||||||
buf, err := globalBlobstore.Get(connectedClient.user.TextureBlob)
|
buf, err := blobstore.Get(connectedClient.user.TextureBlob)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
@ -763,7 +764,7 @@ func (server *Server) sendUserList(client *Client) {
|
||||||
if client.Version >= 0x10203 {
|
if client.Version >= 0x10203 {
|
||||||
userstate.CommentHash = connectedClient.user.CommentBlobHashBytes()
|
userstate.CommentHash = connectedClient.user.CommentBlobHashBytes()
|
||||||
} else {
|
} else {
|
||||||
buf, err := globalBlobstore.Get(connectedClient.user.CommentBlob)
|
buf, err := blobstore.Get(connectedClient.user.CommentBlob)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
server.Panicf("Blobstore error: %v", err.String())
|
server.Panicf("Blobstore error: %v", err.String())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue