| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Sometimes the analysis might get funky and decide that the if-expression
below is not an if-expression. Details of how this can happen is largely
unknown, but it's easy to prevent so we will just go forward with that.
Fix #14591
|
|
|
|
|
|
|
| |
* Fix #14568
* Add testcase
* Fix bogus test
* Adapt other failing tests
* Declarations are always first writes
|
| |
|
| |
|
|
|
|
| |
was never implemented (#14584)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Nim will pretend that these proc are not gcsafe if they are not marked.
|
|
|
|
|
|
| |
This procedure is not no-op for older LibreSSL, and the ABI is kept for
newer versions, so there's no harm in enabling it unconditionally for
all LibreSSL versions.
|
|
|
|
|
| |
This reverts commit d53a6355f3ad4401731142d8fc66b95ecfdfb321 and
688b1f250ed058ecc49737dc75fd089206fa25b9.
|
|
|
|
|
| |
Previously we loaded the SSL library for this, but that's not where the
symbol resides.
|
|
|
|
|
|
|
| |
The default DLLs shipped are too old, switch to CiphersOld list to
ensure compatibility.
This commit should be reverted before any future release.
|
|
|
|
|
| |
And the fun thing is that currently we use a super old OpenSSL on
Windows.
|
|
|
|
| |
Follow up of 794042080b270d9da8d64bb4285ce83787bdec7e
|
|
|
|
| |
Yet another weird {.gcsafe.} triggering when it shouldn't.
|
|
|
|
|
| |
This setting is required for servers running OpenSSL < 1.1.0 to support
EC-based secure ciphers that is now part of the default cipher list.
|
| |
|
|
|
|
| |
Follow up of 476be6cc278d58232e2c6cd3515eb24eca7e2d38
|
| |
|
| |
|
|
|
|
|
| |
With the changes to the default cipher suites, certain tests are no
longer broken and are acting as they should.
|
|
|
|
|
| |
It's unsure why this test fail for macOS, but it doesn't hurt if it's
not passing.
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the `net` module use the blanket "ALL" as the default cipher
list. This list may contain security ciphers that are weak and/or outdated
according to the current standard.
This commit introduces a new module `ssl_config` that contains the
latest OpenSSL configurations as recommended by Mozilla OpSec, and
make the `net` module use the cipher list targeting `intermediate`
compatibility level as the default.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Per SSL_get_error(3):
The current thread's error queue must be empty before the TLS/SSL I/O
operation is attempted, or SSL_get_error() will not work reliably.
There has been records of not clearing the error queue causing weird SSL
errors when there shouldn't be any, see:
https://github.com/openssl/openssl/issues/11889
|
|
|
|
| |
Now matches the declaration in openssl/err.h
|
| |
|
|
|
|
|
|
|
| |
You're supposed to clear the error queue before any I/O operations. Per
SSL_get_error(3) man page.
This reverts commit ee3ed37300743addb1344e39bc46d3cd2b89a718.
|
|
|
|
|
|
| |
The error we're looking for is "certificate verify failed". The routine
that reports this will be different between openssl versions, so it
makes no sense to track the routine name as well.
|
|
|
|
|
|
|
| |
Closing a socket clears the error queue of the entire thread, which
seems to be a bit too invasive.
Also I don't find any reason in the PR that added this.
|
| |
|
| |
|
|
|
|
|
| |
Previously the errors caused by `SSL_shutdown()` masked these, so now we
catch them.
|
|
|
|
|
|
| |
This commit prevents "SSL_shutdown while in init" errors from happening.
See https://github.com/openssl/openssl/issues/710#issuecomment-253897666
|
|
|
|
|
| |
* fix #14576 addr(param) now works in nim js
* workaround https://github.com/nim-lang/Nim/issues/14578
|
| |
|
| |
|
|
|
|
|
| |
* move json.isMainModule => tjson
* move isMainModule => tos,tsequtils
|
|
|
|
| |
* Fix #14570
|
|
|
|
| |
expected (#14569)
|
| |
|
|
|
|
| |
This creates a more compact serialisation of strtabs that is more in
line with the normal tables.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tfdleak_multiple: introduce stress tester for tfdleak
Imported from #14548 and tweaked for consumption by testament.
This test seems to be really good at bringing out the flakyness of
tfdleadk.
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* tfdleak: increase accuracy of the test on Windows
This commit implements a new testing strategy for Windows:
1. We duplicate the handle that will be tested and enable inheritance.
This duplicate will serve as a reference handle.
2. In addition to checking whether the handle is valid, we also verify
whether the handle is the same as the reference. This gives us
complete certainty on whether the handle in question is inherited
from the parent.
A side effect is that this uses Windows 10+ APIs. But since
this is just for the test, we don't have to be picky about it.
Ideally we would want to do something like this for other POSIX-based
system, but most of them lack a facility to do this, and as of writing
there isn't any false positive for them, so we won't need the additional
checks.
MemFile.fHandle will also no longer be tested, as this handle defaults
to being invalid.
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
|
|
|
|
|
|
|
| |
hintSuccessX (#14555)
* SuccessX `out` now works with --compileOnly and jsonscript; fix bugs in jsonscript
* several bug fixes; eg: `nim doc lib/system/io` now is sane
* dummy edit to force docs CI
|
| |
|
|
|
| |
See https://github.com/nim-lang/Nim/pull/14550#issuecomment-637937649
|
|
|
| |
* fix a bug that prevented nim doc compiler/nim on windows
|
|
|
|
| |
common 503 github errors (#14547)
|
|
|
|
|
|
|
| |
* render curly braces
* fix typo
* fix test
Co-authored-by: cooldome <ariabushenko@bk.ru>
|