Take the 2-minute tour ×
Web Applications Stack Exchange is a question and answer site for power users of web applications. It's 100% free, no registration required.

I encrypted a folder with this command:

tar -zcf - rails_project | openssl des3 -salt -k 123456 | dd of=rails.tar.gz

Attached it to a mail, press send, and voila, error message that I can't attach executable files. How in the world can Gmail know what's inside!?

share|improve this question

migrated from superuser.com Jun 24 '12 at 14:32

This question came from our site for computer enthusiasts and power users.

3  
Normally, when you encrypt an archive, only the contents of the archived files are encrypted, but the names of the files and folder are visible. I don't use tar, but if it's anything like ZIP/RAR/7Z/etc., you need to set another option to encrypt the filenames as well as their contents. –  Synetech Jun 22 '12 at 17:24
    
@Synetech tar is not like zip/rar/7z, where there's a table of contents. Even if it were, the analogy here would be passing the entire zip/rar/7z as a binary blob into a separate encryption program (openssl in this case), which would encrypt the entire thing, headers and all. –  jjlin Jun 22 '12 at 20:10

3 Answers 3

up vote 9 down vote accepted

See this Gmail help page: Some file types are blocked

I'm guessing the "Gmail does not allow you to send or receive files that are corrupted" part is what applies here (but the Gmail programmer neglected to give a more specific error message for this case). That is, Gmail is checking your .tar.gz file and finding that it's invalid.

I'd suggest using a different extension so Gmail doesn't think it's a corrupt tarball. I just tested this hypothesis, and it seems to be correct. I used the .gpg extension, though I'm sure any number of extensions not on their blacklist would work just as well.

share|improve this answer

Use a different algorithm. All des3 encrypted files I tested triggered a false positive on Gmail's executable checks. When I used aes-256-cbc however they went through.

share|improve this answer
    
I was not able to replicate this behavior. Encrypting with either des3 and aes-256-cbc resulted in Gmail complaining that there was an executable file. Renaming the same files to use a different extension (I picked .gpg) made them go through. –  jjlin Jun 22 '12 at 20:37

It checks the extension.

It will permit you to attach program.exee

share|improve this answer
    
The attachment is a tar.gz. –  JohannesM Jun 22 '12 at 17:04
    
@JohannesM: So? It looks inside archives. –  Loren Pechtel Jun 22 '12 at 17:08
    
@LorenPechtel - The archive is encrypted. –  Ramhound Jun 22 '12 at 17:15
1  
Okay, the file may encrypted, but maybe not the headers. The headers containing the complete filename of each item in the tar. –  JohannesM Jun 22 '12 at 17:21
    
Since you're encrypting the entire .tar.gz file, the headers are encrypted as well. In any case, the tar format doesn't have any "table of contents" that indicates the complete filename of every file in the tar archive. –  jjlin Jun 22 '12 at 17:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.