Server cleanup
This commit is contained in:
		@@ -1,55 +0,0 @@
 | 
				
			|||||||
package server
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
	"fmt"
 | 
					 | 
				
			||||||
	"time"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	"forge.redroom.link/yves/meowlib"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type InternalServer struct {
 | 
					 | 
				
			||||||
	ServerData meowlib.Server  `json:"server_data,omitempty"`
 | 
					 | 
				
			||||||
	Presence   bool            `json:"presence,omitempty"`
 | 
					 | 
				
			||||||
	LastCheck  time.Time       `json:"last_check,omitempty"`
 | 
					 | 
				
			||||||
	Uptime     time.Duration   `json:"uptime,omitempty"`
 | 
					 | 
				
			||||||
	Login      string          `json:"login,omitempty"`
 | 
					 | 
				
			||||||
	Password   string          `json:"password,omitempty"`
 | 
					 | 
				
			||||||
	Me         meowlib.KeyPair `json:"me,omitempty"`
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type InternalServerList struct {
 | 
					 | 
				
			||||||
	Name    string
 | 
					 | 
				
			||||||
	Servers []InternalServer
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func InternalServerFromUrl(url string) *InternalServer {
 | 
					 | 
				
			||||||
	var is InternalServer
 | 
					 | 
				
			||||||
	is.ServerData.Url = url
 | 
					 | 
				
			||||||
	return &is
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func (sl *InternalServerList) AddUrls(urls []string) {
 | 
					 | 
				
			||||||
	for _, url := range urls {
 | 
					 | 
				
			||||||
		sl.Servers = append(sl.Servers, *InternalServerFromUrl(url))
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// AsymEncryptMessage prepares a message to send to a specific internal server
 | 
					 | 
				
			||||||
func (ints *InternalServer) AsymEncryptMessage(Message []byte) (EncryptedMsg []byte, Signature []byte, err error) {
 | 
					 | 
				
			||||||
	EncryptedMsg, Signature, err = meowlib.AsymEncryptAndSign(ints.ServerData.PublicKey, ints.Me.Private, Message)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		fmt.Println(err.Error())
 | 
					 | 
				
			||||||
		return nil, nil, err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return EncryptedMsg, Signature, err
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// AsymDecryptMessage reads a message from a specific internal server
 | 
					 | 
				
			||||||
func (ints *InternalServer) AsymDecryptMessage(Message []byte, Signature []byte) (DecryptedMsg []byte, err error) {
 | 
					 | 
				
			||||||
	DecryptedMsg, err = meowlib.AsymDecryptAndCheck(ints.Me.Private, ints.ServerData.PublicKey, Message, Signature)
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		fmt.Println(err.Error())
 | 
					 | 
				
			||||||
		return nil, err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return DecryptedMsg, err
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user