Releases: wolfcw/libfaketime
Releases · wolfcw/libfaketime
libfaketime-v0.9.12
Since 0.9.11:
- Improved macOS compatibility (@usertam)
libfaketime-v0.9.11
Since 0.9.10:
- Fixed various cross-platform compile-time issues
- Honor nanosecond parameters/fields in relevant system calls
- Limited improvements to enhance compatibility with other LD_PRELOAD libraries
- Added selected more intercepted system calls
- Unset FAKETIME_SHARED automatically for child processes when enabling FAKETIME_FLSHM=1
- Disable shared memory for child processes through FAKETIME_DISABLE_SHM=1
libfaketime-v0.9.10
Since 0.9.9:
- automatically try to decide about FORCE_MONOTONIC_FIX at run-time when not set as a compile-time flag
- improved macOS Monterey support through dyld interposing
- changed interception hooks for stat() and similar functions, refactored to use a common handler (@sirainen)
- added support for timespec_get, timerfd_{get,set} (@sliquister)
- generic syscall() interception for selected syscalls (@dkg)
- improved testing system (@dkg)
libfaketime-v0.9.9
- When compiled with the
CFLAGFAKE_RANDOMset, libfaketime will intercept calls togetrandom()and return pseudorandom numbers for determinism. The mechanism needs to be activated by setting the environment variableFAKERANDOM_SEEDto a 64-bit seed value, e.g.,"0x12345678DEADBEEF". Please note that this completely breaks the security of random numbers for cryptographic purposes and should only be used for deterministic tests. Never use this in production! - When the environment variable
FAKETIME_TIMESTAMP_FILEis set, points to a writeable (creatable) custom config file and the environment variableFAKETIME_UPDATE_TIMESTAMP_FILEis"1", then the file also is updated on each call. By this, a common "virtual time" can be shared by several processes, where each can adjust the time for all. - Additional link-time
LDFLAGScan be passed via the environment variableFAKETIME_LINK_FLAGSwhen running 'make'. - Compile-time
CFLAGFAKE_SETTIMEcan be enabled to intercept calls toclock_settime(),settimeofday(), andadjtime(). (suggested and prototyped by @ojura) - Additional compile-time
CFLAGs can be passed via the environment variableFAKETIME_COMPILE_CFLAGSwhen running 'make'. src/MakefileCFLAGFORCE_PTHREAD_NONVERshould be set on systems that hang onCLOCK_REALTIME, or that hang onCLOCK_MONOTONICwhereFORCE_MONOTONIC_FIXis not sufficient.
libfaketime-v0.9.8
- Passthrough for unknown clock ids to avoid error messages
- Fixes for multithreaded operations (mliertzer, qnox)
- glibc-related fixes (jprjr) and gcc8 support (tpetazzoni)
- Improved error message output on parsing errors
- fix file stat() faking when 'i' modifier is used for determinism
- Use FAKETIME="%" to take FAKETIME setting from a file as specified in FAKETIME_FOLLOW_FILE
- Added FAKETIME_DONT_RESET environment variable to avoid faketime resets when subprocesses are started (similar to the old v0.9.6 behavior)
- Added FAKETIME_XRESET to avoid large clock jumps when the 'x' modifier is used and changed during run-time
- Do not fake time during libfaketime initialization to improve compatibility with memory allocation libraries that use time-related functions themselves
- Fixes for shared memory related issues, especially when not using the faketime wrapper
- Updated glibc compatibility settings for various platforms
- Support for clock_nanosleep() with realtime and monotonic clocks
- Support for epoll_wait(), epoll_pwait(), and pselect()
- src/Makefile CFLAG FORCE_MONOTONIC_FIX should be set (only) on platforms where the test program hangs forever at the CLOCK_MONOTONIC test.
libfaketime-v0.9.7
Preparations for 0.9.7 release
libfaketime-v0.9.7b1
Pass existing null pointers in select()