| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* add simpler to use readChars overload
* use new readChars overload
* Update lib/wrappers/openssl.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
Co-authored-by: flywind <xzsflywind@gmail.com>
|
| |
|
|
|
|
| |
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Make 'echo' raise IOError when fwrite/fflush fail
* Fix fwrite return value comparison
* Add test for echo raising error and don't fail to release locks in echo
* Fix exitcode expectation
* Make 'echo' raise IOError on Windows if it fails
* Add nimLegacyEchoNoRaise for prior no-IOError echo behavior
* Use checkErrMaybe template
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* IPv6 text representation according to RFC 5952
* Revert IPv6 text representation according to RFC 5952
* fix #14259 #15621
fix #14259 #15621
* Update lib/system/io.nim
* reverted IoHandle removal
* adaptation of types for WinAPI
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Changes for FreeRTOS/LwIP Port for the ESP32 (ESP-IDF)
Adding FreeRTOS/LwIP to compiler:
* adding freertos option
* dyncalls for freertos
* add freertos to posix os list
* adding lwip option
Setting up networking FreeRTOS/LwIP Port:
* setting up lwip network for freertos
* fixing posix / networking for freertos
* disable setInheritable for freerots
* using lwip for net control items
* Fix builds by ignoring lib/posix/posix_freertos_consts.nim similar to lib/posix/posix_other_consts.nim
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* readLine: Unicode support for Windows console
When input is read from the Windows console, input encoding is UTF16. This is translated internally to UTF8.
* readLine: Remove recursive imports
* readLine: Fix issues with --gc:arc
**--gc:arc** defines **nimv2**. This changes the definition of **WideCStringObj**.
Also an empty string should be returned in case of EOF.
|
| |
| |
| |
| | |
**--gc:arc** defines **nimv2**. This changes the definition of **WideCStringObj**.
Also an empty string should be returned in case of EOF.
|
| | |
|
| |
| |
| | |
When input is read from the Windows console, input encoding is UTF16. This is translated internally to UTF8.
|
|/
|
|
|
|
|
| |
* io: fix SetHandleInformation signature to match Windows'
Fixes #14980
* rename Handle -> IoHandle because system.nim is a mess
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
| |
See https://github.com/nim-lang/Nim/pull/14550#issuecomment-637937649
|
| |
|
|
|
|
|
|
|
|
|
|
| |
cleanups (#14377)
* use check
* trunner now works with cpp
* cleanup: move compiler/unittest_light => stdtest/unittest_light
* fix tests/readme.md
* remove deadcode references to rodfiles
* fix for windows
|
|
|
|
| |
* move since from inclrtl to std/private/since
* move since import in system below for HCR
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* io: make file descriptors non-inheritable by default
This prevents file descriptors/handles leakage to child processes
that might cause issues like running out of file descriptors, or potential
security issues like leaking a file descriptor to a restricted file.
While this breaks backward compatibility, I'm rather certain that not
many programs (if any) actually make use of this implementation detail.
A new API `setInheritable` is provided for the few that actually want to
use this functionality.
* io: disable inheritance at file creation time for supported platforms
Some platforms provide extension to fopen-family of functions to allow
for disabling descriptor inheritance atomically during File creation.
This guards against possible leaks when a child process is spawned
before we managed to disable the file descriptor inheritance
(ie. in a multi-threaded program).
* net, nativesockets: make sockets non inheritable by default
With this commit, sockets will no longer leak to child processes when
you don't want it to. Should solves a lot of "address in use" that might
occur when your server has just restarted.
All APIs that create sockets in these modules now expose a `inheritable`
flag that allow users to toggle inheritance for the resulting sockets.
An implementation of `setInheritance()` is also provided for SocketHandle.
While atomically disabling inheritance at creation time is supported on
Windows, it's only implemented by native winsock2, which is too much for
now. This support can be implemented in a future patch.
* posix: add F_DUPFD_CLOEXEC
This command duplicates file descriptor with close-on-exec flag set.
Defined in POSIX.1-2008.
* ioselectors_kqueue: don't leak file descriptors
File descriptors internally used by ioselectors on BSD/OSX are now
shielded from leakage.
* posix: add O_CLOEXEC
This flag allows file descriptors to be open() with close-on-exec flag
set atomically.
This flag is specified in POSIX.1-2008
* tfdleak: test for selectors leakage
Also simplified the test by using handle-type agnostic APIs to test for
validity.
* ioselectors_epoll: mark all fd created close-on-exec
File descriptors from ioselectors should no longer leaks on Linux.
* tfdleak: don't check for selector leakage on Windows
The getFd proc for ioselectors_select returns a hardcoded -1
* io: add NoInheritFlag at compile time
* io: add support for ioctl-based close-on-exec
This allows for the flag to be set/unset in one syscall. While the
performance gains might be negliable, we have one less failure point
to deal with.
* tfdleak: add a test for setInheritable
* stdlib: add nimInheritHandles to restore old behaviors
* memfiles: make file handle not inheritable by default for posix
* io: setInheritable now operates on OS file handle
On Windows, the native handle is the only thing that's inheritable, thus
we can assume that users of this function will already have the handle
available to them. This also allows users to pass down file descriptors
from memfiles on Windows with ease, should that be desired.
With this, nativesockets.setInheritable can be made much simpler.
* changelog: clarify
* nativesockets: document setInheritable return value
* posix_utils: atomically disable fd inheritance for mkstemp
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* fix #9634 debugging a program using execCmdEx now works
* only apply EINTR to c_gets for now
This reverts commit c0f5305b5a0b46983dfd27e3d77ecbf4f8744dcc.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* os:any implementation
* os:asny: omit flock/funlock calls in echoBinSafe
* Disabled default "unhandled expection" reporting for `--os:any` to reduce
code size. Added unhandledExceptionHook instead which can be used to get
a notification from Nim and handle it from the application.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* Revert "remove default argument for readLines (#12807) [backport]"
This reverts commit c949b81efdeb08b38224e1678ad140b7b7663b15.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* semfold: fix deprecation warnings related to Int128
* semmagic: fix deprecation warnings related to Int128
* system/io: remove unneeded conversion of TaintedString to itself
|
|
|
| |
This reverts commit 00c31e87660d9db813871f5aa23661bf6b9bbdcb.
|
| |
|
| |
|
|
|
|
|
|
| |
* Fixes #12187
* Point to fork of compactdict
Since the original repo is now archived / read-only
|
|
|
|
|
|
| |
(#12313)
|
|
|
|
|
| |
* unify float printing
* makes tests green
|
|
|
|
|
|
|
|
| |
* Add -d:echoToAndroidLog to fix echo.
* Change to androidNDK and add docs.
* Some word changes to docs.
|
|
|
|
|
|
| |
* finish the Windows IO layer changes; refs #11618
* added system.getOsFileHandle which is less error-prone on Windows
* make tests green again
|
| |
|
| |
|
|
|
|
| |
--styleCheck:error
|