| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* I don't care about observable stores
* enforce explicit initializations
* cleaner code for the stdlib
* stdlib: use explicit initializations
* make tests green
* algorithm.nim: set result explicitly
* remove out parameters and bring the PR into a mergable state
* updated the changelog
|
| |
|
|
|
|
|
|
|
| |
* added normal variate function
* change method only slightly faster
* changelog + since
Co-authored-by: b3liever <b3liever@yandex.com>
|
|
|
|
|
|
|
|
| |
This commit indents the contents of a `code-block` in `httpclient.nim`
so that it displays correctly. The bug was introduced by 42a64245f8.
I did a quick search for other `code-block`s that are broken in the same
way, but the only other one I found (in `pegs.nim`) is not included in
the generated documentation.
|
|
|
|
|
|
|
|
| |
Fix an issue reported on IRC: using encodings with --dynlibOverrideAll
result in duplicated iconv definitions, causing compile errors.
This commit remove the `var` wrapper of iconv and go all out on
pointers, as it should due to how the API accepts nil. Also corrected
the API to resemble iconv(3p).
|
| |
|
| |
|
|
|
|
|
|
|
| |
* update to the latest Jester
* remove deprecated procs from some stdlib modules
* 'criterion' is not maintained anymore and relies on obsolete stuff
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
some bugs in testament (#14342)
* make addQuitProc great again
* fix bugs in testament
* fix test
* change 2016 => 2020
* addQuitProc => addExitProc + locks
* move to std/exitprocs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* fix #14142: no more clash with: import os + use of existsDir/dirExists/existsFile/fileExists/findExe in config.nims
* remove a comment
* Revert "fixes the regression #12860 caused; hotfix"
This reverts commit 3d2459bdc0b6d6236a2cd9209ed81c965ee411a5.
* Revert "Undefine `paramCount` & `paramStr` in nimscript.nim for *.nims (#12860)"
This reverts commit d38853c504d89d6e361f064a17391afaf42d74b8.
* noNimScript => noWeirdTarget + noNimJs
|
| |
|
| |
|
|
|
|
|
| |
* httpcore: Add http code 308
* httpclient: Add 308 to redirection proc
* fix typo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Unwind just the "pseudorandom probing" (whole hash-code-keyed variable
stride double hashing) part of recent sets & tables changes (which has
still been causing bugs over a month later (e.g., two days ago
https://github.com/nim-lang/Nim/issues/13794) as well as still having
several "figure this out" implementation question comments in them (see
just diffs of this PR).
This topic has been discussed in many places:
https://github.com/nim-lang/Nim/issues/13393
https://github.com/nim-lang/Nim/pull/13418
https://github.com/nim-lang/Nim/pull/13440
https://github.com/nim-lang/Nim/issues/13794
Alternative/non-mandatory stronger integer hashes (or vice-versa opt-in
identity hashes) are a better solution that is more general (no illusion
of one hard-coded sequence solving all problems) while retaining the
virtues of linear probing such as cache obliviousness and age-less tables
under delete-heavy workloads (still untested after a month of this change).
The only real solution for truly adversarial keys is a hash keyed off of
data unobservable to attackers. That all fits better with a few families
of user-pluggable/define-switchable hashes which can be provided in a
separate PR more about `hashes.nim`.
This PR carefully preserves the better (but still hard coded!) probing
of the `intsets` and other recent fixes like `move` annotations, hash
order invariant tests, `intsets.missingOrExcl` fixing, and the move of
`rightSize` into `hashcommon.nim`.
* Fix `data.len` -> `dataLen` problem.
* Add neglected API call `find` to heapqueue.
* Add a changelog.md entry, `since` annotation and rename parameter to be
`heap` like all the other procs for consistency.
* Add missing import.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
| |
This reverts commit d53a6355f3ad4401731142d8fc66b95ecfdfb321 and
688b1f250ed058ecc49737dc75fd089206fa25b9.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This commit prevents "SSL_shutdown while in init" errors from happening.
See https://github.com/openssl/openssl/issues/710#issuecomment-253897666
|
| |
|
|
|
|
|
| |
* move json.isMainModule => tjson
* move isMainModule => tos,tsequtils
|
|
|
|
| |
This creates a more compact serialisation of strtabs that is more in
line with the normal tables.
|
| |
|
|
|
|
|
| |
* Disable unused warnings for await in async macro
* Remove used for the error template
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Change `UnpackError` with `UnpackDefect`
The deprecation warning for `UnpackError` exception raised by some
`inline` procedures in the Nim standard library propagates to the user
code. If the user code has a requirement for building without warnings
this is a problem for the successful execution of the tests. In order
to resolve this, all occurrences of `UnpackError` in the Nim code base
are changed to `UnpackDefect`. Only the type alias is retained to not
break other people's user code since `UnpackError` is exported type.
* Remove the catching of `UnpackDefect`
Defect exceptions should not be cached, because they indicate problem in
the API usage. The code in `nimblesocket.nim` is rewritten to first
check whether there is a value set into the `knownDomain` variable from
the `Option` type before usage.
|
|
|
| |
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
| |
|
|
|
|
|
|
|
| |
* The whole options module should be inline
* Use inline per proc and tag `lent` where appropriate
* Remove lent annotation (failing at compiletime)
|
| |
|
|
|
|
|
| |
* asyncdispatch, asyncnet: add inheritance control
* asyncnet, asyncdispatch: cleanup
|
| |
|
|
|
| |
Epoll is not supported by epoll.
|
|
|
|
|
|
|
| |
This pragma did nothing.
Ref:
- https://github.com/nim-lang/Nim/issues/2172#issuecomment-383276469
- https://github.com/nim-lang/Nim/issues/12975
|
| |
|
|
|
|
|
|
|
| |
workingDir (#14211)
* `osproc.execCmdEx` now takes an optional `input` for stdin
* execCmdEx now also takes an optional ``workingDir` and `env`
|
|
|
|
|
| |
* properly fix https://github.com/nim-lang/Nim/issues/12389
* use --lib:lib in koch.nim.cfg instead
* third time is the charm
|
| |
|
| |
|