summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Andrew Engelbrecht [Tue, 21 Jul 2015 22:55:19 +0000 (18:55 -0400)]
simple performance optimization
by not trying to re-scan and re-split gpg data
Andrew Engelbrecht [Tue, 21 Jul 2015 22:13:45 +0000 (18:13 -0400)]
for better debug functionality
now you can debug(obj_whatever)
Andrew Engelbrecht [Tue, 21 Jul 2015 22:13:33 +0000 (18:13 -0400)]
simplification of code
Andrew Engelbrecht [Tue, 21 Jul 2015 22:13:18 +0000 (18:13 -0400)]
added decryption function
Andrew Engelbrecht [Tue, 21 Jul 2015 22:09:21 +0000 (18:09 -0400)]
created higher order function used by flatten_eddy
it will also be used by the decryption function.
Andrew Engelbrecht [Tue, 21 Jul 2015 17:23:28 +0000 (13:23 -0400)]
don't crash if a byte string can't be decoded
Andrew Engelbrecht [Tue, 21 Jul 2015 07:20:03 +0000 (03:20 -0400)]
more useful ./run-tests output
Andrew Engelbrecht [Tue, 21 Jul 2015 07:17:06 +0000 (03:17 -0400)]
progress made toward implementing a better parser
this should make detached signature verification easier and prevent
adding its contents multiple times. it should also give finer-grained
control over what decrypted and/or signed parts to include in a reply.
Andrew Engelbrecht [Tue, 21 Jul 2015 00:01:30 +0000 (20:01 -0400)]
added the beginnings of detached sig verification
also added some test cases.
Andrew Engelbrecht [Mon, 20 Jul 2015 23:45:33 +0000 (19:45 -0400)]
added test of corrupted encryption blocks.
Andrew Engelbrecht [Mon, 20 Jul 2015 23:06:06 +0000 (19:06 -0400)]
Pass around fingerprints instead of gpgme keys
Keys used for encryption are not alway available. Trying to get the key
from a fingerprint sometimes caused edward to crash. It's a better idea
to pass around fingerprints rather than key objects. This method should
also be faster.
Andrew Engelbrecht [Mon, 20 Jul 2015 23:03:20 +0000 (19:03 -0400)]
updated the test files and added another gpg key
so everyone is capable of running the tests
Andrew Engelbrecht [Mon, 20 Jul 2015 21:44:24 +0000 (17:44 -0400)]
further generalization of the testing features
Andrew Engelbrecht [Mon, 20 Jul 2015 20:47:07 +0000 (16:47 -0400)]
further generalization of the testing script
Andrew Engelbrecht [Mon, 20 Jul 2015 20:02:30 +0000 (16:02 -0400)]
automatically find the tests directory
... relative to the directory containing run-tests
Andrew Engelbrecht [Mon, 20 Jul 2015 19:43:27 +0000 (15:43 -0400)]
partially generalized the testing suite
Andrew Engelbrecht [Mon, 20 Jul 2015 19:27:18 +0000 (15:27 -0400)]
update test suite to compare mime-decoded messages
Andrew Engelbrecht [Mon, 20 Jul 2015 19:20:55 +0000 (15:20 -0400)]
ignore the __pycache__ directory
Andrew Engelbrecht [Mon, 20 Jul 2015 19:19:19 +0000 (15:19 -0400)]
there is no reason to track random_seed
it is regularly updated by gnupg and we don't need to commit changes to
that file.
Andrew Engelbrecht [Mon, 20 Jul 2015 19:15:05 +0000 (15:15 -0400)]
ignore changes to the gnupg random seed file
Andrew Engelbrecht [Mon, 20 Jul 2015 19:12:45 +0000 (15:12 -0400)]
./run-tests is part of the testing suite.
Andrew Engelbrecht [Mon, 20 Jul 2015 19:10:25 +0000 (15:10 -0400)]
added the beginning of a testing suite to edward
automated testing is helpful.
Andrew Engelbrecht [Mon, 20 Jul 2015 17:44:07 +0000 (13:44 -0400)]
added .gitignore
Andrew Engelbrecht [Mon, 20 Jul 2015 15:59:22 +0000 (11:59 -0400)]
fix copyright header
i am not the primary author of the config file.
Andrew Engelbrecht [Mon, 20 Jul 2015 15:25:01 +0000 (11:25 -0400)]
check for keys in plaintext in decrypted blocks
if the message is hand-rolled with gpg, there might be a key in there.
but don't bother with recursive decryption unless they are using mime.
Andrew Engelbrecht [Mon, 20 Jul 2015 00:03:34 +0000 (20:03 -0400)]
simplified unattractive code
Andrew Engelbrecht [Mon, 20 Jul 2015 00:02:27 +0000 (20:02 -0400)]
upgraded the debug function
Andrew Engelbrecht [Sun, 19 Jul 2015 23:49:10 +0000 (19:49 -0400)]
search text/plain for keys and encoded messages
also don't scan the outer-most layer for keys because that gives
corrupted files. they are still accessible under the content type of
text/plain, even if the email's not a mime-formatted message.
Andrew Engelbrecht [Sun, 19 Jul 2015 23:44:08 +0000 (19:44 -0400)]
don't crash when given an invalid public key block
Andrew Engelbrecht [Sun, 19 Jul 2015 23:18:26 +0000 (19:18 -0400)]
fixed crash when receiving tampered encrypted msgs
edward now shouldn't crash when receiving a corrupted gpg encryption
block.
Andrew Engelbrecht [Sun, 19 Jul 2015 22:58:56 +0000 (18:58 -0400)]
variable name changes, small function removal
Andrew Engelbrecht [Sun, 19 Jul 2015 22:32:24 +0000 (18:32 -0400)]
fixed key format bug
Andrew Engelbrecht [Sun, 19 Jul 2015 21:44:26 +0000 (17:44 -0400)]
add imported keys to list of keys for encryption
only one will be used.
Andrew Engelbrecht [Sun, 19 Jul 2015 21:34:38 +0000 (17:34 -0400)]
added key importing feature
Andrew Engelbrecht [Sun, 19 Jul 2015 21:34:01 +0000 (17:34 -0400)]
added a debug function
Andrew Engelbrecht [Sun, 19 Jul 2015 20:13:56 +0000 (16:13 -0400)]
header fix
Andrew Engelbrecht [Sun, 19 Jul 2015 20:13:19 +0000 (16:13 -0400)]
use a settings file to manage configurations
Andrew Engelbrecht [Sun, 19 Jul 2015 19:56:37 +0000 (15:56 -0400)]
header improvement
Andrew Engelbrecht [Sun, 19 Jul 2015 19:56:06 +0000 (15:56 -0400)]
renamed edward-bot to edward
Andrew Engelbrecht [Sun, 19 Jul 2015 19:37:55 +0000 (15:37 -0400)]
added PGP/MIME reply email generation
now international characters should show up in email clients properly
encoded.
Andrew Engelbrecht [Sun, 19 Jul 2015 19:31:33 +0000 (15:31 -0400)]
stylistic changes
Andrew Engelbrecht [Sun, 19 Jul 2015 04:46:45 +0000 (00:46 -0400)]
fixed potential string decoding bug
Andrew Engelbrecht [Sun, 19 Jul 2015 04:44:24 +0000 (00:44 -0400)]
removed unused import
Andrew Engelbrecht [Sat, 18 Jul 2015 22:59:44 +0000 (18:59 -0400)]
style fix
removed unecessary space
Andrew Engelbrecht [Sat, 18 Jul 2015 22:56:59 +0000 (18:56 -0400)]
fixed bug occurring in messages without a sig
edward will ask for a key.
Andrew Engelbrecht [Sat, 18 Jul 2015 22:44:56 +0000 (18:44 -0400)]
simplified function by using map()
Andrew Engelbrecht [Sat, 18 Jul 2015 22:31:21 +0000 (18:31 -0400)]
added reply signing capability
currently hard-coded to my own key. will eventually be an option.
Andrew Engelbrecht [Sat, 18 Jul 2015 22:18:49 +0000 (18:18 -0400)]
fixed a potential bug
this should be set as a flag.
Andrew Engelbrecht [Sat, 18 Jul 2015 22:18:34 +0000 (18:18 -0400)]
added return message quoting
Andrew Engelbrecht [Sat, 18 Jul 2015 21:51:20 +0000 (17:51 -0400)]
added simple message reply generation
the reply is encrypted to the first encryption-capable key used to sign
the message.
Andrew Engelbrecht [Sat, 18 Jul 2015 21:28:08 +0000 (17:28 -0400)]
created a function for choosing the encryption key
this is somewhat more intelligent and can be improved upon later.
Andrew Engelbrecht [Sat, 18 Jul 2015 21:23:56 +0000 (17:23 -0400)]
removed a function, changed a func name
the removed function will eventually be replaced by a reply generation
function.
Andrew Engelbrecht [Sat, 18 Jul 2015 20:35:46 +0000 (16:35 -0400)]
more name changes; other minor changes
this makes the code a bit clearer.
Andrew Engelbrecht [Sat, 18 Jul 2015 20:17:17 +0000 (16:17 -0400)]
Variable name changes. Removed gpg sig. analyzer
Many variable names were changed to make the code easier to understand.
Signature analysis was removed and replaced with collection of keys used
in gpg signing. This will be useful for choosing the public key to use
when encrypting the reply message.
These two commits should have been separate but the edits got mixed
together.
Andrew Engelbrecht [Sun, 27 Jul 2014 07:12:11 +0000 (03:12 -0400)]
intermediary variable isn't needed
it's sufficiently clear this way, and uses less code.
Andrew Engelbrecht [Sun, 27 Jul 2014 07:08:56 +0000 (03:08 -0400)]
refactored a bit
this reduces the size of msg_walk()
Andrew Engelbrecht [Sun, 27 Jul 2014 06:52:43 +0000 (02:52 -0400)]
hostesty about sig validity certainty
i ought to be honest about how carefully sigs are checked, which is not
very carefully done so far.
Andrew Engelbrecht [Sun, 27 Jul 2014 06:47:22 +0000 (02:47 -0400)]
accumulate message before printing
...so i can transform and do other things with the text. this will allow
me to compose another message quoting this one without a unix pipe.
Andrew Engelbrecht [Sun, 27 Jul 2014 06:17:24 +0000 (02:17 -0400)]
improved warnings; check cli argument count
warnings now include the program name and print to stderr.
there must be no arguments aside from the program name.
Andrew Engelbrecht [Sun, 27 Jul 2014 05:57:36 +0000 (01:57 -0400)]
organizational and whitespace changes
easier to read
Andrew Engelbrecht [Sun, 27 Jul 2014 05:49:25 +0000 (01:49 -0400)]
indentation changes
one function was hyper-indented. another didn't need nested indentation.
Andrew Engelbrecht [Sun, 27 Jul 2014 05:44:25 +0000 (01:44 -0400)]
re-organized a couple lines of code
this order of execution is more logical
Andrew Engelbrecht [Sun, 27 Jul 2014 05:37:05 +0000 (01:37 -0400)]
updated signature verification code
edward-bot now prints a helpful note about signature validity.
i've also added some caveats in comment form regarding the remaining
issues with the verification code i've written so far. there are more
important considerations that need to be made when verifying signatures.
Andrew Engelbrecht [Sun, 27 Jul 2014 04:54:41 +0000 (00:54 -0400)]
make the sig output prettier.
this looks more like the gnupg output.
Andrew Engelbrecht [Sun, 27 Jul 2014 04:44:30 +0000 (00:44 -0400)]
add proper time formatting
sig time stamps are now printed using the strftime() function. it prints
a time format like gpg.
Andrew Engelbrecht [Sun, 27 Jul 2014 04:23:30 +0000 (00:23 -0400)]
initial commit for edward-bot
i've written some code for an "edward bot". it will eventually receive
and reply to gpg-encrypted emails.
some segments of code are based on work by Josh Drake and Lisa Maginnis.
this commit contains a large amount of code for a first commit. while it
was my intention to start using vcs once i had useful code, it's now
well past that time.