Commit Graph

114 Commits

Author SHA1 Message Date
pancake
e8bbbf8322 Fix meson patch version issue with dash 2021-02-24 22:40:02 +01:00
pancake
d75ed755a3 Bump version for 5.2.0-git 2021-02-24 17:14:42 +01:00
pancake
92e39c18f7
Remove meson version hacks (#18373)
Co-authored-by: pancake <pancake@nopcode.org>
2021-02-21 01:51:08 +01:00
pancake
70f51531d0
Add use_ssl meson option to be in sync with acr behaviour ##build (#18358) 2021-02-13 04:10:24 +01:00
pancake
bd02bfd5c5
Update to sdb-1.7.0 (#18337) 2021-02-08 22:21:56 +01:00
Keegan Saunders
0939e57001
Support statically linking system OpenSSL ##build (#18296)
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>
2021-01-26 17:51:50 +01:00
pancake
cd6a439151
Add support for RAnal.ESIL plugins ##esil (#18206) 2021-01-24 16:39:45 +01:00
pancake
1184610971
Fix the CI badge and fully rewrite all the workflows to make sense ##build
* 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
2021-01-12 13:41:21 +01:00
Filipe Laíns
163312bff3 fortunes: remove nsfw and creepy fortunes
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>
2020-11-29 01:14:28 +01:00
Paul I
739feec0e0 Update meson.build 2020-11-12 15:14:42 +08:00
Damien Zammit
56fb85bff4
Revert "r2sdb: Install executable" (#17724)
This partially reverts commit 2a0d8fbe59
Fix meson warnings.
2020-09-29 11:22:43 +02:00
Damien Zammit
2a0d8fbe59
Install r2sdb, detect R2_HOME_SDB_FCNSIGN for r2extras custom CC ##build
* cc: Add autodetection for R2_HOME_SDB_FCNSIGN new location of custom calling conventions
* Fix r_file_exists not expanding tilde path
* r2sdb: Install executable
2020-09-24 12:26:53 +02:00
Florian Märkl
ed00e85e65
Use sdb == for generating dbs in meson (#17676) 2020-09-21 15:11:46 +02:00
Khairul Azhar Kasmiran
d9057505dc
Set RPATH/RUNPATH on r2 libs too if local (#17639) 2020-09-15 09:16:14 +02:00
Ole André Vadla Ravnås
8681963bce
Add Meson option to specify whether CLI tools should be built (#17625) ##build 2020-09-10 14:55:06 +02:00
Zi Fan
0ba897f5c9
Add network support for WinDbg/KD (KDNET) ##debug (#17340)
* 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
2020-08-26 10:24:20 +08:00
Khairul Azhar Kasmiran
fb1190d248
meson install: Create shortcut/symlink to radare2 (#17463) 2020-08-18 18:22:17 +08:00
Riccardo Schirone
48c30dfd99
Support compilation with meson on old systems like CentOS6/DebianWheezy ##build (#17345)
* Compile tree-sitter and newshell parser with gnu99 if possible ##meson
* Make sure to use `-lrt` when needed to use clock_gettime ##meson
2020-07-27 12:25:06 +08:00
Riccardo Schirone
2d160f2509
Avoid sdb double headers (#17249) ##build
* 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
2020-07-21 10:28:43 +02:00
Riccardo Schirone
594b940b7c
Fixes some of the issues in Travis (#17267)
* 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
2020-07-16 20:47:30 +08:00
Riccardo Schirone
d6c9bd4542
Add support for binr/blob and fix android build ##meson ##build (#17150)
* 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
2020-07-05 10:53:37 +08:00
pancake
27a625065a
Fix #16781 - Add --without-dylink configure flag to disable libdl features ##build (#17173)
* Add `--without-dylink` configure flag to disable "libdl" features
* Add "WANT_DYLINK" option in Meson buildsystem

Co-authored-by: pancake <pancake@nopcode.org>
2020-07-02 11:58:12 +08:00
GustavoLCR
77cc18ba04
Fix R2_INCDIR on Windows (#16940) 2020-06-12 17:12:48 +08:00
GustavoLCR
04edfa82c1
Fix command injection on PDB download (#16966)
* 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
2020-06-10 18:00:00 +02:00
Khairul Azhar Kasmiran
3662290b45
meson: Build rasign2 (#16831) 2020-05-17 00:36:43 +08:00
Eli Schwartz
03bc3c59b5
Add an option to build with system tree-sitter (#16679)
As of https://github.com/tree-sitter/tree-sitter/pull/602 it is possible
to install tree-sitter as a system shared library, and distributions that want to
be able to disable vendored code.
2020-04-23 13:54:52 +08:00
Riccardo Schirone
06ab29b93c
Compile new shell parser by default (#16660)
* 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
2020-04-21 13:44:30 +02:00
Florian Märkl
79fcf4fbff
Initial Implementation of R2R in C (#16216) ##test 2020-03-24 20:18:16 +01:00
Florian Märkl
d1e2b8fda4
Add Unit Tests to Meson (#15926) ##test 2020-02-05 09:55:30 +01:00
radare
45eb0052b1
Upgrade to acr-1.8.1 to get semver support ##core (#15816)
Move all version defines into r_version.h and handle it from meson too

- R2_VERSION_MAJOR
- R2_VERSION_MINOR
- R2_VERSION_PATCH
- R2_VERSION_NUMBER
2020-01-17 12:18:05 +01:00
Riccardo Schirone
46e0a8d169
Do not compile radare2-shell-parser by default (#15769)
Last release (4.1.0) did compile it by default, but the build requires
internet access to download the repositories. For now, since the feature
is anyway very experimental, we disable it at compile time so that
distributions can just compile their packages without internet access.
In the future we may want to use submodules or augment the release
tarball to include the tree-sitter and radare2-shell-parser archives.
2020-01-07 13:37:04 +01:00
yossizap
e35f447a2a Added break to gdbserver vCont and refactored the code to use locks (#15433)
The previous gdbr implementation didn't allow interrupting background
tasks with &b since send_vcon wasn't properly configured with the cons
api. In addition to that, gdbserver doesn't support processing multiple
commands at the same time, resulting in undefined behavior once cons
were set up for vcont.
This commit adds the relevant cons api and solves the concurrency issues
by adding locks on all socket related logic.
2019-11-10 19:03:56 +01:00
GustavoLCR
2bad46e266 Fix build (#15422) 2019-11-06 16:25:43 +01:00
Paul I
0891c6966a Update meson.build (#15099) 2019-09-22 20:36:32 +08:00
Khairul Azhar Kasmiran
18ef593b2e Set rpath if non-Windows Meson shared ##build (#15051) 2019-09-22 10:49:54 +02:00
Paul I
64a6baf0a9 Use abs path for LIBDIR and INCLUDEDIR on Windows (#15096) 2019-09-22 10:42:49 +02:00
GustavoLCR
a6898965c0 Fix Win32 build patch from @sanguinawer (#14945) 2019-09-02 01:16:51 +02:00
Paul I
2556919857 Add clang-cl support (#14814) 2019-08-16 12:10:00 +08:00
Anton Kochkov
9677804b8e
Windows native debugger refactoring ##debug ##windows
* Windows native debugger refactoring

Massive win32 native debugging code refactoring
and corresponding fixes.

* Fix hang after killing process
2019-07-29 11:19:26 +08:00
radare
571a080ca7
s/CORELIB/R2_PLUGIN_INCORE/g (#14295) 2019-06-13 19:12:51 +02:00
lzutao
9c659fdd17 meson: Change completions installation directory (#13647) 2019-04-07 09:59:06 +02:00
radare
e04f31a313
Completely kill the msvc/ directory and the unix-specific includes workarounds 2019-03-19 17:34:02 +01:00
radare
82416b0212
Create libr_main and make all binaries use it ##core
* Cleanup the use of getopt with our wrapper
2019-03-08 14:22:59 +01:00
Florian Märkl
30e74481f7 Meson: Add r_debug_dep to libr2_dep (#13088) 2019-02-13 23:09:17 +01:00
Riccardo Schirone
73edc4af04 OS X does not seem to accept X.Y.Z-git as lib version (#13043)
acr+make does work because it does not set any lib version on darwin. This patch
will adjust the version to use for libraries when radare2 is installed through
meson.
2019-02-10 23:36:08 +01:00
Florian Märkl
6a10d9d6f7 Fix #12834 - Set minimum version for libuv to 1.0.0 ##build 2019-01-20 00:06:34 +01:00
Riccardo Schirone
7185d6ca0a Set gittap even in release tarball ##build 2019-01-10 10:34:33 +01:00
lzutao
9cc6d2d291 meson: Do not use glob with meson ##build
* meson: Explicit is better than implicit
* meson: Fix deprecated warnings in Meson 0.49.0
* meson: Do not need separate array for installed files

libr/socket/meson.build:30: DEPRECATION: Library r_socket was passed to
the "libraries" keyword argument of a previous call to generate() method
instead of first positional argument. Adding r_socket to "Requires" field,
but this is a deprecated behaviour that will change in a future version
of Meson. Please report the issue if this warning cannot be avoided in
your case.
2018-12-27 14:17:54 +01:00
lzutao
f18838fff5 Improve the meson scripts ##build
* meson: Update to 0.47

Use a fallback version when sys/version.py failed.

* meson: Remove redundant calls to get_option

No need to join prefix with other project directories.

* meson: Check for explicit_memset

* meson: Use install_man to install manpages

Also, let install zsh completion files.

* meson: Install shlr/www only if use_webui built option is true

* Add use_webui build option

Rationale: Debian doesn't install shlr/www by default, give them an option
to enable/disable its installation.

* meson: Ensure python3 and no hard-code version

* meson: Ensure R2_DATDIR, R2_INCDIR, R2_LIBDIR be absolute path

* meson: WWWROOT be absolute path
2018-12-06 15:17:25 +01:00
pancake
32a5afee6b Fix the meson build. 2018-11-29 10:48:00 +01:00