<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/curl.git/lib/vtls/schannel.c, branch karpenko/sclient-cert-store-open</title>
<subtitle>github.com: bagder/curl.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/'/>
<entry>
<title>schannel: client certificate store opening fix</title>
<updated>2018-08-23T12:47:31+00:00</updated>
<author>
<name>Ihor Karpenko</name>
<email>ihor.karpenko@gmail.com</email>
</author>
<published>2018-08-23T11:18:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=6f872758a943017218edc3003fb4f08ac6295de6'/>
<id>6f872758a943017218edc3003fb4f08ac6295de6</id>
<content type='text'>
1) Using CERT_STORE_OPEN_EXISTING_FLAG ( or CERT_STORE_READONLY_FLAG )
while opening certificate store would be sufficient in this scenario and
less-demanding in sense of required user credentials ( for example,
IIS_IUSRS will get "Access Denied" 0x05 error for existing CertOpenStore
call without any of flags mentioned above ),

2) as 'cert_store_name' is a DWORD, attempt to format its value like a
string ( in "Failed to open cert store" error message ) will throw null
pointer exception

3) adding GetLastError(), in my opinion, will make error message more
useful.

Bug: https://curl.haxx.se/mail/lib-2018-08/0198.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1) Using CERT_STORE_OPEN_EXISTING_FLAG ( or CERT_STORE_READONLY_FLAG )
while opening certificate store would be sufficient in this scenario and
less-demanding in sense of required user credentials ( for example,
IIS_IUSRS will get "Access Denied" 0x05 error for existing CertOpenStore
call without any of flags mentioned above ),

2) as 'cert_store_name' is a DWORD, attempt to format its value like a
string ( in "Failed to open cert store" error message ) will throw null
pointer exception

3) adding GetLastError(), in my opinion, will make error message more
useful.

Bug: https://curl.haxx.se/mail/lib-2018-08/0198.html
</pre>
</div>
</content>
</entry>
<entry>
<title>schannel: enable CALG_TLS1PRF for w32api &gt;= 5.1</title>
<updated>2018-07-12T12:38:55+00:00</updated>
<author>
<name>Marcel Raad</name>
<email>Marcel.Raad@teamviewer.com</email>
</author>
<published>2018-07-12T12:38:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=2c33105dbf146c78a9a9db6867d0644838e92856'/>
<id>2c33105dbf146c78a9a9db6867d0644838e92856</id>
<content type='text'>
The definition of CALG_TLS1PRF has been fixed in the 5.1 branch:
https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/commits/73aedcc0f2e6ba370de0d86ab878ad76a0dda7b5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The definition of CALG_TLS1PRF has been fixed in the 5.1 branch:
https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/commits/73aedcc0f2e6ba370de0d86ab878ad76a0dda7b5
</pre>
</div>
</content>
</entry>
<entry>
<title>schannel: fix MinGW compile break</title>
<updated>2018-07-11T11:04:15+00:00</updated>
<author>
<name>Marcel Raad</name>
<email>Marcel.Raad@teamviewer.com</email>
</author>
<published>2018-07-10T19:02:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=48cf45c5aa541d1a13d1d82d6a28e7233895c6e9'/>
<id>48cf45c5aa541d1a13d1d82d6a28e7233895c6e9</id>
<content type='text'>
Original MinGW's w32api has a sytax error in its definition of
CALG_TLS1PRF [0]. Don't use original MinGW w32api's CALG_TLS1PRF
until this bug [1] is fixed.

[0] https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/blobs/d1d4a17e51a2b78e252ef0147d483267d56c90cc/w32api/include/wincrypt.h
[1] https://osdn.net/projects/mingw/ticket/38391

Fixes https://github.com/curl/curl/pull/2721#issuecomment-403636043
Closes https://github.com/curl/curl/pull/2728
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Original MinGW's w32api has a sytax error in its definition of
CALG_TLS1PRF [0]. Don't use original MinGW w32api's CALG_TLS1PRF
until this bug [1] is fixed.

[0] https://osdn.net/projects/mingw/scm/git/mingw-org-wsl/blobs/d1d4a17e51a2b78e252ef0147d483267d56c90cc/w32api/include/wincrypt.h
[1] https://osdn.net/projects/mingw/ticket/38391

Fixes https://github.com/curl/curl/pull/2721#issuecomment-403636043
Closes https://github.com/curl/curl/pull/2728
</pre>
</div>
</content>
</entry>
<entry>
<title>schannel: fix -Wsign-compare warning</title>
<updated>2018-07-09T16:09:05+00:00</updated>
<author>
<name>Marcel Raad</name>
<email>Marcel.Raad@teamviewer.com</email>
</author>
<published>2018-07-08T15:16:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=424f1cfefbace57e5873e614a43ff14b251bbc7e'/>
<id>424f1cfefbace57e5873e614a43ff14b251bbc7e</id>
<content type='text'>
MinGW warns:
/lib/vtls/schannel.c:219:64: warning: signed and unsigned type in
conditional expression [-Wsign-compare]

Fix this by casting the ptrdiff_t to size_t as we know it's positive.

Closes https://github.com/curl/curl/pull/2721
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MinGW warns:
/lib/vtls/schannel.c:219:64: warning: signed and unsigned type in
conditional expression [-Wsign-compare]

