<feed xmlns='http://www.w3.org/2005/Atom'>
<title>portable/apps, branch v2.2.2</title>
<subtitle>A mirror of https://github.com/libressl/portable.git
</subtitle>
<id>https://git.lua4.win/portable/atom?h=v2.2.2</id>
<link rel='self' href='https://git.lua4.win/portable/atom?h=v2.2.2'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/'/>
<updated>2015-07-22T03:21:14+00:00</updated>
<entry>
<title>add cmake tests</title>
<updated>2015-07-22T03:21:14+00:00</updated>
<author>
<name>Brent Cook</name>
<email>bcook@openbsd.org</email>
</author>
<published>2015-07-22T03:21:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=a9122f74e0b965c7ecb5e8ceb8e3dfb682e14336'/>
<id>urn:sha1:a9122f74e0b965c7ecb5e8ceb8e3dfb682e14336</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add initial CMake and Visual Studio build support</title>
<updated>2015-07-21T17:08:18+00:00</updated>
<author>
<name>Brent Cook</name>
<email>busterb@gmail.com</email>
</author>
<published>2014-07-11T03:06:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=5d8a1cf7155130bd8101090d7e1d0c2f90d9b123'/>
<id>urn:sha1:5d8a1cf7155130bd8101090d7e1d0c2f90d9b123</id>
<content type='text'>
This moves the compatibility include files from include to
include/compat so we can use the awful MS C compiler
&lt;../include/&gt; trick to emulate the GNU #include_next extension.

