Use 2 result type assertions
parent
bbca924ef0
commit
8db215a1c8
9
media.go
9
media.go
|
@ -2,10 +2,8 @@ package multiserver
|
|||
|
||||
import (
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
|
||||
"github.com/anon55555/mt/rudp"
|
||||
)
|
||||
|
@ -130,12 +128,11 @@ func (p *Peer) fetchMedia() {
|
|||
}
|
||||
|
||||
func (p *Peer) announceMedia() {
|
||||
srvnamekey := GetConfKey("default_server")
|
||||
if srvnamekey == nil || fmt.Sprintf("%T", srvnamekey) != "string" {
|
||||
srvname, ok := GetConfKey("default_server").(string)
|
||||
if !ok {
|
||||
log.Print("Default server name not set or not a string")
|
||||
return
|
||||
}
|
||||
srvname := srvnamekey.(string)
|
||||
|
||||
for _, def := range tooldefs {
|
||||
data := make([]byte, 2+len(def))
|
||||
|
@ -315,13 +312,11 @@ func init() {
|
|||
srvaddr, err := net.ResolveUDPAddr("udp", straddr.(string))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
conn, err := net.DialUDP("udp", nil, srvaddr)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
srv, err := Connect(conn, conn.RemoteAddr())
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
|
@ -179,9 +178,9 @@ func init() {
|
|||
}
|
||||
|
||||
reqprivs := make(map[string]bool)
|
||||
reqpriv := multiserver.GetConfKey("servers:" + param + ":priv")
|
||||
if reqpriv != nil && fmt.Sprintf("%T", reqpriv) == "string" {
|
||||
reqprivs[reqpriv.(string)] = true
|
||||
reqpriv, ok := multiserver.GetConfKey("servers:" + param + ":priv").(string)
|
||||
if ok {
|
||||
reqprivs[reqpriv] = true
|
||||
}
|
||||
|
||||
allow, err := p.CheckPrivs(reqprivs)
|
||||
|
@ -192,7 +191,7 @@ func init() {
|
|||
}
|
||||
|
||||
if !allow {
|
||||
p.SendChatMsg("You do not have permission to join this server! Required privilege: " + reqpriv.(string))
|
||||
p.SendChatMsg("You do not have permission to join this server! Required privilege: " + reqpriv)
|
||||
return
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ media multiplexing
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
"time"
|
||||
|
@ -16,38 +15,33 @@ import (
|
|||
)
|
||||
|
||||
func main() {
|
||||
defaultSrv := multiserver.GetConfKey("default_server")
|
||||
if defaultSrv == nil || fmt.Sprintf("%T", defaultSrv) != "string" {
|
||||
defaultSrv, ok := multiserver.GetConfKey("default_server").(string)
|
||||
if !ok {
|
||||
log.Fatal("Default server name not set or not a string")
|
||||
return
|
||||
}
|
||||
|
||||
defaultSrvAddr := multiserver.GetConfKey("servers:" + defaultSrv.(string) + ":address")
|
||||
if defaultSrvAddr == nil || fmt.Sprintf("%T", defaultSrvAddr) != "string" {
|
||||
defaultSrvAddr, ok := multiserver.GetConfKey("servers:" + defaultSrv + ":address").(string)
|
||||
if !ok {
|
||||
log.Fatal("Default server address not set or not a string")
|
||||
return
|
||||
}
|
||||
|
||||
host := multiserver.GetConfKey("host")
|
||||
if host == nil || fmt.Sprintf("%T", host) != "string" {
|
||||
host, ok := multiserver.GetConfKey("host").(string)
|
||||
if !ok {
|
||||
log.Fatal("Host not set or not a string")
|
||||
return
|
||||
}
|
||||
|
||||
srvaddr, err := net.ResolveUDPAddr("udp", defaultSrvAddr.(string))
|
||||
srvaddr, err := net.ResolveUDPAddr("udp", defaultSrvAddr)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
lc, err := net.ListenPacket("udp", host.(string))
|
||||
lc, err := net.ListenPacket("udp", host)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
return
|
||||
}
|
||||
defer lc.Close()
|
||||
|
||||
log.Print("Listening on " + host.(string))
|
||||
log.Print("Listening on " + host)
|
||||
|
||||
l := multiserver.Listen(lc)
|
||||
multiserver.SetListener(l)
|
||||
|
@ -63,7 +57,6 @@ func main() {
|
|||
conn, err := net.DialUDP("udp", nil, srvaddr)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
return
|
||||
}
|
||||
|
||||
srv, err := multiserver.Connect(conn, conn.RemoteAddr())
|
||||
|
|
8
privs.go
8
privs.go
|
@ -2,7 +2,6 @@ package multiserver
|
|||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
|
@ -167,15 +166,14 @@ func (p *Peer) CheckPrivs(req map[string]bool) (bool, error) {
|
|||
}
|
||||
|
||||
func init() {
|
||||
admin := GetConfKey("admin")
|
||||
if admin != nil || fmt.Sprintf("%T", admin) == "string" {
|
||||
if admin, ok := GetConfKey("admin").(string); ok {
|
||||
db, err := initAuthDB()
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
return
|
||||
}
|
||||
|
||||
eprivs, err := readPrivItem(db, admin.(string))
|
||||
eprivs, err := readPrivItem(db, admin)
|
||||
if err != nil {
|
||||
log.Print(err)
|
||||
return
|
||||
|
@ -186,6 +184,6 @@ func init() {
|
|||
|
||||
newprivs := encodePrivs(privs)
|
||||
|
||||
modPrivItem(db, admin.(string), newprivs)
|
||||
modPrivItem(db, admin, newprivs)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,6 @@ package multiserver
|
|||
import (
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"net"
|
||||
|
||||
|
@ -36,8 +35,8 @@ func (p *Peer) Redirect(newsrv string) error {
|
|||
|
||||
defer processRedirectDone(p, newsrv)
|
||||
|
||||
straddr := GetConfKey("servers:" + newsrv + ":address")
|
||||
if straddr == nil || fmt.Sprintf("%T", straddr) != "string" {
|
||||
straddr, ok := GetConfKey("servers:" + newsrv + ":address").(string)
|
||||
if !ok {
|
||||
return ErrServerDoesNotExist
|
||||
}
|
||||
|
||||
|
@ -45,7 +44,7 @@ func (p *Peer) Redirect(newsrv string) error {
|
|||
return ErrAlreadyConnected
|
||||
}
|
||||
|
||||
srvaddr, err := net.ResolveUDPAddr("udp", straddr.(string))
|
||||
srvaddr, err := net.ResolveUDPAddr("udp", straddr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue