Commit Graph
100 Commits
Author SHA1 Message Date
Seth Schoen 7c486c7c63 Pythonic, not LISPy, naming 2012-08-31 15:45:04 -07:00
Seth Schoen da59639b8b organize exit nodes by country 2012-08-31 15:43:43 -07:00
Seth Schoen d6d55e159b and my cached-consensus exit geography parser 2012-08-31 11:42:29 -07:00
Seth Schoen 2731f85032 (old) partial upstream pygeoip (LGPLv3) 2012-08-31 11:41:53 -07:00
Seth Schoen 985652be87 script to hash factorable moduli and store them in the blacklist 2012-08-20 15:40:54 -07:00
Seth Schoen f212aa207c fix typo on format string 2012-08-13 00:55:36 -07:00
Seth Schoen 41b59fbc91 improving logging again 2012-08-13 00:52:31 -07:00
Seth Schoen 2d1ca6bf6f show what names the cert was issued for 2012-08-13 00:47:48 -07:00
Seth Schoen 4847670654 even nicer logging :-) 2012-08-13 00:42:06 -07:00
Seth Schoen 57a48d1c1d balance parens 2012-08-13 00:38:38 -07:00
Seth Schoen 4f0d86587e Merge branch 'master' of ssh://github.com/research/chocolate 2012-08-13 00:37:01 -07:00
Seth Schoen ae0e4a422a try to failure reason textual instead of numeric 2012-08-13 00:36:32 -07:00
Seth Schoen d03bc6f8ea add space after comma for prettier logs 2012-08-13 00:25:57 -07:00
Seth Schoen 6e897496b3 use pubsub for logging! 2012-08-13 00:16:38 -07:00
Seth Schoen 34e3e27a6e use abbreviated session IDs in logging for readability 2012-08-12 23:42:24 -07:00
Seth Schoen 036e7f3bed fix typo 2012-08-12 23:32:47 -07:00
Seth Schoen 4a892b0e02 more logging including client IP address 2012-08-12 23:31:32 -07:00
Seth Schoen 8cda7066b4 make logging clearer to read 2012-08-12 23:22:35 -07:00
Seth Schoen 7b0a68d79c don't set stdout inside check_output 2012-08-12 19:04:28 -07:00
Seth Schoen 24f4e065e5 lowercase names and remove duplicates 2012-08-12 18:49:26 -07:00
Seth Schoen d10434974a check wildcards in Observatory 2012-08-12 18:32:16 -07:00
Seth Schoen 966181d52e if CHOCOLATESERVER is unspecified, use ca.theobroma.info 2012-08-12 17:43:47 -07:00
Seth Schoen c04564b68c merged into client.py 2012-08-10 18:47:14 -07:00
Seth Schoen 3c474aa163 merged into client.py 2012-08-10 18:45:16 -07:00
Seth Schoen 50466263ff remove name conflict with existing function 2012-08-10 18:43:01 -07:00
Seth Schoen a57bf4824a where is the remaining output coming from? 2012-08-10 18:24:54 -07:00
Seth Schoen 4aea7885b6 suppressing even more output in curses mode! 2012-08-10 18:23:02 -07:00
Seth Schoen 7099ac8c8f display individual challenges in curses mode 2012-08-10 18:21:20 -07:00
Seth Schoen ebe5e36152 wow, you really do have to open /dev/null to discard the output 2012-08-10 18:19:39 -07:00
Seth Schoen be5c017d9c debugging quietness 2012-08-10 18:16:15 -07:00
Seth Schoen 12b8050b56 trying to suppress more output 2012-08-10 18:14:54 -07:00
Seth Schoen 3fc22615e8 right, we actually already collect the stdout of this process! 2012-08-10 18:13:11 -07:00
Seth Schoen 294ddb91b6 supress subprocess output in curses mode 2012-08-10 18:12:42 -07:00
Seth Schoen d1ae767443 supress subprocess output in curses mode 2012-08-10 18:12:30 -07:00
Seth Schoen 5997ac8ddf more curses status updates 2012-08-10 18:06:34 -07:00
Seth Schoen e884c7f460 more curses updates 2012-08-10 18:04:29 -07:00
Seth Schoen 931ca5701e more curses updates 2012-08-10 18:04:08 -07:00
Seth Schoen 215c305842 more global variables 2012-08-10 17:59:54 -07:00
Seth Schoen efa9714b23 use global version of server variable 2012-08-10 17:59:09 -07:00
Seth Schoen 846d476d21 extra closing paren 2012-08-10 17:58:21 -07:00
Seth Schoen 8cdc23a132 set server on command line with --server, or CHOCOLATESERVER 2012-08-10 17:57:17 -07:00
Seth Schoen 3988f6f04b integrate some of the curses interface 2012-08-10 17:49:41 -07:00
Seth Schoen 8b082f9fde evidently, current best practice is to include ALL DNS names, including the primary name, as SANs 2012-08-10 16:26:25 -07:00
Seth Schoen 12ef7489ec output the name that we're doing the test for 2012-08-10 10:41:29 -07:00
Seth Schoen f3d1b4b996 fix logic to not test ancientness of nonexistent sessions 2012-08-10 10:18:35 -07:00
Seth Schoen 6dcf213ff6 rename function and add sanity-checking assertion 2012-08-09 23:38:46 -07:00
Seth Schoen b3dba8e6db function to generate RSA keypair and corresponding CSR 2012-08-09 18:52:12 -07:00
Seth Schoen f449f538dd upstream changed API :-) 2012-08-09 17:41:38 -07:00
Seth Schoen f167fe732b show ncurses menu for configuration choices 2012-08-09 17:26:56 -07:00
Seth Schoen f6e3a301a8 now there is a dependency on python-dialog 2012-08-09 16:36:52 -07:00
Seth Schoen bff90ee86f let's use dialog and getopt! 2012-08-09 16:36:27 -07:00
Seth Schoen c9cc928dc4 implement Observatory blacklist 2012-08-09 14:20:18 -07:00
Seth Schoen c6453513b6 switch to Peter's round-robin scheduling approach 2012-08-08 17:30:44 -07:00
Seth Schoen c4c8bd04f9 argh, ugly hack for problem of stale requests poisoning queues 2012-08-08 13:41:15 -07:00
Seth Schoen cb2040a3ac add missing colon 2012-08-08 13:13:14 -07:00
Seth Schoen 67da1f65dd just in case there are DOS-style EOLs in the CSR 2012-07-28 18:43:20 -07:00
Seth Schoen c75f154bd6 have daemon send a pubsub message to itself to achieve prompt clean shutdowns 2012-07-20 23:54:58 -07:00
Seth Schoen 7ee2b9ef21 note priority inversion bug is now somewhat less severe 2012-07-20 18:47:29 -07:00
Seth Schoen 2ba0eae5d6 support for distributing certificate chain file 2012-07-20 18:37:47 -07:00
Seth Schoen cb5922edd8 switch to pubsub mechanism instead of polling 2012-07-20 16:48:10 -07:00
Seth Schoen d02883ca38 add field for certficate chain 2012-07-20 16:43:42 -07:00
Seth Schoen 8db37e5501 add cert_chain_file config option 2012-07-20 16:43:18 -07:00
Seth Schoen 06357addf0 min_key_size → min_keysize 2012-07-19 23:22:52 -07:00
Seth Schoen 90f4b4daeb move configuratoin parameters into config file; add extra sanity checks 2012-07-19 23:19:39 -07:00
Seth Schoen b1b7257c2a what kind of getopt is the upstream hashcash using, anyway? 2012-07-18 22:36:22 -07:00
Seth Schoen c89a0e8f8e mint hashcash with expiry stated down to the second 2012-07-18 22:31:54 -07:00
Seth Schoen 6f5d15cddf whoops, the past is the past, not the future 2012-07-18 22:28:41 -07:00
Seth Schoen c117582ece drop privileges and use external hashcash binary again 2012-07-18 22:25:23 -07:00
Seth Schoen 1e17b222ab document priority inversion bug 2012-07-18 19:38:00 -07:00
Seth Schoen 707dedbd9b add verification probe via Tor 2012-07-18 18:43:23 -07:00
Seth Schoen bb0c4bf316 notes on future blacklist import speedups 2012-07-18 17:08:35 -07:00
Seth Schoen df97026c72 Python hashcash minting is slow, so only generate 20 bits for now 2012-07-18 15:07:17 -07:00
Seth Schoen e857154682 updated modulus blacklisting stuff 2012-07-17 00:33:45 -07:00
Seth Schoen 7fbb146ba6 weak Debian keys, via http://certlogik.com/debian-weak-key-check/ 2012-07-17 00:19:08 -07:00
Seth Schoen 93f7afbf82 no longer use Python hashcash library 2012-07-16 19:26:42 -07:00
Seth Schoen 4352ff0e13 need to import subprocess 2012-07-16 19:25:41 -07:00
Seth Schoen 1b88b67544 use C language hashcash program to generate cash from client 2012-07-16 19:25:27 -07:00
Seth Schoen bc7b55d0d6 client supports servername as command-line argument 2012-07-16 15:13:50 -07:00
Seth Schoen 62c2f5fa49 function name collision 2012-07-16 15:13:06 -07:00
Seth Schoen ac0defac00 remove client-side dependency on CSR.py 2012-07-16 15:11:10 -07:00
Seth Schoen e70424dd4a database-backed blacklisting of moduli and names 2012-07-16 15:02:07 -07:00
Seth Schoen acd5a77fc3 make the process faster by reducing delay times 2012-07-15 16:37:39 -07:00
Seth Schoen f07275a99d another comment on locking 2012-07-15 16:33:23 -07:00
Seth Schoen ad71e39d31 simplify by removing hashes of random numbers
There may be circumstances where hashing random numbers might be
useful, but in order to justify it we would need to know something
about the generator that provides them.  However, checking with
strace shows that the CSPRNG in Crypto.Random may not reseed its
entropy enough, so we might ultimately want to use a different one.
It only reseeds 8 bytes per call even if you read megabytes of
random numbers from it!
2012-07-15 16:16:28 -07:00
Seth Schoen a5c70283e8 wait after performing challenge, in the hope the server notices the first time 2012-07-14 23:34:39 -07:00
Seth Schoen f2a3f830e6 right now challenges get issued pretty fast; polldelay = 10 seems high 2012-07-14 23:30:01 -07:00
Seth Schoen 1019a47b31 oops, confused module name and class name 2012-07-14 23:02:55 -07:00
Seth Schoen 88c5b270ef implement locking for issuing certs with openssl ca 2012-07-14 23:01:39 -07:00
Seth Schoen 97caf0f61a implementation of Redis-mediated lock in Python 2012-07-14 22:54:19 -07:00
Seth Schoen f2d755d3d5 check recipient string before hashcash to produce more useful error message
This is more work for the server but if we don't do it in this
order we always get a hashcash error instead of a recipient error
if the client is confused about what server it meant to query.
Giving the wrong error in this sense is OK from a protocol point
of view but quite frustrating for a human being on the client end
trying to figure out why the server is rejecting its apparently
perfectly valid hashcash...
2012-07-14 17:35:22 -07:00
Seth Schoen 1756a29a6a forgot an underscore 2012-07-14 17:32:26 -07:00
Seth Schoen 19bcb8486c make some things more general; allow command line arguments 2012-07-14 17:31:43 -07:00
Seth Schoen 1fd5ae1c9d er, the parameter is only known as h inside the called function 2012-07-14 17:18:22 -07:00
Seth Schoen 088c97bbf5 use database to prevent double-spending of hashcash 2012-07-14 17:16:51 -07:00
Seth Schoen 0b1b8e42d5 switch to hashlib 2012-07-14 15:08:15 -07:00
Seth Schoen c1927aed26 switch to hashlib 2012-07-14 15:02:26 -07:00
Seth Schoen f9eb363311 we're using git pull rather than scp/rsync to deploy now 2012-07-14 14:56:30 -07:00
Seth Schoen be58b8759a notes on locking and concurrency 2012-07-14 14:56:19 -07:00
Seth Schoen ecfc275a1e continue with request after displaying it :-) 2012-07-14 14:42:07 -07:00
Seth Schoen 064148df29 use hashcash in protocol 2012-07-14 14:34:24 -07:00