[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r9554: Added command support to metatroller. Now supports exit scan (in torflow/trunk: . certs)
Author: mikeperry
Date: 2007-02-10 22:21:23 -0500 (Sat, 10 Feb 2007)
New Revision: 9554
Added:
torflow/trunk/certs/
torflow/trunk/certs/ERRORS/
torflow/trunk/certs/addons.mozilla.org-63.245.209.31.pem
torflow/trunk/certs/addons.mozilla.org.pem
torflow/trunk/certs/chase.com-159.53.60.105.pem
torflow/trunk/certs/chase.com.pem
torflow/trunk/certs/login.yahoo.com-209.191.92.114.pem
torflow/trunk/certs/login.yahoo.com-209.73.168.74.pem
torflow/trunk/certs/login.yahoo.com-209.73.177.115.pem
torflow/trunk/certs/login.yahoo.com-69.147.112.160.pem
torflow/trunk/certs/login.yahoo.com.pem
torflow/trunk/certs/mail.google.com-209.85.133.18.pem
torflow/trunk/certs/mail.google.com-209.85.133.19.pem
torflow/trunk/certs/mail.google.com-209.85.133.83.pem
torflow/trunk/certs/mail.google.com-209.85.137.18.pem
torflow/trunk/certs/mail.google.com-209.85.137.19.pem
torflow/trunk/certs/mail.google.com-209.85.137.83.pem
torflow/trunk/certs/mail.google.com-209.85.139.18.pem
torflow/trunk/certs/mail.google.com-209.85.139.19.pem
torflow/trunk/certs/mail.google.com-209.85.139.83.pem
torflow/trunk/certs/mail.google.com-216.239.53.18.pem
torflow/trunk/certs/mail.google.com-216.239.53.19.pem
torflow/trunk/certs/mail.google.com-216.239.53.83.pem
torflow/trunk/certs/mail.google.com-216.239.63.19.pem
torflow/trunk/certs/mail.google.com-216.239.63.83.pem
torflow/trunk/certs/mail.google.com-64.233.163.18.pem
torflow/trunk/certs/mail.google.com-64.233.163.19.pem
torflow/trunk/certs/mail.google.com-64.233.163.83.pem
torflow/trunk/certs/mail.google.com-64.233.167.18.pem
torflow/trunk/certs/mail.google.com-64.233.167.19.pem
torflow/trunk/certs/mail.google.com-64.233.167.83.pem
torflow/trunk/certs/mail.google.com-64.233.183.17.pem
torflow/trunk/certs/mail.google.com-64.233.183.18.pem
torflow/trunk/certs/mail.google.com-64.233.183.19.pem
torflow/trunk/certs/mail.google.com-64.233.183.83.pem
torflow/trunk/certs/mail.google.com-64.233.185.19.pem
torflow/trunk/certs/mail.google.com-64.233.185.83.pem
torflow/trunk/certs/mail.google.com-64.233.187.19.pem
torflow/trunk/certs/mail.google.com-64.233.189.83.pem
torflow/trunk/certs/mail.google.com-66.102.9.19.pem
torflow/trunk/certs/mail.google.com-66.249.83.19.pem
torflow/trunk/certs/mail.google.com-66.249.83.83.pem
torflow/trunk/certs/mail.google.com-66.249.89.19.pem
torflow/trunk/certs/mail.google.com-66.249.89.83.pem
torflow/trunk/certs/mail.google.com-66.249.91.18.pem
torflow/trunk/certs/mail.google.com-66.249.91.19.pem
torflow/trunk/certs/mail.google.com-66.249.91.83.pem
torflow/trunk/certs/mail.google.com-66.249.93.18.pem
torflow/trunk/certs/mail.google.com-66.249.93.19.pem
torflow/trunk/certs/mail.google.com-66.249.93.83.pem
torflow/trunk/certs/mail.google.com-72.14.205.17.pem
torflow/trunk/certs/mail.google.com-72.14.205.18.pem
torflow/trunk/certs/mail.google.com-72.14.205.19.pem
torflow/trunk/certs/mail.google.com-72.14.205.83.pem
torflow/trunk/certs/mail.google.com-72.14.215.19.pem
torflow/trunk/certs/mail.google.com-72.14.217.83.pem
torflow/trunk/certs/mail.google.com-72.14.223.18.pem
torflow/trunk/certs/mail.google.com-72.14.223.83.pem
torflow/trunk/certs/mail.google.com-72.14.247.18.pem
torflow/trunk/certs/mail.google.com-72.14.247.19.pem
torflow/trunk/certs/mail.google.com-72.14.247.83.pem
torflow/trunk/certs/mail.google.com.pem
torflow/trunk/certs/www.e-gold.com-209.200.169.10.pem
torflow/trunk/certs/www.fastmail.fm-66.111.4.55.pem
torflow/trunk/certs/www.fastmail.fm-66.111.4.56.pem
torflow/trunk/certs/www.fastmail.fm.pem
torflow/trunk/certs/www.hushmail.com-65.39.178.42.pem
torflow/trunk/certs/www.hushmail.com-65.39.178.58.pem
torflow/trunk/certs/www.hushmail.com.pem
torflow/trunk/certs/www.paypal.com-216.113.188.65.pem
torflow/trunk/certs/www.relakks.com-82.209.182.9.pem
torflow/trunk/certs/www.relakks.com.pem
torflow/trunk/docs/
torflow/trunk/soat.pl
torflow/trunk/speed/
torflow/trunk/wordlist.txt
Modified:
torflow/trunk/TorCtl.py
torflow/trunk/TorUtil.py
torflow/trunk/metatroller.py
Log:
Added command support to metatroller. Now supports exit scanning with soat.pl
(no node statistics are gethered yet though).
Modified: torflow/trunk/TorCtl.py
===================================================================
--- torflow/trunk/TorCtl.py 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/TorCtl.py 2007-02-11 03:21:23 UTC (rev 9554)
@@ -513,12 +513,14 @@
"""
if circid is None:
circid = "0"
- lines = self._sendAndRecv("EXTENDCIRCUIT %s %s\r\n"
+ plog("DEBUG", "Extending circuit")
+ lines = self._sendAndRecv("EXTENDCIRCUIT %d %s\r\n"
%(circid, ",".join(hops)))
tp,msg,_ = lines[0]
m = re.match(r'EXTENDED (\S*)', msg)
if not m:
raise ProtocolError("Bad extended line %r",msg)
+ plog("DEBUG", "Circuit extended")
return int(m.group(1))
def build_circuit(self, pathlen, nodesel):
@@ -540,22 +542,23 @@
def redirect_stream(self, streamid, newaddr, newport=""):
"""DOCDOC"""
if newport:
- self._sendAndRecv("REDIRECTSTREAM %s %s %s\r\n"%(streamid, newaddr, newport))
+ self._sendAndRecv("REDIRECTSTREAM %d %s %s\r\n"%(streamid, newaddr, newport))
else:
- self._sendAndRecv("REDIRECTSTREAM %s %s\r\n"%(streamid, newaddr))
+ self._sendAndRecv("REDIRECTSTREAM %d %s\r\n"%(streamid, newaddr))
def attach_stream(self, streamid, circid):
"""DOCDOC"""
- self._sendAndRecv("ATTACHSTREAM %s %s\r\n"%(streamid, circid))
+ plog("DEBUG", "Attaching stream: "+str(streamid)+" to "+str(circid))
+ self._sendAndRecv("ATTACHSTREAM %d %d\r\n"%(streamid, circid))
def close_stream(self, streamid, reason=0, flags=()):
"""DOCDOC"""
- self._sendAndRecv("CLOSESTREAM %s %s %s\r\n"
+ self._sendAndRecv("CLOSESTREAM %d %s %s\r\n"
%(streamid, reason, "".join(flags)))
def close_circuit(self, circid, reason=0, flags=()):
"""DOCDOC"""
- self._sendAndRecv("CLOSECIRCUIT %s %s %s\r\n"
+ self._sendAndRecv("CLOSECIRCUIT %d %s %s\r\n"
%(circid, reason, "".join(flags)))
def post_descriptor(self, desc):
@@ -777,7 +780,7 @@
def new_desc(self, eventtype, identities):
print " ".join((eventtype, " ".join(identities)))
- def or_conn_status(self, eventtype, status, target, age, read, wrote,
+ def or_conn_status(self, eventtype, status, target, age, read, wrote,
reason, ncircs):
if age: age = "AGE="+str(age)
else: age = ""
Modified: torflow/trunk/TorUtil.py
===================================================================
--- torflow/trunk/TorUtil.py 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/TorUtil.py 2007-02-11 03:21:23 UTC (rev 9554)
@@ -21,7 +21,7 @@
__all__ = ["Enum", "Enum2", "quote", "escape_dots", "unescape_dots",
"BufSock", "secret_to_key", "urandom_rng", "s2k_gen", "s2k_check",
- "plog"]
+ "plog", "ListenSocket"]
class Enum:
# Helper: define an ordered dense name-to-number 1-1 mapping.
@@ -87,8 +87,9 @@
while 1:
s = self._s.recv(128)
- if not s:
- raise TorCtlClosed()
+ if not s: return None
+ # XXX: This really does need an exception
+ # raise ConnectionClosed()
idx = s.find('\n')
if idx >= 0:
self._buf.append(s[:idx+1])
@@ -108,6 +109,39 @@
def close(self):
self._s.close()
+# SocketServer.TCPServer is nuts..
+class ListenSocket:
+ def __init__(self, listen_ip, port):
+ msg = None
+ self.s = None
+ for res in socket.getaddrinfo(listen_ip, port, socket.AF_UNSPEC,
+ socket.SOCK_STREAM, 0, socket.AI_PASSIVE):
+ af, socktype, proto, canonname, sa = res
+ try:
+ self.s = socket.socket(af, socktype, proto)
+ self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ except socket.error, msg:
+ self.s = None
+ continue
+ try:
+ self.s.bind(sa)
+ self.s.listen(1)
+ except socket.error, msg:
+ self.s.close()
+ self.s = None
+ continue
+ break
+ if self.s is None:
+ raise socket.error(msg)
+
+ def accept(self):
+ conn, addr = self.s.accept()
+ return conn
+
+ def close(self):
+ self.s.close()
+
+
def secret_to_key(secret, s2k_specifier):
"""Used to generate a hashed password string. DOCDOC."""
c = ord(s2k_specifier[8])
Added: torflow/trunk/certs/addons.mozilla.org-63.245.209.31.pem
===================================================================
--- torflow/trunk/certs/addons.mozilla.org-63.245.209.31.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/addons.mozilla.org-63.245.209.31.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIIEGTCCAwGgAwIBAgIKago1EwAAAAAXOjANBgkqhkiG9w0BAQUFADCBkTELMAkG
+A1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYDVQQHEwtTYW4gQW50b25pbzEO
+MAwGA1UECxMFR1MgQ0ExJDAiBgNVBAoTG1hSYW1wIFNlY3VyaXR5IFNlcnZpY2Vz
+IEluYzEmMCQGA1UEAxMdWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgR1MgQ0EwHhcN
+MDUwMTA1MDUyNDM2WhcNMDgwMTA1MDU0MDE5WjCBrjELMAkGA1UEBhMCVVMxEzAR
+BgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxGzAZBgNV
+BAoTEk1vemlsbGEgRm91bmRhdGlvbjEWMBQGA1UECxMNKi5tb3ppbGxhLm9yZzEW
+MBQGA1UEAxQNKi5tb3ppbGxhLm9yZzElMCMGCSqGSIb3DQEJARYWaG9zdG1hc3Rl
+ckBtb3ppbGxhLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoQtFh92I
+clVWClhIwH2E9KtfVnPPSdjHARF/VLwVF+bzro4IWw3cg02oVUn+bIJF+eJlQ6C6
+v679vH3fDqfFn+eGVKDf5/tOTPxd/o+doY2t1MrB4LRLAgok1He96Fk4dBosDYW3
+IahlqOdq7OcShsWhEB4VvoCRQto6xGLEc20CAwEAAaOB1zCB1DAdBgNVHQ4EFgQU
+tBu4rYOLSwF84VNRzSH3IV5Bd1YwHwYDVR0jBBgwFoAUnh+lTk7x6EgEEPP9bW8K
+Bq//xzswOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC54cmFtcHNlY3VyaXR5
+LmNvbS9YUmFtcEdTQ0EuY3JsMFUGA1UdIAROMEwwSgYLYIZIAYb4RQEHFwMwOzA5
+BggrBgEFBQcCARYtaHR0cDovL3d3dy54cmFtcHNlY3VyaXR5LmNvbS9sZWdhbC9p
+c3N1ZXIuYXNwMA0GCSqGSIb3DQEBBQUAA4IBAQDAZeMy1t7cU2E5Mc966CLESJCs
+9TEFOSi1Mh0flkgpLj/s7eQKXYORTf19kGV2f1TMAJDAyQDsxKjhdKeXacgHDd8K
+S370bEFih/TSUGnUcAoQ/5UfNPG2CvlCOg/1NdRznsqLtmITc/aGH6+VZxzVzcbg
+hTxFQ4Td+qgUAsaRYjfEECRnc2XyEg1Fj2m/CvkAjPqv8m5eL3NLsxjby7/aqwrH
+OL041apxYRre/cmKB/HMbpzFuBET2G426cu23eRRRdGj5QkM6/8VtbfEUOECyH0k
+N6SfHKmfc0GwixX3/RDlllasv+JOSzfb9WrCGg/9lElyDFwrz0QhEVQbIZUp
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/addons.mozilla.org.pem
===================================================================
--- torflow/trunk/certs/addons.mozilla.org.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/addons.mozilla.org.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,24 @@
+-----BEGIN CERTIFICATE-----
+MIIEGTCCAwGgAwIBAgIKago1EwAAAAAXOjANBgkqhkiG9w0BAQUFADCBkTELMAkG
+A1UEBhMCVVMxDjAMBgNVBAgTBVRleGFzMRQwEgYDVQQHEwtTYW4gQW50b25pbzEO
+MAwGA1UECxMFR1MgQ0ExJDAiBgNVBAoTG1hSYW1wIFNlY3VyaXR5IFNlcnZpY2Vz
+IEluYzEmMCQGA1UEAxMdWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgR1MgQ0EwHhcN
+MDUwMTA1MDUyNDM2WhcNMDgwMTA1MDU0MDE5WjCBrjELMAkGA1UEBhMCVVMxEzAR
+BgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxGzAZBgNV
+BAoTEk1vemlsbGEgRm91bmRhdGlvbjEWMBQGA1UECxMNKi5tb3ppbGxhLm9yZzEW
+MBQGA1UEAxQNKi5tb3ppbGxhLm9yZzElMCMGCSqGSIb3DQEJARYWaG9zdG1hc3Rl
+ckBtb3ppbGxhLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoQtFh92I
+clVWClhIwH2E9KtfVnPPSdjHARF/VLwVF+bzro4IWw3cg02oVUn+bIJF+eJlQ6C6
+v679vH3fDqfFn+eGVKDf5/tOTPxd/o+doY2t1MrB4LRLAgok1He96Fk4dBosDYW3
+IahlqOdq7OcShsWhEB4VvoCRQto6xGLEc20CAwEAAaOB1zCB1DAdBgNVHQ4EFgQU
+tBu4rYOLSwF84VNRzSH3IV5Bd1YwHwYDVR0jBBgwFoAUnh+lTk7x6EgEEPP9bW8K
+Bq//xzswOwYDVR0fBDQwMjAwoC6gLIYqaHR0cDovL2NybC54cmFtcHNlY3VyaXR5
+LmNvbS9YUmFtcEdTQ0EuY3JsMFUGA1UdIAROMEwwSgYLYIZIAYb4RQEHFwMwOzA5
+BggrBgEFBQcCARYtaHR0cDovL3d3dy54cmFtcHNlY3VyaXR5LmNvbS9sZWdhbC9p
+c3N1ZXIuYXNwMA0GCSqGSIb3DQEBBQUAA4IBAQDAZeMy1t7cU2E5Mc966CLESJCs
+9TEFOSi1Mh0flkgpLj/s7eQKXYORTf19kGV2f1TMAJDAyQDsxKjhdKeXacgHDd8K
+S370bEFih/TSUGnUcAoQ/5UfNPG2CvlCOg/1NdRznsqLtmITc/aGH6+VZxzVzcbg
+hTxFQ4Td+qgUAsaRYjfEECRnc2XyEg1Fj2m/CvkAjPqv8m5eL3NLsxjby7/aqwrH
+OL041apxYRre/cmKB/HMbpzFuBET2G426cu23eRRRdGj5QkM6/8VtbfEUOECyH0k
+N6SfHKmfc0GwixX3/RDlllasv+JOSzfb9WrCGg/9lElyDFwrz0QhEVQbIZUp
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/chase.com-159.53.60.105.pem
===================================================================
--- torflow/trunk/certs/chase.com-159.53.60.105.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/chase.com-159.53.60.105.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEYzCCA8ygAwIBAgIQL6jbE3mIxuSP3TfiSumwUDANBgkqhkiG9w0BAQUFADCB
+ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy
+aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy
+dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg
+SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w
+NjA4MjEwMDAwMDBaFw0wNzA4MjEyMzU5NTlaMIGnMQswCQYDVQQGEwJVUzERMA8G
+A1UECBMITmV3IFlvcmsxETAPBgNVBAcUCE5ldyBZb3JrMRcwFQYDVQQKFA5KUE1v
+cmdhbiBDaGFzZTEMMAoGA1UECxQDQ0lHMTMwMQYDVQQLFCpUZXJtcyBvZiB1c2Ug
+YXQgd3d3LnZlcmlzaWduLmNvbS9ycGEgKGMpMDAxFjAUBgNVBAMUDXd3dy5jaGFz
+ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKwbqjpAo2kgOR+pgkrm
+xOC0rdE5ww6ImOYeBcVR72J5R0QUA3AyJDvD02WoYWXbsBPQfsahdFQJPI7bJAZQ
+QqudgZB4fpLDBaLuOp4Ztw0IxmUPzWUO8cXYQmnGH9fDb4xW8WUbAiLKnw30xRT6
+MFRBchaACoz/KamBsf2J3NWVAgMBAAGjggF5MIIBdTAJBgNVHRMEAjAAMAsGA1Ud
+DwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8vY3JsLnZlcmlzaWduLmNv
+bS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBEBgNVHSAEPTA7MDkGC2CG
+SAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNv
+bS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEFBQcDAQYIKwYBBQUHAwIw
+NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJpc2ln
+bi5jb20wbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH
+BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
+aXNpZ24uY29tL3ZzbG9nby5naWYwDQYJKoZIhvcNAQEFBQADgYEAknpryGawWL6a
+Jzc3/RgQv6BNoQopTJPut2JvVx7hypqJfNPUc2uwl9ihRKrbjjiFaaeU/KsWURH7
+wO1oY6SLpUECLsCy9/UyIXrB+pTi8ioXRM1PL/fSiMg9C8ZgchvkWzY7N4Uoo9fp
+tUNpFDSzViRguIrzKOjZPBo3dn3mhZU=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/chase.com.pem
===================================================================
--- torflow/trunk/certs/chase.com.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/chase.com.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEYzCCA8ygAwIBAgIQL6jbE3mIxuSP3TfiSumwUDANBgkqhkiG9w0BAQUFADCB
+ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy
+aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy
+dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg
+SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w
+NjA4MjEwMDAwMDBaFw0wNzA4MjEyMzU5NTlaMIGnMQswCQYDVQQGEwJVUzERMA8G
+A1UECBMITmV3IFlvcmsxETAPBgNVBAcUCE5ldyBZb3JrMRcwFQYDVQQKFA5KUE1v
+cmdhbiBDaGFzZTEMMAoGA1UECxQDQ0lHMTMwMQYDVQQLFCpUZXJtcyBvZiB1c2Ug
+YXQgd3d3LnZlcmlzaWduLmNvbS9ycGEgKGMpMDAxFjAUBgNVBAMUDXd3dy5jaGFz
+ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKwbqjpAo2kgOR+pgkrm
+xOC0rdE5ww6ImOYeBcVR72J5R0QUA3AyJDvD02WoYWXbsBPQfsahdFQJPI7bJAZQ
+QqudgZB4fpLDBaLuOp4Ztw0IxmUPzWUO8cXYQmnGH9fDb4xW8WUbAiLKnw30xRT6
+MFRBchaACoz/KamBsf2J3NWVAgMBAAGjggF5MIIBdTAJBgNVHRMEAjAAMAsGA1Ud
+DwQEAwIFoDBGBgNVHR8EPzA9MDugOaA3hjVodHRwOi8vY3JsLnZlcmlzaWduLmNv
+bS9DbGFzczNJbnRlcm5hdGlvbmFsU2VydmVyLmNybDBEBgNVHSAEPTA7MDkGC2CG
+SAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNv
+bS9ycGEwKAYDVR0lBCEwHwYJYIZIAYb4QgQBBggrBgEFBQcDAQYIKwYBBQUHAwIw
+NAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJpc2ln
+bi5jb20wbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH
+BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
+aXNpZ24uY29tL3ZzbG9nby5naWYwDQYJKoZIhvcNAQEFBQADgYEAknpryGawWL6a
+Jzc3/RgQv6BNoQopTJPut2JvVx7hypqJfNPUc2uwl9ihRKrbjjiFaaeU/KsWURH7
+wO1oY6SLpUECLsCy9/UyIXrB+pTi8ioXRM1PL/fSiMg9C8ZgchvkWzY7N4Uoo9fp
+tUNpFDSzViRguIrzKOjZPBo3dn3mhZU=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/login.yahoo.com-209.191.92.114.pem
===================================================================
--- torflow/trunk/certs/login.yahoo.com-209.191.92.114.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/login.yahoo.com-209.191.92.114.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC7TCCAlagAwIBAgIDBaBMMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
+MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
+aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYwMTA0MTcwOTA2WhcNMTEwMTA0MTcwOTA2
+WjB4MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxML
+U2FudGEgQ2xhcmExFDASBgNVBAoUC1lhaG9vISBJbmMuMQ4wDAYDVQQLEwVZYWhv
+bzEYMBYGA1UEAxMPbG9naW4ueWFob28uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN
+ADCBiQKBgQC1bE/u7xsEXb5wSthVHYp3DcFFAPU7GhDd1/e7emVUf2DSFru9EqV4
+eNazUE66F0gneiJvKnwdojYi2FmirjoL1NIbig5aiankmv/bPwTim3XBjcWMBaHz
+tZJeoURJGeSQtOnv5F2yIG35I3a4stSvowb1ngOPuIIFIRElRDqABQIDAQABo4Gu
+MIGrMA4GA1UdDwEB/wQEAwIE8DAdBgNVHQ4EFgQUoB5uDJtuauvSrlpKGP8Ok0Ya
+1jIwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Js
+cy9zZWN1cmVjYS5jcmwwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gjIBBPM5iQn9Qw
+HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4GB
+AFAlZRBD4XSDL4+cntx0ZE5xJ04qbkoSe0xBLmFKEQtBprFSyxN2tkXkjdQAmjsC
+x4IpAaPuffe5AoidPsMc5j3TkPycVtsZnauoA4B9xOLECTOeWFt3N4lZo4aOod+z
+uwLtIWL7usK66NSPZsGlX635P88imxdXoMooxnYDpMTn
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/login.yahoo.com-209.73.168.74.pem
===================================================================
--- torflow/trunk/certs/login.yahoo.com-209.73.168.74.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/login.yahoo.com-209.73.168.74.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC7TCCAlagAwIBAgIDBaBMMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
+MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
+aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYwMTA0MTcwOTA2WhcNMTEwMTA0MTcwOTA2
+WjB4MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxML
+U2FudGEgQ2xhcmExFDASBgNVBAoUC1lhaG9vISBJbmMuMQ4wDAYDVQQLEwVZYWhv
+bzEYMBYGA1UEAxMPbG9naW4ueWFob28uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN
+ADCBiQKBgQC1bE/u7xsEXb5wSthVHYp3DcFFAPU7GhDd1/e7emVUf2DSFru9EqV4
+eNazUE66F0gneiJvKnwdojYi2FmirjoL1NIbig5aiankmv/bPwTim3XBjcWMBaHz
+tZJeoURJGeSQtOnv5F2yIG35I3a4stSvowb1ngOPuIIFIRElRDqABQIDAQABo4Gu
+MIGrMA4GA1UdDwEB/wQEAwIE8DAdBgNVHQ4EFgQUoB5uDJtuauvSrlpKGP8Ok0Ya
+1jIwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Js
+cy9zZWN1cmVjYS5jcmwwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gjIBBPM5iQn9Qw
+HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4GB
+AFAlZRBD4XSDL4+cntx0ZE5xJ04qbkoSe0xBLmFKEQtBprFSyxN2tkXkjdQAmjsC
+x4IpAaPuffe5AoidPsMc5j3TkPycVtsZnauoA4B9xOLECTOeWFt3N4lZo4aOod+z
+uwLtIWL7usK66NSPZsGlX635P88imxdXoMooxnYDpMTn
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/login.yahoo.com-209.73.177.115.pem
===================================================================
--- torflow/trunk/certs/login.yahoo.com-209.73.177.115.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/login.yahoo.com-209.73.177.115.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC7TCCAlagAwIBAgIDBaBMMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
+MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
+aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYwMTA0MTcwOTA2WhcNMTEwMTA0MTcwOTA2
+WjB4MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxML
+U2FudGEgQ2xhcmExFDASBgNVBAoUC1lhaG9vISBJbmMuMQ4wDAYDVQQLEwVZYWhv
+bzEYMBYGA1UEAxMPbG9naW4ueWFob28uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN
+ADCBiQKBgQC1bE/u7xsEXb5wSthVHYp3DcFFAPU7GhDd1/e7emVUf2DSFru9EqV4
+eNazUE66F0gneiJvKnwdojYi2FmirjoL1NIbig5aiankmv/bPwTim3XBjcWMBaHz
+tZJeoURJGeSQtOnv5F2yIG35I3a4stSvowb1ngOPuIIFIRElRDqABQIDAQABo4Gu
+MIGrMA4GA1UdDwEB/wQEAwIE8DAdBgNVHQ4EFgQUoB5uDJtuauvSrlpKGP8Ok0Ya
+1jIwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Js
+cy9zZWN1cmVjYS5jcmwwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gjIBBPM5iQn9Qw
+HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4GB
+AFAlZRBD4XSDL4+cntx0ZE5xJ04qbkoSe0xBLmFKEQtBprFSyxN2tkXkjdQAmjsC
+x4IpAaPuffe5AoidPsMc5j3TkPycVtsZnauoA4B9xOLECTOeWFt3N4lZo4aOod+z
+uwLtIWL7usK66NSPZsGlX635P88imxdXoMooxnYDpMTn
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/login.yahoo.com-69.147.112.160.pem
===================================================================
--- torflow/trunk/certs/login.yahoo.com-69.147.112.160.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/login.yahoo.com-69.147.112.160.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC7TCCAlagAwIBAgIDBaBMMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
+MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
+aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYwMTA0MTcwOTA2WhcNMTEwMTA0MTcwOTA2
+WjB4MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxML
+U2FudGEgQ2xhcmExFDASBgNVBAoUC1lhaG9vISBJbmMuMQ4wDAYDVQQLEwVZYWhv
+bzEYMBYGA1UEAxMPbG9naW4ueWFob28uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN
+ADCBiQKBgQC1bE/u7xsEXb5wSthVHYp3DcFFAPU7GhDd1/e7emVUf2DSFru9EqV4
+eNazUE66F0gneiJvKnwdojYi2FmirjoL1NIbig5aiankmv/bPwTim3XBjcWMBaHz
+tZJeoURJGeSQtOnv5F2yIG35I3a4stSvowb1ngOPuIIFIRElRDqABQIDAQABo4Gu
+MIGrMA4GA1UdDwEB/wQEAwIE8DAdBgNVHQ4EFgQUoB5uDJtuauvSrlpKGP8Ok0Ya
+1jIwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Js
+cy9zZWN1cmVjYS5jcmwwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gjIBBPM5iQn9Qw
+HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4GB
+AFAlZRBD4XSDL4+cntx0ZE5xJ04qbkoSe0xBLmFKEQtBprFSyxN2tkXkjdQAmjsC
+x4IpAaPuffe5AoidPsMc5j3TkPycVtsZnauoA4B9xOLECTOeWFt3N4lZo4aOod+z
+uwLtIWL7usK66NSPZsGlX635P88imxdXoMooxnYDpMTn
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/login.yahoo.com.pem
===================================================================
--- torflow/trunk/certs/login.yahoo.com.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/login.yahoo.com.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC7TCCAlagAwIBAgIDBaBMMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT
+MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
+aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYwMTA0MTcwOTA2WhcNMTEwMTA0MTcwOTA2
+WjB4MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxML
+U2FudGEgQ2xhcmExFDASBgNVBAoUC1lhaG9vISBJbmMuMQ4wDAYDVQQLEwVZYWhv
+bzEYMBYGA1UEAxMPbG9naW4ueWFob28uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN
+ADCBiQKBgQC1bE/u7xsEXb5wSthVHYp3DcFFAPU7GhDd1/e7emVUf2DSFru9EqV4
+eNazUE66F0gneiJvKnwdojYi2FmirjoL1NIbig5aiankmv/bPwTim3XBjcWMBaHz
+tZJeoURJGeSQtOnv5F2yIG35I3a4stSvowb1ngOPuIIFIRElRDqABQIDAQABo4Gu
+MIGrMA4GA1UdDwEB/wQEAwIE8DAdBgNVHQ4EFgQUoB5uDJtuauvSrlpKGP8Ok0Ya
+1jIwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybC5nZW90cnVzdC5jb20vY3Js
+cy9zZWN1cmVjYS5jcmwwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gjIBBPM5iQn9Qw
+HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4GB
+AFAlZRBD4XSDL4+cntx0ZE5xJ04qbkoSe0xBLmFKEQtBprFSyxN2tkXkjdQAmjsC
+x4IpAaPuffe5AoidPsMc5j3TkPycVtsZnauoA4B9xOLECTOeWFt3N4lZo4aOod+z
+uwLtIWL7usK66NSPZsGlX635P88imxdXoMooxnYDpMTn
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.133.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.133.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.133.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.133.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.133.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.133.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.133.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.133.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.133.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.137.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.137.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.137.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.137.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.137.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.137.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.137.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.137.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.137.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.139.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.139.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.139.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.139.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.139.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.139.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-209.85.139.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-209.85.139.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-209.85.139.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-216.239.53.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-216.239.53.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-216.239.53.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-216.239.53.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-216.239.53.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-216.239.53.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-216.239.53.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-216.239.53.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-216.239.53.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-216.239.63.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-216.239.63.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-216.239.63.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-216.239.63.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-216.239.63.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-216.239.63.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.163.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.163.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.163.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.163.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.163.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.163.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.163.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.163.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.163.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.167.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.167.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.167.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.167.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.167.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.167.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.167.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.167.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.167.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.183.17.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.183.17.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.183.17.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.183.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.183.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.183.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.183.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.183.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.183.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.183.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.183.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.183.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.185.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.185.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.185.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.185.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.185.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.185.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.187.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.187.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.187.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-64.233.189.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-64.233.189.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-64.233.189.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.102.9.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.102.9.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.102.9.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.83.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.83.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.83.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.83.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.83.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.83.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.89.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.89.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.89.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.89.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.89.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.89.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.91.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.91.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.91.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.91.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.91.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.91.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.91.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.91.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.91.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.93.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.93.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.93.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.93.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.93.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.93.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-66.249.93.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-66.249.93.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-66.249.93.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.205.17.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.205.17.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.205.17.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.205.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.205.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.205.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.205.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.205.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.205.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.205.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.205.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.205.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.215.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.215.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.215.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.217.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.217.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.217.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.223.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.223.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.223.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.223.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.223.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.223.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.247.18.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.247.18.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.247.18.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.247.19.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.247.19.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.247.19.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com-72.14.247.83.pem
===================================================================
--- torflow/trunk/certs/mail.google.com-72.14.247.83.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com-72.14.247.83.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/mail.google.com.pem
===================================================================
--- torflow/trunk/certs/mail.google.com.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/mail.google.com.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIjCCAougAwIBAgIQIT8Ci6feCCuSNvHb22bkRjANBgkqhkiG9w0BAQQFADBM
+MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg
+THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wNjA1MTYxNzI0MDFaFw0w
+NzA1MTYxNzI0MDFaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
+MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRgw
+FgYDVQQDEw9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
+AoGBAMnUudLUhHv3cpy0A47K38oOYK9CeH93UMzH1QA/FYwwhRrcEkQjwSrddNqF
+RLBJMv+KWKFbMbTzMSR69VQCJJ26cKSOg95hhuIsRf6Y8MRfynWK4nfun8ubF8If
+LfISfrzTX8/nw8jmtL0zaNNSCZWs6UNzptkK085tRO2KoeZ5AgMBAAGjgecwgeQw
+KAYDVR0lBCEwHwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhCBAEwNgYDVR0f
+BC8wLTAroCmgJ4YlaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVNHQ0NBLmNy
+bDByBggrBgEFBQcBAQRmMGQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnRoYXd0
+ZS5jb20wPgYIKwYBBQUHMAKGMmh0dHA6Ly93d3cudGhhd3RlLmNvbS9yZXBvc2l0
+b3J5L1RoYXd0ZV9TR0NfQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEE
+BQADgYEASZvjLilr8yszxgTQWbCGrw8ck8kOLqv6VkLBfwdeUONhPvd7TtUdG9Mc
+2OfHJfK0gM6WRuElxCV9k+PGH7MClZUKzfLhNvn4kKLK2fxfi2+x/TsSKtksEqsq
+3TkheYZzR2inWM3a3qr00dj742P7O/kKnzLOtNBQo1DTreq4//c=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.e-gold.com-209.200.169.10.pem
===================================================================
--- torflow/trunk/certs/www.e-gold.com-209.200.169.10.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.e-gold.com-209.200.169.10.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE-----
+MIIEujCCBCOgAwIBAgIQeHJXVGKIcbyZmn2xRm6TEzANBgkqhkiG9w0BAQUFADCB
+ujEfMB0GA1UEChMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazEXMBUGA1UECxMOVmVy
+aVNpZ24sIEluYy4xMzAxBgNVBAsTKlZlcmlTaWduIEludGVybmF0aW9uYWwgU2Vy
+dmVyIENBIC0gQ2xhc3MgMzFJMEcGA1UECxNAd3d3LnZlcmlzaWduLmNvbS9DUFMg
+SW5jb3JwLmJ5IFJlZi4gTElBQklMSVRZIExURC4oYyk5NyBWZXJpU2lnbjAeFw0w
+NjExMjEwMDAwMDBaFw0wOTEyMDEyMzU5NTlaMIG/MQswCQYDVQQGEwJVUzEQMA4G
+A1UECBMHRmxvcmlkYTESMBAGA1UEBxQJTWVsYm91cm5lMSIwIAYDVQQKFBlHb2xk
+ICZTaWx2ZXIgUmVzZXJ2ZSBJbmMuMRgwFgYDVQQLFA9lLWdvbGQgT3BlcmF0b3Ix
+MzAxBgNVBAsUKlRlcm1zIG9mIHVzZSBhdCB3d3cudmVyaXNpZ24uY29tL3JwYSAo
+YykwNTEXMBUGA1UEAxQOd3d3LmUtZ29sZC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
+gY0AMIGJAoGBAJeY1+XKd/AiJPBL3Qxhr3nBJcrXy0tqqiAuKEIbgBS9XJIIjIUp
+UZOWMFii8bf+QtDvdtZWYF61bihU5vS3K0wmJj2wT91KbWtuNMbgkp2iDz59RED8
+SfUxLRWTKt4Uczp66KY4bFPje9rDRQLN0bpPxUi2H2hM/DOXCEcvNU6LAgMBAAGj
+ggG4MIIBtDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIFoDBEBgNVHSAEPTA7MDkGC2CG
+SAGG+EUBBxcDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNv
+bS9ycGEwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL1NWUkludGwtY3JsLnZlcmlz
+aWduLmNvbS9TVlJJbnRsLmNybDA0BgNVHSUELTArBggrBgEFBQcDAQYIKwYBBQUH
+AwIGCWCGSAGG+EIEAQYKKwYBBAGCNwoDAzBxBggrBgEFBQcBAQRlMGMwJAYIKwYB
+BQUHMAGGGGh0dHA6Ly9vY3NwLnZlcmlzaWduLmNvbTA7BggrBgEFBQcwAoYvaHR0
+cDovL1NWUkludGwtYWlhLnZlcmlzaWduLmNvbS9TVlJJbnRsLWFpYS5jZXIwbQYI
+KwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQU
+j+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24uY29t
+L3ZzbG9nby5naWYwDQYJKoZIhvcNAQEFBQADgYEAh348qSaQ5vf3gfL8HYO4Nskw
+uf5v9crVWuLX11jKseKn22MdkNo2uhfYZ42WdzSxvd+emxuDKgi8zAir20XsUTrN
+VporvO8CuNqb35T3RriqX71X1KIrllRPSZUNtKCgE9bNCvVC3pFmqSeBF2dXGKAP
+XSgqQQekD753NDEt6rU=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.fastmail.fm-66.111.4.55.pem
===================================================================
--- torflow/trunk/certs/www.fastmail.fm-66.111.4.55.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.fastmail.fm-66.111.4.55.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAuWgAwIBAgIQID27SkIftMaSTpI5z5+LhzANBgkqhkiG9w0BAQQFADCB
+zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
+Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE
+CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh
+d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl
+cnZlckB0aGF3dGUuY29tMB4XDTA2MDQyMTA3MDc1MFoXDTA3MDUyMTA5MjE0Nlow
+gYAxCzAJBgNVBAYTAkFVMRgwFgYDVQQIEw9OZXcgU291dGggV2FsZXMxEzARBgNV
+BAcTCkNyb3dzIE5lc3QxKDAmBgNVBAoTH09wdGltYWwgRGVjaXNpb25zIEdyb3Vw
+IFB0eSBMdGQxGDAWBgNVBAMTD3d3dy5mYXN0bWFpbC5mbTCBnzANBgkqhkiG9w0B
+AQEFAAOBjQAwgYkCgYEAyJMTIn/14CHIrAYGi3913dMk1khF1C1M4f6/JlmIv7Xl
+HlOT+GJNcal38wsS/VxXTSrKgPcXDDK0kYGg/1WU6wF8HJ64LEXHou558PDBDnnp
+4pw2ayB5mVy9E3YFez0a/NHEBDKrkngmQmWQxmcVzBLNDYhoR/NQPQ6JZjtR1kMC
+AwEAAaOBpjCBozAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQAYDVR0f
+BDkwNzA1oDOgMYYvaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1T
+ZXJ2ZXJDQS5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8v
+b2NzcC50aGF3dGUuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQADgYEA
+Fe4MzPp3KVX+IPDHyhxMoNWgX1wi1VyoaFO2Cxg7MKXfP0c/7HuhuDY6O3LC8GtY
+crDQapKQjTDpBOsCrh2vWVGHTurTVI/bMcfUZXul25qQQfFdjopE96RG+ocLjwDq
+6ZOdU+GQPYZP1dcsYFKUrJSpcZZywU2l2T1iTt9iVGY=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.fastmail.fm-66.111.4.56.pem
===================================================================
--- torflow/trunk/certs/www.fastmail.fm-66.111.4.56.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.fastmail.fm-66.111.4.56.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAuWgAwIBAgIQID27SkIftMaSTpI5z5+LhzANBgkqhkiG9w0BAQQFADCB
+zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
+Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE
+CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh
+d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl
+cnZlckB0aGF3dGUuY29tMB4XDTA2MDQyMTA3MDc1MFoXDTA3MDUyMTA5MjE0Nlow
+gYAxCzAJBgNVBAYTAkFVMRgwFgYDVQQIEw9OZXcgU291dGggV2FsZXMxEzARBgNV
+BAcTCkNyb3dzIE5lc3QxKDAmBgNVBAoTH09wdGltYWwgRGVjaXNpb25zIEdyb3Vw
+IFB0eSBMdGQxGDAWBgNVBAMTD3d3dy5mYXN0bWFpbC5mbTCBnzANBgkqhkiG9w0B
+AQEFAAOBjQAwgYkCgYEAyJMTIn/14CHIrAYGi3913dMk1khF1C1M4f6/JlmIv7Xl
+HlOT+GJNcal38wsS/VxXTSrKgPcXDDK0kYGg/1WU6wF8HJ64LEXHou558PDBDnnp
+4pw2ayB5mVy9E3YFez0a/NHEBDKrkngmQmWQxmcVzBLNDYhoR/NQPQ6JZjtR1kMC
+AwEAAaOBpjCBozAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQAYDVR0f
+BDkwNzA1oDOgMYYvaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1T
+ZXJ2ZXJDQS5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8v
+b2NzcC50aGF3dGUuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQADgYEA
+Fe4MzPp3KVX+IPDHyhxMoNWgX1wi1VyoaFO2Cxg7MKXfP0c/7HuhuDY6O3LC8GtY
+crDQapKQjTDpBOsCrh2vWVGHTurTVI/bMcfUZXul25qQQfFdjopE96RG+ocLjwDq
+6ZOdU+GQPYZP1dcsYFKUrJSpcZZywU2l2T1iTt9iVGY=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.fastmail.fm.pem
===================================================================
--- torflow/trunk/certs/www.fastmail.fm.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.fastmail.fm.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDfDCCAuWgAwIBAgIQID27SkIftMaSTpI5z5+LhzANBgkqhkiG9w0BAQQFADCB
+zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ
+Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UE
+CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh
+d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl
+cnZlckB0aGF3dGUuY29tMB4XDTA2MDQyMTA3MDc1MFoXDTA3MDUyMTA5MjE0Nlow
+gYAxCzAJBgNVBAYTAkFVMRgwFgYDVQQIEw9OZXcgU291dGggV2FsZXMxEzARBgNV
+BAcTCkNyb3dzIE5lc3QxKDAmBgNVBAoTH09wdGltYWwgRGVjaXNpb25zIEdyb3Vw
+IFB0eSBMdGQxGDAWBgNVBAMTD3d3dy5mYXN0bWFpbC5mbTCBnzANBgkqhkiG9w0B
+AQEFAAOBjQAwgYkCgYEAyJMTIn/14CHIrAYGi3913dMk1khF1C1M4f6/JlmIv7Xl
+HlOT+GJNcal38wsS/VxXTSrKgPcXDDK0kYGg/1WU6wF8HJ64LEXHou558PDBDnnp
+4pw2ayB5mVy9E3YFez0a/NHEBDKrkngmQmWQxmcVzBLNDYhoR/NQPQ6JZjtR1kMC
+AwEAAaOBpjCBozAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwQAYDVR0f
+BDkwNzA1oDOgMYYvaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1T
+ZXJ2ZXJDQS5jcmwwMgYIKwYBBQUHAQEEJjAkMCIGCCsGAQUFBzABhhZodHRwOi8v
+b2NzcC50aGF3dGUuY29tMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQADgYEA
+Fe4MzPp3KVX+IPDHyhxMoNWgX1wi1VyoaFO2Cxg7MKXfP0c/7HuhuDY6O3LC8GtY
+crDQapKQjTDpBOsCrh2vWVGHTurTVI/bMcfUZXul25qQQfFdjopE96RG+ocLjwDq
+6ZOdU+GQPYZP1dcsYFKUrJSpcZZywU2l2T1iTt9iVGY=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.hushmail.com-65.39.178.42.pem
===================================================================
--- torflow/trunk/certs/www.hushmail.com-65.39.178.42.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.hushmail.com-65.39.178.42.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFfzCCBGegAwIBAgIQQwk9pisVt8sDSr+Oaywv8zANBgkqhkiG9w0BAQUFADCB
+3DELMAkGA1UEBhMCR0IxFzAVBgNVBAoTDkNvbW9kbyBMaW1pdGVkMR0wGwYDVQQL
+ExRDb21vZG8gVHJ1c3QgTmV0d29yazFGMEQGA1UECxM9VGVybXMgYW5kIENvbmRp
+dGlvbnMgb2YgdXNlOiBodHRwOi8vd3d3LmNvbW9kby5uZXQvcmVwb3NpdG9yeTEf
+MB0GA1UECxMWKGMpMjAwMiBDb21vZG8gTGltaXRlZDEsMCoGA1UEAxMjQ29tb2Rv
+IENsYXNzIDMgU2VjdXJpdHkgU2VydmljZXMgQ0EwHhcNMDUwNTA2MDAwMDAwWhcN
+MDgwNTA1MjM1OTU5WjCCAQkxCzAJBgNVBAYTAkNBMRAwDgYDVQQREwdWNkcgMVQx
+MQswCQYDVQQIEwJCQzESMBAGA1UEBxMJVmFuY291dmVyMSQwIgYDVQQJExtTdWl0
+ZSAyMDMgNDU1IEdyYW52aWxsZSBTdC4xKTAnBgNVBAoTIEh1c2ggQ29tbXVuaWNh
+dGlvbnMgQ2FuYWRhLCBJbmMuMUYwRAYDVQQLEz1Jc3N1ZWQgdGhyb3VnaCBIdXNo
+IENvbW11bmljYXRpb25zIENhbmFkYSwgSW5jLiBFLVBLSSBNYW5hZ2VyMRMwEQYD
+VQQLEwpQcmVtaXVtU1NMMRkwFwYDVQQDExB3d3cuaHVzaG1haWwuY29tMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDoUcuKVaEp51nYtn4qO24CPmeYMTC3hnto
+A/4+9vOl35U1ANucaE0SxaU1tsa6ySaYEw/hhLFv8jGPUf4a66M8fDvij9oRuH3O
+lzm3tS1JuIUXS/hFWITksf5yWK/3fHXAChWOyl+XwxE8UegpNmyOCY231kQYIpKJ
+BYGM0xLcWwIDAQABo4IBjzCCAYswHwYDVR0jBBgwFoAUNuDofG2dRZHumeVCdk1w
+s1AwrF4wHQYDVR0OBBYEFCNVDZI7EnBEsu75HUJuAHKLj905MA4GA1UdDwEB/wQE
+AwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
+AjBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgEDBDArMCkGCCsGAQUFBwIBFh1odHRw
+czovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzCBsAYDVR0fBIGoMIGlMDigNqA0hjJo
+dHRwOi8vY3JsLmNvbW9kby5uZXQvQ2xhc3MzU2VjdXJpdHlTZXJ2aWNlc18zLmNy
+bDA6oDigNoY0aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ2xhc3MzU2VjdXJpdHlT
+ZXJ2aWNlc18zLmNybDAtoCugKYEnQ2xhc3MzU2VjdXJpdHlTZXJ2aWNlc18zQGNy
+bC5jb21vZG8ubmV0MBEGCWCGSAGG+EIBAQQEAwIGwDANBgkqhkiG9w0BAQUFAAOC
+AQEAGVyRbaxusNkWyAbcSFjolo9DCsPJBxz9HNpc/88kLmnUoid6+zD/uyXfp6W0
+pL4sQoQNuBHsBmc9z95S3X88gMZJ9SSxW3jgfV4X0/YSYNW1gfhVd9xaEBg6KqCD
+vYVAk3B7DxU98xKsgchUQGPB5/hcDZg0Df2FI1feySs45TsZ8cbQMd7FywTgYHcp
+IrdT8RWjdH8N0dXQpp4vFQQHYL7FGKzHItOXda1pdRp57MF6eqF3blzp5wb7+nT+
+LVEjJP9LcSHriTWCkK+RUQlT8mutNzQ8ecOK8zzxd9rBex7iVP1gkqhgE5eAbw2p
+VeOiM9M8qpfBNH/hA+ydczCvIQ==
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.hushmail.com-65.39.178.58.pem
===================================================================
--- torflow/trunk/certs/www.hushmail.com-65.39.178.58.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.hushmail.com-65.39.178.58.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDazCCAtSgAwIBAgIDISvZMA0GCSqGSIb3DQEBBAUAMIHOMQswCQYDVQQGEwJa
+QTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xHTAb
+BgNVBAoTFFRoYXd0ZSBDb25zdWx0aW5nIGNjMSgwJgYDVQQLEx9DZXJ0aWZpY2F0
+aW9uIFNlcnZpY2VzIERpdmlzaW9uMSEwHwYDVQQDExhUaGF3dGUgUHJlbWl1bSBT
+ZXJ2ZXIgQ0ExKDAmBgkqhkiG9w0BCQEWGXByZW1pdW0tc2VydmVyQHRoYXd0ZS5j
+b20wHhcNMDUwNTA2MjI1MzU2WhcNMDYwNTA2MjI1MzU2WjB9MQswCQYDVQQGEwJB
+STERMA8GA1UECBMIQW5ndWlsbGExEzARBgNVBAcTClRoZSBWYWxsZXkxKzApBgNV
+BAoTIkh1c2ggQ29tbXVuaWNhdGlvbnMgQW5ndWlsbGEsIEluYy4xGTAXBgNVBAMT
+EHd3dy5odXNobWFpbC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOhR
+y4pVoSnnWdi2fio7bgI+Z5gxMLeGe2gD/j7286XflTUA25xoTRLFpTW2xrrJJpgT
+D+GEsW/yMY9R/hrrozx8O+KP2hG4fc6XObe1LUm4hRdL+EVYhOSx/nJYr/d8dcAK
+FY7KX5fDETxR6Ck2bI4JjbfWRBgikokFgYzTEtxbAgMBAAGjgaYwgaMwHQYDVR0l
+BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEAGA1UdHwQ5MDcwNaAzoDGGL2h0dHA6
+Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQcmVtaXVtU2VydmVyQ0EuY3JsMDIGCCsG
+AQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTAM
+BgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBABcxCj2OF1TOgpU1YINxqsKD
+TKoGE256audOijLryg/s8X1dufwTOs5Wujl+vxhCro32a7YaxNeKnjRQtA06giLN
+uYtK0Gi8ZLQIJb30k1sS8q6RoerahfxJ0auX2lnuLwnfQn0mx6MGxuD6OJTpR/4C
+fGAw77gp8HO3Kme658XM
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.hushmail.com.pem
===================================================================
--- torflow/trunk/certs/www.hushmail.com.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.hushmail.com.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFfzCCBGegAwIBAgIQQwk9pisVt8sDSr+Oaywv8zANBgkqhkiG9w0BAQUFADCB
+3DELMAkGA1UEBhMCR0IxFzAVBgNVBAoTDkNvbW9kbyBMaW1pdGVkMR0wGwYDVQQL
+ExRDb21vZG8gVHJ1c3QgTmV0d29yazFGMEQGA1UECxM9VGVybXMgYW5kIENvbmRp
+dGlvbnMgb2YgdXNlOiBodHRwOi8vd3d3LmNvbW9kby5uZXQvcmVwb3NpdG9yeTEf
+MB0GA1UECxMWKGMpMjAwMiBDb21vZG8gTGltaXRlZDEsMCoGA1UEAxMjQ29tb2Rv
+IENsYXNzIDMgU2VjdXJpdHkgU2VydmljZXMgQ0EwHhcNMDUwNTA2MDAwMDAwWhcN
+MDgwNTA1MjM1OTU5WjCCAQkxCzAJBgNVBAYTAkNBMRAwDgYDVQQREwdWNkcgMVQx
+MQswCQYDVQQIEwJCQzESMBAGA1UEBxMJVmFuY291dmVyMSQwIgYDVQQJExtTdWl0
+ZSAyMDMgNDU1IEdyYW52aWxsZSBTdC4xKTAnBgNVBAoTIEh1c2ggQ29tbXVuaWNh
+dGlvbnMgQ2FuYWRhLCBJbmMuMUYwRAYDVQQLEz1Jc3N1ZWQgdGhyb3VnaCBIdXNo
+IENvbW11bmljYXRpb25zIENhbmFkYSwgSW5jLiBFLVBLSSBNYW5hZ2VyMRMwEQYD
+VQQLEwpQcmVtaXVtU1NMMRkwFwYDVQQDExB3d3cuaHVzaG1haWwuY29tMIGfMA0G
+CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDoUcuKVaEp51nYtn4qO24CPmeYMTC3hnto
+A/4+9vOl35U1ANucaE0SxaU1tsa6ySaYEw/hhLFv8jGPUf4a66M8fDvij9oRuH3O
+lzm3tS1JuIUXS/hFWITksf5yWK/3fHXAChWOyl+XwxE8UegpNmyOCY231kQYIpKJ
+BYGM0xLcWwIDAQABo4IBjzCCAYswHwYDVR0jBBgwFoAUNuDofG2dRZHumeVCdk1w
+s1AwrF4wHQYDVR0OBBYEFCNVDZI7EnBEsu75HUJuAHKLj905MA4GA1UdDwEB/wQE
+AwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD
+AjBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgEDBDArMCkGCCsGAQUFBwIBFh1odHRw
+czovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzCBsAYDVR0fBIGoMIGlMDigNqA0hjJo
+dHRwOi8vY3JsLmNvbW9kby5uZXQvQ2xhc3MzU2VjdXJpdHlTZXJ2aWNlc18zLmNy
+bDA6oDigNoY0aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ2xhc3MzU2VjdXJpdHlT
+ZXJ2aWNlc18zLmNybDAtoCugKYEnQ2xhc3MzU2VjdXJpdHlTZXJ2aWNlc18zQGNy
+bC5jb21vZG8ubmV0MBEGCWCGSAGG+EIBAQQEAwIGwDANBgkqhkiG9w0BAQUFAAOC
+AQEAGVyRbaxusNkWyAbcSFjolo9DCsPJBxz9HNpc/88kLmnUoid6+zD/uyXfp6W0
+pL4sQoQNuBHsBmc9z95S3X88gMZJ9SSxW3jgfV4X0/YSYNW1gfhVd9xaEBg6KqCD
+vYVAk3B7DxU98xKsgchUQGPB5/hcDZg0Df2FI1feySs45TsZ8cbQMd7FywTgYHcp
+IrdT8RWjdH8N0dXQpp4vFQQHYL7FGKzHItOXda1pdRp57MF6eqF3blzp5wb7+nT+
+LVEjJP9LcSHriTWCkK+RUQlT8mutNzQ8ecOK8zzxd9rBex7iVP1gkqhgE5eAbw2p
+VeOiM9M8qpfBNH/hA+ydczCvIQ==
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.paypal.com-216.113.188.65.pem
===================================================================
--- torflow/trunk/certs/www.paypal.com-216.113.188.65.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.paypal.com-216.113.188.65.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,34 @@
+-----BEGIN CERTIFICATE-----
+MIIF5jCCBM6gAwIBAgIQbmuco/dSNbSVN4bU5RNUqTANBgkqhkiG9w0BAQUFADCB
+vjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
+ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug
+YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwNjE4MDYGA1UEAxMv
+VmVyaVNpZ24gQ2xhc3MgMyBFeHRlbmRlZCBWYWxpZGF0aW9uIFNTTCBTR0MgQ0Ew
+HhcNMDcwMTMwMDAwMDAwWhcNMDkwMTI5MjM1OTU5WjCCAR4xEDAOBgNVBAUTBzMw
+MTQyNjcxEzARBgsrBgEEAYI3PAIBAxMCVVMxGTAXBgsrBgEEAYI3PAIBAhMIRGVs
+YXdhcmUxCzAJBgNVBAYTAlVTMRMwEQYDVQQRFAo5NTEzMS0yMDIxMQswCQYDVQQI
+EwJDQTERMA8GA1UEBxQIU2FuIEpvc2UxFjAUBgNVBAkUDTIyMTEgTiAxc3QgU3Qx
+FDASBgNVBAoUC1BheXBhbCBJbmMuMRwwGgYDVQQLFBNJbmZvcm1hdGlvbiBTeXN0
+ZW1zMTMwMQYDVQQLFCpUZXJtcyBvZiB1c2UgYXQgd3d3LnZlcmlzaWduLmNvbS9y
+cGEgKGMpMDYxFzAVBgNVBAMUDnd3dy5wYXlwYWwuY29tMIGfMA0GCSqGSIb3DQEB
+AQUAA4GNADCBiQKBgQC0ldZuxq9UVX26JfEnMM+U7pM+husarblH+rS18AyT8Aqf
+0oOZJ+439TESAQ521/9zDqXYpm5++VoNN5/M3HbQ63ksuqDILhA+G1sU0jA9RD38
+z992oazPJQDTfmeK+amv50+4okUT8QTDkb9WHjUI/gpf14AYQ628UFQQGO6WlQID
+AQABo4IB/zCCAfswCQYDVR0TBAIwADAdBgNVHQ4EFgQU7VBMXqBNGpJwm/AUUdLW
+nWziydAwCwYDVR0PBAQDAgWgMD4GA1UdHwQ3MDUwM6AxoC+GLWh0dHA6Ly9FVklu
+dGwtY3JsLnZlcmlzaWduLmNvbS9FVkludGwyMDA2LmNybDBEBgNVHSAEPTA7MDkG
+C2CGSAGG+EUBBxcGMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWdu
+LmNvbS9ycGEwNAYDVR0lBC0wKwYIKwYBBQUHAwEGCCsGAQUFBwMCBglghkgBhvhC
+BAEGCisGAQQBgjcKAwMwHwYDVR0jBBgwFoAUTkPIHXbvN1N6T/JYb5TzOOLVvd8w
+dgYIKwYBBQUHAQEEajBoMCsGCCsGAQUFBzABhh9odHRwOi8vRVZJbnRsLW9jc3Au
+dmVyaXNpZ24uY29tMDkGCCsGAQUFBzAChi1odHRwOi8vRVZJbnRsLWFpYS52ZXJp
+c2lnbi5jb20vRVZJbnRsMjAwNi5jZXIwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcw
+VRYJaW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4w
+JRYjaHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwDQYJKoZIhvcN
+AQEFBQADggEBADGj5/xJrl7mzkgcE6zf44jzT0Iw+/BLAzcerNixC3xZ57rPPhxu
+WRMKVzgIDYQzu/ed2oLRz6eefjF2Xs9XqLK1RDYRyDldksxP/AxB52AEGoBbufQ1
+xKWziRJXaUmqA27FBbx89lYrj3m6VQkkJ7bK+IpP9vQzpg86ZBQs0UWtxsQbO9zp
+D8IaeI+K97d5CgRfXixgfUR3OttmhofzmR9Zfawcui+MoEu0lrjeZNgAkEaCVlcH
+m0iL1rOpmhX/7b5DUpTWN3jopw9/VQTCqxcu+0zoEcNU02yadEVCNumWAEllTJ5D
+ePLh8FkejTsIkNexlknGZX4eQJYBo90wUok=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.relakks.com-82.209.182.9.pem
===================================================================
--- torflow/trunk/certs/www.relakks.com-82.209.182.9.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.relakks.com-82.209.182.9.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDcDCCAtmgAwIBAgIDBDtPMA0GCSqGSIb3DQEBBAUAMFoxCzAJBgNVBAYTAlVT
+MRwwGgYDVQQKExNFcXVpZmF4IFNlY3VyZSBJbmMuMS0wKwYDVQQDEyRFcXVpZmF4
+IFNlY3VyZSBHbG9iYWwgZUJ1c2luZXNzIENBLTEwHhcNMDYwNzAzMTEyOTAzWhcN
+MDkwNzAzMTEyOTAzWjCB3zELMAkGA1UEBhMCU0UxGDAWBgNVBAoTD3d3dy5yZWxh
+a2tzLmNvbTE4MDYGA1UECxMvYnVzaW5lc3Nwcm9maWxlLmdlb3RydXN0LmNvbS9n
+ZXQuanNwP0dUMjUzNDI1NjYxMTAvBgNVBAsTKFNlZSB3d3cuZ2VvdHJ1c3QuY29t
+L3Jlc291cmNlcy9jcHMgKGMpMDUxLzAtBgNVBAsTJkRvbWFpbiBDb250cm9sIFZh
+bGlkYXRlZCAtIFF1aWNrU1NMKFIpMRgwFgYDVQQDEw93d3cucmVsYWtrcy5jb20w
+gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL77GWG65k1hoA4+G9pETbmzq7Cw
+rxB9NnxQ/TZCaQYuMganKJzRRqDDyX4tcJFcXmhDrRWj9wYYoWlsm3y14hiBvDFK
+H9xcod/KEFkm7Yh2ksBxNeijNsMcYoC79QQtr4Z6LCNiivkjvaxM2ozasJdVrcbn
+Y/LmQCcN6IvN7+a/AgMBAAGjgb0wgbowDgYDVR0PAQH/BAQDAgTwMB0GA1UdDgQW
+BBThvmeVe31jE/7Jy0CtPLR23EKNgDA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8v
+Y3JsLmdlb3RydXN0LmNvbS9jcmxzL2dsb2JhbGNhMS5jcmwwHwYDVR0jBBgwFoAU
+vqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF
+BwMCMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQADgYEAkJTRyzTfour5CL6t
+k6R9s3RwoQBIHLpHEPHqGfD45RvXxwwn3QZDuFjUk6PvzTehfMuMU1L9u1kTk1++
+HUmUsAOKNRbkwOMc00wqo4LfUuYEXdoW4F8TVQD++Rx3zDbzMXQ7i1duXhIUkzEi
+A7sCn9f6ss0R1pb8f9dsFDAFMTM=
+-----END CERTIFICATE-----
Added: torflow/trunk/certs/www.relakks.com.pem
===================================================================
--- torflow/trunk/certs/www.relakks.com.pem 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/certs/www.relakks.com.pem 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDcDCCAtmgAwIBAgIDBDtPMA0GCSqGSIb3DQEBBAUAMFoxCzAJBgNVBAYTAlVT
+MRwwGgYDVQQKExNFcXVpZmF4IFNlY3VyZSBJbmMuMS0wKwYDVQQDEyRFcXVpZmF4
+IFNlY3VyZSBHbG9iYWwgZUJ1c2luZXNzIENBLTEwHhcNMDYwNzAzMTEyOTAzWhcN
+MDkwNzAzMTEyOTAzWjCB3zELMAkGA1UEBhMCU0UxGDAWBgNVBAoTD3d3dy5yZWxh
+a2tzLmNvbTE4MDYGA1UECxMvYnVzaW5lc3Nwcm9maWxlLmdlb3RydXN0LmNvbS9n
+ZXQuanNwP0dUMjUzNDI1NjYxMTAvBgNVBAsTKFNlZSB3d3cuZ2VvdHJ1c3QuY29t
+L3Jlc291cmNlcy9jcHMgKGMpMDUxLzAtBgNVBAsTJkRvbWFpbiBDb250cm9sIFZh
+bGlkYXRlZCAtIFF1aWNrU1NMKFIpMRgwFgYDVQQDEw93d3cucmVsYWtrcy5jb20w
+gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL77GWG65k1hoA4+G9pETbmzq7Cw
+rxB9NnxQ/TZCaQYuMganKJzRRqDDyX4tcJFcXmhDrRWj9wYYoWlsm3y14hiBvDFK
+H9xcod/KEFkm7Yh2ksBxNeijNsMcYoC79QQtr4Z6LCNiivkjvaxM2ozasJdVrcbn
+Y/LmQCcN6IvN7+a/AgMBAAGjgb0wgbowDgYDVR0PAQH/BAQDAgTwMB0GA1UdDgQW
+BBThvmeVe31jE/7Jy0CtPLR23EKNgDA7BgNVHR8ENDAyMDCgLqAshipodHRwOi8v
+Y3JsLmdlb3RydXN0LmNvbS9jcmxzL2dsb2JhbGNhMS5jcmwwHwYDVR0jBBgwFoAU
+vqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUF
+BwMCMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQEEBQADgYEAkJTRyzTfour5CL6t
+k6R9s3RwoQBIHLpHEPHqGfD45RvXxwwn3QZDuFjUk6PvzTehfMuMU1L9u1kTk1++
+HUmUsAOKNRbkwOMc00wqo4LfUuYEXdoW4F8TVQD++Rx3zDbzMXQ7i1duXhIUkzEi
+A7sCn9f6ss0R1pb8f9dsFDAFMTM=
+-----END CERTIFICATE-----
Modified: torflow/trunk/metatroller.py
===================================================================
--- torflow/trunk/metatroller.py 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/metatroller.py 2007-02-11 03:21:23 UTC (rev 9554)
@@ -5,7 +5,6 @@
Metatroller - Tor Meta controller
"""
-
import TorCtl
import atexit
import sys
@@ -14,7 +13,8 @@
import traceback
import re
import random
-import time
+import datetime
+import threading
from TorUtil import *
routers = {} # indexed by idhex
@@ -29,15 +29,33 @@
circuits = {} # map from ID # to circuit object
streams = {} # map from stream id to circuit
-exit_port_idx = {} # Used in ordered exits mode
+version = "0.1.0-dev"
+
# TODO: Move these to config file
# TODO: Option to ignore guard flag
control_host = "127.0.0.1"
-control_port = 9061
+control_port = 9051
+meta_host = "127.0.0.1"
+meta_port = 9052
max_detach = 3
+order_exits = False
+# Thread shared variables. Relying on GIL for weak atomicity (really
+# we only care about corruption.. GIL prevents that, so no locking needed)
+# http://effbot.org/pyfaq/can-t-we-get-rid-of-the-global-interpreter-lock.htm
+# http://effbot.org/pyfaq/what-kinds-of-global-value-mutation-are-thread-safe.htm
+last_exit = None
+resolve_port = 0
+percent_fast = 100
+percent_skip = 0
+pathlen = 3
+min_bw = 0
+num_circuits = 1 # TODO: Use
+use_all_exits = False
+new_nym = False
+
# Technically we could just add member vars as we need them, but this
# is a bit more clear
class MetaRouter(TorCtl.Router):
@@ -56,7 +74,7 @@
self.built = False
self.detached_cnt = 0
self.used_cnt = 0
- self.created_at = time.time()
+ self.created_at = datetime.datetime.now()
self.pending_streams = [] # Which stream IDs are pending us
@@ -70,30 +88,94 @@
self.port = port
# TODO: Obviously we need other node selector implementations
+# - BwWeightedSelector
+# - Restrictors (puts self.r_is_ok() into list):
+# - Subnet16
+# - AvoidWastingExits
+# - VersionRange (Less than, greater than, in-range)
+# - OSSelector (ex Yes: Linux, *BSD; No: Windows, Solaris)
+# - OceanPhobicRestrictor (avoids Pacific Ocean or two atlantic crossings)
+# - Mathematical proof of predecessor expectation
+# - If middle node is on the same continent as exit, exit learns nothing
+# - else, exit knows the continent of origin of user
+# - Language and browser accept string determine this anyway
+# - ExitCountry
+# - AllCountry
class UniformSelector(TorCtl.NodeSelector):
"Uniform node selection"
- # FIXME: Technically we should obey fast and valid
+
+ next_exit_by_port = {} # class member (aka C++ 'static')
+
+ def __init__(self, host, port):
+ if not port:
+ plog("DEBUG", "Using resolve: "+host+":"+str(resolve_port))
+ port = resolve_port
+ TorCtl.NodeSelector.__init__(self, host, port)
+ self.pct_fast = percent_fast
+ self.pct_skip = percent_skip
+ self.min_bw = min_bw
+ self.order_exits = order_exits
+ self.all_exits = use_all_exits
+
+ def r_is_ok(self, r):
+ if r.bw < self.min_bw or not r.valid or not r.fast:
+ return False
+ else:
+ return True
+
+ def pick_r(self, r_list):
+ idx = random.randint(len(r_list)*self.pct_skip/100,
+ len(r_list)*self.pct_fast/100)
+ return r_list[idx]
+
def entry_chooser(self, path):
- r = random.choice(sorted_g)
- while r.idhex in path:
- r = random.choice(sorted_g)
+ r = self.pick_r(sorted_g)
+ while not self.r_is_ok(r) or r.idhex in path:
+ r = self.pick_r(sorted_g)
return r
def middle_chooser(self, path):
- r = random.choice(sorted_r)
- while r.idhex in path:
- r = random.choice(sorted_r)
+ r = self.pick_r(sorted_r)
+ while not self.r_is_ok(r) or r.idhex in path:
+ r = self.pick_r(sorted_r)
return r
def exit_chooser(self, path):
+ if self.order_exits:
+ if self.to_port not in self.next_exit_by_port or self.next_exit_by_port[self.to_port] >= len(sorted_r):
+ self.next_exit_by_port[self.to_port] = 0
+
+ r = sorted_r[self.next_exit_by_port[self.to_port]]
+ self.next_exit_by_port[self.to_port] += 1
+ while not r.will_exit_to(self.to_ip, self.to_port):
+ r = sorted_r[self.next_exit_by_port[self.to_port]]
+ self.next_exit_by_port[self.to_port] += 1
+ if self.next_exit_by_port[self.to_port] >= len(sorted_r):
+ self.next_exit_by_port[self.to_port] = 0
+ return r
+
+ # FIXME: This should apply to ORDEREXITS (for speedracer?)
+ if self.all_exits:
+ min_bw = self.min_bw
+ pct_fast = self.pct_fast
+ pct_skip = self.pct_skip
+ self.min_bw = self.pct_skip = 0
+ self.pct_fast = 100
+
allowed = []
for r in sorted_r:
- if r.will_exit_to(self.to_ip, self.to_port):
+ if self.r_is_ok(r) and not r.badexit and r.will_exit_to(self.to_ip, self.to_port):
allowed.append(r)
- r = random.choice(allowed)
+ r = self.pick_r(allowed)
while r.idhex in path:
- r = random.choice(allowed)
+ r = self.pick_r(allowed)
+
+ if self.all_exits:
+ self.min_bw = min_bw
+ self.pct_fast = pct_fast
+ self.pct_skip = pct_skip
+
return r
@@ -130,6 +212,9 @@
total_g_bw += r.bw
sorted_g.append(r)
+# TODO: Make passive mode so people can get aggregate node reliability
+# stats for normal usage without us attaching streams
+
# Make eventhandler
class SnakeHandler(TorCtl.EventHandler):
def __init__(self, c):
@@ -137,20 +222,39 @@
self.c = c
def attach_stream_any(self, stream, badcircs):
+ # Newnym, and warn if not built plus pending
+ unattached_streams = [stream]
+ global new_nym
+ if new_nym:
+ new_nym = False
+ plog("DEBUG", "Obeying new nym")
+ for key in circuits.keys():
+ if len(circuits[key].pending_streams):
+ plog("WARN", "New nym called, destroying circuit "+str(key)
+ +" with "+str(len(circuits[key].pending_streams))
+ +" pending streams")
+ unattached_streams.extend(circuits[key].pending_streams)
+ # FIXME: Consider actually closing circ if no streams.
+ # Or send Tor a SIGNAL NEWNYM and let it do it.
+ del circuits[key]
+
for circ in circuits.itervalues():
if circ.built and circ.cid not in badcircs:
if circ.exit.will_exit_to(stream.host, stream.port):
self.c.attach_stream(stream.sid, circ.cid)
- stream.pending_circ = None
- stream.circ = circ
- circ.used_cnt += 1
+ stream.pending_circ = circ # Only one stream possible here
+ circ.pending_streams.append(stream)
break
else:
- circ = MetaCircuit(self.c.build_circuit(3,
+ circ = MetaCircuit(self.c.build_circuit(pathlen,
UniformSelector(stream.host, stream.port)))
- stream.pending_circ = circ
- circ.pending_streams.append(stream)
+ for u in unattached_streams:
+ plog("DEBUG", "Attach pending build: "+str(u.sid))
+ u.pending_circ = circ
+ circ.pending_streams.extend(unattached_streams)
circuits[circ.cid] = circ
+ global last_exit # Last attempted exit
+ last_exit = circ.exit
def circ_status(self, eventtype, circID, status, path, reason, remote):
output = [eventtype, str(circID), status]
@@ -159,11 +263,14 @@
if remote: output.append("REMOTE_REASON=" + remote)
plog("DEBUG", " ".join(output))
# Circuits we don't control get built by Tor
- if circID not in circuits: return
+ if circID not in circuits:
+ plog("DEBUG", "Ignoring circ " + str(circID))
+ return
if status == "FAILED" or status == "CLOSED":
circ = circuits[circID]
del circuits[circID]
for stream in circ.pending_streams:
+ plog("DEBUG", "Finding new circ for " + str(stream.sid))
self.attach_stream_any(stream, stream.detached_from)
elif status == "BUILT":
circuits[circID].built = True
@@ -190,16 +297,33 @@
if streamID not in streams:
plog("WARN", "Detached stream "+str(streamID)+" not found")
streams[streamID] = Stream(streamID, target_host, target_port)
- # FIXME Stats
+ # FIXME Stats (differentiate Resolved streams also..)
if not circID:
plog("WARN", "Stream "+str(streamID)+" detached from no circuit!")
else:
streams[streamID].detached_from.append(circID)
+
+ if streams[streamID] in streams[streamID].pending_circ.pending_streams:
+ streams[streamID].pending_circ.pending_streams.remove(streams[streamID])
+ streams[streamID].pending_circ = None
self.attach_stream_any(streams[streamID],
streams[streamID].detached_from)
+ elif status == "SUCCEEDED":
+ if streamID not in streams:
+ plog("NOTICE", "Succeeded stream "+str(streamID)+" not found")
+ return
+ streams[streamID].circ = streams[streamID].pending_circ
+ streams[streamID].circ.pending_streams.remove(streams[streamID])
+ streams[streamID].pending_circ = None
+ streams[streamID].circ.used_cnt += 1
elif status == "FAILED" or status == "CLOSED":
# FIXME stats
+ if status == "FAILED": # We get failed and closed for each stream
+ return
+ if streamID not in streams:
+ plog("NOTICE", "Failed stream "+str(streamID)+" not found")
+ return
if streams[streamID].pending_circ:
streams[streamID].pending_circ.pending_streams.remove(streams[streamID])
del streams[streamID]
@@ -225,12 +349,122 @@
plog("DEBUG", "Read " + str(len(identities)) + " desc => "
+ str(len(sorted_r)) + " routers")
-def metaloop(c):
+
+def commandloop(s):
+ s.write("220 Welcome to the Tor Metatroller "+version+"! Try HELP for Info\r\n\r\n")
+ while 1:
+ buf = s.readline()
+ if not buf: break
+
+ m = re.search(r"^(\S+)(?:\s(\S+))?", buf)
+ if not m:
+ s.write("500 Guido insults you for thinking '"+buf+
+ "' could possibly be a metatroller command\r\n")
+ continue
+ (command, arg) = m.groups()
+ if command == "GETLASTEXIT":
+ le = last_exit # Consistency (avoids need for lock w/ GIL)
+ s.write("250 LASTEXIT=$"+le.idhex.upper()+" ("+le.name+") OK\r\n")
+ elif command == "NEWEXIT" or command == "NEWNYM":
+ global new_nym
+ new_nym = True
+ plog("DEBUG", "Got new nym")
+ s.write("250 NEWNYM OK\r\n")
+ elif command == "GETDNSEXIT":
+ pass # TODO
+ elif command == "RESETSTATS":
+ s.write("250 OK\r\n")
+ elif command == "ORDEREXITS":
+ global order_exits
+ try:
+ if arg: order_exits = int(arg)
+ s.write("250 ORDEREXITS="+str(order_exits)+" OK\r\n")
+ except ValueError:
+ s.write("510 Integer expected\r\n")
+ elif command == "USEALLEXITS":
+ global use_all_exits
+ try:
+ if arg: use_all_exits = int(arg)
+ s.write("250 USEALLEXITS="+str(use_all_exits)+" OK\r\n")
+ except ValueError:
+ s.write("510 Integer expected\r\n")
+ elif command == "PRECIRCUITS":
+ global num_circuits
+ try:
+ if arg: num_circuits = int(arg)
+ s.write("250 PRECIRCUITS="+str(num_circuits)+" OK\r\n")
+ except ValueError:
+ s.write("510 Integer expected\r\n")
+ elif command == "RESOLVEPORT":
+ global resolve_port
+ try:
+ if arg: resolve_port = int(arg)
+ s.write("250 RESOLVEPORT="+str(resolve_port)+" OK\r\n")
+ except ValueError:
+ s.write("510 Integer expected\r\n")
+ elif command == "PERCENTFAST":
+ global percent_fast
+ try:
+ if arg: percent_fast = int(arg)
+ s.write("250 PERCENTFAST="+str(percent_fast)+" OK\r\n")
+ except ValueError:
+ s.write("510 Integer expected\r\n")
+ elif command == "PERCENTSKIP":
+ global percent_skip
+ try:
+ if arg: percent_skip = int(arg)
+ s.write("250 PERCENTSKIP="+str(percent_skip)+" OK\r\n")
+ except ValueError:
+ s.write("510 Integer expected\r\n")
+ elif command == "BWCUTOFF":
+ global min_bw
+ try:
+ if arg: min_bw = int(arg)
+ s.write("250 BWCUTOFF="+str(min_bw)+" OK\r\n")
+ except ValueError:
+ s.write("510 Integer expected\r\n")
+ elif command == "UNIFORM":
+ s.write("250 OK\r\n")
+ elif command == "PATHLEN":
+ global pathlen
+ try:
+ if arg: pathlen = int(arg)
+ s.write("250 PATHLEN="+str(pathlen)+" OK\r\n")
+ except ValueError:
+ s.write("510 Integer expected\r\n")
+ elif command == "SETEXIT":
+ s.write("250 OK\r\n")
+ elif command == "GUARDNODES":
+ s.write("250 OK\r\n")
+ elif command == "SAVESTATS":
+ s.write("250 OK\r\n")
+ elif command == "RESETSTATS":
+ s.write("250 OK\r\n")
+ elif command == "HELP":
+ s.write("250 OK\r\n")
+ else:
+ s.write("510 Guido slaps you for thinking '"+command+
+ "' could possibly be a metatroller command\r\n")
+ s.close()
+
+def cleanup(c, s):
+ c.set_option("__LeaveStreamsUnattached", "0")
+ s.close()
+
+def listenloop(c):
"""Loop that handles metatroller commands"""
nslist = c.get_network_status()
read_routers(c, nslist)
+ c.set_option("__LeaveStreamsUnattached", "1")
plog("INFO", "Read "+str(len(sorted_r))+"/"+str(len(nslist))+" routers")
- # XXX: Loop for commands on socket
+ srv = ListenSocket(meta_host, meta_port)
+ atexit.register(cleanup, *(c, srv))
+ while 1:
+ client = srv.accept()
+ if not client: break
+ thr = threading.Thread(None, lambda: commandloop(BufSock(client)))
+ thr.run()
+ srv.close()
def main(argv):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
@@ -239,14 +473,10 @@
c.set_event_handler(SnakeHandler(c))
th = c.launch_thread()
c.authenticate()
- atexit.register(lambda:
- c.set_option("__LeaveStreamsUnattached", "0"))
- c.set_option("__LeaveStreamsUnattached", "1")
c.set_events([TorCtl.EVENT_TYPE.STREAM,
TorCtl.EVENT_TYPE.NS,
TorCtl.EVENT_TYPE.CIRC,
TorCtl.EVENT_TYPE.NEWDESC], True)
- metaloop(c)
- th.join()
+ listenloop(c)
main(sys.argv)
Added: torflow/trunk/soat.pl
===================================================================
--- torflow/trunk/soat.pl 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/soat.pl 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,1108 @@
+#!/usr/bin/perl -w
+
+# ZOMG SNAKES ON A TOR1111 - v0.0.5
+
+use strict;
+use IO::Socket;
+use IO::Socket::INET;
+
+my $META_PORT = "9052";
+my $META_HOST = "127.0.0.1";
+
+my $WORD_LIST = "./wordlist.txt";
+my $CERT_DIR = "./certs";
+my $DOC_DIR = "./docs";
+my $USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1) Gecko/20061010 Firefox/2.0";
+#my $USER_AGENT = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)";
+
+#Privoxy is a bad idea since it rewrites shit that will mess with our
+#baseline md5s of html
+my $SOCKS_PROXY = "127.0.0.1:9050";
+
+my @TO_SCAN = ("ssl", "urls");
+my $ALLOW_NEW_SSL_IPS = 1;
+
+# doc and ppt may also be good ones to check.. They are frequently vulnerable
+# also, since we automatically weed out dynamic content, you can also add
+# php, cgi, etc to this list.. The multiple "all" filetypes mean 2 * 5 sets
+# of results without a filetype. Hopefully we can snag some static php,
+# shtml, cgi files.
+my @FILETYPES = ("all", "all"); #"xpi", "exe", "msi", "doc", "ppt", "all", "all");
+my $RESULTS_PER_TYPE = 3;
+
+# Maxium number of tries before giving up on a URL
+my $MAX_TRIES = 3;
+
+# Urls to fetch in addition to queried ones.
+# These should end in one of the @FILETYPES extensions so failures
+# are stored properly.
+my @DOC_URLS = (
+# "http://www.cypherpunks.ca/otr/index.html",
+# "http://www.cypherpunks.ca/otr/press/index.html"
+);
+
+my @HTTPS_SITES = (
+ "www.paypal.com",
+ "www.e-gold.com",
+ "chase.com",
+# "bankusa.com",
+# "citibank.com",
+# "www.mailvault.com",
+ "mail.google.com",
+ "www.relakks.com",
+ "www.hushmail.com",
+ "login.yahoo.com",
+ "www.fastmail.fm",
+ "addons.mozilla.org"
+);
+
+
+my $LOG_LEVEL = "DEBUG";
+my %log_levels = ("DEBUG", 0, "INFO", 1, "NOTICE", 2, "WARN", 3, "ERROR", 4);
+
+
+my %mt_circ_sel_counts;
+my %mt_strm_sel_counts;
+my %mt_reason_counts;
+my %mt_fail_counts;
+my %mt_fail_totals; # actually 5 vars in metatroller
+
+my %mt_suspect_circ_sel_counts;
+my %mt_suspect_strm_sel_counts;
+my %mt_suspect_reason_counts;
+my %mt_suspect_counts;
+
+my %total_circ_sel_counts;
+my %total_strm_sel_counts;
+my %total_reason_counts;
+my %total_fail_counts;
+my %total_fail_totals; # actually 5 vars in metatroller
+
+my %total_suspect_circ_sel_counts;
+my %total_suspect_strm_sel_counts;
+my %total_suspect_counts;
+my %total_suspect_reason_counts;
+
+
+my %key_names;
+
+sub plog
+{
+ my $level = shift;
+ my $msg = shift;
+ my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
+
+ $year += 1900; # lame.
+ $mon += 1;
+
+ #print "$level \[$year-$mon-$mday $hour:$min:$sec\]: " . $msg if($log_levels{$level} >= $log_levels{$LOG_LEVEL})
+ print "$level \[" . localtime() . "\]: " . $msg if($log_levels{$level} >= $log_levels{$LOG_LEVEL})
+}
+
+sub is_in
+{
+ my $element = shift;
+ my $ary = shift;
+ my $is_there = 0;
+ foreach (@$ary) {
+ if ($_ eq $element) {
+ $is_there = 1;
+ last;
+ }
+ }
+
+ return $is_there;
+}
+
+sub compare_arrays {
+ my ($first, $second) = @_;
+ no warnings; # silence spurious -w undef complaints
+ return 0 unless @$first == @$second;
+ for (my $i = 0; $i < @$first; $i++) {
+ return 0 if $first->[$i] ne $second->[$i];
+ }
+ return 1;
+}
+
+
+sub get_doc_list
+{
+ my @words = &load_wordlist($WORD_LIST);
+ my @returns = &get_url_list(@words);
+
+ return @returns;
+}
+
+sub load_wordlist
+{
+ my @wordlist;
+
+ open(WORDFILE, '<', $_[0]);
+ while (<WORDFILE>) {s/\n//; s/\r//; push(@wordlist, $_);}
+ close(WORDFILE);
+
+ return @wordlist;
+}
+
+sub get_url_list
+{
+ my @wordlist = @_;
+ my @returns;
+
+ # Get a few URL's for each file type
+ foreach (@FILETYPES) {
+ my @prereturns;
+ my @urls;
+ my $type = $_;
+ mkdir("$DOC_DIR/$_");
+
+ my $numresults = $RESULTS_PER_TYPE;
+ while($#prereturns+1 < $numresults) {
+
+ my @queries = ($wordlist[int(rand(@wordlist))],
+ $wordlist[int(rand(@wordlist))],
+ $wordlist[int(rand(@wordlist))]);
+
+ foreach(@queries) {
+ my @queryret = &discover_urls($type, $_);
+ foreach(@queryret) {
+ push(@prereturns, $_) if(not is_in($_, \@prereturns));
+ }
+ }
+ }
+ for(my $i = 0; $i < $numresults;) {
+ my $url = $prereturns[int(rand(@prereturns))];
+ if(not is_in($url, \@urls)) {
+ push(@returns, $url);
+ push(@urls, $url);
+ $i++;
+ }
+ }
+ plog "INFO", "URL List for $type:\n " . join("\n ", @urls) . "\n\n";
+ }
+
+
+ return @returns;
+}
+
+
+sub discover_urls
+{
+ my $filetype = shift;
+ my $query = shift;
+ my @results;
+ my @returns;
+
+ # Craft Google URL
+ my $base_url = "http://www.google.com/search?q=";
+ my $url;
+ if($filetype eq "all") {
+ $url = $base_url . $query;
+ } else {
+ $url = $base_url . $query . "+filetype%3A" . $filetype;
+ }
+
+ # Execute this query
+ open(QUERY, '-|', "wget -T 600 -U \"$USER_AGENT\" \'$url\' -O - 2> /dev/null");
+ #open(QUERY, '-|', "curl -A \"$USER_AGENT\" \'$url\' 2> /dev/null");
+ @results = <QUERY>;
+ close(QUERY);
+
+ # Extract all valid URLS
+ my $line = join('', @results);
+ if($filetype eq "all") {
+ @results = $line =~ /http:\/\/[^<>\s"]+/g;
+ } else {
+ @results = $line =~ /http:\/\/[^<>\?\&#"]+\.$filetype/g;
+ }
+
+ # Filter out links to google services and cgi
+ foreach (@results) {
+ if (not /oxyshare/) { #and not /google/) {
+ push(@returns, $_);
+ }
+ }
+
+ return @returns;
+}
+
+sub get_https_list()
+{
+ return \@HTTPS_SITES;
+}
+
+sub query_exit
+{
+ my $mcp = shift;
+ my $line;
+ my $exit;
+ print $mcp "GETLASTEXIT\r\n";
+ $line = <$mcp>;
+ $line =~ /LASTEXIT=([\S]+)/;
+ $exit = $1;
+
+ if($exit eq "0") {
+ plog "NOTICE", "Got 0 exit\n";
+ }
+
+ return $exit;
+}
+
+sub openssl_check_one
+{
+ my $mcp = shift;
+ my $ssl_host = shift;
+ my $cert_dir = shift;
+ my $resolve = shift;
+ my $empty_ssl = 1;
+ my $resolv_exit;
+ my $ssl_ip;
+ my $fq_ssl;
+ my @ssl_data;
+ my @ssl_cert;
+ my $i;
+
+
+ if($resolve) {
+ do {
+ if(not open(TORRESOLVE, '-|', "tor-resolve $ssl_host $SOCKS_PROXY")) {
+ die "Cant call tor-resolve for $ssl_host";
+ }
+
+ $ssl_ip = <TORRESOLVE>;
+ chomp($ssl_ip) if($ssl_ip);
+ close(TORRESOLVE);
+ if(not $ssl_ip) {
+ plog "NOTICE", "tor-resolve failed to resolve $ssl_host\n";
+ }
+ } while(not $ssl_ip or not $ssl_ip =~ /^[\d]+/);
+
+ $resolv_exit = query_exit($mcp);
+
+ # Redundant, but keeping in case we need to add a max_tries counter..
+ if(not $ssl_ip or not $ssl_ip =~ /^[\d]+/) {
+ plog "WARN", "tor-resolve failed to resolve $ssl_host\n";
+ $ssl_ip = $fq_ssl = $ssl_host;
+ } else {
+ $fq_ssl = $ssl_host . "-" . $ssl_ip;
+ }
+ } else {
+ $ssl_ip = $fq_ssl = $ssl_host;
+ }
+
+ my $cmd = "echo | tsocks openssl s_client -connect " . $ssl_ip . ":443 2> /dev/null";
+ open(OPENSSL, '-|', $cmd);
+
+ @ssl_data = <OPENSSL>;
+
+ for($i = 0; $i <= $#ssl_data; $i++) {
+ if($ssl_data[$i] =~ /BEGIN CERTIFICATE/) {
+ $empty_ssl = 0;
+ while(not $ssl_data[$i] =~ /END CERTIFICATE/) {
+ push(@ssl_cert, $ssl_data[$i]);
+ $i++;
+ }
+ push(@ssl_cert, $ssl_data[$i]);
+ last;
+ }
+ }
+
+ close(OPENSSL);
+
+ if($empty_ssl) {
+ my $exit_node = query_exit($mcp);
+ plog "WARN", "$exit_node closed SSL for $fq_ssl before we got a cert\n";
+ return 0;
+ }
+
+ my $cert_exists = 0;
+
+ if(not ($cert_exists = open(CERTFILE, '<', $cert_dir . "/" . $fq_ssl . ".pem"))
+ and $ALLOW_NEW_SSL_IPS) {
+ plog "INFO", "Cert $fq_ssl never seen before. Storing it.\n";
+ open(CERTFILE, '>', $cert_dir . "/" . $fq_ssl . ".pem");
+ print CERTFILE @ssl_cert;
+ close(CERTFILE);
+ } else {
+ my $exit_node = query_exit($mcp);
+ my @stored_cert;
+
+ if($cert_exists) {
+ @stored_cert = <CERTFILE>;
+ close(CERTFILE);
+ }
+
+ if(not $exit_node eq $resolv_exit) {
+ plog "NOTICE", "SSL fetch exit $exit_node is not the resolution exit ($resolv_exit)\n";
+ $exit_node = $exit_node . "+" . $resolv_exit;
+ }
+
+ if($cert_exists and compare_arrays(\@stored_cert, \@ssl_cert)) {
+ plog "DEBUG", "Cert $fq_ssl OK\n";
+ } else {
+
+ if($cert_exists) {
+ plog "WARN", "Error on cert $fq_ssl for exit $exit_node\n";
+ } else {
+ plog "WARN", "New unseen cert IP $fq_ssl for exit $exit_node\n";
+ }
+ my $i = 0;
+ for($i = 0; (stat($cert_dir . "/ERRORS/" . $fq_ssl . ".pem-" . $exit_node . "-$i"))[0]; $i++)
+ { }
+
+ open(CERTFILE, '>', $cert_dir . "/ERRORS/" . $fq_ssl . ".pem" .
+ "-" . $exit_node . "-$i");
+ print CERTFILE @ssl_data;
+ close(CERTFILE);
+
+ }
+
+ }
+ return 1;
+}
+
+sub openssl_check_all
+{
+ my $mcp = shift;
+ my $ssl_list = shift;
+
+ print $mcp "RESOLVEPORT 443\r\n";
+ my $line = <$mcp>;
+ die "Error setting resolution port: $line" if (not $line =~ /^250/);
+
+ foreach(@$ssl_list) {
+ print $mcp "NEWEXIT\r\n";
+ $line = <$mcp>;
+ die "Error on newnym: $line\r\n" if(not $line =~ /^250/);
+ for(my $try = 0; $try < $MAX_TRIES; $try++) {
+ last if openssl_check_one($mcp, $_, $CERT_DIR, 1);
+ }
+ }
+ plog "INFO", "Checked all SSL certs\n";
+}
+
+sub load_table
+{
+ my $table = shift;
+ my $file = shift;
+ my @hash_list;
+
+ if(not open(TABLEFILE, '<', $file)) {
+ return;
+ }
+
+ @hash_list = <TABLEFILE>;
+ chomp(@hash_list);
+ %$table = @hash_list;
+
+ close(TABLEFILE);
+}
+
+sub write_table
+{
+ my $table = shift;
+ my $file = shift;
+
+ if(not open(TABLEFILE, '>', $file)) {
+ die "Can't open $file to save md5 state table";
+ }
+
+ while (my($k,$v) = each %$table) {
+ print TABLEFILE "$k\n$v\n";
+ }
+
+ close(TABLEFILE);
+}
+
+sub docs_check_one
+{
+ my $mcp = shift;
+ my $doc_url = shift;
+ my $md5_table = shift;
+ my $doc_dir = shift;
+ my $tsocks = shift;
+ my $md5;
+ my $exit_node = "unknown";
+ my $line;
+
+ plog "DEBUG", "$doc_url\n";
+ my $ret = system("$tsocks wget -T 600 -U \"$USER_AGENT\" \'$doc_url\' -O $doc_dir/tmp-$tsocks >& /dev/null");
+ #my $ret =
+ # system("$tsocks curl -m 1200 -A \"$USER_AGENT\" \'$doc_url\' -o $doc_dir/tmp-$tsocks &> /dev/null");
+
+ if($tsocks eq "") {
+ $exit_node = "none. (Direct test)";
+ } else {
+ $exit_node = query_exit($mcp);
+ }
+
+ # TODO: It may be nice to make a metatroller REPORTFAILURE command
+ # to cover the event where wget's internal timeout was triggered before
+ # Tors. Download rate info would also be nice for stats.
+ if($ret != 0) {
+ if($ret == 2) {
+ plog "NOTICE", "wget got SIGINT. Exiting\n";
+ exit;
+ }
+ plog "NOTICE", "wget returned $? for |$doc_url| at $exit_node\n";
+ return -1;
+ }
+
+ if(not open(MD5SUM, '-|', "md5sum $doc_dir/tmp-$tsocks")) {
+ plog "WARN", "md5sum pipe failed for |$doc_url| at $exit_node\n";
+ return -1;
+ }
+
+ $md5 = <MD5SUM>;
+ if(not $md5) {
+ plog "WARN", "Failed to read MD5 from pipe for |$doc_url| at $exit_node\n";
+ return -1;
+ }
+
+ $md5 =~ s/[\s]*$doc_dir\/tmp-$tsocks$//;
+ chomp($md5);
+
+ close(MD5SUM);
+
+ plog "DEBUG", " = $md5\n";
+
+ if(not defined($$md5_table{$doc_url})) {
+ $$md5_table{$doc_url} = $md5;
+ } elsif (not $$md5_table{$doc_url} eq $md5) {
+ my $new_url = $doc_url;
+
+ $new_url =~ s/\//\\/g;
+ $new_url =~ /\.([^\s\.]+)$/;
+ my $extn = $1;
+ if(not $extn or not is_in($extn, \@FILETYPES)) {
+ $extn = "all";
+ }
+
+
+ if(not $tsocks eq "") {
+ my $i = 0;
+
+ if(not docs_check_one($mcp, $doc_url, $md5_table, $doc_dir, "")) {
+ # Doc has actually changed..
+ return 2;
+ }
+
+ for($i = 0; (stat("$doc_dir/$extn/$new_url-$exit_node-$i"))[0]; $i++)
+ { }
+ rename("$doc_dir/tmp-$tsocks", "$doc_dir/$extn/$new_url-$exit_node-$i");
+ plog "WARN", "Mismatch of md5 for $doc_url ($extn) at $exit_node (|$md5| vs |$$md5_table{$doc_url}|)\n";
+ }
+
+ return 0;
+ }
+ return 1;
+}
+
+sub docs_test_all
+{
+ my $mcp = shift;
+ my $doc_list = shift;
+ my $doc_dir = shift;
+ my @killed;
+ my %doc_table;
+ my $md5;
+
+ load_table(\%doc_table, $doc_dir . "/md5_table");
+
+ for(my $i = 0; $i <= $#$doc_list; $i++) {
+ if(docs_check_one($mcp, $$doc_list[$i], \%doc_table, $doc_dir, "") <= 0) {
+ push(@killed, $$doc_list[$i]);
+ splice(@$doc_list, $i, 1);
+ $i--;
+ }
+ }
+
+ write_table(\%doc_table, $doc_dir . "/md5_table");
+
+ if($#killed >= 0) {
+ plog "NOTICE", "Discarded " . ($#killed+1) . " dead/dynamic url(s):\n " . join("\n ", @killed) . "\n\n";
+ }
+}
+
+sub docs_check_all
+{
+ my $mcp = shift;
+ my $doc_list = shift;
+ my $doc_dir = shift;
+ my %doc_table;
+ my $md5;
+
+ print $mcp "RESOLVEPORT 80\r\n";
+ my $line = <$mcp>;
+ die "Error setting resolution port: $line" if (not $line =~ /^250/);
+
+ load_table(\%doc_table, $doc_dir . "/md5_table");
+
+ for(my $i = 0; $i <= $#$doc_list; $i++) {
+ my $ret = 0;
+ print $mcp "NEWEXIT\r\n";
+ $line = <$mcp>;
+ die "Error on newnym: $line\r\n" if(not $line =~ /^250/);
+ for(my $try = 0; $try < $MAX_TRIES; $try++) {
+ last if (($ret = docs_check_one($mcp, $$doc_list[$i], \%doc_table, $doc_dir, "tsocks")) >= 0);
+ }
+
+ if($ret == 2) {
+ # Splice it. Change $i
+ plog "NOTICE", $$doc_list[$i] . " has changed independent of Tor. Removing...\n";
+ splice(@$doc_list, $i, 1);
+ $i--;
+ }
+ }
+
+ write_table(\%doc_table, $doc_dir . "/md5_table");
+ plog "INFO", "Checked all urls\n";
+}
+
+sub openssh_check_one
+{
+ my $mcp = shift;
+ my $key_file = shift;
+ my $host = shift;
+ my $resolve = shift;
+ my $resolv_exit;
+ my $host_ip;
+ my $fq_host;
+ my @usernames = ("root", "operator", "bin", "nobody", "sshd", "news");
+ my @result;
+ my $username = $usernames[int(rand(@usernames))];
+
+
+ # TODO: http://www.monkey.org/~provos/scanssh/
+
+ plog "DEBUG", "Host: |$host|\n";
+ do {
+ if(not open(TORRESOLVE, '-|', "tor-resolve $host $SOCKS_PROXY")) {
+ die "Cant call tor-resolve for $host";
+ }
+
+ $host_ip = <TORRESOLVE>;
+ chomp($host_ip) if($host_ip);
+ close(TORRESOLVE);
+ if(not $host_ip or not $host_ip =~ /^[\d]+/) {
+ plog "NOTICE", "tor-resolve failed to resolve |$host|\n";
+ }
+
+ } while(not $host_ip or not $host_ip =~ /^[\d]+/);
+
+ $resolv_exit = query_exit($mcp);
+
+ # Redundant, but maybe we want a max tries..
+ if(not $host_ip or not $host_ip =~ /^[\d]+/) {
+ plog "WARN", "tor-resolve failed to resolve |$host|\n";
+ $host_ip = $fq_host = $host;
+ } else {
+ $fq_host = $host . "-" . $host_ip;
+ }
+
+ plog "DEBUG", "tsocks ssh -o UserKnownHostsFile=$key_file -o PreferredAuthentications=hostbased -o PasswordAuthentication=no -o StrictHostKeyChecking=yes $username\@$host_ip\n";
+ if(not open(SSH, '-|', "tsocks ssh -o UserKnownHostsFile=$key_file -o PreferredAuthentications=hostbased -o PasswordAuthentication=no -o StrictHostKeyChecking=yes $username\@$host_ip 2>&1")) {
+# \"/bin/ls >& /dev/null\"")) {
+ plog "WARN", "ssh pipe failed for $fq_host\n";
+ return -1;
+ }
+
+ @result = <SSH>;
+ close(SSH);
+
+ my $resline = join("", @result);
+ my $exit_node = query_exit($mcp);
+
+ if(not $exit_node eq $resolv_exit) {
+ plog "NOTICE", "SSH fetch exit $exit_node is not the resolution exit ($resolv_exit)\n";
+ $exit_node = $exit_node . "+" . $resolv_exit;
+ }
+
+ plog "DEBUG", "Result: " . $resline . "\n";
+ if($resline =~ /Connection refused/) {
+ plog "NOTICE", "Connection refused for ssh host: $fq_host\n";
+ return -1;
+ }
+
+ if(not $resline =~ /Permission denied/
+ and not $resline =~ /Connection closed by/
+ and not $resline =~ /Write failed: Broken pipe/) {
+ my $i = 0;
+ my $line;
+
+ plog "WARN", "SSH error for $fq_host via $exit_node\n";
+
+ for($i = 0; (stat("$DOC_DIR/ssh/$fq_host-$exit_node-$i"))[0]; $i++)
+ { }
+
+ if(not open(ERR, '>', "$DOC_DIR/ssh/$fq_host-$exit_node-$i")) {
+ plog "WARN", "Can't save ssh error in $DOC_DIR/ssh/$fq_host-$exit_node-$i\n";
+ return -1;
+ }
+
+ print ERR "$resline\n";
+ close(ERR);
+ return 0;
+ }
+ return 1;
+}
+
+sub openssh_check_all
+{
+ my $mcp = shift;
+ my $key_file = shift;
+
+ mkdir("$DOC_DIR/ssh");
+
+ if(not open(KEYFILE, '<', $key_file)) {
+ return;
+ }
+
+ print $mcp "RESOLVEPORT 22\r\n";
+ my $line = <$mcp>;
+ die "Error setting resolution port: $line" if (not $line =~ /^250/);
+
+ while(<KEYFILE>) {
+ next if(/^10\./ or /^192.168/ or /^127/ or /^172/);
+ /^([^,\s]+)/;
+ my $host = $1;
+
+ if(not $host) {
+ plog "WARN", "No ssh host found in $_\n";
+ next;
+ }
+
+ print $mcp "NEWEXIT\r\n";
+ $line = <$mcp>;
+ die "Error on newnym: $line\r\n" if(not $line =~ /^250/);
+ openssh_check_one($mcp, $key_file, $host);
+ }
+
+ plog "INFO", "Checked all ssh hosts\n";
+}
+
+sub parse_failrates
+{
+ my $file = shift;
+ my $hash_fail = shift;
+ my $hash_circ = shift;
+ my $hash_strm = shift;
+ my $hash_totals = shift;
+
+ while(1) {
+ my $line = <$file>;
+
+ if($line =~ /^250 FAILCOUNT/) {
+ $line =~ /FAILCOUNT ([\S]+) \(([\S]+)\) = ([\d]+)\//;
+ my $key = $1;
+ my $name = $2;
+ my $fail = $3;
+ # Hack because for reason failure lines there is an extra element
+ # (middle=total failures)
+ $line =~ /\/([\d]+)\+([\d]+)/;
+ my $circ_sel = $1;
+ my $strm_sel = $2;
+
+ if($key_names{$key} and (not $key_names{$key} eq $name)) {
+ plog "NOTICE", "$name for $key is not the same as $key_names{$key}\n";
+ }
+ $key_names{$key} = $name;
+ if($$hash_fail{$key}) {
+ $$hash_fail{$key} += $fail;
+ } else {
+ $$hash_fail{$key} = $fail;
+ }
+
+ if($hash_circ) {
+ if($$hash_circ{$key}) {
+ $$hash_circ{$key} += $circ_sel;
+ } else {
+ $$hash_circ{$key} = $circ_sel;
+ }
+ }
+ if($hash_strm) {
+ if($$hash_strm{$key}) {
+ $$hash_strm{$key} += $strm_sel;
+ } else {
+ $$hash_strm{$key} = $strm_sel;
+ }
+ }
+
+ } else {
+ if($hash_totals) {
+ if($line =~ /^250 FAILTOTALS ([\d]+)\/([\d]+) ([\d]+)\+([\d]+)\/([\d]+)/) {
+ $$hash_totals{"CIRCUITFAILED"} = $1;
+ $$hash_totals{"CIRCUITCOUNTS"} = $2;
+ $$hash_totals{"STREAMDETACHED"} = $3;
+ $$hash_totals{"STREAMFAILURES"} = $4;
+ $$hash_totals{"STREAMCOUNTS"} = $5;
+ plog "DEBUG", "Got fail totals\n";
+ }
+ }
+ last;
+ }
+ }
+}
+
+sub read_failrates
+{
+ my $mcp = shift;
+ my $file = shift;
+ my $cmd = shift;
+ my $mt_fcnt = shift;
+ my $tot_fcnt = shift;
+ my $mt_circ_sel_cnt = shift;
+ my $tot_circ_sel_cnt = shift;
+ my $mt_strm_sel_cnt = shift;
+ my $tot_strm_sel_cnt = shift;
+ my $mt_totals = shift;
+ my $tot_totals = shift;
+
+ return;
+ # Hack to avoid counting previous run
+ print $mcp "$cmd\r\n";
+ parse_failrates($mcp, $mt_fcnt, $mt_circ_sel_cnt, $mt_strm_sel_cnt, $mt_totals);
+
+ if(not open(FAILFILE, '<', $file)) {
+ return;
+ }
+
+ parse_failrates(*FAILFILE, $tot_fcnt, $tot_circ_sel_cnt, $tot_strm_sel_cnt, $tot_totals);
+ close(FAILFILE);
+}
+
+sub write_failrates
+{
+ my $mcp = shift;
+ my $file = shift;
+ my $cmd = shift;
+ my $mt_fcnt = shift;
+ my $tot_fcnt = shift;
+ my $mt_circ_sel_cnt = shift;
+ my $tot_circ_sel_cnt = shift;
+ my $mt_strm_sel_cnt = shift;
+ my $tot_strm_sel_cnt = shift;
+ my $mt_totals = shift;
+ my $tot_totals = shift;
+ my %fail_counts;
+ my %circ_counts;
+ my %strm_counts;
+ my %rate_totals;
+ return;
+
+ print $mcp "$cmd\r\n";
+ parse_failrates($mcp, \%fail_counts, \%circ_counts, \%strm_counts, \%rate_totals);
+
+ # Get delta
+ foreach(keys(%fail_counts)) {
+ if(not $$tot_fcnt{$_}) {
+ $$tot_circ_sel_cnt{$_} = 0;
+ $$tot_strm_sel_cnt{$_} = 0;
+ $$tot_fcnt{$_} = 0;
+ }
+
+ if(not $$mt_fcnt{$_}) {
+ $$mt_fcnt{$_} = 0;
+ $$mt_circ_sel_cnt{$_} = 0;
+ $$mt_strm_sel_cnt{$_} = 0;
+ }
+
+ # Update our totals only if the change is positive (ie no restart)
+ if(($fail_counts{$_} - $$mt_fcnt{$_}) > 0) {
+ $$tot_fcnt{$_} += ($fail_counts{$_} - $$mt_fcnt{$_});
+ $$tot_circ_sel_cnt{$_} += ($circ_counts{$_} - $$mt_circ_sel_cnt{$_});
+ $$tot_strm_sel_cnt{$_} += ($strm_counts{$_} - $$mt_strm_sel_cnt{$_});
+ }
+
+ # Store MT totals
+ $$mt_fcnt{$_} = $fail_counts{$_};
+ $$mt_circ_sel_cnt{$_} = $circ_counts{$_};
+ $$mt_strm_sel_cnt{$_} = $strm_counts{$_};
+ }
+
+ if($tot_totals) {
+
+ if(($rate_totals{"STREAMCOUNTS"} - $$mt_totals{"STREAMCOUNTS"}) > 0) {
+
+ $$tot_totals{"CIRCUITFAILED"} +=
+ $rate_totals{"CIRCUITFAILED"} - $$mt_totals{"CIRCUITFAILED"};
+ $$tot_totals{"CIRCUITCOUNTS"} +=
+ $rate_totals{"CIRCUITCOUNTS"} - $$mt_totals{"CIRCUITCOUNTS"};
+ $$tot_totals{"STREAMDETACHED"} +=
+ $rate_totals{"STREAMDETACHED"} - $$mt_totals{"STREAMDETACHED"};
+ $$tot_totals{"STREAMFAILURES"} +=
+ $rate_totals{"STREAMFAILURES"} - $$mt_totals{"STREAMFAILURES"};
+ $$tot_totals{"STREAMCOUNTS"} +=
+ $rate_totals{"STREAMCOUNTS"} - $$mt_totals{"STREAMCOUNTS"};
+
+ }
+ $$mt_totals{"CIRCUITFAILED"} = $rate_totals{"CIRCUITFAILED"};
+ $$mt_totals{"CIRCUITCOUNTS"} = $rate_totals{"CIRCUITCOUNTS"};
+ $$mt_totals{"STREAMDETACHED"} = $rate_totals{"STREAMDETACHED"};
+ $$mt_totals{"STREAMFAILURES"} = $rate_totals{"STREAMFAILURES"};
+ $$mt_totals{"STREAMCOUNTS"} = $rate_totals{"STREAMCOUNTS"};
+
+ }
+
+ # Use global, not arg (which may be undef)
+ my @sorted_r = sort {
+ $$tot_fcnt{$b} <=> $$tot_fcnt{$a}
+ } keys %$tot_fcnt;
+
+ if(not open(FAILFILE, '>', $file)) {
+ die "Can't open $file to save fail rate table";
+ }
+
+ foreach(@sorted_r) {
+ print FAILFILE "250 FAILCOUNT $_ ($key_names{$_}) = $$tot_fcnt{$_}/$$tot_circ_sel_cnt{$_}+$$tot_strm_sel_cnt{$_}\n";
+ }
+
+ if($tot_totals) {
+ print FAILFILE "250 FAILTOTALS " . $$tot_totals{"CIRCUITFAILED"} ."/".
+ $$tot_totals{"CIRCUITCOUNTS"} ." ". $$tot_totals{"STREAMDETACHED"} ."+".
+ $$tot_totals{"STREAMFAILURES"} ."/". $$tot_totals{"STREAMCOUNTS"} ." OK\n";
+ } else {
+ print FAILFILE "250 OK\n";
+ }
+
+ close(FAILFILE);
+ plog "INFO", "Updated failure counts\n";
+}
+
+
+sub parse_reasons
+{
+ my $file = shift;
+ my $hash = shift;
+
+ while( 1 ) {
+ my $line = <$file>;
+ my $reason;
+ if($line =~ /^250 REASON=([\S]+)/) {
+ $reason = $1;
+ } elsif($line =~ /^250 OK/) {
+ plog "DEBUG", "End reason parsing on $line\n";
+ return;
+ } else {
+ plog "NOTICE", "Weird end line $line\n";
+ return;
+ }
+
+ if(not $$hash{$reason}) {
+ $$hash{$reason} = {};
+ }
+
+ parse_failrates($file, $$hash{$reason});
+ }
+}
+
+sub read_reasons
+{
+ my $mcp = shift;
+ my $file = shift;
+ my $cmd = shift;
+ my $mt_rc = shift;
+ my $tot_rc = shift;
+ return;
+
+ # Hack to avoid double-counting
+ print $mcp "$cmd\r\n";
+ parse_reasons($mcp, $mt_rc);
+
+ if(not open(FAILFILE, '<', $file)) {
+ return;
+ }
+
+ parse_reasons(*FAILFILE, $tot_rc);
+ close(FAILFILE);
+}
+
+sub write_reasons
+{
+ my $mcp = shift;
+ my $file = shift;
+ my $cmd = shift;
+ my $mt_rcnt = shift;
+ my $tot_rcnt = shift;
+ my $tot_fcnt = shift;
+ my $tot_circ_sel_cnt = shift;
+ my $tot_strm_sel_cnt = shift;
+ my %curr_reason_counts;
+
+ return;
+ print $mcp "$cmd\r\n";
+ parse_reasons($mcp, \%curr_reason_counts);
+
+ # Get delta
+ foreach(keys(%curr_reason_counts)) {
+ if(not $$tot_rcnt{$_}) {
+ $$tot_rcnt{$_} = {};
+ }
+ if(not $$mt_rcnt{$_}) {
+ $$mt_rcnt{$_} = {};
+ }
+ my $curr_hash = $curr_reason_counts{$_};
+ my $total_hash = $$tot_rcnt{$_};
+ my $mt_hash = $$mt_rcnt{$_};
+
+ foreach(keys(%$curr_hash)) {
+
+ if(not $$total_hash{$_}) {
+ $$total_hash{$_} = 0;
+ }
+
+ if(not $$mt_hash{$_}) {
+ $$mt_hash{$_} = 0;
+ }
+
+ # Update our totals
+ if(($$curr_hash{$_} - $$mt_hash{$_}) > 0) {
+ $$total_hash{$_} += ($$curr_hash{$_} - $$mt_hash{$_});
+ }
+
+ # Store MT totals
+ $$mt_hash{$_} = $$curr_hash{$_};
+ }
+ }
+
+ my $failed_total = 0;
+ foreach(keys(%$tot_fcnt)) {
+ $failed_total += $$tot_fcnt{$_};
+ }
+
+ if(not open(FAILFILE, '>', $file)) {
+ die "Can't open $file to save fail rate table";
+ }
+
+ foreach(keys(%$tot_rcnt)) {
+ print FAILFILE "250 REASON=$_\r\n";
+ my $reason_hash = $$tot_rcnt{$_};
+ my $reason_total = 0;
+
+ my @sorted_r = sort {
+ $$reason_hash{$b} <=> $$reason_hash{$a}
+ } keys %$reason_hash;
+
+ foreach(@sorted_r) {
+ print FAILFILE "250 FAILCOUNT $_ ($key_names{$_}) = $$reason_hash{$_}/$$tot_fcnt{$_}/$$tot_circ_sel_cnt{$_}+$$tot_strm_sel_cnt{$_}\r\n";
+ $reason_total += $$reason_hash{$_};
+ }
+ print FAILFILE "250 REASONTOTAL $reason_total/$failed_total\r\n";
+ }
+ print FAILFILE "250 OK\r\n";
+
+ close(FAILFILE);
+ plog "INFO", "Updated failure counts\n";
+}
+
+
+sub main
+{
+ my $mcp = IO::Socket::INET->new(
+ Proto => "tcp",
+ PeerAddr => $META_HOST,
+ PeerPort => $META_PORT)
+ or die "The Metatroller is not enabled";
+ my $line = <$mcp>;
+ $line = <$mcp>;
+
+ print $mcp "PATHLEN 3\r\n";
+ $line = <$mcp>;
+ die "Error setting pathlen: $line" if (not $line =~ /^250/);
+ print $mcp "PERCENTFAST 88\r\n";
+ $line = <$mcp>;
+ die "Error setting percentfast: $line" if (not $line =~ /^250/);
+ print $mcp "USEALLEXITS 1\r\n";
+ $line = <$mcp>;
+ die "Error setting fastexits: $line" if (not $line =~ /^250/);
+ print $mcp "UNIFORM 1\r\n";
+ $line = <$mcp>;
+ die "Error setting uniform: $line" if (not $line =~ /^250/);
+ print $mcp "BWCUTOFF 1\r\n";
+ $line = <$mcp>;
+ die "Error setting BWCUTOFF: $line" if (not $line =~ /^250/);
+ print $mcp "ORDEREXITS 1\r\n";
+ $line = <$mcp>;
+ die "Error setting ORDEREXITS: $line" if (not $line =~ /^250/);
+ print $mcp "GUARDNODES 0\r\n";
+ $line = <$mcp>;
+ die "Error setting Guard Nodes: $line" if (not $line =~ /^250/);
+ print $mcp "RESETSTATS\r\n";
+ $line = <$mcp>;
+ die "Error on RESETSTATS: $line" if (not $line =~ /^250/);
+
+ delete $ENV{"http_proxy"};
+ delete $ENV{"HTTP_PROXY"};
+ delete $ENV{"proxy"};
+ delete $ENV{"PROXY"};
+
+ read_failrates($mcp, $DOC_DIR . "/naive_fail_rates",
+ "FAILRATES", \%mt_fail_counts, \%total_fail_counts,
+ \%mt_circ_sel_counts, \%total_circ_sel_counts,
+ \%mt_strm_sel_counts, \%total_strm_sel_counts,
+ \%mt_fail_totals, \%total_fail_totals);
+ read_failrates($mcp, $DOC_DIR . "/suspected_rates",
+ "SUSPECTRATES", \%mt_suspect_counts, \%total_suspect_counts,
+ \%mt_suspect_circ_sel_counts, \%total_suspect_circ_sel_counts,
+ \%mt_suspect_strm_sel_counts, \%total_suspect_strm_sel_counts);
+
+ read_reasons($mcp, $DOC_DIR . "/naive_fail_reasons",
+ "FAILREASONS", \%mt_reason_counts, \%total_reason_counts);
+ read_reasons($mcp, $DOC_DIR . "/suspected_reasons",
+ "SUSPECTREASONS", \%mt_suspect_reason_counts,
+ \%total_suspect_reason_counts);
+
+ if(is_in("urls", \@TO_SCAN)) {
+ @DOC_URLS = (@DOC_URLS, get_doc_list());
+
+ plog "INFO", "Checking doc list for dynamic content\n";
+
+ # Perform 3 checks to eliminate obvious dynamic content
+ docs_test_all($mcp, \@DOC_URLS, $DOC_DIR);
+ docs_test_all($mcp, \@DOC_URLS, $DOC_DIR);
+ docs_test_all($mcp, \@DOC_URLS, $DOC_DIR);
+
+ plog "NOTICE", "Final URL List:\n " . join("\n ", @DOC_URLS) . "\n\n";
+ }
+ plog "INFO", "Beginning scan loop\n";
+
+ while(1) {
+ my $scan = $TO_SCAN[int(rand(@TO_SCAN))];
+ plog "DEBUG", "Looped\n";
+ if($scan eq "ssl") {
+ openssl_check_all($mcp, \@HTTPS_SITES);
+ } elsif($scan eq "urls") {
+ docs_check_all($mcp, \@DOC_URLS, $DOC_DIR);
+ if($#DOC_URLS <= (($#FILETYPES+1) * $RESULTS_PER_TYPE)/2) {
+ plog "NOTICE", "Adding more URLS\n";
+ @DOC_URLS = (@DOC_URLS, get_doc_list());
+ docs_test_all($mcp, \@DOC_URLS, $DOC_DIR);
+ docs_test_all($mcp, \@DOC_URLS, $DOC_DIR);
+ docs_test_all($mcp, \@DOC_URLS, $DOC_DIR);
+ }
+ } elsif($scan eq "ssh") {
+ openssh_check_all($mcp, "./known_hosts");
+ }
+
+ write_failrates($mcp, $DOC_DIR . "/naive_fail_rates",
+ "FAILRATES", \%mt_fail_counts, \%total_fail_counts,
+ \%mt_circ_sel_counts, \%total_circ_sel_counts,
+ \%mt_strm_sel_counts, \%total_strm_sel_counts,
+ \%mt_fail_totals, \%total_fail_totals);
+ write_failrates($mcp, $DOC_DIR . "/suspected_rates",
+ "SUSPECTRATES", \%mt_suspect_counts, \%total_suspect_counts,
+ \%mt_suspect_circ_sel_counts, \%total_suspect_circ_sel_counts,
+ \%mt_suspect_strm_sel_counts, \%total_suspect_strm_sel_counts);
+
+ write_reasons($mcp, $DOC_DIR . "/naive_fail_reasons",
+ "FAILREASONS", \%mt_reason_counts, \%total_reason_counts,
+ \%total_fail_counts, \%total_circ_sel_counts, \%total_strm_sel_counts);
+ write_reasons($mcp, $DOC_DIR . "/suspected_reasons",
+ "SUSPECTREASONS", \%mt_suspect_reason_counts,
+ \%total_suspect_reason_counts, \%total_suspect_counts,
+ \%total_suspect_circ_sel_counts,
+ \%total_suspect_strm_sel_counts);
+ }
+}
+
+main();
Property changes on: torflow/trunk/soat.pl
___________________________________________________________________
Name: svn:executable
+ *
Added: torflow/trunk/wordlist.txt
===================================================================
--- torflow/trunk/wordlist.txt 2007-02-11 02:36:51 UTC (rev 9553)
+++ torflow/trunk/wordlist.txt 2007-02-11 03:21:23 UTC (rev 9554)
@@ -0,0 +1,30 @@
+document
+important
+download
+setup
+install
+plugin
+file
+program
+run
+microsoft
+windows
+xp
+installer
+slides
+presentation
+paper
+browser
+winscp
+vidalia+bundle
+putty
+torpark
+firefox+setup
+mozilla
+privoxy
+privacy
+extension
+firefox+extension
+example
+sample
+censorship