<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cfws/src, branch original-cpp</title>
<subtitle>A simple HTTP server specialized for local testing
</subtitle>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/'/>
<entry>
<title>Avoid possible null pointer dereference</title>
<updated>2023-03-26T16:33:27+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2023-03-26T16:33:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=ce446addbf5dad34c0726a8150d0c6c897e04366'/>
<id>ce446addbf5dad34c0726a8150d0c6c897e04366</id>
<content type='text'>
This line dereferenced the beginning of a string to read a single char,
but it needed a check to make sure there was at least one char to read
in the string.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This line dereferenced the beginning of a string to read a single char,
but it needed a check to make sure there was at least one char to read
in the string.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for building on Windows</title>
<updated>2023-03-26T16:21:47+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2023-03-26T16:21:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=f8ac67c943244aa57e5f848ca6b1f66eca32e138'/>
<id>f8ac67c943244aa57e5f848ca6b1f66eca32e138</id>
<content type='text'>
This makes it possible to compile cfws with Visual Studio. Since winsock
and POSIX use very similar APIs, porting is mostly just a matter of
placing ifdefs around #includes and functions with slightly different
names.

However, CGI scripts and command line arguments are not available in
this port yet, since they used the Unix-exclusive getopt.h and popen.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes it possible to compile cfws with Visual Studio. Since winsock
and POSIX use very similar APIs, porting is mostly just a matter of
placing ifdefs around #includes and functions with slightly different
names.

However, CGI scripts and command line arguments are not available in
this port yet, since they used the Unix-exclusive getopt.h and popen.
</pre>
</div>
</content>
</entry>
<entry>
<title>Respond with a different content type depending on file extension</title>
<updated>2022-09-30T16:58:25+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2022-09-30T16:58:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=83fb0b96c94e7f596f81d5bc346150904457ed64'/>
<id>83fb0b96c94e7f596f81d5bc346150904457ed64</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Validate CGI script paths before starting up the server</title>
<updated>2022-09-20T17:10:47+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2022-09-20T17:08:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=ce173bd3d1c66f937a958419a2c82786404e0d2e'/>
<id>ce173bd3d1c66f937a958419a2c82786404e0d2e</id>
<content type='text'>
This still doesn't throw up an error when attepting to run scripts
without the leading './', but it's a start
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This still doesn't throw up an error when attepting to run scripts
without the leading './', but it's a start
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ClangTidy configuration and apply fixes</title>
<updated>2022-09-20T03:58:21+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2022-09-20T03:53:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=8ce7db9ba907ad4e826c826af898e1864f25f7bb'/>
<id>8ce7db9ba907ad4e826c826af898e1864f25f7bb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add ClangFormat configuration and reformat files</title>
<updated>2022-09-20T03:46:12+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2022-09-20T03:46:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=bcea88142033f37bffeca4df096fb7795ebf7020'/>
<id>bcea88142033f37bffeca4df096fb7795ebf7020</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement the PATH_INFO and QUERY_STRING CGI environment variables</title>
<updated>2022-09-19T20:56:20+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2022-09-19T20:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=0db641014f9163df475018a618ceb8bdb01250d1'/>
<id>0db641014f9163df475018a618ceb8bdb01250d1</id>
<content type='text'>
This allows scripts to differentiate between the requested path and the
query parameters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows scripts to differentiate between the requested path and the
query parameters.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor the CGIScript class a bit</title>
<updated>2022-09-19T19:48:33+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2022-09-19T19:47:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=2ef8197a75c3d7605279b6c41c2eb3e1643d5374'/>
<id>2ef8197a75c3d7605279b6c41c2eb3e1643d5374</id>
<content type='text'>
This allows the user of the class to set environment variables before
opening the pipe to the script.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows the user of the class to set environment variables before
opening the pipe to the script.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add abstractions to automatically unset environment variables</title>
<updated>2022-09-19T19:28:30+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2022-09-19T19:28:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=91c237df6a65f6ec446eea4b89216ad53c9f7e0e'/>
<id>91c237df6a65f6ec446eea4b89216ad53c9f7e0e</id>
<content type='text'>
The PATH_INFO environment variable has also been added.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The PATH_INFO environment variable has also been added.
</pre>
</div>
</content>
</entry>
<entry>
<title>Set SO_REUSEADDR and SO_REUSEPORT socket options</title>
<updated>2022-09-17T22:38:04+00:00</updated>
<author>
<name>cflip</name>
<email>cflip@cflip.net</email>
</author>
<published>2022-09-17T22:38:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cflip.net/cfws/commit/?id=66ccc52ee0f07adacd8aad823f2d0a30952c6f32'/>
<id>66ccc52ee0f07adacd8aad823f2d0a30952c6f32</id>
<content type='text'>
This allows the server to reuse the same address and port when
repeatedly running and stopping the server while testing things instead
of quitting with the "Address already in use" error.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows the server to reuse the same address and port when
repeatedly running and stopping the server while testing things instead
of quitting with the "Address already in use" error.
</pre>
</div>
</content>
</entry>
</feed>
