<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tlsdate, branch tlsdate-0.0.3</title>
<subtitle>Learn the current time from a remote TLS server</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/'/>
<entry>
<title>bump version to 0.0.3; update macros to make this a single line change</title>
<updated>2012-11-05T22:52:50+00:00</updated>
<author>
<name>Jacob Appelbaum</name>
<email>jacob@appelbaum.net</email>
</author>
<published>2012-11-05T22:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=6cc59a7e1103bedafa504bcecb2f3002b130872e'/>
<id>6cc59a7e1103bedafa504bcecb2f3002b130872e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update HACKING to reflect desire for unsigned values over signed values</title>
<updated>2012-11-05T22:40:31+00:00</updated>
<author>
<name>Jacob Appelbaum</name>
<email>jacob@appelbaum.net</email>
</author>
<published>2012-11-05T22:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=1c064abbe8400e911920444dce50a46817c52364'/>
<id>1c064abbe8400e911920444dce50a46817c52364</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>We now have a local time cache and tlsdated reads it properly</title>
<updated>2012-11-05T22:36:57+00:00</updated>
<author>
<name>Jacob Appelbaum</name>
<email>jacob@appelbaum.net</email>
</author>
<published>2012-11-05T22:36:57+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=f23084631334dff16baf97b48021ca9f9fdec949'/>
<id>f23084631334dff16baf97b48021ca9f9fdec949</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>We have a proxy mode now and it is Tor safe</title>
<updated>2012-11-05T22:36:19+00:00</updated>
<author>
<name>Jacob Appelbaum</name>
<email>jacob@appelbaum.net</email>
</author>
<published>2012-11-05T22:36:19+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=780638ac985ede3452701287409bb917454a87be'/>
<id>780638ac985ede3452701287409bb917454a87be</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update TODO to include wish for PolarSSL support</title>
<updated>2012-11-05T22:35:44+00:00</updated>
<author>
<name>Jacob Appelbaum</name>
<email>jacob@appelbaum.net</email>
</author>
<published>2012-11-05T22:35:44+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=bfc1813a8ac03edb99cccfb4de0b613362bfaae1'/>
<id>bfc1813a8ac03edb99cccfb4de0b613362bfaae1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update README to include information about tlsdated</title>
<updated>2012-11-05T22:35:08+00:00</updated>
<author>
<name>Jacob Appelbaum</name>
<email>jacob@appelbaum.net</email>
</author>
<published>2012-11-05T22:35:08+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=b1e5e8ba74110d9ee82c78509454760d3f8f4b75'/>
<id>b1e5e8ba74110d9ee82c78509454760d3f8f4b75</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add TODO items that we hope make it into 0.0.4</title>
<updated>2012-11-05T22:27:48+00:00</updated>
<author>
<name>Jacob Appelbaum</name>
<email>jacob@appelbaum.net</email>
</author>
<published>2012-11-05T22:27:48+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=716bb618a7ed7669300c6387e2ccd248ea0c7132'/>
<id>716bb618a7ed7669300c6387e2ccd248ea0c7132</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #30 from elly/proxy-fix</title>
<updated>2012-11-05T22:15:01+00:00</updated>
<author>
<name>Jacob Appelbaum</name>
<email>jacob@appelbaum.net</email>
</author>
<published>2012-11-05T22:15:01+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=944581cd83ea653e408cb561d94e475edbef38e1'/>
<id>944581cd83ea653e408cb561d94e475edbef38e1</id>
<content type='text'>
proxy-bio fixes</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
proxy-bio fixes</pre>
</div>
</content>
</entry>
<entry>
<title>proxy-bio: Fix up buffer length handling logic.</title>
<updated>2012-11-05T21:50:13+00:00</updated>
<author>
<name>Elly Fong-Jones</name>
<email>ellyjones@google.com</email>
</author>
<published>2012-11-05T21:50:13+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=a9e52fe816b570da68138394c4884c7db7171580'/>
<id>a9e52fe816b570da68138394c4884c7db7171580</id>
<content type='text'>
The buffer length was being badly mishandled such that if the returned hostname
was 254 bytes long, we'd repeatedly read zero bytes and get stuck in an endless
loop. There were also a bunch of places that would accept short reads/writes
during protocol negotiation which have now been changed to only accept exact
lengths.

Signed-off-by: Elly Fong-Jones &lt;ellyjones@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The buffer length was being badly mishandled such that if the returned hostname
was 254 bytes long, we'd repeatedly read zero bytes and get stuck in an endless
loop. There were also a bunch of places that would accept short reads/writes
during protocol negotiation which have now been changed to only accept exact
lengths.

Signed-off-by: Elly Fong-Jones &lt;ellyjones@chromium.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>proxy-bio fixes</title>
<updated>2012-11-02T17:53:47+00:00</updated>
<author>
<name>Elly Fong-Jones</name>
<email>ellyjones@google.com</email>
</author>
<published>2012-11-02T17:53:47+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/tlsdate.git/commit/?id=547f808ad83d57c3f42bd8ded6ba520fa998fc60'/>
<id>547f808ad83d57c3f42bd8ded6ba520fa998fc60</id>
<content type='text'>
1. Send the Host header with HTTP CONNECT, as it is required by RFC 2616,
section 14.23:

   A client MUST include a Host header field in all HTTP/1.1 request
   messages . If the requested URI does not include an Internet host
   name for the service being requested, then the Host header field MUST
   be given with an empty value. An HTTP/1.1 proxy MUST ensure that any
   request message it forwards does contain an appropriate Host header
   field that identifies the service being requested by the proxy. All
   Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request)
   status code to any HTTP/1.1 request message which lacks a Host header
   field.

2. Drain the response buffer for SOCKS5 connections even if the hostname is too
long for us to store (i.e., is longer than NI_MAXHOST); this could happen if
NI_MAXHOST &lt; 255, but I believe there are no systems on which this is true in
practice.

3. Use unsigned buffers in SOCKS4/SOCKS5 code to save on casts to/from unsigned.

4. Return an int from BIO_proxy_set_host() so we can signal malloc failures to
the caller.

Signed-off-by: Elly Fong-Jones &lt;ellyjones@chromium.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. Send the Host header with HTTP CONNECT, as it is required by RFC 2616,
section 14.23:

   A client MUST include a Host header field in all HTTP/1.1 request
   messages . If the requested URI does not include an Internet host
   name for the service being requested, then the Host header field MUST
   be given with an empty value. An HTTP/1.1 proxy MUST ensure that any
   request message it forwards does contain an appropriate Host header
   field that identifies the service being requested by the proxy. All
   Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request)
   status code to any HTTP/1.1 request message which lacks a Host header
   field.

2. Drain the response buffer for SOCKS5 connections even if the hostname is too
long for us to store (i.e., is longer than NI_MAXHOST); this could happen if
NI_MAXHOST &lt; 255, but I believe there are no systems on which this is true in
practice.

3. Use unsigned buffers in SOCKS4/SOCKS5 code to save on casts to/from unsigned.

4. Return an int from BIO_proxy_set_host() so we can signal malloc failures to
the caller.

Signed-off-by: Elly Fong-Jones &lt;ellyjones@chromium.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