Fix this by casting the ptrdiff_t to size_t as we know it's positive.

Closes https://github.com/curl/curl/pull/2721
</pre>
</div>
</content>
</entry>
<entry>
<title>schannel: workaround for wrong function signature in w32api</title>
<updated>2018-07-09T16:08:56+00:00</updated>
<author>
<name>Marcel Raad</name>
<email>Marcel.Raad@teamviewer.com</email>
</author>
<published>2018-07-08T15:00:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=07f7c93f92c15e1a4a6489a05b1eb4c7b33cf6a4'/>
<id>07f7c93f92c15e1a4a6489a05b1eb4c7b33cf6a4</id>
<content type='text'>
Original MinGW's w32api has CryptHashData's second parameter as BYTE *
instead of const BYTE *.

Closes https://github.com/curl/curl/pull/2721
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Original MinGW's w32api has CryptHashData's second parameter as BYTE *
instead of const BYTE *.

Closes https://github.com/curl/curl/pull/2721
</pre>
</div>
</content>
</entry>
<entry>
<title>schannel: make more cipher options conditional</title>
<updated>2018-07-09T16:08:46+00:00</updated>
<author>
<name>Marcel Raad</name>
<email>Marcel.Raad@teamviewer.com</email>
</author>
<published>2018-07-08T14:55:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=a189ab91fec2fe1a5755d689603a381eea9529e4'/>
<id>a189ab91fec2fe1a5755d689603a381eea9529e4</id>
<content type='text'>
They are not defined in the original MinGW's &lt;wincrypt.h&gt;.

Closes https://github.com/curl/curl/pull/2721
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
They are not defined in the original MinGW's &lt;wincrypt.h&gt;.

Closes https://github.com/curl/curl/pull/2721
</pre>
</div>
</content>
</entry>
<entry>
<title>schannel: support selecting ciphers</title>
<updated>2018-06-12T10:08:40+00:00</updated>
<author>
<name>Robert Prag</name>
<email>Robert_Prag@symantec.com</email>
</author>
<published>2018-06-02T00:17:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=9aefbff30d280c60fc9d8cc3e0b2f19fc70a2f28'/>
<id>9aefbff30d280c60fc9d8cc3e0b2f19fc70a2f28</id>
<content type='text'>
Given the contstraints of SChannel, I'm exposing these as the algorithms
themselves instead; while replicating the ciphersuite as specified by
OpenSSL would have been preferable, I found no way in the SChannel API
to do so.

To use this from the commandline, you need to pass the names of contants
defining the desired algorithms. For example, curl --ciphers
"CALG_SHA1:CALG_RSA_SIGN:CALG_RSA_KEYX:CALG_AES_128:CALG_DH_EPHEM"
https://github.com The specific names come from wincrypt.h

Closes #2630
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Given the contstraints of SChannel, I'm exposing these as the algorithms
themselves instead; while replicating the ciphersuite as specified by
OpenSSL would have been preferable, I found no way in the SChannel API
to do so.

To use this from the commandline, you need to pass the names of contants
defining the desired algorithms. For example, curl --ciphers
"CALG_SHA1:CALG_RSA_SIGN:CALG_RSA_KEYX:CALG_AES_128:CALG_DH_EPHEM"
https://github.com The specific names come from wincrypt.h

Closes #2630
</pre>
</div>
</content>
</entry>
<entry>
<title>schannel: add failf calls for client certificate failures</title>
<updated>2018-05-27T21:30:23+00:00</updated>
<author>
<name>ralcock</name>
<email>richard.alcock@mathworks.co.uk</email>
</author>
<published>2018-05-24T15:00:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=45eefbd0ddebe9156195507f1d4f4ef238a33633'/>
<id>45eefbd0ddebe9156195507f1d4f4ef238a33633</id>
<content type='text'>
Closes #2604
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #2604
</pre>
</div>
</content>
</entry>
<entry>
<title>checksrc: make sure sizeof() is used *with* parentheses</title>
<updated>2018-05-21T21:21:47+00:00</updated>
<author>
<name>Daniel Stenberg</name>
<email>daniel@haxx.se</email>
</author>
<published>2018-05-11T21:40:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=cb529b713f4882ac65a074ae8d87faa41d19168e'/>
<id>cb529b713f4882ac65a074ae8d87faa41d19168e</id>
<content type='text'>
... and unify the source code to adhere.

Closes #2563
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... and unify the source code to adhere.

Closes #2563
</pre>
</div>
</content>
</entry>
<entry>
<title>schannel: disable manual verify if APIs not available</title>
<updated>2018-05-16T06:21:05+00:00</updated>
<author>
<name>Jay Satiro</name>
<email>raysatiro@yahoo.com</email>
</author>
<published>2018-05-16T06:02:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/curl.git/commit/?id=4584cc44996c2db82542f0e702aee4a6ce5dcb18'/>
<id>4584cc44996c2db82542f0e702aee4a6ce5dcb18</id>
<content type='text'>
.. because original MinGW and old compilers do not have the Windows API
definitions needed to support manual verification.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
.. because original MinGW and old compilers do not have the Windows API
definitions needed to support manual verification.
</pre>
</div>
</content>
</entry>
</feed>
