refactor
This commit is contained in:
		@@ -65,7 +65,7 @@ func (Contact *ContactCard) WritePng(filename string) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (Contact *ContactCard) WriteQr(FileName string) {
 | 
					func (Contact *ContactCard) WriteQr(filename string) {
 | 
				
			||||||
	jsonContact, _ := json.Marshal(Contact)
 | 
						jsonContact, _ := json.Marshal(Contact)
 | 
				
			||||||
	qwriter := qrcode.NewQRCodeWriter()
 | 
						qwriter := qrcode.NewQRCodeWriter()
 | 
				
			||||||
	code, err := qwriter.Encode(string(jsonContact), gozxing.BarcodeFormat_QR_CODE, 512, 512, nil)
 | 
						code, err := qwriter.Encode(string(jsonContact), gozxing.BarcodeFormat_QR_CODE, 512, 512, nil)
 | 
				
			||||||
@@ -81,8 +81,8 @@ func (Contact *ContactCard) WriteQr(FileName string) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func ReadQr(FileName string) ContactCard {
 | 
					func ReadQr(Filename string) ContactCard {
 | 
				
			||||||
	var Contact ContactCard
 | 
						var contact ContactCard
 | 
				
			||||||
	// open and decode image file
 | 
						// open and decode image file
 | 
				
			||||||
	file, _ := os.Open("qrcode.jpg")
 | 
						file, _ := os.Open("qrcode.jpg")
 | 
				
			||||||
	img, _, _ := image.Decode(file)
 | 
						img, _, _ := image.Decode(file)
 | 
				
			||||||
@@ -95,5 +95,5 @@ func ReadQr(FileName string) ContactCard {
 | 
				
			|||||||
	result, _ := qrReader.Decode(bmp, nil)
 | 
						result, _ := qrReader.Decode(bmp, nil)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	fmt.Println(result)
 | 
						fmt.Println(result)
 | 
				
			||||||
	return Contact
 | 
						return contact
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -85,7 +85,7 @@ func TestEndToEnd(t *testing.T) {
 | 
				
			|||||||
		if err2 != nil {
 | 
							if err2 != nil {
 | 
				
			||||||
			fmt.Println(err2.Error())
 | 
								fmt.Println(err2.Error())
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		fmt.Println("--- myFriend.decryptedMess = ", string(decMess))
 | 
							fmt.Println("--- NBA myFriend.decryptedMess = ", string(decMess))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// simulates a new server to send a message to
 | 
							// simulates a new server to send a message to
 | 
				
			||||||
		var intS1 client.InternalServer
 | 
							var intS1 client.InternalServer
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										55
									
								
								server/server.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								server/server.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
				
			|||||||
 | 
					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.EncryptAndSign(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.DecryptAndCheck(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