summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* Make the example better describe the desired outcome (#14611)Max Grender-Jones2020-06-081-5/+5
|
* [OpenBSD] Add arm support (#14608)lbartoletti2020-06-082-1/+2
| | | | | * add arm support to openbsd * use clang on openbsd
* optimized wrapWords; fixes #14579 (#14606) [backport:1.2]Andreas Rumpf2020-06-081-25/+48
|
* fixes #14557 (#14607)Andreas Rumpf2020-06-081-1/+1
|
* `toJson`, `jsonTo`, json (de)serialization for custom types; remove ↵Timothee Cour2020-06-085-31/+203
| | | | | | | | | | | | | | | | | | | | | dependency on strtabs thanks to a hooking mechanism (#14563) * json custom serialization; application for strtabs * serialize using nesting * make toJson more feature complete * add since * Revert "Improve JSON serialisation of strtabs (#14549)" This reverts commit 7cb4ef26addb3bb5ce2405d8396df6fd41664dae. * better approach via mixin * toJson, jsonTo * fix test * address comments * move to jsonutils * doc * cleanups * also test for js * also test for vm
* Fix sugar.dump: It doesn't work correctly with compile time expression (#14580)Tomohiro2020-06-081-1/+1
|
* hotfix disable nitter refs https://github.com/timotheecour/Nim/issues/167 ↵Timothee Cour2020-06-081-1/+2
| | | | (#14603)
* openssl: use explicit result for SSL_in_init (#14597)alaviss2020-06-081-2/+2
| | | | | | | 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 (#14583)Clyybber2020-06-073-25/+49
| | | | | | | * Fix #14568 * Add testcase * Fix bogus test * Adapt other failing tests * Declarations are always first writes
* fixes #14315 (#14594)Andreas Rumpf2020-06-071-2/+1
|
* fixes #14118 (#14595)Andreas Rumpf2020-06-071-1/+4
|
* implement the 'bind' statement for generics, it was an oversight that this ↵Andreas Rumpf2020-06-072-4/+28
| | | | was never implemented (#14584)
* Fix link to "rebuilding the compiler" (#14567)lbartoletti2020-06-061-1/+1
|
* more precise analysis about 'observable stores' [backport:1.2] (#14582)Andreas Rumpf2020-06-063-4/+15
|
* wrappers/openssl: defer loading SSL_CTX_set_ciphersuitesLeorize2020-06-061-1/+3
|
* net: also set TLSv1.3 cipher suitesLeorize2020-06-062-0/+12
|
* wrappers/openssl: mark casts as gcsafeLeorize2020-06-061-17/+13
| | | | Nim will pretend that these proc are not gcsafe if they are not marked.
* wrappers/openssl: enable SSL_CTX_set_ecdh_auto for LibreSSLLeorize2020-06-061-1/+1
| | | | | | 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.
* net: revert compatibility changes for WindowsLeorize2020-06-061-5/+2
| | | | | This reverts commit d53a6355f3ad4401731142d8fc66b95ecfdfb321 and 688b1f250ed058ecc49737dc75fd089206fa25b9.
* wrappers/openssl: the version number comes from the utility libraryLeorize2020-06-061-9/+20
| | | | | Previously we loaded the SSL library for this, but that's not where the symbol resides.
* net: use CiphersOld list for WindowsLeorize2020-06-061-1/+4
| | | | | | | The default DLLs shipped are too old, switch to CiphersOld list to ensure compatibility. This commit should be reverted before any future release.
* net: don't call set_ecdh_auto for super old OpenSSLLeorize2020-06-062-6/+4
| | | | | And the fun thing is that currently we use a super old OpenSSL on Windows.
* wrappers/openssl: fix SSL_CTX_set_modeLeorize2020-06-061-1/+1
| | | | Follow up of 794042080b270d9da8d64bb4285ce83787bdec7e
* wrappers/openssl: getOpenSSLVersion is gcsafeLeorize2020-06-061-3/+4
| | | | Yet another weird {.gcsafe.} triggering when it shouldn't.
* net: enable automatic EC curve selection for OpenSSL 1.0.2Leorize2020-06-062-0/+23
| | | | | 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.
* wrappers/openssl: fix SSL_CTX_ctrl signatureLeorize2020-06-061-1/+1
|
* asyncnet: clear SSL error queue before performing I/OLeorize2020-06-061-0/+1
| | | | Follow up of 476be6cc278d58232e2c6cd3515eb24eca7e2d38
* changelog.md: clarify that only the default has changed [ci-skip]Leorize2020-06-061-1/+1
|
* ssl_config_parser: refactor for sanity reasonsLeorize2020-06-061-15/+17
|
* untestable/thttpclient_ssl: some tests are no longer brokenLeorize2020-06-061-6/+6
| | | | | With the changes to the default cipher suites, certain tests are no longer broken and are acting as they should.
* untestable/thttpclient_ssl: move incomplete-chain to dubious_brokenLeorize2020-06-061-1/+1
| | | | | It's unsure why this test fail for macOS, but it doesn't hurt if it's not passing.
* net: use a secure cipher list by defaultLeorize2020-06-065-1/+125
| | | | | | | | | | | 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.
* asyncnet, net: clear openssl error queue before performing I/OLeorize2020-06-063-0/+9
| | | | | | | | | | | | 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
* openssl: fix erroneous function signaturesLeorize2020-06-062-5/+3
| | | | Now matches the declaration in openssl/err.h
* net: don't clear error queue unless shutdown() will be performedLeorize2020-06-061-1/+1
|
* Revert "net: don't clear all errors on close"Leorize2020-06-061-0/+1
| | | | | | | You're supposed to clear the error queue before any I/O operations. Per SSL_get_error(3) man page. This reverts commit ee3ed37300743addb1344e39bc46d3cd2b89a718.
* thttpclient_ssl: be less specificLeorize2020-06-061-2/+1
| | | | | | 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.
* net: don't clear all errors on closeLeorize2020-06-061-1/+0
| | | | | | | 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.
* untestable/thttpclient_ssl: fix macosLeorize2020-06-061-0/+1
|
* untestable/thttpclient_ssl: fix 10000-sans testLeorize2020-06-061-1/+3
|
* untestable/thttpclient_ssl: catch errors caused by the bad catergoryLeorize2020-06-061-1/+1
| | | | | Previously the errors caused by `SSL_shutdown()` masked these, so now we catch them.
* asyncnet, net: call SSL_shutdown only when connection establishedLeorize2020-06-064-12/+52
| | | | | | This commit prevents "SSL_shutdown while in init" errors from happening. See https://github.com/openssl/openssl/issues/710#issuecomment-253897666
* fix #14576 addr of param (including for lent) now works with nim js (#14577)Timothee Cour2020-06-063-3/+71
| | | | | * fix #14576 addr(param) now works in nim js * workaround https://github.com/nim-lang/Nim/issues/14578
* reorder.nim: fixes the indentationAraq2020-06-061-41/+40
|
* Fix asynchttpserver newline breaking content-length (#14565) [backport]Zed2020-06-061-2/+3
|
* remove isMainModule from json,os,sequtils (#14572)Timothee Cour2020-06-066-757/+759
| | | | | * move json.isMainModule => tjson * move isMainModule => tos,tsequtils
* Fix #14570 (#14571)Danil Yarantsev2020-06-062-1/+12
| | | | * Fix #14570
* refs #14545 fix snippet errors: avoid showing confusing errors when they are ↵Timothee Cour2020-06-051-3/+4
| | | | expected (#14569)
* fixes #14562Araq2020-06-051-1/+4
|
* Improve JSON serialisation of strtabs (#14549)PMunch2020-06-052-7/+30
| | | | This creates a more compact serialisation of strtabs that is more in line with the normal tables.