This also removes a few old compat files we do not need anymore.
</content>
</entry>
<entry>
<title>fixup how OPENSSLDIR is derived and expanded</title>
<updated>2015-07-16T01:02:38+00:00</updated>
<author>
<name>Brent Cook</name>
<email>bcook@openbsd.org</email>
</author>
<published>2015-07-16T01:00:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=db974c34e95a24eda7ce575cc14bbc0eebfbdbb4'/>
<id>urn:sha1:db974c34e95a24eda7ce575cc14bbc0eebfbdbb4</id>
<content type='text'>
As per
http://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Installation-Directory-Variables.html
we should not try to expand variables like sysconfdir in the
configure script, but rather derive the correct value in the Makefiles
instead. This fixes missing expansions as the preprocessor define.
</content>
</entry>
<entry>
<title>Improve automatic handling of OPENSSLDIR</title>
<updated>2015-07-13T03:10:48+00:00</updated>
<author>
<name>Brent Cook</name>
<email>busterb@gmail.com</email>
</author>
<published>2015-07-11T19:23:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=bda20bd13f8bf2063f915a3619db2292b38b6d88'/>
<id>urn:sha1:bda20bd13f8bf2063f915a3619db2292b38b6d88</id>
<content type='text'>
Install a default cert.pem, openssl.cnf, x509v3.cnf in OPENSSLDIR, which
is derived by default from sysconfdir and the prefix setting.
</content>
</entry>
<entry>
<title>rework CFLAGS/CPPFLAGS settings during configuration</title>
<updated>2015-03-22T12:43:55+00:00</updated>
<author>
<name>Brent Cook</name>
<email>bcook@openbsd.org</email>
</author>
<published>2015-03-22T11:18:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=ad2a38ab4ae5d542206527dfa59a333352ea99ce'/>
<id>urn:sha1:ad2a38ab4ae5d542206527dfa59a333352ea99ce</id>
<content type='text'>
Move define adjustments to CPPFLAGS.
Adjust user CFLAGS directly, do not override during configuration.
USER_CFLAGS is not necessary to build libcompat_noopt correctly.
</content>
</entry>
<entry>
<title>fix hangs reading stdin on Windows</title>
<updated>2015-03-09T01:47:03+00:00</updated>
<author>
<name>Brent Cook</name>
<email>bcook@openbsd.org</email>
</author>
<published>2015-03-08T21:39:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=148aebdbb1613d250caf378f3484cb4e1c47f3aa'/>
<id>urn:sha1:148aebdbb1613d250caf378f3484cb4e1c47f3aa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>conditionally build certhash into openssl(1)</title>
<updated>2015-02-15T00:54:43+00:00</updated>
<author>
<name>Brent Cook</name>
<email>bcook@openbsd.org</email>
</author>
<published>2015-02-15T00:51:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=28311d4355e38376dc7ebcf1d2d7957718f55359'/>
<id>urn:sha1:28311d4355e38376dc7ebcf1d2d7957718f55359</id>
<content type='text'>
For now, look for openat and symlink. We may switch to just needing
symlink later.
</content>
</entry>
<entry>
<title>add the new openssl(1) certhash command</title>
<updated>2015-02-12T02:50:10+00:00</updated>
<author>
<name>Brent Cook</name>
<email>bcook@openbsd.org</email>
</author>
<published>2015-02-12T02:50:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=5e96c047f7e5da087f20c6aaf997b4083a0ff59c'/>
<id>urn:sha1:5e96c047f7e5da087f20c6aaf997b4083a0ff59c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>simplify building the apps Makefile</title>
<updated>2014-12-06T17:20:56+00:00</updated>
<author>
<name>Brent Cook</name>
<email>bcook@openbsd.org</email>
</author>
<published>2014-12-06T17:20:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=13035fa666c546330e9809691374e4fd0415eccc'/>
<id>urn:sha1:13035fa666c546330e9809691374e4fd0415eccc</id>
<content type='text'>
Remove extra machinery in favor of a plain-old Makefile.am.
Tighten up what files are copied on build, package a simple openssl.cnf.
</content>
</entry>
<entry>
<title>add minimal poll(2) implementation for Windows</title>
<updated>2014-12-03T23:03:47+00:00</updated>
<author>
<name>Brent Cook</name>
<email>busterb@gmail.com</email>
</author>
<published>2014-11-20T06:24:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/portable/commit/?id=1bbde19a7c0db8d25fb496dea3e05e3dbc0bbeaf'/>
<id>urn:sha1:1bbde19a7c0db8d25fb496dea3e05e3dbc0bbeaf</id>
<content type='text'>
This provides sufficient functionality to run openssl(1) from a Windows
console. This is based on the original select-based version from from
songdongsheng@live.cn. Changes:

 * use nfds_t directly for iterating the fds.
 * add WSAGetLastError -&gt; errno mappings
 * handle POLLHUP and the OOB data cases for revents
 * handle sparse arrays of fds correctly
 * KNF style updates
 * teach poll how to handle file handles as well as sockets

This handles the socket/non-socket issue  by alternating a loop between
WaitForMultipleObjects for non-sockets and and select for sockets. One
would think this would be terrible for performance, but as of this
writing, poll consumes about 6% of the time doing a bulk transfer
between a Linux box and 'openssl.exe s_server'.

I tried to implement this all in terms of WaitForMultipleObjects with a
select 'poll' at the end to get extra specific socket status. However,
the cost of setting up an event handle for each socket, setting the
WSAEventSelect attributes, and cleaning them up reliably was pretty
high. Since the event handle associated with a socket is also global,
creating a new one cancels the previous one or can be disabled
externally.

In addition, the 'FD_WRITE' status of a socket event handle does not
behave in an expected fashion, being triggered by an edge on a write
event rather than being level triggered.

Another fun horror story is how stdin in windows might be a console, it
might be a pipe, it might be something else. If these all worked in the
same way, it would be great. But, since a console-stdin can also signal
on a mouse or window event, it means we can easily get stuck in a
blocking read (you can't make stdin non-blocking) if the non-character
events are not filtered out. So, poll does that too.

See here for various additional horror stories:

http://www.postgresql.org/message-id/4351.1336927207@sss.pgh.pa.us
</content>
</entry>
</feed>
