in order to make builds reproducible.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
This date call only works with GNU date.
Also use UTC to be independent of timezone.
This is the equivalent of 6b260b87c3 for meson.
This PR was done while working on reproducible builds for openSUSE.
* Add --without-gperf configure flag
* Update sdb to support gperf.foreach and faster ls.sort()
* Support cc and types sdb gperfs
* add r_str_newvf
* Honor HAVE_GPERF in more places
* Add CI job to build and test cmds with gperf
This patch makes it possible to build with older version of meson.
It is needed to build radare2 on RedHat Enterprise Linux 8 where the meson version 0.49 is older than on RHEL7+EPEL7 or Fedora.
Issues fixed:
- set minimum meson version down to 0.49 (version available in RHEL8)
- meson 0.49 has bug which prevents processing of '\' split-lines => build r2_version_number on single line
- on meson 0.49 the ternary operator is not possible to use with some constructs (subdir in add_install_scripts) => replace one ternary operator with if-else construct
For projects that use radare2 as a subproject, allow OpenSSL to be
compiled statically into radare2 so the linker does not attempt to link
a dynamic library during static linking.
Co-authored-by: Keegan Saunders <meme@users.noreply.github.com>
* Windows, Linux, Static, macOS, Android, iOS builds published for every commit
* Kept coverage, coverity, fuzzing tests, lgtm and -Werror jobs
* Kill the continuos, the over-engineered matrix and other empty or unnecessary tasks (250 vs 900LOC)
* Jobs TODO: fatmac, termux and rpm (centos) packages
These fortunes make a lot of people unconfortable and can be trigering
for some. Even if they are not active by default, they should have no
place here if you are trying to be a welcoming project.
There are a lot of other ways to be quirky and fun, I see no logical
reason to have these fortunes knowing they will negatively impact
people.
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Add network support for WinDbg/KD (KDNET) ##debug
* Add iob_net io_backend plugin for shlr/winkd
* Add Windows 10 (May 2019 Update) build 18362 profile
* Add r_hash_do_hmac_sha256 function to r_hash
* Change r_socket_connect to bind source port for UDP connection
* Avoid duplication of SDB headers in libr/include
SDB is an external project and as such it should live in shlr. However,
for simplicity in dealing with the include flags, the SDB headers were
copied in libr/include as well. This patch just keeps the SDB files
confined in shlr/sdb and make sure various r_* libs use the headers from
there.
* Fix pkgconfig file generation
* Do not check with r_return_ if the convention is present
Let's just assume the NULL default in such a case, so that architectures
for which we don't have a defined calling convention can still be
processed somehow by the analysis code. It won't be precise, but it's
better than nothing.
Also add a warning message so users are aware when the calling
convention is not defined.
* Fix oob-read when # is at the end of the cmd string
* Do not set TMPDIR when the new value is the empty string
When TMPDIR is set to empty value, clang+ld behaves in weird ways and
you cannot compile files from within the r2 shell (e.g. when using #!c
or #!cpipe)
* Use meson and add -lasan to pkgconfig files when sanitizer are used
* Make sure meson can build with `system` = `android`.
* Add support for binr/blob in meson build
* Add also r_util as dependency
* Create sdb_version.py to get the SDBVER value from config.mk
* Set unknown sdb version if something fails
* Add `--without-dylink` configure flag to disable "libdl" features
* Add "WANT_DYLINK" option in Meson buildsystem
Co-authored-by: pancake <pancake@nopcode.org>
* Fix r_sys_mkdirp with absolute path on Windows
* Fix build with --with-openssl
* Use RBuffer in r_socket_http_answer()
* r_socket_http_answer: Fix read for big responses
* Implement r_str_escape_sh()
* Cleanup r_socket_connect() on Windows
* Fix socket being created without a protocol
* Fix socket connect with SSL ##socket
* Use select() in r_socket_ready()
* Fix read failing if received only protocol answer
* Fix double-free
* r_socket_http_get: Fail if req. SSL with no support
* Follow redirects in r_socket_http_answer()
* Fix r_socket_http_get result length with R2_CURL=1
* Also follow redirects
* Avoid using curl for downloading PDBs
* Use r_socket_http_get() on UNIXs
* Use WinINet API on Windows for r_socket_http_get()
* Fix command injection
* Fix r_sys_cmd_str_full output for binary data
* Validate GUID on PDB download
* Pass depth to socket_http_get_recursive()
* Remove 'r_' and '__' from static function names
* Fix is_valid_guid
* Fix for comments
* Move radare2-shell-parser/tree-sitter into shlr
* compile new shell parser by default, available with cfg.newshell variable
* Add README for radare2-shell-parser
* Improve CI
* Add gitattributes file