summaryrefslogtreecommitdiff
path: root/devel
AgeCommit message (Collapse)AuthorFilesLines
2021-01-30libnet: Remove default DEPMETHOD of build.jperkin1-2/+1
2021-01-29devel: Enable gotryoon1-1/+2
2021-01-29devel/got: import got-0.48ryoon30-0/+1433
Game of Trees (Got) is a version control system which prioritizes ease of use and simplicity over flexibility.
2021-01-29libdatrie 0.2.13 Releasedscole4-85/+15
@thep thep released this Jan 29, 2021 Fix wrong key listing in byte trie (Issue #9, Thanks @legale for the report.) Fix cross-compiling issue caused by AC_FUNC_MALLOC (Issue #11, Thanks @vmchale for the report.) Fix isspace() arg problem on NetBSD. (Personal mail, Thanks Sean for the report; PR #8, Thanks @obache for an individual pull request.) Fix some documentations. Really use TRIE_CHAR_TERM in TrieChar string termination. Changing TRIE_CHAR_TERM definition now won't break the code. Fix Windows build issue by avoiding <unistd.h> include. (Partially addressing PR #15, Thanks @fanc999 for first raising this.) [New APIs] Add serialization of the trie into memory buffer. (PR #12, Thanks @KOLANICH for the contribution.)
2021-01-29py-buildbot: requires py-sqlite3.maya1-1/+3
Normally comes python so it's not specified in setup.py, but not in pkgsrc. bump PKGREVISION
2021-01-29binutils: Improve gas/gld handling and cleanup.jperkin3-82/+101
Add a new "disable-ld" option that disables ld. This is required on Darwin where it is not currently built, but is also required for some SunOS setups where an external GCC is used and we do not want a libgcc dependency on it. There are now two ld-related PLIST variables, "gld" for the general handling of whether GNU ld is built or not, and "ld" for the symlinks we create. In addition Darwin also needs --disable-libctf to avoid a build issue, and an additional PLIST variable to handle GNU as which is also not built on Darwin. While here clean up a bunch of variable handling and NetBSD 5/6 workarounds, and simplify the setup of SYMLINK_FILES. Fixes build on Darwin, and SunOS when using an external GCC. Ok fcambus@
2021-01-28Add py-buildbot-badges 2.6.0maya5-1/+61
The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. The guilty developer can be identified and harassed without human intervention. By running the builds on a variety of platforms, developers who do not have the facilities to test their changes everywhere before checkin will at least know shortly afterwards whether they have broken the build or not. Warning counts, lint checks, image size, compile time, and other build parameters can be tracked over time, are more visible, and are therefore easier to improve. This package contains the Badges Plugin.
2021-01-28Add py-tubes version 0.2.0maya5-1/+114
Data-processing and flow-control engine for event-driven programs.
2021-01-28binutils: Fix PLIST.ldjperkin1-27/+27
The way this is managed is gld is still installed, it's just that we do not create the ld -> gld symlinks on SunOS so that it is not accidentally used depending on the $PATH. This may need tweaking for Darwin, but it's less critical there.
2021-01-28php-composer: Update to 2.0.9tpaul2-7/+7
Upstream release notes: - Added warning if the curl extension is not enabled as it significantly degrades performance - Fixed InstalledVersions to report all packages when several vendor dirs are present in the same runtime - Fixed download speed when downloading large files - Fixed archive and path repo copies mishandling some .gitignore paths - Fixed root package classes not being available to the plugins/scripts during the initial install - Fixed cache writes to be atomic and better support multiple Composer processes running in parallel - Fixed preg jit issues when config or require modifies large composer.json files - Fixed compatibility with envs having open_basedir restrictions - Fixed exclude-from-classmap causing regex issues when having too many paths - Fixed compatibility issue with Symfony 4/5 - Several small performance and debug output improvements
2021-01-27nss: Update to 3.61ryoon2-7/+7
Changelog: Bugs fixed in NSS 3.61: * Bug 1682071 - Fix issue with IKE Quick mode deriving incorrect key values under certain conditions. * Bug 1684300 - Fix default PBE iteration count when NSS is compiled with NSS_DISABLE_DBM. * Bug 1651411 - Improve constant-timeness in RSA operations. * Bug 1677207 - Upgrade Google Test version to latest release. * Bug 1654332 - Add aarch64-make target to nss-try.
2021-01-27devel: Add rebar21.jperkin1-1/+2
2021-01-27rebar21: Import copy of rebar-2.6.4 for Erlang 21.jperkin4-0/+44
This is identical to devel/rebar but is specifically built against lang/erlang21 for dependencies that are incompatible with OTP 23.
2021-01-27binutils: update to 2.36.fcambus6-81/+13
Changes in 2.36: * Update elfedit and readelf with LAM_U48 and LAM_U57 support. * Nm has a new command line option: --ifunc-chars=CHARS. This specifies a string of one or two characters. The first character is used as the type character when displaying global ifunc symbols. The second character, if present is used when displaying local ifunc symbols. In addition a new configure time option --enable-f-for-ifunc-symbols has been created, which if used will change nm's default characters for ifunc symbols from i (both local and global) to F (global) and f (local). * The ar tool's previously unused l modifier is now used for specifying dependencies of a static library. The arguments of this option (or --record-libdeps long form option) will be stored verbatim in the __.LIBDEP member of the archive, which the linker may read at link time. * Readelf can now display the contents of LTO symbol table sections when asked to do so via the --lto-syms command line option. * Readelf now accepts the -C command line option to enable the demangling of symbol names. In addition the --demangle=<style>, --no-demangle, --recurse-limit and --no-recurse-limit options are also now availale. * Add support for the SHF_GNU_RETAIN ELF section flag. This flag specifies that the section should not be garbage collected by the linker. gas changes in 2.36: * Add support for Intel AVX VNNI instructions. * Add support for Intel HRESET instruction. * Add support for Intel UINTR instructions. * Support non-absolute segment values for i386 lcall and ljmp. * When setting the link order attribute of ELF sections, it is now possible to use a numeric section index instead of symbol name. * Add support for Cortex-A78, Cortex-A78AE, Cortex-A78C and Cortex-X1 for AArch64 and ARM. Add support for Cortex-R82, Neoverse V1, and Neoverse N2 for ARM. * Add support for ETMv4 (Embedded Trace Macrocell), ETE (Embedded Trace Extension), TRBE (Trace Buffer Extension)and BRBE (Branch Record Buffer Extension) system registers for AArch64. * Add support for Armv8-R and Armv8.7-A AArch64. * Add support for DSB memory nXS barrier, WFET and WFIT instruction for Armv8.7 AArch64. * Add support for +flagm feature for -march in Armv8.4 AArch64. * Add support for +ls64 feature for -march in Armv8.7 AArch64. Add atomic 64-byte load/store instructions for this feature. * Add support for +pauth (Pointer Authentication) feature for -march in AArch64. * Add support for Intel TDX instructions. * Add support for Intel Key Locker instructions. * Added a .nop directive to generate a single no-op instruction in a target neutral manner. This instruction does have an effect on DWARF line number generation, if that is active. * Removed --reduce-memory-overheads and --hash-size as gas now uses hash tables that can be expand and shrink automatically. * Add {disp16} pseudo prefix to x86 assembler. * Add support for Intel AMX instructions. * Configure with --enable-x86-used-note by default for Linux/x86. * Add support for the SHF_GNU_RETAIN flag, which can be applied to sections using the 'R' flag in the .section directive. SHF_GNU_RETAIN specifies that the section should not be garbage collected by the linker. It requires the GNU or FreeBSD ELF OSABIs. ld changes in 2.36: * Add libdep plugin, for linking dependencies of static libraries that were recorded by ar in the __.LIBDEP archive member. * Add --error-handling-script=<NAME> command line option to allow a helper script to be invoked when an undefined symbol or a missing library is encountered. This option can be suppressed via the configure time switch: --enable-error-handling-script=no. * Add -z lam-u48 to x86-64 ELF linker to generate LAM_U48 property. * Add -z lam-u57 to x86-64 ELF linker to enerate LAM_U57 property. * Add -z lam-u48-report=[none|warning|error] to report missing LAM_U48 property. * Add -z lam-u57-report=[none|warning|error] to report missing LAM_U57 property. * Add -z lam-report=[none|warning|error] to report missing LAM_U48 and LAM_U57 properties. * Add -z x86-64-{baseline|v[234]} to the x86 ELF linker to mark x86-64-{baseline|v[234]} ISA level as needed. * Add -z unique-symbol to avoid duplicated local symbol names. * The creation of PE format DLLs now defaults to using a more secure set of DLL characteristics. * The linker now deduplicates the types in .ctf sections. The new command-line option --ctf-share-types describes how to do this: its default value, share-unconflicted, produces the most compact output. * The linker now omits the "variable section" from .ctf sections by default, saving space. This is almost certainly what you want unless you are working on a project that has its own analogue of symbol tables that are not reflected in the ELF symtabs. * Add support for the SHF_GNU_RETAIN ELF section flag. This flag specifies that the section should not be garbage collected by the linker.
2021-01-27add devel/lua-safernia5-1/+45
Safer - Paranoid Lua programming Taking defensive programming to the next level. Use this module to avoid unexpected globals creeping up in your code, and stopping sub-modules from fiddling with fields of tables as you pass them around.
2021-01-27unidiff: remove non-existent master sitewiz1-3/+2
Will fall back to ftp.netbsd.org, which has a copy of the distfile Closes PR 55959 by kim@
2021-01-27talloc: updated to 2.3.2adam2-8/+7
2.3.2 Bug fixes
2021-01-26py-codespell: this requires at least python 3.5 nowadayswiz1-5/+2
Mark as not for python 2.7.
2021-01-26py-codespell: add missing dependency for python 2.7 packagewiz1-1/+9
Add missing test dependency.
2021-01-26radare2-cutter: Mark as BROKEN for radare2 5.1.0kamil1-1/+7
Upstream cutter forked radare2 and created rizin. cutter uses rizin now. radare2 cutter was forked as r2cutter and is not ready for radare2 5.1.0. New upstream for r2cutter (in maintenance mode): https://github.com/radareorg/r2cutter
2021-01-26devel/ruby-thor: update to 1.1.0taca2-8/+7
1.1.0 (2021-01-20) * Don't use ANSI colors when terminal is dumb. * Ensure default option/argument is not erroneously aliased. * Fixes a bug in the calculation of the print_wrapped method. * Obey :mute and options[:quiet] in Shell#say. * Support Ruby 3.0. * Add force option to the gsub_file action.
2021-01-26devel/ruby-shoulda-matchers: update to 4.5.1taca2-7/+7
4.5.1 - 2021-01-15 Bug fixes * Update belongs_to to work with composite primary keys. (#1396)
2021-01-26devel/ruby-ruby2_keywords: update to 0.0.4taca3-10/+10
pkgsrc change: update LICENSE 0.0.4 (2021-01-19) No release note nor changelog. Please refer <https://github.com/ruby/ruby2_keywords/compare/v0.0.2...v0.0.4> in detail.
2021-01-26devel/ruby-power_assert: update to 2.0.0taca3-10/+10
2.0.0 (2021-01-23) No release note nor changelog, quote from commit log: * Drip support for Ruby 2.4 and before. * Add ruby 3.0 to GitHub Actions workflow. * Update description.
2021-01-26devel/ruby-regexp_parser: update to 2.0.3taca3-10/+8
[2.0.3] - 2020-12-28 - Janosch Müller Fixed * fixed error when scanning some unlikely and redundant but valid charset patterns - e.g. /[[.a-b.]]/, /[[=e=]]/, * fixed ancestry of some error classes related to syntax version lookup - NotImplementedError, InvalidVersionNameError, UnknownSyntaxNameError - they now correctly inherit from Regexp::Syntax::SyntaxError instead of Rubys ::SyntaxError [2.0.2] - 2020-12-25 - Janosch Müller Fixed * fixed FrozenError when calling #to_s on a frozen Group::Passive - thanks to Daniel Gollahon [2.0.1] - 2020-12-20 - Janosch Müller Fixed * fixed error when scanning some group names - this affected names containing hyphens, digits or multibyte chars, e.g. /(?<a1>a)/ - thanks to Daniel Gollahon for the report * fixed error when scanning hex escapes with just one hex digit - e.g. /\x0A/ was scanned correctly, but the equivalent /\xA/ was not - thanks to Daniel Gollahon for the report [2.0.0] - 2020-11-25 - Janosch Müller Changed * some methods that used to return byte-based indices now return char-based indices - the returned values have only changed for Regexps that contain multibyte chars - this is only a breaking change if you used such methods directly AND relied on them pointing to bytes - affected methods: Regexp::Token #length, #offset, #te, #ts Regexp::Expression::Base #full_length, #offset, #starts_at, #te, #ts - thanks to Akinori MUSHA for the report * removed some deprecated methods/signatures - these are rarely used and have been showing deprecation warnings for a long time - Regexp::Expression::Subexpression.new with 3 arguments - Regexp::Expression::Root.new without a token argument - Regexp::Expression.parsed Added * Regexp::Expression::Base#base_length - returns the character count of an expression body, ignoring any quantifier * pragmatic, experimental support for chained quantifiers - e.g.: /^a{10}{4,6}$/ matches exactly 40, 50 or 60 as - successive quantifiers used to be silently dropped by the parser - they are now wrapped with passive groups as if they were written (?:a{10}){4,6} - thanks to calfeld for reporting this a while back Fixed * incorrect encoding output for non-ascii comments - this led to a crash when calling #to_s on parse results containing such comments - thanks to Michael Glass for the report * some crashes when scanning contrived patterns such as '\😋' [1.8.2] - 2020-10-11 - Janosch Müller Fixed * fix FrozenError in Expression::Base#repetitions on Ruby 3.0 - thanks to Thomas Walpole * removed "unknown future version" warning on Ruby 3.0 [1.8.1] - 2020-09-28 - Janosch Müller Fixed * fixed scanning of comment-like text in normal mode - this was an old bug, but had become more prevalent in v1.8.0 - thanks to Tietew for the report * specified correct minimum Ruby version in gemspec - it said 1.9 but really required 2.0 as of v1.8.0
2021-01-26devel/ruby-pathname2: update to 1.8.4taca3-11/+12
1.8.4 - 19-Jan-2021 * Cleaned up the Rubocop warnings. * Added a Gemfile. * Some minor updates to the gemspec and Rakefile.
2021-01-26devel/ruby-concurrent-ruby: update to 1.1.8taca2-7/+7
Release v1.1.8 (20 January 2021) * (#885) Fix race condition in TVar for stale reads * (#884) RubyThreadLocalVar: Do not iterate over hash which might conflict with new pair addition
2021-01-26radare2: Upgrade to 5.1.0kamil9-399/+474
5.1.0 - codename lasagna @trufae trufae released this 23 hours ago - 4 commits to master since this release Release Notes Version: 5.1.0 (2021-01-26) Previous: 5.0.0 (2020-12-21) Commits: 291 CommitsFromRizin: 35 TotalContributors: 45 I will try to be more verbose with the release notes this time, it could help everyone to understand better the changes that happen, project directions and new features, as well as be more entertaining, even readable by Siri. As I'm writing these lines I know I will be missing something, so please, if you think this summary is missing any important details let us know and our apologize in advance! Updates from r2land Contributors Highlights This release comes with a large list of bug fixes, many of them you may probably not even noticed, but some of them are important for users and packagers, it has been tested on a large list of platforms, not just in the CI, but also in sparc, mips, powerpc and other funky hardware (Thanks @unixfreaxjp !). We are not forgetting the new Macs, and this release comes with few fixes for fat binaries, kernel caches and arm64 floating point emulation (kudos to @mrmacete and @aemmitt-ns for them!). Projects: One of the most awaited feature is now finally available for testing, the git support has been enabled by default and some options and backward compatibility transitional code have been removed. Please test this out and let us know if you spot any issue! thanks @trufae for this! The CI have been rewritten for simplicity and it's now building and publishing Android, iOS, macOS, Linux and Windows artifacts on every commit, ASAN, LGTM and COVERITY are still there, but all jobs run in github actions. Lots of improvements in the support for JSON have been added by @liumeo also, several memory leaks have been cutted down, which are always welcome. Support for streaming large files over mg, and added support in r2frida is now available thanks to @as0ler! r2wars The r2wars game runs on top of r2, but it needs some tweaks for the esil vm to work, this version optimizes this by checking configuration options outside hot loops. Cache cfg.r2wars value outside the eval loop Those 'hacks' will be eventually removed when r2wars gets able to emulate syscalls, traps and low level stepping for context switching at esil-expression level. Support sbfm/ubfm in arm64 Initial support for arm64 asm extendtype Add test and update arm.winedbg (#18117) The arm64 assembler has been extended support more instructions and be more formal and correct. Implement i4004 assembler It's always great to welcome a new supported architecture for assembling code (disassembler for i4004 was already available). Kudos to Liumeo for this nice addition! bin COFF: handle empty sections (#447) Dont demangle with libs unless requested Add bin.cache evar to use io.cache when bins need to patch relocs Fix Mach-O rebase on fat slices Add additional ELF header fields to rz-bin output Fix PE Delay Imports for multiple delayed DLLs (rizin) Lowercase DEX method attributes and move r_num_bit_count() Initial implementation of the DEX annotation parser The DEX annotation metadata is now parsed in the DEX plugin, this means, that parsing is actually a bit slower (it's parsing more information) but provides more context and information of the application classes and methods. Use bin.verbose=true to get that information. This metadata must be imported into r2 somehow, but this interface hasnt been defined yet, so only plaintext representation is supported at load time. Probably finding a good tree representation for an Sdb instance could work. radiff2 Add more checks on the passed files and fail early. Honor graph.font in diffing graphs too Remove buggy Levenshtein diff algorithm and rename the original code Some confusing usage and documentation have been updated and the default diffing algorithm is now faster. (Thanks MaskRay for spotting it and Liumeo for massaging it) ci The whole CI scripts have been rewritten to run everything in GithubActions, and adjust the test of PRs to 20min, ASAN is only running in master (takes 1h), and every commit is compiled for linux, macos, windows, ios and android. No breaking commits can be merged. And all artifacts are available to download for every single commit and architecture. As long as the Sanitized build takes 1h to run the testsuite we decided to make it run only in the master branch, if any regression happens there it's easy to fix with the crash logs in GHA. This is the setup of jobs in the current CI: Add android-arm64 target to build release artifacts Add TCC ci task which is able to build and run the testuite Added cydia builds for arm64 Add job to test build and install with spaces in builddir and installdir Add job to test install, uninstall, symstall for proper purgation and avoid disasters Fix the badge in the README Add asan ci job to run all fuzzed bins with a sanitized build (takes 1h) linux-test builds with acr and takes about 20min to run all tests CoverityScan service find vulnerabilities with advanced source code analysis. LGTM service spots static source analysis good practices Initial attempt to switch to Capstone 5, needs more RTable Dashes in RTable with X format Implement RTable:sql and add RTable.name You may not know about RTable yet, but it's an api and command modifier that will be used more and more over time. In short, RTable provides an API to create tables with columns with types and rows with data and an api and query syntax to operate over those tables in the same way as you would do in an SQL database but using the cryptic syntax of commands we like in r2land. This release introduces a new output for SQL. This means that any information stored in r2 can be exported in SQL statements and processed in your favourite SQL database. This is an example usage: $ r2 -AA /bin/ls > afl,:sql > functions.sql > !sqlite3 sqlite> .read functions.sql sqlite> .tables fcns sqlite> select count(name) from fcns; 128 RISCV Fix #18212 - Detect RISCV gdb servers Add riscv in RSysArch and make it an enum, not a bitmask Update RISC-V ESIL with sign extention operator (#18109) Native support for Linux/RISC-V is now available as well as remote debugging via GDB, the ESIL emulation have been improved a little bit. disasm Fix HUGE bottleneck in the WebAssembly pseudo disassembler and analyzer pd, is an alias for pdt (pdt will be removed soon) Honor meta size in asm.meta=false and add tests Fix #18202 - Large Cd truncates and crashes in pd Implement print disasm until optype ESIL Fix x86_cs cmpbs esil fix x86-cs rep/repe/repne esil expressions @condret find out (and fixed) a bug in the way rep instructions were constructed in ESIL in x86. Support arm32 esil stmib/ldmib Add sign extension assignment operator (#18092) Add floating point operations for emulation Thanks to @aemmitt-ns (Austin Emmitt) for implementing support for floating point arithmetics in ESIL as well as adding support for most FPU instructions for ARM64. That's an important move forward in order to improve the language to handle more instructions and architectures. A work in progress support for RIOBanks is not yet included in this release. But hopefully in the next release @condret and @trufae will be manage to finish the new API and commands and integrate them into the ESIL to support memory banks in GameBoy emulation for example (as well as add support later for other archs). Add support for RAnal.ESIL plugins Those new types of plugins are right now just a place holder to call init/fini and do whatever you want from there. But in the next release ESIL plugins will provide the ability to expose some functionalities to the ESIL VM, syscall implementations in userland, libc emulation functions, custom esil operations, hardware devices, etc. Join the Discord, Telegram or IRC channels to raise the topic if you are interested on more details. fs Add support to stream files using mg (#18253) This feature has been added pair to pair with the r2frida implementation, this way enables r2 to download all the files and its contents without any file size limitation from the remote device to your host. All the RFS plugins API has been changed to if you are using custom RFS plugins you may take care of that. Support for uploading is not yet implemented, but it is planned in the near future. Thanks Murphy for that great contrib! io Accept rwx argument in onn command Add onn command to fix custom map assignments Those changes and new command are required for the projects to be able to save and restore the status of files, binfile and iomaps in proper order and reference. Fix and refactor the ar:// plugin The refactoring of the io.ar plugin spotted a regression in open_many() which is not yet fixed, brave volunteers are welcome! Projects The most requested feature for r2 has been reworked to actually make it work and improved several use cases that weren't handled before: prj.git is now enabled by default if git is in path this means that everytime you run Ps after saving the changes in will prompt you for a commit message. The ability to rollback to any previous state of the project by just calling git reset and Po becomes very handy when bad things happen or you just want to track your progress. As long as projects are in plain text they are readable in git diff. Improved support to ease the workflow to support multiple users sharing the same project via git will be implemented in future releases. Handle io.maps and bin.segments in o* to handle custom maps in projects Add map name information in o* output Honor mapaddr for malloc in o* Save the write cache in projects As long as the user can create custom maps on specific files, the projects need to determine if there's any binobject associated with a specific file for processing a map. This puzzle is solved by the o* command which now prints the right commands to reconstruct the same IO environment starting from a clean session. Reworked P command with RProject and prj.name integration dir.projects becomes abspath when set Fix projects by removing code and honoring prj.name Save the write cache in projects The P command is now much more stable and all the subcommands work as expected, some tests have been added and project renaming can be done via command or via evar prj.name. The magic behind this evar-project-action is done by using the RConfig.getter APIs that have been there for a while but barely used, the value is updated at get time from the project instance details. This way it's possible to rename a project like this: > e prj.name test > e prj.name=case1 Tell the user that debugging projects don't work Projects are working, but they are far from perfect, one of these missing corners is the debugging support, the main reason for that is the lack of integration of aslr rebasing in projects, this will be eventually implemented, but for now it's better to avoid the user to mess the thing. In any case, it's always recommended to have your own manually writen scripts to do setup some flags, memory patches or breakpoints, so you are more in control of what you run in a living process. Fix calling convention save/restore Print call convention once in afi Warn once about the missing anal.cc Use RConfigNode.getter callback in anal.cc to be in sync with k anal/cc/default.cc Some improvements in the way calling conventions are handled inside r2 enabled the use of anal.cc like it's done in prj.name, with a 'live' evar. default calling convention is defined by the architecture but can be redefined by the rbin plugin or the analysis information. In addition the user can also specify a custom CC for each function, all those details are preserved with the anal.cc evar and the tc and afc commands. Remove transitional projects code Remove file.path and file.lastpath and add RProject Remove the prj.simple option dir.projects becomes abspath when set Use UID instead of PID to identify the user to avoid changing projects everytime Refactor Refactor tcc and afcl commands, improve help and JSON 25 commits refactoring the code to use the formal PJ api to generate JSON This includes honoring the settings defined by the user in the cfg.json evars, this nice feature was introduced by @hexploitable in the previous 5.0 release. [0x00000000]> e cfg.json.num =? none string hex Rizin Added support for regex in test output and stderr Massage RRegex to fix codingstyle and a null deref. This resulted in a cleanup and refactoring of RRegex One of the changes introduced in Rizin is the ability to use regexps to check the output of an r2r test, but after doing some cleanup in the regex code some issues were spotted in the logic, so it's not encouraged to write tests using regexps yet. Unit tests has been added, but it still requires to be fixed. The bugs are logic bugs, not exploitable, but some match expressions won't work. But at least the feature is in sync. Other commits taken from RZ grouped by author are: Paul I COFF empty sections memleaks in ophandlers rtable X dashes xvilka part of the improvements for indentation wargio avr anal warning due unpopulated mnemonic and further refactoring fix ao rjmp issue ret2libc Fix misusess of r2 commands inside r2 Use r_core_flag_get_by_spaces() in getFunctionName() kazarmi Fixed AVR anal plugin warning due unpopulated mnemonic Fixing clang flow warnings (#321) Fix #rizin302 - Fix function modification detection false Remove all dead assignment detect by clang sa (#310) yossizap Fix trace crash Add regex support in r2r Florian Fix null deref in rbtree Implement delay imports in PE parser shell Implement rax2 -I to convert from/to LONG and IP Address Sometimes a shellcode or a piece of program is doing some operations with IP addresses and it stores the IP address on a 32 bit register value. rax2 now provides a handy commandline option to ease this conversion. This feature was already available as a hint for the disassembly to convert instruction arguments to ip addresses. $ rax2 -I 192.168.1.32 0x2001a8c0 $ rax2 -I 0x2001a8c0 192.168.1.32 $ Implement $i and $I numvars Those two variables have been added in order to ease writing some scripts that navigate thru the code moving forward and backward honoring the instruction boundaries of the current analysis information. So $i is the address of the next instruction and $I of the previous. Things get more interesting when the braces join the game: Using $i{3} gives you the address of 3 instructions forward. and the same goes for $I{3} to go backward. Fix #18171 - Support RNum for syscall-name in asl command The asl command has been modified to use RNum when parsing the argument, so its possible to API Add RFile.new and RFile.move APIs RFSPlugin API has changed Plugin delegates return int instead of RFSFile to avoid leaks and uafs, needed for streaming largs files over mg. New RAnal.ESIL plugins Add esil.dummy in your plugins.cfg if the build fail with missing R_ESIL_PLUGINS error. Visual Fix ecn (and VR) when no custom theme was set in .rc In human words: rotating color themes is working again! Implement history filtering for dietline Initial implementation of r_cons_eprintf This new API is wrapping eprintf() but its also able to buffer the results and flush them after r_cons_flush(). FUTURE: The need for this API is to improve the r2pipe API and handle a 3rd communication pipe to handle asyncronous error messages. This is a long term plan and should be backward compatible, so no r2pipe scripts may break. Fix help rendering: avoid printing trailing whitespaces (#18115) Improve str.wrap, add cons.line and fix cons.printat glitch Fix #17940 - Show ConfigNode options when selected in Ve Box borders in graph and panels are now in yellow Update www/t from radare2-webui Fix cascading solitaire issue in panels menus Fix the 'c' cursor behaviour in disasm Those commits improve the experience in panels, fixing an anoying bug in the menus, improving the cursor mode. The default color theme for the frames makes it easier the eye. The heavy webuis were removed in 5.0, but we are still shipping t/iled and p/anel ones, it's known that the webui repo needs some attention bindings The bindings have been also updated with some more valadoc documentation that can be read in here: https://radare.org/vdoc This documentation and API can be used for any bindings generated by valabind, this is: python, nodejs, ruby, go, v, ... the work to stabilize the apis in this module focused in RConfig, some fixes have been done in this module. security As usual, every release of r2 comes with a large list of security vulnerabilities, bugs and crash fixes. The list below sumarizes the most relevant ones: Fix #18274 - Fix crash in r2 *.wasm Fix crash in XNU kernel parsing (no cache) Fix code injection vuln in .ic* with ObjC classes Fix trace crash caused by a mismatch between the register profile and op anal AVR: Fixed profile, (null) instruction and anal Fix potential null-deref in r_rbtree_cont_foreach() Fix crash when wasm file contains symbols with large names Handle ^C and fix ASAN crash in aeA command build Disable AVR plugin from all static builds because of the duplicated symbols issue introduced in recent refactoring. Add r2.1 when installing with symstall Fix debugger build problem in android-x86_64 Remove --without-r2r configure option Create dist/ to hold all the distribution build files Merged some patches coming from Termux to improve the debugger support on android-x86. The r2r testsuite executable is always built and should be available to all the user installations. Also, some issues has been fixed in sys/install as well as new CI jobs to verify no regressions happen on install/uninstall/spacesinpaths, etc. config Fix some returns to fix initialization issues in evars Remove unused cmd.xterm and use * instead of strcmp for ? Support evar filtering in eq and check for bool type in RConfig.toggle Expose RConfigNode.options APIs to avoid messing with internals Count lines is a prefix operator Add a progress bar for when scripts are running Honor R2_CFG_NEWSHELL=0 to disable it Seek command ignores the tmpseek Add missing vars from ?$? in ?$ and sort them alphabetically 5.0.0 - codename: phoenix @trufae trufae released this on 21 Dec 2020 - 298 commits to master since this release r2-5.0 Commits: 510 Contributors: 65 Interface Added the Comma API Added r_str_wrap() and r_cons_printat() APIs Fix adding comments in panels Improved help messages Removed problematic fortunes Add ?et command to change terminal title Fix double-click issue in vte terminals Formalize the flag names and its filtering APIs Fix return code when using q!. Fixes r2pipe.go Add experimental asm.flags.real to get strings from bin.str.real Removed unmaintained enyo and panels webuis (-2MB) Set realname on all bin strings for better asm.flags.real when bin.str.real is set Fix ansi colors embedded inside json output formatting Improve socket and http server APIs Add opn/opr/opp commands to rotate between opened files Initial implementation of scr.cursor for keyboard accessibility in visual and panels Add asm.hint.call.indirect to make indirect calls follow the target address (#17968) Performance Use sdb_set instead of sdb_querys (aaaa is 7x faster) Optimize IO.cache (makes bins with relocs much faster) Signatures Debugger Sync anal and debug tracing information Fix a crash in dts+ command with empty register arenas Attach to target pid/tid on remote lldb connect Add a warning when a breakpoint is placed in an invalid map Add commands to parse mangling pointers glibc heap Analysis Improve signature matching, threshold, refactor and optimize related code Directly apply Callee Args in Type Matching Takeover variables when splitting functions Always register the derived CC from the reg profile Add bbhash to detect modifications in functions (and reanalize if patched) Implement basic block listing commands (abl*) Implement tcc-* commmand to unload all calling conventions X86 Add amd64syscall and anal.cc evar Fix esil for cmp/sub instructions Add amd64syscall calling convention Fix ELF R_X86_64_PLT32 relocation entries patching (#17587) Fix x86 CMC instruction MIPS Improves mips.gnu esil Add JALR JR when the address can be computed Fix GP calculation when there are multiple entries Fix MIPS C-TYPE instruction check Set asm.cpu for mips.gnu derived from the ISA defined in the ELF ARM arm mte addg/subg decoding fix arm it block analysis BLR arm64 is type=RCALL (before it was UCALL) ARM64 assembler can now assemble AND and BIC instructions (Thanks @mrmacete!) Add initial support for arm and arm64 ELF relocs Handle RELATIVE (todo) and IRELATIVE relocs in ARM64 ELFs COFF: add ARMNT and ARM64 support All testsuite run on arm32 and arm64 v850 Improve invalid instruction detection Implement the pseudo disassembler plugin Fallback to anal=v850 when using asm=v850.gnu Add ep, sp, gp lp register aliases for v850 Added function preludes (aap finds much more functions) Fix calling convention argument register usage for v850 Add all instruction descriptions Set v850 disassembler when opening v800 ELF files TMS320 Implement pseudo disassembler plugin PowerPC Initial assembler support Improve reg profile to support calling conventions RISC-V Add all instruction descriptions Add Fix shift instruction analysis Fix ESIL for JALR and AUIPC instruction SPC700 plugins moved to extras ESIL Add sign-extension operations Implement aof to filter expressions using the dfg api Fix unexpected FPU exception in ESIL emulation bug Enlarge ESIL VM stack from 32 to 256 BSD Support pkgconf (BSD alternative to pkg-config) Fix build with tinycc, unfortunely the final binary segfaults Fix debugger support in FreeBSD Implements r_sys_aslr for NetBSD Fixing r_sys_pid_to_path for DragonFlyBSD Setting ASLR support for DragonFlyBSD Windows Fix r_core_editor() on Windows (#17887) Fix MSVC template demangling symbols Expose TEB address as a flag on Windows Add network support to WinDbg/KD (KDNET) Apple Support ObjC small method lists Support iOS 14.x dyld shared cache Add support for new macOS kernelcache Changes Rename asm.filter to asm.sub.names Rename asm.var.sub to asm.sub.var Deprecate the afc= command. Removed all globals from main functions afc= -> e anal.cc Fix big endian DWARF parsing labels no longer stored in sdb Refactor Variable Constraints out of SDB Fix r_anal_block_automerge incorrectly merging blocks Release 4.5.1 @github-actions github-actions released this on 3 Sep 2020 - 35 commits to 293cf5ae65ba4e28828095dcae212955593ba255 since this release Release Notes Version: 4.5.1 Previous: 4.5.0 Commits: 20 Contributors: 9 Highlights bin PE Fix null dereference in Pe64_bin_pe_compute_authentihash ELF Avoid buffer overflow while identifying imports build Fix Cydia/iOS packaging and compilation issues Enable LTO in sys/static.sh Install ldid2 as well, to sign packages for cydia Use meson install instead of manual installation in meson.py core Add Function Name, Constants, Globals and Local Variables to RAnnotatedCode port Backtrace support for haiku util Add r_sys_now_mono() and use in r2r Fix NULL dereference in r_pkcs7_parse_spcinfo() 4.5.0 Codename: Organized Chaos @github-actions github-actions released this on 18 Jul 2020 Release Notes Version: 4.5.0 Previous: 4.4.0 Commits: 426 Contributors: 58 Highlights Analysis Initial API for base type kinds (enum, struct, union) Rename PowerPC to PPC Improve RISC-V analysis for compressed instructions Add endbr64 as a function prelude for x86-64 binaries Improve BP vars/args detection Detect register args used only by callee Match args name/types from function definition Improve itanium RTTI parsing and vtable search Refactor Variables out of SDB Implement basic concept of signature bestmatch asm Add support for WebAssembly SIMD extension Boolify r_asm_is_valid and r_asm_set_syntax API x86_64/x86_32: Implement assembler endbr32 and endbr64 instructions x86_64: Support mov r64, 0xffffffffffffffff x86_64: Fix mov r32, -imm32 encoding Move inferior GNU Hexagon plugin to extras bin Apple Symbols file Improve Xcode symbols parser COFF Improve relocation support on COFF file format DEX Fix several crashes when loading corrupted files Performance improvements in DEX parsing DWARF DWARF 4 and 5 line parsing additions Several improvements/fixes in parsing ELF Use Dynamic segment entries instead of sections to find relocations Add support for BA2 ELF Add support for relocation entries for AARCH64 and PPC Print a warning when the entrypoint cannot be found and it is automatically set somewhere else Make glibc heap commands faster by resolving main_arena symbol Add support for glibc heap tcache pre/post glibc version 2.30 Add missing reloc definitions for C-SKY, RISCV and AARCH64 kernelcache Fix rebasing offset Mach-O Fix symbol names truncation issue when dealing with overly long strings Support arbitrary length identifiers Fix relocations on ARM Thumb Support Mach-O threaded binding for arm64e Rebase and strip pointers on Mach-O arm64e Fix parsing of objc class data pointer Do not automatically set the entrypoint of libraries PDB Add support for multiple PDB symbol servers Add function for reading PDB from buffer Fix command injection on PDB download (CVE-2020-15121, advisory GHSA-r552-vp94-9358) Pyc Move to radare2 core repository and improve/clean it PE Fix crash when resolving corrupted ordinal exports Speedup parsing PE exports build Various fixes for Haiku Add support for binr/blob and fix android build in meson Add --without-dylink configure flag to disable libdl features Add Debian 8 Jessie to GitHub CI CentOS tree sitter fix using gnu99 when available Fix the static build by dynamically resolving libutil symbols Add release Github workflow to create all the release artifacts Introduce --without-r2r configure option to disable compilation of r2r cons Add VT sequences input support for Windows crypto Remove hardcoded supported encoders names (e.g. base64, base91, punycode) debug Fixes for windows debugger Improve exception logging Fix inconsistencies in killing/restarting a process Fix detaching without killing debuggee Expose exception reason for di io Add new fd:// (handle:// on windows) plugin Support self:// plugin for Solaris and Haiku OS Fix regression while loading large files (>2GB) on 32bit systems lang Fix C/Cpipe when non standard library paths are used Implement RLang.spp for templated scripting Move #!v out of core (it's now available via r2pm) Fix usage of #!python, #rust, and #cpipe Do not include C/cpipe RLangPlugins on windows magic Add Android boot image signature socket Fix socket connect with SSL util Move RAnnotatedCode API from r2ghidra to r_util so it can be reused Refactor r_big for gmp and SSL Remove unused RConstr API Remove unused RRangeTiny API Add support for weakref RStrBuf and add r_strbuf_setptr API Add r_vector_fini and r_pvector_new_with_len API and add bound checks on all RVector APIs Add support for n# in pfc Add generic reference counting implementation rabin2 Fix go detection in non-elf binaries radare2 Config variables Renamed variables asm.jmpsub -> asm.sub.jmp asm.var.submin -> asm.sub.varmin asm.tailsub -> asm.sub.tail asm.section.sub -> asm.sub.section asm.var.subonly -> asm.sub.varonly asm.regsub -> asm.sub.reg asm.relsub -> asm.sub.rel anal.in=raw -> anal.in=range asm.bytespace -> asm.bytes.space scr.ansicon -> scr.vtmode (only on Windows build) New variables/options anal.vars.stackname: (true/false) Name variables based on their offset on the stack asm.bytes.right: (true/false) Display the bytes at the right of the disassembly bin.str.enc=ascii is a new option Commands Add axv and afvx and afv= commands to visualize var R/W accesses Add afvxj to print JSON output of afvx Add dmia command to list all info of a target lib and accept more print modes in dmi Fix invalid json output for drtj command Add key to highlight and go-to highlighted text in graph mode Add JSON print to /E command with /Ej Add zb command to find n closest matching graph zignature Initial refactoring to generate commands help automatically and support argv-style command handlers (e cfg.newshell=true) Add API to print decompiled code Optimize aao objc analysis Display file associated to the current file in the visual title Fix runaway scrolling in Visual mode after mashing down movement key on Windows Terminal Add F9 continue key to ESIL rafind2 Implement rafind2 -F to find the contents of the file rasign2 Add dumping of FLIRT signatures to rasign2 Move main code to r_main r2pm Initial support for git tags in r2pm 4.4.0 Codename: pangolin @radare radare released this on 14 Apr 2020 - 1381 commits to master since this release Release Notes Version: 4.4.0 Previous: 4.3.1 Commits: 328 Contributors: 41 Highlights Replace shellscript, nodejs and V testsuites with r2r.c which is shipped by default Added initial analysis plugins for super-h and tricore Fix build and some runtime issues on IBM s390x Updated rap:// cleaned up implementation inside RSocket for client and server Speedup type linking (300x faster) Fixed all the timeouts and crashes from bins/fuzz Add support for retpoline switch table analysis (spectre/meltdown) Fix #16418 - Implement blind main detection on endbr+mov files Add commands to emulate a basic block or the whole path until reaching an address Fix support for the latest GLIBC for heap parsing Improved automatic function signature association for the imports Fixed afs command to show proper footprint Add support for typedef and added NSString type on darwin binaries Fixed all the t subcommands to print all types as C Improved visual class browser and the visual bit editor ragg2 now allows to change the path of the shellcode to run Graph visualization is now faster Use RPVector for io->maps - speedup map traversal (overall speedup) Lots of code cleanup and refactorings reducing memory usage and performance DEX loading is now 2x faster Fix assembler: MOV for x86 and LDR for arm64 Improved the bin loader to support iOS 13.4 dyldcache files Improved support for ObjC IVAR fields loading them as C structs Add improved icc subcommands to print as classes as C, ObjC or Java Automated Emscripten (JS/WASM) builds in CI Fixed static build by defining a new file naming policy Default installation path with sys/install.sh is now always /usr/local Previous installations in /usr will be purged Only check for major and minor version numbers when loading plugins Changes anal Add initial SuperH and Tricore analysis plugins Added option to search all vtables Fix infinite loop in aae - check if address is valid If possible use symbol name instead of entry name for function name (#16528) makes the local variable access detection work on arm64 Fix asserts when trying to use a unexistant or wrong analysis plugin Minor Fixes for XRefs counting (#16546) Fix #16413 - Analyze code refs spotted with aae Implement x86 anal.jmp.retpoline switch tables (spectre/meltdown) Tweak arm64 ldr ESIL for var access Add opaddr field in ab/abj output Improve noreturn and aesu times, show it in afi & afij Fix dup af+ removing function from hts (#16526) Fix #16308 - Add fcn arg in r_core_anal_propagate_noreturn to avoid O(n) in af Fix ao~bytes and add test Improve aef by skipping calls and improving the logic Improve aeg command and add aaef as an alias for aef@@@f Fix #16225 - Remove the unused fcn_locs causing an UAF Implement Shortest Path between BBs and add tests for abt (#16200) Implement aesB command to step until the given basic block Implement afsj command to get the JSON definition of the function signature Add acvf command and devirtualizing vtable method calls (#16157) Implement aeb command to emulate a basic block (#16174) Guess a better name for functions when multiple flags point there asm Fix #16433 - Use MOV opcode B8+ for MOV r64, <0x80000000 to 0xffffffff> #16572 Fix #16433 - Support movabs for x86_64's MOV r64, imm64 (#16527) x86_64: Use MOV opcode C7 for MOV r64, -<1 to 0x80000000> (#16551) Fix arm64 branch assemble (#16205) Support asm.cpu for Tricore architecture (#16161) bin Fix infinite loop in macho commands parser (#16562) Fix heap overflow in the relocs ELF parser Improve COFF symbol info (#16523) Fix crash issue induced by an integer overflow in the mach0 parser Fix #16455 - iij asserts for ld-uclibc with a null import Fix asserts in iij for ld-uclibc with a null import Add rust lang support to iD command (#16490) Fix #16418 - Implement blind main detection on endbr+mov files Fix COFF symbols/imports info (#16446) When computing ELF relocations, use DYNAMIC segment if available (#16419) Make dyldcache accelerator info optional Make dyldcache accelerator info optional Do not use r_buf_data in DEX results in 1.5x faster parsing (22s vs 33s) Implement icc*, in sync with ic* to get C strcuts from mach0 classes into r2 Add mach0 class fields with padding and sorted by offset WIP: Improve ObjC's IVAR fields support Fix #16265 - Segfault in rabin2 -O e/123 with ELF Fix memory leak in RBin. NE relocations This allows to open dyld cache files from iOS 13.4 for which Idea for fixing id? and idp? etc commands (#16244) Fix PE endian and alignment issues spotted by ASAN Strip minuses from the hash names for sha256 PE signatures (#16156) Fix heap overflow in the relocs ELF parser Fix crash issue induced by an integer overflow in the mach0 parser Fix #16455 - iij asserts for ld-uclibc with a null import Make dyldcache accelerator info optional Fix memory leak in RBin. NE relocations Fix PE endian and alignment issues spotted by ASAN build Fix Build on NetBSD (#16520) Update SDB Make msbuild quieter (#16482) Create more GitHub Actions jobs for meson and gcc/clang Build fixes to make emscripten builds happy (#16406) Avoid duplicated module filenames to fix static.sh Rename util/diff.c to udiff.c to avoid libr.a collission Build *.deb packages only for master branch (#16320) Run sys/static in the Debian task Fix #9240 - sys/install.sh uses always /usr/local + rpath now core Remove asm.linesup (#16293) Fix wen command for io.va=true, add two tests Fix #16281 - Do not load system-wide plugins twice Only check for major and minor version numbers when loading plugins Add cmd: acvf [offset] ([class name]) Add r2 -NN to not load plugins Always use r_getopt, do not depend on libc (not just on windows) Use r_core_cmd_lines() for -c (#16290) Use @{} instead of @() and fix this modifier Implement @v: value modifier, like @x: but with endian and size Fix #15978 - segfault when using r2pipe webserver + local visual (#16508) Makes r2 interop more stable debug Fix tcache address and offset in print_tcache_instance() Fix dmht for glibc caused by wrong tcache offset and definition (#16247) Fix tcache_perthread_struct definition Test dmha/dmh for glibc x64 (#16307) Fix #16432 - openbsd fork+attach EBUSY issue Decouple shlr/gdb registers profile from code (#16312) Minor fix to get dmh to work with riomap (#16286) Detect glibc version and set dbg.glibc.tcache accordingly (#16255) Fix chunk listing with tcache and add test (#16239) Fix #16219 - Add $DB variable for dbg.baddr Add tests for rebasing in debug Fix debug rebase regressions Clean drx/drt/drp help message (#16203) diff Fix print string in radiff -qu (#16212) disasm Show realnames on function's signature when enabled Fix #16263 - Do not newline after showing switch cases egg Fix shellcode path customization (#16384) graph Optimize r_anal_get_bbaddr() to make graph navigation faster io Fix #16210 - Show error message and update help for we Fix #14371 - Make wfs paired with wts, rename wfs to wfx Use RPVector for io->maps - speedup map traversal Fix #16347: o+ sets maps as writable like oo+ (#16381) json Fix #16233 - ~{} works on colorized JSONs Fix #16233 - ~{} works on colorized JSONs Use pj in zj (#16321) Use pj in ilj Add pj_ad api to print raw data lang Update support for V in libr/lang ports Fix #16109 - Add R_SYS_ARCH for s390x print Fix #16394 - Make pm [file] work again Fix #16394 - Make pm [file] work again Implement hex.offset config variable to hide address column from hex-dump (#16373) refactor Initial r_anal_fcn_* purge (#16238) reg Make r_reg_get_list() search harder (#16202) search /ad/ in /bin/ls ate 9 extra MB that was never freed Fix memory leak in /ad/ using r_regex api wrongly Fix #16327 - Search in range with io.va=false Add LZMA-BE magic signatures Display correct lengths for cryptography search commands (#16262) socket Initial refactoring of the rap:// protocol (-75 LOC) Fix socket connection issue (#16218) test Fix all the crashes and timeouts in the fuzz tests Related to aav, aae, aa, Move test/new/* into test/ Add interactive mode to r2r (#16466) Format some missed tests R2R for Windows (#16410) Add Timeout to R2R.c (#16371) Enable R2R in C for all CI except Windows (#16354) Initial support for test categories and fix the windows build r2r new flags: -n to not run -v for version, add manpage Delete the r2r.v and use r2r.c Autodetect dbdir in r2r.c (#16365) Add ic + icc* tests for objc R2R in C Enhancements (#16310) Initial Implementation of R2R in C (#16216) tests Move test/new/* into test/ Format some missed tests r2r new flags: -n to not run -v for version, add manpage Add ic + icc* tests for objc tools Fix #16389 - r2r -qv and r2 -v to show version and quiet versions (#16472) types Fix #13677 - Add txt command and make txf accept an argument Fix empty struct and add test (#16408) Fix tp and tpx to accept types with spaces Implement tc* and fix tc glitch Add NSString and size_t types in tcc+r2 Optimize 'tl', r_core_link_stroff and r_type_link_at (0.01s vs 3s) Use the proper API to find function in tl Add R_TYPE_TYPEDEF to RTypeKind (#16243) Enhance the way imports are processed in r_anal_function_get_signature Implement tpv command and some random code cleannup Fix afs not showing signatures correctly with preloaded sdb types Fix afs not showing types and args util Implement r_table_uniq as API and query (#16385) r_buffer: do not move seek when using _at APIs (#16401) Make r_str_split_duplist() thread-safe (#16341) Remove r_str_rmch and simplify r_str_replace_char* Add pj_ko and pj_ka APIs visual Add anal classes to "Vb" (#16383) Fix cursor visibility after leaving visual graph (#16298) Visual bit editor now shows bits up and down Add VdN (afs!) to edit function signature with cfg.editor 4.3.1 @radare radare released this on 5 Mar 2020 - 1709 commits to master since this release Binaries: http://radare.mikelloc.com/release/4.3.1 Fix segfault in om= command Fix dead process issue with ood/doo command Fix build with ancient capstone3 Fix build with pre-c99 compilers Some more code cleanups + refactorings See 4.3.0 changelog for full details compared to 4.2.0 4.3.0 - Codename llentia @radare radare released this on 4 Mar 2020 - 1729 commits to master since this release Release Notes Version: 4.3.0 From: 4.2.1 To: 4.3.0 Commits: 214 Contributors: 33 Changes anal Rename the Function Flag on afn (#16078) Fix 'af' missing lines bug when analyzing in frida://0 Implement function names with dots in signatures Remove more members from RAnalBlock Remove prev, jumpbb and failbb from RAnalBlock Refactor Anal Hints (#15876) Skip empty esil expressions in 'aeab' to fix partial results issue Add 'aba' command as an alias for aeab Fix aeab and add V (values) in aea outputs Implement aeab command asm Fix #13908 - x86 aoj for instruction with hidden operand Add 'wao jinf' for Dalvik Determine Gameboy hardware registers in disassembly (#15909) bin Add new BIND_OPCODE_THREADED constant for MACHO binaries (arm64e) Add Windows Crash Dump format support (#16087) Minor Fixes and Tests for NSO/NRO (#16053) Fix iS hash outputs (#16044) Add Authentihash support for PE (#15987) Fix ELF symbols for names just before the end of strtab Parse dyldcache local symbols Fix some out of bound accesses in LE (#15943) Fix #14325 - Honor segments in DEX files (#15920) Many FLIRT handling fixes build Fix debugger build on Linux/s390x 'sign' as an alias for ios-sign and macos-sign Build debian package in CI cons Fix again the EOL bgcolor issue (and improve scr.html) (#16120) Implement ecHj to list highlight rules in json format Fix r_table_tostring for string with ansi escape code (#16069) Fix #16063 - bgcolor not reset on newlines Fix ecH- deleting ecHi and deleting meta highlight items Fix #15359 - Enable key.f# keys to be used in the shell Improve the gentoo theme core tree-sitter: support iter commands (#16111) Initial implementation of the 'rb' command to rebase all the things Use state struct and start handling cmd_substition_arg in tree-sitter (#15966) debug Use RTable API in r_core_debug_rr (#16066) Fix show register value in column (#16010) Add 'dbH' to set hardware breakpoints (#15933) disasm Improve ecH (ecH-* dels them all, ecH- doesnt segfault, ecH list) esil If esil.addr.stack is mapped find an available one When esil.stack.addr is -1 set it to the next unallocated address Code cleanup for r_core_esil_step() (#16017) graph Add graph.aeab to show esil stats instead of disasm json Fix #15851 /wj without arg produce '\n' (#15885) panels Fix a bug on clicking in panels (on Mac and Linux) projects Preserve "functions" flagspace when saving projects (#16057) refactor Revert "Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig Fix consecutive call to r_table_sort (#16049) Kill all globals in rabin2.c Remove globals from main.r2 Remove globals from rax2 refactor" Revert "Avoidify the RUtil.strTrim() APIs, rename trimHeadTail() and add asserts in RConfig test Add tests for RList (set, get, reverse, clone, append, prepend) and remove legacy Add initial sparc regression tests Handle ^C in r2r.v and support threads in fuzz tests r2r.v: Assume BROKEN=1 if not 0 or "" (#15936) Add Unit Tests to Meson (#15926) types Fix tccj, tccl, tcc* output errors and add tests (#15931) util Avoidify the strTrim() APIs + cleanup/refactor Memory leak fix proposal in syscmd_join visual Fix #15963 - Handle / in Vx (visual xrefs) To Review Fix #15211 - null deref in calling convention analysis Fix crash in elf parser found in the mtk-su binary with asan Add support for number_command and recursive help cmd_ignbithints should be set everywhere for consistency Save rnum->value before doing a cmd substitution Update radare2-shell-parser to fix null deref in html_disable_command Fix last coverity issues (#16114) Make r_strbuf_fini() safer (#16115) Add test for loading typedefs with to (#16101) Add test for long ESIL bug (#16102) [ppc] Only free op->esil if ESIL not requested (#16102) Fix #16093 - support syscall redefinition in REgg (#16106) Upgrade to node-r2r-0.4.0 (#16098) Add test for yara in extras (#16090) Fix #14647 - Add output of sections to segments mapping for ELFs (#16045) Add output of sections to segments mapping for ELFs Create RReg test unit (#16081) Fix some anal cmd handlers (#16085) Do not use the elvis operator for bool expressions (#16073) Upgrade node-r2r to 0.3.1 to fix the <<EOF -i issue (#16072) Fix null-deref on afv[rbs]-* without function (#16071) Use RString and minor cleanup (#16070) r2r.v path/to/cmdtest works now Convert NAME='name' to NAME=name in tests (#16067) Fix r_cons_rgb_parse() harder (#16061) Also fix init of some ret args in r_meta_print() Boolify try_walkthrough_jmptbl Add R_ANAL_RET_NOP constant Add test case Replace O(n2) ELF symbol matching with hashmaps (#16052) Replace O(n2) ELF symbol matching with hashmaps Swap loop order to ensure that all phdr_symbols are marked. Use name, size and offset as hashmap keys. Add [?] to fd help entry (#16058) Allow function names containing dots in tcc Add some very basic tests for NSO/NRO Remove broken readLE* functions from NSO/NRO This reverts commit 38b61c7. Run 'r2r fuzz' from anywhere Remove stray pancake activity ;) (#16054) Fix a segfault in libmagic when error string > 4096 (#16050) Fix address representation minbound maxbound in afij (#16051) Force sorting of rows in the event of consecutive sort Remove global Gdec and use r_list_reverse for decreasing sort Add test for r_table_tostring and r_table_sort Upgrade capstone v4 and next branches Simplify travis oneliner Fix r_table_sort segfault when column type is NULL (#16047) Rename argument to 'dec' (decreasing) to reflect existing output Add test Refactor bin_sections function Add filter_hash_string function Fix segfault in Authenticode hash check (#16042) (#16043) I noticed that r2 will crash when loading a PE file with Authenticode digest algorithm other than SHA-1 or MD5. I traced it down to the PE_(bin_pe_compute_authentihash) function returning NULL if it encounters an unsupported digest function. This results in NULL being passed to strcmp which causes the segfault. Solution was to add a check for PE_(bin_pe_compute_authentihash) returning NULL and to set bin->is_authhash_valid to NULL. The real solution is to add support for more algorithms but this will stop crashes for now. Greenify AppVeyor on master by using different tag name (#16041) Greenify AppVeyor on master by using different tag name Co-authored-by: Itay Cohen itaycohen23@gmail.com Fix read stack-based buffer overflow when using str with pk_js (#16040) In some cases I noticed str is not correctly terminated, so when it is later used in pk_js, that function reads a very long string, outside of the memory bounds of the original buffer. Add support for @* commands in new r2-shell-parser (#16038) Use TSSymbol instead of comparing type strings This patch uses ts_node_symbol instead of ts_node_type to check whether a node is of a given type. Since TSSymbol is just an integer, the check will be much faster. Also, it allows to store commands handler in an hashtable, instead of having if-cascade. Make sure r_config_hold works even when keys do not exist or are freed Add support for all _tmp_commands Make sure to always reuse the same TSLanguage Update both tree-sitter and radare2-shell-parser This way we use TSLanguage version 11, which fixes some problems with TSSymbols. Compute is_last_cmd on each single command and fix logging is_last_cmd should be set on a per-command basis, so if you analyze things like pd 3; .; .; .; the . refers to pd 3. This also fixes logging, so when an invalid command is parsed, it is still available in the history. Add comment about directly using r2-shell-parser in r_core_cmd_lines r_core_cmd_lines tries to parse the input and split it in lines, but at least in theory, we don't need it as the new parser can already handle full scripts. Allow other tasks to run between commands even in the new parser Fix #10696 - Kill r_io_map_add_next_available The function is just renamed to be reused and we have no tests for it, but it may fall into an infinite loop Fix #15842 - Add minimal slice for reproducible af test on anal-block branch Highlight that 'new' is a directory name in test docs (#16035) Use absolute URLs in pull request template (#16036) Fix sdb API usage to avoid extra strdup() (#16028) Make r_table_columns() faster, leak- and double free free (#16031) Remove ARGS= from tests (#16032) Support real names in "fd" command (#16027) add tests for fdj and fd.j Add support for realnames in fd Add a Test for fd with realname Co-authored-by: Florian M Cvsrkl info@florianmaerkl.de Fix Spaces Interference in r_flag_get_at() (#16019) Unstick Travis by using compgen instead (#16025) Code cleanup in r_core_esil_step() remove unnecessary call to initializeEsil() remove another set PC register in initializeEsil() Add test for aes without initialization Use git clone --depth 1 as much as possible in builds (#16022) Refactor r_bin file hashes Add r_bin_file_compute_hashes Add r_bin_file_set_hashes Refactor it itj commands Introduce hashes method to RBinPlugin Add test for env with spaces Make env command trim key/value strings before setting env variables test/bins/fuzz: null_pointer__elf_init__store_versioninfo__store_versioninfo_gnu_versym Fix crash in mach0 mach0_invalid-addr_walk_exports Add Certificate Table parser to PE plugin Add SpcIndirectDataContent ASN.1 structure parser Add Authentihash calculation and check Refactor r_bin_file_hash Add tests for Authentihash check Fix for ar= and dr= and add tests increase width to accomodate register name larger than 4 chr fix flag type register value not printed update r_debug_reg_list() to accept '=' arg Fix builds by installing radare.r2 manually (#16009) Upload all generated ZIP files Use the "concatenation" concept in radare2-shell-parser Implement repeat_command and do not unwrap quoted args For back-compatibility it's better to not unwrap quoted args, because existing commands right now just understand this syntax. sdb header file dependency for external plugin i.e. pyc (#16004) r2r.v: Add color to BR and FX of cmd tests (#16003) Upgrade V Fix incorrect PPC ESIL and add testcase (#15970) (#15995) r2r.v: Fix EXPECT_ERR check r2r.v: Mark broken failing-only-on-EXPECT_ERR tests as BR and not FX Add ecH. command to show highlight info in the current offset Fix 32bit format string bug in the protobuf decoder Fix RCons test UB issue Add testcase for this RCons.rgbParse() crash Fix ASAN segfault in RCons.rgbParse() r2r.v, BROKEN=0: Check only first char Honor rc in unit runs and fix execution path in make run Handle return code in r2r.v and fix crashing unit test Fix asan crash in ecH- Echi bad color (#15986) Outputting error on ecHi bad color Add logic to parse unmapped local symbols. Every macho image present in the dyldcache has all the metadata about its local symbols stripped away from the corresponding macho header. Instead, this information is present as dyldcache-specific metadata stored in unmapped parts of the cache file. This PR, for every loaded image, takes care of adding the local symbols which are missing. Bonus Fix a potential use-after-free caused by r_bin_object_set_items, by rebuilding class-related hash tables after replacing the class list. Convert ONE_STREAM tests to EXPECT_ERR (#15979) Remove RAnalBlock.type Remove RAnalBlock.cases Remove RAnalBlock.label Reorder RAnalBlock members to free 16 more bytes Handle instructions with hidden operand Add hidden_op() for instructions with hidden operand Added operands info for pushf, popf, pushfd, popfd, pushfq, popfq Add test for aoj for pushf Fix last covs (#15976) Fix too long var name and assert on strlen (c) > 1 Fix grep when there is also {} r_cons_grep_strip expects the ~, otherwise it does not work well. new parser: fix multiple words in grep and add support for > $alias Add tests for swift-x86-64 calling convention Update afcr, afs command Add support for self, error register argument (Swift) Refactor and Add Swift calling conventions to sdb Fix escape/unescape in new shell parser Fix UB, oobread, infinite loop and other bugs in the LE parser (#15968) r2r.v: Slurp empty lines as well (#15964) Cleanup some RAnalBlock Members (#15965) Simplify ownership in the PE resource parser to fix a double free Use RVector for Address Hints Add Arch/Bits Hint Trees Add Unit Tests for Addr, Arch and Bits Hints Add unset for newbits Fix jmptbl hint fetching Fix r_anal_*_bits_foreach Print grouped Anal Hints Fix arch bit affect on disasm Add Reset Hints to Commands Add test for type uint64_t r2r.v: Fix wg race Memory leak fix for kernel cache module. Add missing afis info in afi? and fix afis? Fix tests Note that ^c is only supported on unix systems for now Some tests use the new radare.r2 api to use RCons.isBreaked() Other tests use os.signal() to catch C.SIGINT Add tests for assemble/disassemble neg al (#15949) Update neg eax test (#15950) r2r.v: Fix Success: 0 when running cmd tests (#15948) Try V suite on FreeBSD and OpenBSD (#15852) Try V suite on FreeBSD Try V suite on OpenBSD Fix V lang error Update V lang Fix /wj without argument produce stray \n Change logic to prevent unreachable branch Revert to R_MODE_RADARE if there is no argument Add asm x86 neg Upgrade V Upgrade V Convert '..' tests to <<EOF Convert EXPECT_ERR= tests to <<EOF Convert some tests to use CMDS/EXPECT without enclosing quotes (#15939) Convert some tests to use CMDS/EXPECT without enclosing quotes Add test version that is friendly with node-r2r, r2r.v and AppVeyor Fix unit tests by upgrading V (#15940) Fix /j when there is no input argument (#15935) Return address for unknown Gameboy hardware registers Improve warning messages in r2r.v Convert more tests to use a strictier syntax r2r can load test files when passed as argument duplicated test names are reported as warnings run tests from test/new instead of test/src (like r2r.js do) Upgrade to the latest V Use only BROKEN=1 in tests (#15932) Convert cmd_i tests to <<EOF Upgrade node-r2r to 0.3.0 Tests for concatenated greps in pd (#15925) fixed esil for arm push/pop with conditional (#15922) Fix Comment about RAnal.bb_tree (#15919) Terminate on missing script when doing radare2 -i -Q (#15918) Add realname to anj (#15917) Fix a format string in arm (Fix #15915) (#15916) Fix radare2 -i -Q output when script has no nl at eof (#15914) Go back to 4.3.0-git after the minor release 4.2.1 @radare radare released this on 20 Feb 2020 - 1945 commits to master since this release Release r2-4.2.1 Arctic World Archive @radare radare released this on 21 Jan 2020 - 1980 commits to master since this release On February 2, 2020, GitHub will capture a snapshot of every active public repository, to be preserved in the GitHub Arctic Code Vault. This data will be stored on 3,500-foot film reels, provided and encoded by Piql, a Norwegian company that specializes in very-long-term data storage. The film technology relies on silver halides on polyester. This medium has a lifespan of 500 years as measured by the ISO; simulated aging tests indicate Piql's film will last twice as long. Release Notes Version: 4.2.0 From: 4.1.1 To: 4.2.0 Commits: 175 Contributors: 23 Changes anal Fix #15091 - Make 0 fcnsize warning more meaningful and verbose-only (#15866) Fix jumptable size #13812 (#15822) Fix afs not working without rettype Fix a null deref in fcn_recurse Remove Custom Analysis for Java (#15817) Refactor RAnal Basic Blocks and Functions (#15169) Change RAnalBlock.size to ut64 Make type matching independent of bb list order Improve the op.type text representation when unhandled modifiers are used Remove dupped basic block analysis in core (#15714) asm 'push rip' is not a valid instruction bin Improve realname support for symbols (#15702) Add test for #15727 (smd strings) (#15777) r_str_unescape: Support all izz esc seqs (#15770) Force read permissions on all load maps in ELF Initial implementation of LX/LE file plugin cons Implement ar, and dr, commands to list registers in table format Fix #14424 - Handle ~ operator in the ms shell Implement r_strbuf_slice and use it in panels to solve a glitch core Add ?V0 ?V1 ?V2 - for semver support Upgrade to acr-1.8.1 to get semver support Add pkgname in RLibStruct for r2pm on outdated plugins debug Added reverse step and continue support to gdbr Moved drC to drpC for profile comments and added drC for reg comments Added register specific comment parsing to register profiles Fix crash caused by rebasing a file without sections Set cfg.debug to true before running oodf in doof Fix multithreaded breakpoint behavior in linux Attach to new linux threads on creation Fix debugger build on linux-s390x Always unset bps after continue and step hard Add detailed location info to dpt using pc instead of path Add packed sizes to gdb vector registers and improve mapping of target description to r2 regs Fix drt not printing non 64bit/32bit registers and flags Refactor breakpoint validation (#15754) Refactor breakpoint validation Revert "Validate bp addr on rebase and restore instead of preventing creation Validate bp addr on rebase and restore instead of preventing creation Fix hardware bp restoring and fix hwbp repeating errors Add location in file to linux dpt output Fix var rebasing by saving regname info Refactoring ptrace register write for BSD Implement bsd_thread_list for FreeBSD Fix reopening of windows debug after detaching not working Fix windows breakpoint rebasing Prevent the restoration of disabled breakpoints diff Add explicit fingerprint_size to RAnalFunction Add ccdd command to diff decompiler output of two functions Add ccdd command to diff using decompiler (experimental) disasm Remove realname from strings (#15841) Show flag realname when finding a function and realname is enabled Hide flag comments when realname is shown (#15801) asm.symbol: Improve code/test a bit more (#15798) asm.symbol: Fix flag name when disasm from non-flag addr with no anal esil Add RISC-V 64 word instructions and test (#15742) Correct RISC-V division and add test (#15712) io Fix #15789: Increment offset for reads as well (#15865) json Use PJ api in the output of isj and show realname Fix issues in iCj, drlj and arlj Fix izzzj json output Fix gen json dwarf with pj api (#15755) Fix is.j iEj and iaj json validation issue in r2 -- (#15724) panels More fix for resizing issue (#15844) Performance improvements for the cursor mode Code clean-up and a little performance improvement for decompiler cache All the available decompilers outputs will be properly shown with this Make the decompiler cache work properly Add H key for cursor mode which works like the one in vim print Implemented pmj (#15864) r_debug Debug, BSD systems refactoring search Add elliptic curve private key search in /cr command (#15761) izzzj: Add izzj attributes (#15759) signatures Apply types on matching zignature data table Add f, command to list flags in table format test Fix V testsuite build with latest V from git (#15867) Convert cmd_pd* tests from <<KEYWORD to <<EOF (#15823) Support extras tests in r2r.v (#15821) r2r.v, -j 0: Allocate 1 job per test (#15807) Improve unit test execution using the new V suite and makefiles Many improvements in the V testsuite (#15722) tests r2r.v, -j 0: Allocate 1 job per test (#15807) util Fix r_list_set_n() to allow empty element (#15820) visual Limit panel tabs to 9 to avoid keybinding and click issues windows Fix reading on invalid process memory To Review Release 4.2.0 - Arctic World Archive Fix resizing issue (#15863) Fix pkgname version check for real now (#15862) Enable V testsuite on GitHub CI (#15796) Enable V testsuite on GitHub CI Check version for pkgname correctly (#15860) dot can be null Using R2_VERSION_MAJOR/MINOR is wrong because they will be continuously updated and we want to check for exactly 4.2.0 The version check logic itself was wrong Fix afb test (#15861) Fix #15833 - Only print pkgname if the plugin is for r2 >= 4.2 Update/improve jmptbl size tests Use specific commit of V to avoid build issues A bit more picky fix Add test for afs without type Fix #15767 - Temporarily disable colors in drrj Fix warnings Update radare2-shell-parser Use void because we don't do anything with the return value Coverity fixes Remove the wrong test More tests fixes Resizing works not perfectly yet but close Fix #15604: Convert all tests from <<KEYWORD to <<EOF Fix wrong tests (#15834) Add test for env variables boolification Introduce SETBPREF to handle "boolish" vars like asm.cmt.off Do not try to convert to true/false, as it breaks integer vars See discussion at #15681 . Unfortunately the change cannot be done for non-int vars only, because right now vars are not statically typed, so a var that is initially CN_INT can then become CN_STR if you set a string. Changing vars to assign them a static type when they are created would require a much bigger change and discussion. A bit of refactoring in r_config.h 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 Mach-O io: mem leak fix proposal. (#15829) C89 Fixup for r_sign_fcn_types function (#15824) Fix error: for loop initial declarations are only allowed in C99 mode Implement new zignature types format Adapt zignature types deserialization to new format Integrate fcn types when zignatures match Use node->i_value in the log.level/log.traplevel callbacks Basic Blocks are now global instead of owned by a single function. Fix dbg_bps tests that always succeeded (#15763) Approved-by: Riccardo Schirone sirmy15@gmail.com This feature only works with server implementations that have ReverseStep and ReverseContinue enabled, such as rr. The official gdbserver doesn't support it. Remove opt->sz checks and operations in r_bin_open_buf opt->sz is not used anyway in r_bin_open_buf, so there's no need to check its value or compute it. Fix last coverities related to cbin Add test for a8 command Some more coverity fixes (#15802) Implement pcV command to print byte array in Vlang Fix a small bug by removing some useless codes (#15795) Initial implementation of libname for flags in imports Initial support for PE and real flag Read libname for PE exports implement pj for imports Remove imp. prefix from symbol names Fix r_core_bin_impaddr() Fix some mdmp import stuff Print libname in ii Fix some imp. checks and reloc meta Fix r_bin_filter_sym() for imports Use realname for noreturn check Fix asm.flags.real for direct calls Fix realname for direct calls with fcn Fix resolving names from ordinal Co-authored-by: Florian M: ---------------------------------------------------------------------- Cvsrkl info@florianmaerkl.de Add sha256 hash to "it" Refix #15331 (-nn filename with @) (#15788) C prototypes fixed Fix broken AppVeyor due to rejected apostrophes (#15785) Some coverity fixes Third fix attepmt for musl builds Second fix attempt for Alpine/musl builds Aim to fix the alpine build The plugin wouldn't properly trace breakpoint hits on different threads since they weren't switched to and the events weren't always handled. Also, since the breakpoints are removed after they are found in one of the threads, it's best to stop all threads for now even if dbg.threads is false. New threads were only added after being attached to manually or if dbg->trace_clone was true. dbg->trace_clone stops debug and switches the new thread now. Fix a format string vuln in the disassembly with comments (#15783) Add s390x reg profile Add missing pc register Use gregset instead of regset ww: Support esc seqs (#15780) Breakpoints were left in disassembly after a signal/break and there are probably other cases that may lead to it. Offset for each panel was not correct (#15778) Add null to pj and use for relocs (#15776) Add pj_null() and pj_knull() Print reloc name as null in json if not available Omit reloc name in json Improve shell injection check Fix Coverity fixes (#15779) Some coverity fixes Fix #15331 - rabin2 -rk code injection issue (#15678) Rewrite r_str_unescape() using switch 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. Pass 64-bit sdb_fmt parameters as 64-bit (#15758) Fix double free in r_bp_del_index and other breakpoint index bugs Lack of cleanup in r_bp_del_all causing use after free in other dbi commands Copy paste error turning dbix into dbx Add dbi- command Allow dbi commands to operate with index 0 izzzj: Use pj api (#15760) Some xmm registers were printed as fpu and bnd registers were shown in all drt categories. dr will still only show 64bit/32bit registers to avoid printing all of the flags and d/w/b register variants. This fixes situations that if a read contained even a byte inside invalid memory, the entire read would fail Added RCoreBind.syncDebugMaps() and RCoreBind.getDebugMaps() api Reenable db tests and add new tests to check validity Add perm check to isMapped and remove map sync to improve performance Fix two tests Add RCoreBind.isMapped() api This reverts commit e503bdd. This way it is possible to set breakpoints before starting debug through 'db' and the user will be notified when a breakpoint points to an invalid map. Instead of unsetting breakpoints they were set again without removing the previous drx values, which also caused the "Invalid DRX length (0) must be 1, 2, 4, 8 bytes" error because of the wrong len values. Also, when resetting twice, del failed since there weren't any hw registers to delete, which caused the "hw breakpoints not yet Shows the module, offset and function name instead of showing the executable's path for all threads Upgrade node-r2r 0.2.8 (#15751) Fix windows dp showing the parent's path for all processes (#15741) Fix #15734 - Automatically download PDB file if pdb.autoload=1 (#15738) Automatically download PDB file if pdb.autoload=1 Don't re-download pdb if it already exists on the symstore Only download if file doesn't exist Fix wrong filtering of equals sign on PDB enum define (#15745) Fix all PDB tests Update node-r2r 0.2.7 to solve the json lost promise issues Hide warning message Fix warnings Add a fortune (#15736) Fix Vdv start_off calculation (#15735) Fix #15691 harder (#15733) Fix #15691 - avoid reading invalid memory izz: Fix printing of string with backslash if str.escbslash=false (#15731) More improvements for the cmd tests using r2r.v (#15728) Fix #15717 - Update scroll panel when stepping with F7 Fix infinite loop in panels - vttq (#15729) Check for error when analyzing instructions in vmenus Fix #15719: Reduce false negatives in 'U' strfilter Added path escape and unescape Unescape paths only if r_str_argv was successful Use r_str_replace instead of r_str_arg_(un/)escape to avoid breaking escaped filenames Fix debug and 'o' not being able to open paths with spaces #debug After starting debug the register deltas weren't mapped to the same registers in remote and native debug. This made wrong registers appear as vars and in remote gdb none showed up since the remote's list is much shorter than r2 reg lists. Kill some more tests using <<RUN Improve r2r.v quite a lot up to 0.2 Delete stale temporal files in the unit test Use executable path instead of dbpath and more cleanup Move manpage and move old bins into the attic This api honors ansi escape characters Delete the use and definition of "eprint" (#15716) After release version bump Add sys/r2env.sh: Set up env for r2 in non-standard loc (#15696) Fix invalid JSON in rabin2 -j (#15709) Fix Field Seek in Visual Menus (#15710) Fix some warnings (#15705) Fix some warnings Remove unnecessary duplication Co-authored-by: Anton Kochkov xvilka@gmail.com Few warning build fixes proposal. attach_new_process was called instead of regular attach because the saved pid and tid in core->dbg weren't reset before calling r_debug_select in a new session. Made sure this won't be a problem when using dp= after dp- either. Calculate the diff ourselves since bp->delta is calculated with the dbg->bp->baddr at the time of breakpoint creation, which may not reflect the correct baddr and break the rebase. Previously, disabled breakpoints were restored and then hit during execution. The debug logic ignored them and continued but that's an unnecessary slow down. To achieve this type of behavior the user should use tracepoints. Minor syntax issues in panels Use v fmt to indent the new testsuite Change Semantics of r_rbtree_upper_bound() and simplify Iter Fcns (#15698) Remove RAnalBlock members only used in Java (#15679) Remove RAnalBlock members only used in Java Remove R_ANAL_BB_TYPE_(HEAD|BODY|LAST|FOOT) Fix a Test Fix afb+ help Try to test with PowerPC and SystemZ (#15452) When setting non-bool config var, set false/true if r_str_is_false()/_is_true() (#15681) When setting non-bool config var, set false/true if r_str_is_false()/_is_true() Fix for cmd_open tests Fix for cmd_print test Separate pure BSD calls into its separate compilation unit. Fix #15682 - Fix getting noreturn info from invalid addr (#15693) fix some crashes of the widget (#15694) fix some crashes of the widget JK moves the cursor by a page and g moves the cursor up to the first line, plus a few improvements (#15690) 4.1.1 - reantull @radare radare released this on 20 Dec 2019 - 2155 commits to master since this release Release 4.1.1 - Codename 'reantull' 4.1.0 - codename 'antull' @radare radare released this on 19 Dec 2019 - 2161 commits to master since this release Release Notes Version: 4.1.0 From: 4.0.0 To: 4.1.0 Commits: 252 Contributors: 40 Changes anal Improve SP based variable analysis Some more helpful messages for anal.verbose Fix first r_anal_op call after asm.bits change Improve SP based var analysis Fix ms cc wrong argument analysis Fix r_type_del() for typedefs (Fix #15337) Add base64: for afn Move the fcn preludes into RAnal and add anal.jmp.tailcall (-1,0,N) Fix typo in ios-syscalls.txt (#15436) Initial implementation of afvf - show bp-relative stackvars Insert arguments into types SDB on function analysis arch Add support for or1k (OpenRISC) disasm+analysis (#15515) asm Fix ignored asm.bits settings because of RBin overrides Fix for #15459 - Also set the first operant to the right value on a mov from pointer with offset Add ARM strd support (#15388) bin Add 64-bit iOS SEP xtr plugin Add PIE flag check in kernelcache detection bin.str.enc: Accept UTF hyphen aliases (#15492) Support UTF32-BE decoding (#15472) Recognize Unicode BOMs (#15469) Use pj in the izj and izzj commands Fix #15445 - Add support for Mach-O external relocs Add support for C64 PRG fileformat pd: Don't abort string printing on initial null if bin.str.enc != guess (#15446) Fix #14279 - Ignore entrypoint on non-executable ELFs Analyse HIOS and LOOS symbol types by default. (#15411) build Fix #15485 - Improve argument parsing in sys/{install,build} (#15486) FIx 32bit windows Rename "asan" to "sanitize" (#15412) Fix build for 32bit Linux systems Fix build of the onefied shared lib command Very simple tree sitter integration (#15414) config Pass R2_CONFIG file to ! commands and serialize methods cons Fix #14197 - Don't highlight control chars on hud filter (#15552) Include last line when greping using foo~n.. (#15524) core Fix some Race Conditions with the thready task scheduler (#15667) Make Task Scheduling Explicit (#15511) asm.cmt.off: Accept 0 & 1 as aliases for false & true respectively (#15500) Use sigaction instead of signal CPU affinity API introduction Honor cfg.editor in 'vi' instead of always using 'vi' Implement $foo:=,+=,-= and $foo to alias some flags commands Support 'f foo+=4' and 'f foo-=4' syntax for flags debug Improve debug rebasing and fix partial windows rebase Refactor debug native's wait function Fix native debug not working with files that were opened as RW Add ppid to win32 debug and 'dp''s display/json Add process selection to w32 debug Fixed a crash caused by reopening gdb Fixed not killing child processes and added detach Fixed gdbr warnings and a dpt crash after debug was over Added an event to signal the end of the debug session Fix 'oo' rebasing when leaving debug and add 'doc' to exit Silence drr warning on UT64_MAX registers Fixed an issue with detached child breakpoint inheretence Added oodf\doof to enable rebasing for remote debug Rebase Breakpoints for PIEs Added dp processes info support to gdbr Add breaking to ood in linux to avoid execvp freezing Allow debug plugins to modify pid/tid on select Fix linux_set_options error Add process selection to linux native debug Setting parent pid on pid list on BSD Show all processes for pid 0 using dp Improve linux native debug dp output Fix getting DRX breakpoint size Fixed overflow that broke remote debugger reopening Impl. list modules for WinDbg Fix WinDbg IO in page boundaries Fixed windbg concurrency and added missing locks Fixed windbg pipe timeout behavior on linux Added rebuild rules for windbg Fixed windbg continue on windows 7 64bit Allow breaking for WinDbg Update hardcoded gdbr registers for 16/32bit x86 (#15488) Added parsing support to all gdb registers Fix gdbr's reg_write and reg_next_diff for reverse stepping Reduced gdbr's tcp connect timeout and added a break Fix gdbr not closing sockets after connect failed Add break to gdbr's read_packet and move isbreaked to libgdbr Fix gdbr_write_registers and refactor gdbr_write_reg Replaced lock_check with tryenter in gdbr_read_registers Add breaking to gdbr connect to avoid waiting on invalid connections (#15442) Add experimental ymm regs support for linux-x64 and extend drm command Add Windows 8 and 8.1 WinDbg profiles Fix attaching to a pid on Windows (#15406) Fixed w32dbg breaking issues (#15386) Add support for printing xmm* as packed floats and doubles (#15378) disasm Fix hidden hint.lea for hint.pos==0 Improve switch-statements in disassembly Add refs, xrefs and esil columns to pdt Add asm.cmt.esil to show ESIL as comment doc Improve macOS installation documentation (#15438) Fix links to Doxygen documentation (#15377) gdbclient gdbclient reduces risk of use after free down the road io Uses the setitimer api instead for the alarm in self:// Automatically set the debug plugin when opening debug uris (#15403) json Add current process field to dpj network Fix r_socket_connect not using the given timeout in unix print Fix #14661 - Support parsing binary protobuf data (#15423) Add utf-8 support in r_print_rangebar (#15389) r_debug Refactor signal handling for FreeBSD search Introduce the r_magic_load_buffer() api and boolify a bit Update RSA key search to find larger keys (#15494) Search for AES 128, 192 and 256-bit keys (#15426) signatures Add auto zignspace generation for the zg command (#15402) test Implement asm, fuzz and json test runner in r2r.v util Add RIntervalTree data structure Added r_th_lock_tryenter API (#15454) Use HtPP for RStrConstPool (#15424) visual Improve the interaction with decompilers in panels Reduce the blocksize on some hexvisual modes windows Add command to identify window under cursor Fix #15456 - Fix reopening in write mode Fix hang when running dc in a task To Review Release 4.1.0 - Codename 'antull' Fix lock ordering of RCoreTaskScheduler.lock vs. RCoreTask.dispatch_lock Remove RThreadLock.refs Fix a race in tasks Make SP based variable analysis aware of changes to SP Use delta inside stack to identify the variable used instead of offset to SP Keep track of offsets to SP used to access the variable Fix argument printing order for reg args Add test Revert pe coverity fixes to fix ihj The format is reused for printing and internal type representation, breaking the JSON by making the value field in ihj empty since "llx" isn't a valid type Fix ESIL UB Mark fixed tests as such Fix some FX Tests Separate windows, linux and *bsd/apple since they have vastly different logic and the ifdef jungle implementation was too confusing sys/meson.py: Use == 'vs2017' instead The FD was kept open and ptrace was prevented from opening it with the error "Could not execvp: Text file busy". Fixes issue #15650. Solving r_debug_handle_signals build warning issue. Fix #15653: Silence MSVC XP deprecation warning Use eprintf instead Fix typo Make it possible to use sysmagic again (#15658) Compile tree-sitter with std=c99 flag (#15654) SystemZ analysis logic error Fix some MSVC warnings Add ppid to dp and fix dp= for windows (#15649) Previously, dp= wouldn't fully switch to the given process since it was treated like dpt thread switching, leaving the debugger in an undefined state. Function r_anal_cc_arg should just return NULL when nothing is available (#15646) Function r_anal_cc_arg should just return NULL when nothing is available Callers should be able to handle NULLs Fix memory leaks in unit tests Some coverity fixes (#15643) The plugin would try to work with an old version of desc that was already freed by r_io_close_all after closing the session. I set debug_gdb's global 'desc' to NULL in detach as a temporary solution. We should convert to **desc to keep an updated copy of the pointer. Fix warnings in or1k_disas.c Fix #15545 - Fix NULL derefs after r_file_slurp() fails Fix format string in windows_message.c Replace some strstr() calls with strchr() Fix Alignment Check in aae on bit change RDebugPid not being initialized with NULL resulted in a free on an invalid pointer after gdbr_threads_list failed. Fix memleak in r_anal_free() (#15631) Fix heap-buffer-overflow bug in get_src_regname() (#15630) r2r.v: Fix test skipping (#15629) r2r.v: Move threads into r2r (#15628) Some Coverity defect fixes (#15626) Not all of the data was rebased after reopening the original file and there was warning message from set_baddr which isn't needed here. Switched to __rebase_everything instead of the old methods that were used. r2r.v: Support running of just 1 cmd testfile (#15616) r2r.v: Fix invocation of json tests (#15624) Fix AppVeyor (#15623) Refix magic's bgets() Fix another infite loop in RMagic.loadBuffer() Fix bread in RMagic.loadBuffer() Loading json tests is not the same as running them (#15618) In this way 64-bit SEP kernels aren't wrongly detected as XNU kernel caches. Rename or1k insns global (#15613) As in certain build configurations it conflicts with the Capstone's symbol of the same name, raising errors in the linking phase. The warning: WARNING: r_core_anal_hasrefs_to_depth: assertion 'core && value != UT64_MAX' failed (line 2062) This way registers like 'orax' will simply have an empty reference like before, just without an annoying warning when there really is nothing to telescope. {"reg":"orax","value":"0xffffffffffffffff","ref":""} Use ONE_STREAM=1 instead and assume it sets scr.onestream Name variables based on their offset from the start of the stack frame Fix tests Fully implement the asm test runner in r2r.v Must use the native api to speedup TODO: Multiple cores to run in parallel Fix N and V results in 6502 BIT ESIL (#15562) r2r.v - better portability Fix some more asm tests and use the same warning style for r2r.v Fix crash on oom when command line is too long. Aim to fix #15543 Initial implementation of the asm/dis tests support in the V suite Remove broken Threading Code from main for #12996 (#15554) Previously, forked children would instantly die if the fork was stepped over using a breakpoint which is accessible to the child process. Removed deprecation messages (#15557) Moved the information in the help messages Add RRangeTree Inclusive/Exclusive Add r_interval_tree_delete and r_interval_tree_resize Fix r_interval_tree_all_at() Fix a bug of the tab (#15559) Imports Tests from radare2-regressions (#15546) Fix some warnings (#15549) Fix signed integer overflow in r_asm_massemble (#15551) Fix an int Overflow in r_asm_massemble() for #15543 Fix length type in r_str_trim_tail() Aim to fix another integer overflow in r_file_slurp Fix integer overflow when assembling a 2GB file Blindfix for #15543 - aka CVE-2019-19590 Most servers/clients should have xml support by now so it should behave like dp in any other debugger. vFile is the only way to get detailed pid info unfortunately. Execvp may hang until a signal is received on some systems(reproduced in arch linux) in case the file can't be executed for some reason(broken symlink, different arch, etc). Previously, when using dp=, the debug plugin would set a new tid based on the requested pid, but r_debug_select would set the old tid as dbg->tid, resulting in issues interacting with the current thread. This could also be an issue when the requested pid/tid is invalid and the plugin selects something else. Previously, setting options would fail sometimes since PT_ATTACH's attach SIGSTOP wasn't hit before reaching linux_set_options. Previously, dp= wouldn't fully switch to the given process since it was treated like dpt thread switching, leaving the debugger in an undefined state. Add user Pointer to RBNodeFree (#15540) Fix sj current position marker after buffer wrapping. (#15538) Coverity Scan GitHub Action (#15539) ONE_STREAM_HACK & scr.onestream: Force expected ONE_STREAM order if necessary (#15535) Fix spp warning (#15530) Try showing offset when there are no redo items. Fix handling of many seek history items and other edge cases. Previously, the command didn't show the pid's path, replaced the path field with current/ppid, and showed the ppid instead of only showing the requested process and the children of the requested process. Fix some warnings on Windows (#15532) opt->sz is initialized with r_buf_size at r_bin_open_io using an io buffer if r_bin_open_io can't open a file buffer. Since the debuggers returned unsigned values to opt->sz which is signed, opt->sz would overflow and contain a negative value, causing r_bin_open_buf to fail. Went ahead and modified CUR_END values for all debuggers even though this should only affect remote debuggers. ST64_MAX should be enough. Python and VS updates for Windows/clang (#15526) Python and VS updates for Windows/clang Fix labeler environment windbg module build warning fix (#15514) Switch labeler to periodic-labeler (#15517) With actions/labeler#12 being an issue, the action's labeler is useless for PRs that come from a fork. This one runs on a cron timer instead and doesn't suffer from the same issue. fixed bin.libs loads and dex use after free (#15522) Fix a Double Free for Dex (Fix #15519) (#15521) Add Comments to RCore and kill some unused Members (#15513) Fix #15498 - Fix stdcall stack calling convention (#15508) Remove unnecessary RConfig Members (#15509) Fix a Double Free in tms320/c55x+ (#15505) Before we didn't check if a virtual address read/write would go through a page boundary. This fixes it. Also do some formatting and re-enable some useful error messages Fix XP build Partially decouple Tasks from RCore Add pull request labeler (#15503) Previously, windbg_break would freeze waiting on a lock instead of breaking, taks other than wait weren't breakable and read regs would freeze the process while waiting for a mutex. Previously, linux would timeout when trying to connect and would timeout too frequently since milliseconds were treated as microseconds. ContinueApi2 only worked on XP 32bit while ContinueApi works on both. Previously, continue would do a single step. Fix OOB read in windbg_reg_read Add locks to prevent collision Enable timeouts on the pipe backend Fix #15495 - show current seek history position in sj bin.str.enc: Accept uppercase aliases (#15496) bin.str.enc: Check for NULL (#15493) Fix anal.timeout calculation in r_cons_break_timeout (#15490) Remove broken Task Pausing and unnecessary RCore.lock (#15489) Fix null deref when using waf on non-valid file Inital GitHub Actions (#15467) Inital GitHub Actions Disable Windows for now Disable tests for now Add missing BT instruction optype for x86 There are still platforms that don't support the target xml format. Added parsing of gdbr arm/arm64 register features and added a default to >64bit registers Since r2 doesn't support set/get to large/vector registers (it will still work when printing gdb's registers with dr/drt or restoring the registers with reverse stepping), there's a possible issue that the user will get lots of prints of "r_reg_[get/set]_value: Bit size 128 not supported" when running various debug commands that use those functions. This fix simply moves those registers away from gpr to avoid those prints while still being able to view/restore the registers. Minor Refactoring and Comments for RBTree Fix the flags.prefix with flags.inline glitch The previous implementation was limited to 64bit registers and didn't parse the 'feature' field. Writing registers with gdbr worked with single registers because reg_next_diff started at delta 0 and only had to run the diff once for the single register that was changed. When running reverse stepping/continue, multiple registers are changed at once so r_reg_next_diff would fail every time due to incorrect offset calculation. The new r_reg_next_diff also support different register sizes to restore all registers correctly. The endianity swapping part from reg_write isn't needed since the arena is the return value of 'g' which is already in the correct target byte order (see: https://sourceware.org/gdb/onlinedocs/gdb/Packets.html#read-registers-packet) Fix #15451 - Update Windows compilation documentation Connect isn't effected by r_socket_block_time since it can only change the timeout of read(and not implemented, write) actions with setsockopt. Also, connect may wait for an unspecified amount of time so we have to use select. The socket object was free'd without closing the fd. In the following gdbr_connect attempts, tcp's connect would freeze on a valid socket since connection based protocol sockets may successfully connect only once, any connections beyond that are undefined behavior. Remove printf debug leftover Some fixew for the graphviz code (#15470) Add TODO comment for overlong strings No more hacky base64 iz != izz, before izz was iz+izz Fix x86 lahf instruction Fix autocomplete Don't contribute with patches Emit sp-based var offset as a number The output of afvsj shows offsets of sp-based variables as strings. This fix changes the offset to be shown as a number, just like sp-based arguments and bp-based variables. Since read_packet has a large number of retries you would wait for it for a couple of seconds after breaking in functions like connect and vcont Previously, write_registers sent a partial string instead of the correct register format which specifies that each byte should be represented by two hex digits. This change allows reading registers when calling read_registers in a thread that holds the recursive mutex. r_th_lock_check only returns the refcount which isn't enough to know if the current thread is holding the mutex when a recursive mutex is enabled. Support UTF16-BE decoding (#15450) Support UTF16-BE decoding Add spaces Fix few warnings for the gdb client Fix crash Cleanup tab-completion initialization code R2 will hang while waiting for any resolvable port to respond, this takes a long while since connect is attempted twice in r_core_file_open. Update capstone v4/next from Git 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. Fix r_sys_sigaction not setting up the requested signals (#15440) The for loop's iterator was initialized with the first member of sig[] instead of 0. Added an error to avoid this issue going unnoticed. r_list_free() -> r_list_free () r_list_new() -> r_list_new () __exit was listed twice with same number (1), and fork was missing. Fix broken pkg uninstall command on macOS (#15437) Provide a proper package ID to get rid of the following error: No receipt for 'radare2.pkg' found at '/'. Prepend a / for each returned path by the pkgutil command, to make it an absolute path instead of a relative one. Avoid invoking the sudo command for each file, which speeds up the command significantly. Avoid ambiguous signing certificates on macOS. If a user manually installed a new code signing certificate into the login keychain as documented, the install script will fail to sign r2 because the sys/macos-cert.sh script generates a new certificate in the System keychain. This results in the following error when signing: org.radare.radare2: ambiguous (matches "org.radare.radare2" in /Users/user/Library/Keychains/login.keychain-db and "org.radare.radare2" in /Library/Keychains/System.keychain) To be constistent with sys/macos-cert.sh, change manual certificate generation steps to install to System keychain instead of login keychain. Mention that code signing certificate generation is automated by the install script before listing the manual steps to generate a new code signing certificate. r_list_newf(..) -> r_list_newf (..) Use free() instead of R_FREE() in r_list_delete() Same reason as #15430. Use PJ in oj (#15434) This fixes escaping issues Fix Leak of Flag Zones (#15432) Use free() instead of R_FREE() in r_list_free() (#15430) Refactor r_flag_color() to r_flag_item_set_color() (#15429) Add r_spaces_purge() (#15428) Fix comment about RFlag.ht_name (#15427) Faster interactions -- can be improved still Add missing entry for meson Fix r_strbuf dependency on r_cons This allows the 'zg' command to auto generate zignspaces from function names by utilising the ':' convention used in zignatures. Now when 'zg' is run if any funtion names are in the format ZIGNSPACE:FUNCTION, the zignspace will be extracted, created and the function applied under its scope. Fix build (#15422) Fix #15419 - Fix bytes field in aoj Hold this analop warning under anal.verbose tree-sitter-integration: support tmp-seek, arged, and interpret commands Make meson automatically download tree-sitter and radare2-shell-parser grammar Add tree-sitter/radare2-shell-parser directories in gitignore Add Support for tree-sitter in acr/makefile Just use one script to download 3rd party repositories in shlr Use cfg.newshell Fixes for Windows debugging (#15418) Fix error when continuing after attaching to process Get threads correct EIP Fix some memory corruptions and small refactor Remove core->oobi because not used (#15413) Fix leaddrs leak (#15417) $foo:=123 f foo = 123 $foo+=4 f foo @ foo + 4 $foo s foo Strip bins and libs for the Debian package sys/meson.py: --asan accepts sanitizer list (#15405) Fix #15407 - Fix using unexpected ACP for input on Windows (#15408) Fill op->mnemonic in anal-gb Use RPUSH in anal-gb Clarifying yara-to-r2 integration documentation. (#15404) Sync default sanitizer list of sys/asan.sh and sys/meson.py (#15397) Sync default sanitizer list of sys/asan.sh and sys/meson.py Keep signed-integer-overflow Hardening esil-dfg Modified debug_native to handle break's thread switching behavior The user was interrupted during continue and switched to a different thread since DebugBreakProcess creates a thread that triggers a breakpoint. With these changes the DebugBreak thread is recorded to skip the breakpoint event afterwards. Modified r_debug_native_wait to avoid switching between threads for each event The debugger should return to the requested thread after handling events in other threads except for breakpoints. Refactor drm to be ready for the YMM registers (#15394) Fix Appveyor hang. (#15396) fix linux x86 build (#15395) Fix assert Fix build After release version bump Add some asserts in rreg Fixed w32dbg breaking issues and moved break_push to w32_dbg_wait to support stepping as well Previously, breaking would only work during 'dc' because it was pushed in debug.c specifically for continue. This change moves the responsibility of pushing/popping w32_break_process_wrapper to windows_debug.c instead to support calls to w32_dbg_wait from anywhere. sys/meson.py: Use -fsanitize=... instead of -lasan when linking (#15390) Use pj api in drrj (#15391) This also solves an issue with drrj in windows since the code relied on iter->p to know if a comma should be prepended, but windows always has it initialized so it was always prepended - invalidating the JSON. Make the generated r2.bat use bat path_relative syntax instead of hardcoding. (#15383) Fix double-free in canvas.c (#15379) stack.nl is no longer active v4.0 : Codename Kr: Cvsroot mpack - vifino edition @radare radare released this on 28 Oct 2019 - 2413 commits to master since this release Release Notes Version: 4.0.0 From: 3.9.0 To: 4.0.0 Commits: 299 Contributors: 48 Changes anal Bring back the MASK_DISASM because not all nanal plugins support it yet ##anal Select default var type based on its size (#15352) Fix #15325 - Improve af- like its done in Vdu Deprecate anal.jmp.eob /refs #13482 Fix #15117 - honor asm.var.sub in ao/aoj Fix #15315 - Honor RAnalOp.disp in aar and ao Update 8051 plugin (#15321) Avoid reloading of cc sdb - huge speedup (#15306) Implement ESIL for arm64 UBFX Make RAnalFunction.cc come from RAnal String Pool Deprecate the use of anal plugins that doesnt handle mask.disasm Add jumptable support for main() in bins/elf/analysis/ls-alxchk (#15266) Add jumptable support for main() in bins/elf/ls.odd (#15233) add afoj and afdj (#15254) Fix #15235 - push [mem] not handled in /r Add initial reg profile for sysz arch Don't propagate noret to fcn if fcn jmps outside itself (#15190) Fix #15004: Make meta.min rbtree more robust (#15141) Fix memleak in r_core_anal_propagate_noreturn() Minor speedup/cleanup/refactor of the RAnal Implement ESIL control-flow-graph and further dfg analysis Add anal.delay to disable delay slot analysis for testing Fix pc-rel movs in sh's esil Delay execution debug messages are now available via anal.verbose Fix #15073: Disambiguate using fcn addr also in meta.min rbtree (#15077) api Add r_strbuf_copy API (#15186) asm Fix post-indexed memory access for str instructions on ARM (#15298) Fix #15302 [rasm2/armass] Correctly propagate errors from thumb_assemble (#15303) Add additional [indirect] access syntax for 8051 (#15272) Fix #10651 sub sp, sp, 0x1000 not correctly assembled for ARM (#15187) Fix #15198 (#15199) arm64 assembler const value Add 8051 assembler plugin (#15189) Z80's LD opcodes assembly (#15185) Fix parsing of floating point instructions in x86_64 assembler (#15174) Fix x86 assembler output for some memory loads (#15068) bin On AArch64 there is a new special symbol $x (#15362) Fix #15152 - Support old Java attribute format (#15317) Simplify r_bin_open_io function (#15307) Support > 4GB ELF files Add support for RTable.query in i Fix #15132: Integrate table to iS,ia,ir,iz,is (RBin info) based commands (#15159) Implement support for the RISCV PLT ELF relocs Fixes for MSVC demangling (#15210) Format the .rela. sections in ELF Add NES ROM mirroring map build sys/asan.sh: Use -fsanitize=... instead of -lasan when linking (#15375) Link sdb fully into r_util in meson (#15338) Fix #15296 - *BSD builds (#15309) Fix macOS build with latest XCode Add MSVC 2019 for AppVeyor Try MSVC 2019 for AppVeyor Set rpath if non-Windows Meson shared Debian package fixes (#15081) cons Fix function key handling in visual/panels For utf-8 locale, check LC_ALL, LC_CTYPE and LANG in sequence instead (#15326) Also use LANG env var to check for UTF-8 output support (#15257) Move UTF-8 setting logic to scr.utf8 config callback on Windows (#15273) Implement 'str' operation in RTable queries core Fix #14247 - fn.j/fnj. show all flags in current offset, not just one Few compiler watning fixes here and there Fix #15114 - Implement r_sys_info() and uname Add kitty clippy replacement :3 (#15232) Add possibility to specify time zone with rax2 -t (#15180) Implement cj command using the PJ api (#15168) Add support for the V programming language Fix #15134 - Support octal numbers like 0o666 Implement function-based plugin loading method Add omt and help message for RTableQuery + add format column api Move Lib already loaded check before dlopen Call (#15075) Replace r_str_const* with RStrConstPool (#15300) Kill r_sys_get_osinfo () (#15346) ##core debug Use RTable for Windows heap info output (#15368) Add support for setting xmm registers on linux (#15365) Fixed continue not being associated with the current thread in unix Added a way to break while in dbg_wait (continue, step etc) Fixed dpk Fixed opcodes not being associated with the current thread in gdbr (#15358) Fix drm[bwdq] command, add xmm0h/l and xmm8-15 registers (#15354) Fix the way linux debugging options are set (#15323) r_reg_get_pack/r_reg_set_pack are not able to deal with 128 packbits Added support to thread switching in linux and fix r_debug_select Fixed ptrace 'Operation not permitted' errors (#15287) Fix debugger build for native GNU/Linux on RISC-V Fix incomplete drr/drrj formatting when r_core_anal_hasrefs fails (#15277) Added "dptj" and "dptj " (#15259) Enhance drm command, add drm xmm0 functionality (#15214) Fix drf output formatting Implementing debug info per pid on NetBSD Using unused map debug field on macOS Rebase fcn/bbs, flags , comments, meta, refs when ood Fix issues in windows thread switching (#15366) ##debug diff Implement radiff2 -X for hexII diffing Fix #14845: Support radare2_rc in radiff2 for graphs (#15078) disasm Better pdi output when Cd is involved Implement 'pdt' - print disasm in table, supports queries Make asm.fcnsig more compact Do not resolve the strings pointed by ADRP on arm64 Improve (change) sh4 disasm (lowercase regs...) emu anal_x86_cs fix esil expr for neg instruction (#15252) Fix #15246 - Honor the 'u' suffix in PPC instructions in ESIL esil Fix #15297 - Update ESIL help message Improve registers handling in ESIL dfg Simplify ESIL code for ARM str instructions Add a parameter to $s and $o (#15171) io Setting the upper address limit for OpenBSD Improve omt and implement RTable.filterSum io_self Setting the upper address limit for OpenBSD json Show flagname and realname in json format for fnj and such Add current thread field to dptj (#15268) lang Rewrite hashbang command parser, use argc & argv in hashbang (#15188) panel Fix #14857 - Handle 'O' key to rotate asm.pseudo/asm.esil Another const pointer to be free fix Handle / highlight in panels for zoom and window modes Fix const address freeing fix #15060 - Add xrefs and xrefs here in visual Fix #14559 - Honor scr.fps panels Fix #14857 - Handle 'O' key to rotate asm.pseudo/asm.esil Handle / highlight in panels for zoom and window modes Fix const address freeing fix #15060 - Add xrefs and xrefs here in visual Fix #14559 - Honor scr.fps print Fix #15216 - Implement pcy command to print hexpairs in Yara format r2pie Implement r2pipe_open_dl() to use dlopen/dlsym rasm2 Freeing main assembly object script Fix vlang plugin to run scripts and add example search Fix #8575 - Support stdin slurping in rafind2 - Add support for hex escaped litterals in regular expressions (#15291) Fix RCALL and RJMP in aop and /at Refactor Search to use less Global State (#15076) table Add :json,:quiet,strlen,minlen,maxlen,sortlen in table queries Integrate table API for p-h (#15083) util Fix rop inline assembly form visual Run .dr* in visual prompt in cfg.debug is set Fix for VV going to V (issue 15181) (#15195) Fix #14919: truncate long function names in Vv (#14996) wasm Further wasm memory leak fixes Memory leak fixes in error code paths windows Print child output in pipe lang plugin zign Integrate types field in zignature operations (#15082) 3.9.0 - Carxofes @radare radare released this on 17 Sep 2019 - 2712 commits to master since this release In r2land we are happy to celebrate that the artichoke seasson is back with a new release \o/ Binaries: http://radare.mikelloc.com/release/3.9.0 Release Notes Version: 3.9.0 PreviousVersion: 3.8.0 Commits: 102 Contributors: 31 TimeSinceLastRelease: 2 weeks Changes anal Implement anal.norevisit using SetU instead of Sdb Fix #15013 - jump/cjmp analop for m680x Fix the infinite aac issue, reduce false positives, speedup a bit (#15015) Fix mov.l/jsr ESIL for SuperH4 (#15039) Fix nopskip (its not fixed at all. just random typing here and there) (#15024) Add anal.nonull to avoid analyzing functions if starting by zeros Fixed i4004 arch to be according to spec (#15062) Fix zero register set issue (r2wars) Implement types field for zignatures cons Fix #14611: Vi-mode indication by prompt color Add a way to print an aliased without a trailing new line (#15031) Fix clicking on frame borders to resize Remove code for no-anal asm.bb.line (#14977) core Make -m do an implicit -s Fix #14990 - multiple quoted command parsing issue Fix multiple quote cmd issue Fix #14019 - Move ta to aht, move other commands around, refactor indentation Fix #10851 - Solve slurp messages on http/sandbox/pipe Don't run ldconfig when installing into /usr (#15049) debug Fix gdb reg write byte order (#15009) Improving slighty the process status check on Darwin On Darwin, expose process path ASLR check setting fix on FreeBSD emu Hackaround to get esil stepping on delayed execution Fix arm32 stmia post-increment (#14983) (r2wars) io Support shm_open in shm:// and some code cleanup Fixing perms for Darwin Fix #15002 - Propagate write error issues into RCore.patch Print error msg if write fails (#14978) Fixing self:// perms issue on Darwin r2-3.8.0 - Taupe @radare radare released this on 3 Sep 2019 - 2814 commits to master since this release Release Notes Version: 3.8.0 From: 3.7.1 To: 3.8.0 Commits: 188 Contributors: 30 Changes analysis Improve the aab (blaze) analysis by honoring data meta Speedup and reduce false positives in aae by honoring code/string/format Do not analyze functions in strings/data by honoring the meta Fix infinite (or expensive) loop when fcnsize=0 Honor anal.strings in aav Define argument and ret pseudo registers in the SuperH4's reg profile (#14920) Introduce anal.in=code (2x faster aar in some big binaries) Introduce afisaj and fix table contents for afisao and such Implement afis[aof] - to show instruction type, family and mnemonic tables Fix as command to resolve syscall by name, number and SN reg Fixing ESIL for ARM architecture pre-indexed addressing mode with LDRB (issue #14850) (#14901) Add more info in aflt and add afltj Initial implementation of aflt (using the new RTable API) Hide the shift overflow warnings under esil.verbose Fix ownership issues related to cc Add calling conventions for ARM32 and Thumb Unify the use of R_ANAL_CC_MAXARG Propagate noreturn information (#14793) bin Fix code injection issues i* commands (rabin2 -r) Fix #14930 - handle LC_DATA_IN_CODE in macho Fix strings on ELF bins for SH-4 with the Renesas SDK Support deep JSON format for binary headers in iHj Fix Cf with named formats when .iH* is used Fix #14898 - Show warning when -B used on unknown binaries build Shrink the Cydia package from 512mb to only 64 core Add single quote as alias for =! and \ Support 0X as an alias for 0x in numbers debug Fix crash in gdb client (#14897) Notify user on hardware breakpoint hit diff AGraph integration with radiff2 disasm Fix #14716 - Honor local flags in RParse Implement asm.hint.emu and improve Vr reftype selection Do not try to resolve strings pointed by adrp instructions on arm64 Honor asm.instr in pdi Hide brackets for LEA even if operand is section flag Add support for the amd29k architecture pix and pdx are now aliases for pad doc Remove help for hud in ?? graph Fix #14859: Enter used to update seek in visual call/ref graphs (#14906) io Fix a couple of bugs in wo* and implment wo8 Add support for io-plugin initialization via null system command =! (#14915) Simplification of the io_self plugin for macOS/iOS Consider endiannes when performing block write operations panel Few memory leaks fixes Fix #14891 - Seek in panels after coming back from console Fix #14883 - use[] to realign comments in disasm O in visual is supported in panels with the "i" key Added some asm settings and classified it panels Fix #14891 - Seek in panels after coming back from console Fix #14883 - use[] to realign comments in disasm O in visual is supported in panels with the "i" key Added some asm settings and classified it print Implement pv* to completely fix #14165 Fix #14165 - Implement pVj and fix pvj with argument Fix #14936 - Add po[..] set of commands Implement 'cols' RTable.query to filter by column names Use block character for p= and p== graphs (#14941) r2pipe Initial support for r2pipe.html rop Add ROP chain execution support in ragg2 search Let search.align override arch.align if set, improves aav in SH Bring back /ai and fix regression for SUB.val Skip gadgets starting with a nop in /R Fix #14755 - read-only raw search Fix #14202 - Add support to '\d', '\w', etc. in regex util Initial implementation of the RTable API with filter, sorting and query APIs visual Fixes #14914: Mouse wheel for hud (#14940) Improve mouse in visual (hud instead of goto and ignore cursor toggle windows Fix #14816 - Properly get lib path Other Changes add nf flag in ESIL generated for ARM thumb (#14954) Fix regression in wo2/4/8 Fix divbyzero and garbage variable found by clang-analyzer Fix memleak in r_strbuf_prepend Fix logic in 2-byte endian swap used by "wo2" (#14951) Display operand of EBC push/pop instructions (#14949) ARM: fix order of registers in push/pop with reglist fixing esil =[*] (poke multiple regs/values) Fix out-of-loop issue in aae macOs/Notes 6.8s -> 6.4s macOS/r_core 4.3s -> 3.8s Still wip. only works as a hint when using -e bin.verbose=true Improve r_core_anal_hasrefs_to_depth (#14863) Fix Win32 build patch from @sanguinawer (#14945) Fix uninitialized variable issue related to the mouse state Fix regressions Fix #14380 - Fix demangling symbols containing the '?' char with iD Fix #14889 - Implement ! and c keys in visual help Improve vq and v!!! workflows Break early in Cf format name failure Fix #14939: Replace assertions about missing RReg profile registers with warnings (#14943) fix help message of ? (#14944) Fix #14935 - Kill harmless warning Fix assert in aea for r2wars Show backtrace when assert happens Fix crash in aea* when code is ffff Fix #14771 - Modified pdx/pix to disassemble hexpairs (blocksize-independent) (#14892) Add frame pointer to AVR register profile (#14938) Enable mouse only if it was prev enabled and based on scr.wheel (#14925) Fixes #14911: Use theme colors for p= and p== (#14934) Add fortune 1 != 0 Massage two more assertions Fix early assert for IO Disable Travis IRC notifications Too much noise at IRC. Blindfix more null derefs in reg.value Fix another null arena deref Assertify io.fd api Fix aea for instructions referencing PC Boolify the reg api a bit more Fix null deref in reg arena Blindfix for empty reg arenas Add Predicate for Task Dispatch Fix assertion when emulating invalid instructions and revert pcalign4 for sh Update help message for Vd Fix #14928 - vr to be in sync with Vr Fix assert regression before it triggers Minor cleanup and visitor cache proposal test for RAnal.fcn() Fix #14821 - crash in td r_str_split_list() rewritten to support nth limit r2 -qq -c 'aac;aflt size/gt/200,addr/cols/name/nbbs,nbbs/sort/inc' /bin/ls Fix off-by-one in RCore.lines.initCache(); Set asm.hint.emu=false by default Fix build Add r2con2019 svg logo $ r2 -i doc/r2pipe.html /bin/ls Syncing with r2hexagon (#14918) the reference of emulation are displayed one instruction after. which is bad Fix build Fix Windows build (#14916) afisa uses rtable, as well as afist@@@f Useful for r2frida to automatically run .=!i* This makes reading iOS apps much simpler by removing lot of false positive strings Fixes #14900: Disable color for dot mode (#14908) Better directory structure for the panels config file (#14903) Fixes #14896: Enable and disable mouse based on requirement in visual/panels (#14909) v!! = V!! - use ! to toggle between visual and panels Fix hexdump height issue in panels Reset mouse settings after leaving the hud Fixes #14900: xdot type commands functional now (#14902) Fixes #14900: xdot type commands functional now Remove recursive handle_stop_reason call Revert "Fixed the bug that I had fixed before (#14788)" This reverts commit 9e27142. This change was breaking panels in Mac Fix MSVC build Add afltj and some more fixes and improvements related to RTable Accepts a query as argument Fix a segfault in RStrBuf.prepend Add lsls and ldrh thumb asm.describes Add missing include install for meson Improve disasm char hints Fix some warnings from gcc Make cmd_depth task-local (#14888) Add neg pseudo instruction to arm assembler (#14890) Freed some vars (#14885) Fixes #14845: Use unicode settings in radiff2 (#14884) Fixes #14845: Use unicode settings in radiff2 Fixed indent Tame vayour Fixes #14534: Ignore non-printable and non json chars (#14876) Fix #14878 - Fix unaligned field access Add afos command and minor cleanup for afo Fix null derefs in afv subcommands when no function is found Fix afvn outside of Function (#14882) Fixes #14856: Changing visual seek behaviour in Vv (#14877) Fix #12438 - Fixes for PDB (#14874) Fix use after free when autoloading pdb Use heap on td command Fix #12438 - Fix wrong 2 byte read for char value Fix crash on r_line_readchar_win (#14875) Merge pull request #14868 from kazarmy/x86-cmp-disp-for-disp Use op->disp instead of op->ptr for disp of x86 CMP (and ACMP) Drop not needed wrapper Fix non-unicode Windows build virtual keys not working Fix arrows in vi mode on Windows Merge Windows and Unix dietline implementation Simulate escape sequences in r_line_readchar_win Fix some bugs on Windows Some refactoring Fix #14854 - Fix glitch in asm.hint.pos=0 Use LTO for the Cydia build Fix segfault in r_main_free Add the syscall number regname for hexagon arch Fix #14870 - Fix crash in type propagation when no cc defined Instead, recursively going through the regions while focusing on main addresses and grabbing pages states informations. Fixes for the cydia static build of r2, needed for iOS12 add missing =SN for the SH analysis plugin Fix for meson Fix hexagon jumps second try (#14867) Synchronized files with radareorg/r2hexagon Fix warning, assertions and regressions in arg type handling Add missing cc-x86-16 Fix anal.depth and remove arm16 dim Code cleanup Update capstone again (#14862) Fix #14861 - Reset cursor after leaving panel's prompt ':' Fixed the bug that I had fixed before (#14788) Use op->disp instead of op->ptr for disp of x86 MOV (and others) (#14829) Use op->disp instead of op->ptr for disp of x86 MOV (and others) Fix for jumptable MOV Fix for [] operands Fix another Appveyor hang (#14844) Fix coredump PC not being considered (again) (#14836) Use r_sandbox_fopen instead of fopen (#14832) Revert multiple layout saving regression in panels (#14792) Some little refactoring in panels (#14798) Fix #14522: Added g support for Vv mode (#14823) Add a small menu tick for visibility when scr.color is 0 in panels (#14801) Avoid disassembling the same instruction twice on rop search (#14815) Avoid disasm the same instr. twice on rop search Fixes for comments fix double free Fixes #14267: Does not print the function name for agft (#14819) Fixes #14672: f= gives output from current flagspace (#14820) Add @sghctoma pf definition for BIOS and NTFS Add *BSD SourceHut builds (#14824) Fix r_print_color_op_type param type mismatch (#14825) Specify graph.diff colors for sepia (#14817) Implement agd* based commands (#14809) ag* commands fully functional Indent and r_return usage All agd* commands functional now Graphs are pretty now Refactoring the code Fixed assertion error Fixed broken agf Always bracket indirect addr operand (except LEA) (#14802) Always bracket indirect addr operand (except LEA) Don't use RAnalOp Add clang-cl support (#14814) Fixes for path autocompletion on Windows (#14813) Fix register writing on Windows (#14805) Fix register writing on Windows Drop unecessary use of heap Fix stack-use-after-scope (#14811) Fix #14804 - Make sure anon structs have unique names (#14806) Also skip "union" to get type Fix Appveyor hang on master (#14803) Propagate noreturn information Avoid infinite loop when propagating noreturn information Avoid all recursive cases Avoid warnings use r_anal_bb_opaddr_i 3.7.1 XVilka tagged this on 14 Aug 2019 - 3002 commits to master since this tag Set version to 3.7.1 r2-3.7.0 - Codename TopHat @radare radare released this on 1 Aug 2019 - 3062 commits to master since this release Version: 3.7.0 Previous: 3.6.0 Commits: 320 Contributors: 42 Changes anal Fix #13766 - Sum the meta_data_code as covered code Add more function definitions for posix and macOS binaries Add argument to 'afll' to select column to sort by Print MSVC RTTI Warnings only on anal.verbose=1 Add afj command to analyze jmptbl from the shell Honor RAnalBlock->switch_op in afb. and afbi Improve ARM64 PAC instructions support Fix #14530 - Implementation of i.~{} aka RCoreItem Added val op hints to let the user define jmptbl sizes Fix #14501 - Jumptables are made of signed values Reduce xrefs sorting for aflj perf Initial implementation of anal.trycatch blocks asm Implement PAC instructions in the ARM64 assembler bin Add icqj command Fixes for msvc demangling (#14695) Add jni.h in bin/d for pfo Update Mach-O hardcoded format definitions Improve Mach-O header fields Improve RConsBind and use it from RBin via iz^C Use libswiftCore library if available to demangle Swift5 symbols Fix oba on frida:// Add more e_machine values for ELF Fix support for Swift5 demangling via bin.demanglecmd Fix ordinal name on Linux for NE (invalid sdb path location) Fix function detection on coff file Add icqq to print unknow classnames Add icc support for Java/Dalvik Improve ObjC classes boundary checks and slightly improve demangling Parse macho's LC_ENCRYPTION_INFO command in rabin2 -H Fix undefined behaviour bugs in malformed macho bins Handle "stub and resolver" exports and fix export trie for dyldcache Handle the export flags to avoid de-syncing Support ObjC categories on mangled classes Avoid loops in Mach-O export trie walking Parse Mach-O exports trie structure Fix #14499: Detect ascii substrings Show Class visibility information in icj for DEX Fix symbols in wasm and add custom sections Parse Rich header in PE Initial implementation of the bin.libs imports linking List multidex as dependency libs Initial working implementation of bin.libs The words of GOT Fix new exe header detection for MZ Optimize DEX subsystem detection Fix #14441 - Invalid codesize in some DEX files PoC: Initial implementation of direct bin symbols (20% speedup in loading times Remove the check_bytes and more bin-buf refactoring Add __const to potential VTable Sections Add r2 iw and rabin2 -w to enumerate try/catch blocks Parse the try/catch info of methods in DEX files build Fix android-static Delete prefix/ and fix static builds (missing libmpc.a) Fixes for the android compilations Add $onlydebug in sys/ios-cydia.sh Towards emscripten build fix (update sdb) Enable ASSERTS on all travis builds, to avoid confusion mesonbuild: Backport to python 3.5 cons Make click and drag work on Windows Fix #12921 - Impl. r_cons_arrow_to_hjkl for Windows Fix scrolling directions in the hud Implement RCons.echo() and use it from r2.cmd("echo64") Fix grep in tasks Fix #11396: Integrate dietline with the hud Fix for RCons.html when no color is used Add example file for the pri command Add pri command to print raw images in RGB (using stiv code) Introduce ?e= and ?ed to print progressbar and 3D donut WIP: Initial support for rotozooming strings via ~<zoom Initial implementation of the human friendly json indent {: Fix #9269 - Initial Implementation of vi mode Enable click mouse input on Windows Add mouse click support to VTE terminals. Hopefully fix others too Click toggles cursor, make panels click mode more consistent Add RCons.get_click(), initial integration in visual and panels Initial support of mouse wheel+click Improve the ayu theme Clear also attributes on screen clear under scr.ansicon=0 core Handle ^C in repeated commands Implemented head and tail commands Alphabetically sort more help messages and fix /ac/aa help msg Fix i subcmd help grep Initial implementation of calling the r*2 commands natively from inside r2 Expand on FreeBSD>=10 sandbox handling Add -qq to force quit. Avoid the -qcq confusion debug Windows native debugger refactoring More fixes to WinDbg (#14675) Step over rep and repne prefixed instructions with dsui Fix breakpoints handling for FreeBSD Fix single-step in the iOS-arm64 native debugger Fix xnu_thread_get_drx for iOS/arm64 Honor SWI for step-over decompiler Add support for the native r2ghidra plugin detection in cmd.pdc disasm Don't show function name comment in Visual mode Fix #14655 - Improve asm.pseudo for Dalvik Demangle xrefs if asm.demangle=true and use '@' for xref locs Fix #14622 - Skip reflines on non-executable offsets Respace demangled c++ names Do not asm.describe metaa .dwords Find relocs at instr. location first, then the dest Kill MOV/LEA comments Implement global imports (aii) and improve disasm-print-instruction code Implement 'function imports' concept (afii command) Add some SuperH opcode descriptions fs Improve R_FS via IO graph VV<> draw refs/xrefs graphs for visual navigation Implement icg to create class graphs Honor utf8 in diagonal graph lines Fix #14553 - Use HtUP to store canvas attributes instead of a sorted array (#14556) Add graph.body and graph.bubble config vars, move sin/cos into r_util Initial implementation of RConsCanvas.circle and bubble graphs io Fix timeout issue in http.get Better use of perm/mode names in R_IO mount Autocompletion for mount commands mouse Improve mouse support in visual prompt panels Drag and resize the panels with the mouse Add aflm and handle : as separator in click Handle click on toggle cache, frame title and screen borders Add tiny graph in panels and simplify the code a bit Show all the decompilers output at once W + hjkl just works like Ctrl w + hjkl Seek by clicking the offsets on Function Panel Right click is supported to open " widget Wheel is supported Mouse supports the menus which have spaces in their names Mouse kind of works on the menu, still lot to work on W + h/l moves the current panel to the direction like vim does with Ctrl W + h/l Introduce scr.demo to add effects in panels enter/exit Fix word highlighting with mouse in panels Cache the pdc outcome for each function Handle mouse click on panel tabs and select frames The 'g' key seek to highlighted address in current panel Highlight words onclick in panels Fix #14468 - Add pdsf panel for the " widget Initial support for saving the layouts with the names feature Unsync the base offset of each tab parse Add r_parse_ctype print Fix aho being ignored by asm.tabs r2pipe Enlarge RLang.cmd() to 8KB length commands Improve decompiler integration 'pdc?' -> '!*%s -h" .. Interpret .c files as #! via -i search Skip PAC instructions in rop searching Skip ROP gadgets starting with RET Fix #14585 and #14584 - /c->/a* /C->/c /B->/mb /M->/mm - better help msg and autocompletion types add tlj and tllj Fix #11404 - Implement "afsr" to change function return type visual Visual Help colorized Improve the visual browse classes mode (vbc) Initial mouse support for visual tabs vda is an alias for vA wasm Few memory leak fixes Copy the symbol id instead of reference write Implement wao for dalvik To Review Release 3.7.0 - TopHat Use RFlag.list() instead of .get() avoid false positives (#14735) Fixx oobread in flag.c (#14728) check for null Fix #14732 - Fix out-of-bounds read Better gameboy theme Fix #14696 - Fix p= in utf8 mode recent regression Fix edge detection for click and drag Fix a bug where a drag event could be initiated outside an edge Fix not being able to select the menu anymore Fix not being able to click on the X to close a panel Fix afsr not performing type checks Fix memory leaks part 2 (#14720) Fix Incorrect Break Check from de7a488 (#14723) Fix win32 compilation (#14722) Fix afs not changing function name (#14721) Changed the utf8 characters (#14719) Fix #14711 - Merge Fun/About/Help in panels Fix crash in .i~s .. recursive infinite grep strings issue (#14718) Add fcn name in Visual mode if necessary when asm.filter=false and asm.jmpsub=false (#14713) Fix WinDbg plugin warning Fix #13633 - support nested unions (#14712) Handle 'e' in '"' Fix crash in canvas Fix projects, add of help and improve gb again Fix assertion Improve the gameboy theme Hide a harmless warning when string section size is 0 Assertify the IO API a bit more Fix $? value in im prompt.exec from rc to num.value Kill os and ons commands (they werent even documented) Fix #12911 - Fix types starting with 'void' not being considered Fix abbreviated names being lost Hide this 'code slot size' warning under bin.verbose Use void in function prototypes (#14700) Revert that flagsize fix Proper fix of the oob8 bug Fix 1 byte oob read issue Fix 8byte oob write class, method and field names are now shorter and easier to read r2pm: handle info and install arguments properly (#14693) bin_symbols: Add quoting (#14690) Not camel case but snake case (#14687) Fix mouse click not opening file menu in panels (#14688) Only suspend threads if dbg.threads=true on Windows (#14689) Windows native debugger refactoring Massive win32 native debugging code refactoring and corresponding fixes. Fix hang after killing process Hide command autocompletion warning message they're now aligned with libr/bin/d/macho also tweaked r_print_format_struct_size to work with referenced format names Fix some leaks found by ASAN Break demangled xref comment when in graph (#14678) Refactoring (#14681) Fix seeking (stepping now works) Fix more crashes Fix compiler warnings Refactoring (#14676) improve macho format definitions allow enums and bitfields with arbitrary size avoid modifying the format string argument inside r_print_ Fix capstone symbols visibility Fixes #14652: Fixes visual hud regressions Don't show flag name for internal demangled xref Refactoring Default scr.breaklines to true Fixes #14353: Added utf8 support for agft Featur #14351: Added utf8 support for p= based commands All emacs dietline keybindings are implemented (#14664) Some fixes to windbg (#14666) #debug #windbg Fix #10505 Fix wrong register profile being picked Fix use-after free(s) and null derefs Fix warnings cmd_debug.c: Make addroflib use basenames Fix flagspace autocompletion Add protobuf magic Pull enums out of RParseCTypeType Support struct/enum/union before name in ctypes parse Add cdecl-thiscall-ms Calling Convention (#14653) Add more tokens for the panels clicking thing Sort om help messages Fix #14640 - /aa Add help for /ac (#14638) Tested on rabin2 -D and iD command Add __stack_chk_fail to types-android.sdb.txt (#14641) Fix W command (#14636) Fix W command Required for r2pipe programs to buffer output to be processed by r2 Handle 'e' in window panels mode too Refactoring (#14630) Don't print non-ObjC methods in classdump_objc Improve ObjC classdump icc Parse ObjC superclass name Aim to fix O_BINARY issue in rahash2 on windows Fix ?b64- command A bit more cleaner vbtll (struct visual browser) Refactoring panels (#14613) Use eq[] instead in bin_classes() Respace demangled c++ names ic*: replace ' ' with '_' in flag name Fix avra Add guards just in case; use r_str_rchr() instead Use upper case for #defines $ r2 Payload/Undecimus.app/Undecimus [0x10007e3ac]> s 0x1000081d8;af;s 0x1000082b0;afj 0x1000085fc 4 [rio] fix r_io_cache_commit to commit all lines Support for aap (function preludes with pacibsp) Handle LDURSW properly Define op->type for PAC instructions (not just family) Add more asm descriptions for pac instructions Click [X] with mouse and close the panel, plus a bunch of refactoring (#14602) Add r_parse_ctype Add mpc to acr Fix r_parse for acr Mouse is supported for " widget (#14599) Put demangled name directly in call disasm if asm.demangle=true (#14600) Put demangled name directly in call disasm if asm.demangle=true Constrain possible flag names for functions Fix ds_print_fcn_name() comment alignment when asm.cmt.right=false Ignore dalvik since it's treated differently Use R_FLAGS_FS_SYMBOLS instead in disasm.c Oops Fix demangled comment order (#14592) Fix c99 construct (#14593) Better name for seek autocompletion Fix #14543: Renamed function doesnt show in autocompletion list (#14591) Fix /ao command Fix infinite loop in /o-1 Update capstone v4 and next Added support for esc, pag up, pag dwn Added vi mode, changed quit method for hud Added ^C for vi mode Fix wrong reloc command in panels (#14582) Docuemnt Q in q? Fix C99 construct Initial implementation of NE file format (#14573) Fix several bugs of mouse and improved a bit Simplify the fork+spawn logic on Apple things (#14574) Fix anoying aeim warning when debugging Minor function signature fixes Clean up #14568 code Add comment that demangles calls if asm.demangle=true Cache on and off works seamlessly Fix null deref in 'r2 -qcia --' Use PJ for meta (#14567) zero RConsGrep in cons_grep_reset() instead fix grep expr in cmd_info help Changing pdc settings has got a problem in panels and now it is fixed (#14561) This should improve performace as you don't need to shift elements of the sorted array when you need to insert a new one. skip reexports and "stub and resolver" exports for now, the semantics are different and need to be treated in a different way but advance the pointer accordingly, to avoid loosing sync while walking the trie (especially in dyld cache) Fix #14552 - issue with Csj and scr.html Reduce the questionnaire when replace/create a panel, also replace the cmd of the current panel is available from " widget (#14551) Fix C99 construct without using -c99 (#14550) The image is generated with Gimp, saving as .data (RGB) This is 128(W) * 3(RGB) * ?(H) .. the height is computed with the blocksize r2 -e hex.cols=128 -qqfcpri doc/cows128.data Added arrow info to pdJ (#14422) Fix build --without-gpl (still far from complete but we need to go forward and kill all the globals \o/) PD: the broken test is because initializing RCons twice Add several panels to the menu and sort some of them Fix invalid JSON in ij output Fixes #14524: vi delete command is now 3dw (#14527) Fixed dietline warnings Changed logic for diw/diW Fixes #14524: changed vi delete command format to 3dw from d3w Removed unnessary print ESC key handled in vi_mode Fixes #14521: Add support for ^y when ^w Fix #14470: Close popup widget on escape Fix #6321: Wrong handling of escape key Cursor was missing in the comments panel (#14518) Fix wrong assembly of jumps relative to the ESP register (#14511) Fix Windows Build (#14512) Fix trailing space issue in the GNU sh disassembler Fix u/U problem The menu properly gets updated as a new layout is saved with a name Fix isq. should do the same as is.q Fixes #14416: selections in disarm fixed Improve spacing around "//" in unum.c "+=1" -> " += 1" in unum.c "+1" -> " + 1" in unum.c Fix wrong realloc in r_asm_massemble In line 694 a buffer of size (sizeof(char*)*32) is allocated. Later on, this buffer is realloced to 64. This decreases the size of the allocated buffer instead of increase. This may lead to memory corruption. Click properly works on the tabs (#14491) Fix missing title line in Visual mode when under scr.ansicon=0 (#14490) Autocompletion for k command (#14488) Autocompletion working for ms Removed comments Autocompletion for k command Fix some bugs and add pddo panel to " widget Fix an assert in aoj Fix focus and bright themes Color regression issue in disasm.c Fix scr.wheel.speed regression Add gameboy theme More code cleanup in RBin (#14473) Fix r_str_replace - unit tests added Fix two lines in doc/hud Autocompletion works for md, mg Added autocomplete flag map Fix behaviour of click in panels (x<20) Fix scr.wheel glich Disabled by default at compile time. See FEATURE_SYMLIST define Fix crash, reduce false positives of RBin.dol Use RBuf.slice in /B Fix autocompletion of remote files in #ms (#14284) Added Segments panel and made cursor available for both Sections and Segments panels (#14461) Add help for afs? command Quote wa command generated in visual mode (#11138) Use a pointer to eprintf instead Fix aaa color under scr.ansicon=0 small fix for console Add spaces around operators in r_num_conditional() Add spaces around operators in r_num_to_bits() Don't update console panel when it's not absolutely necessary Add spaces around operators in r_num_op() Add a couple of spaces around '==' in unum.c Add a couple of spaces around % Remove some spaces Add a space Fix an UB oobread Fix RStr.replace() Fix long times for pp -1 Remove some more spaces Remove a space Set foreground color just in case add r_fs_file_copy_abs_path to get the absolute path of a RFSFile, centralizing edge case handling use that in fs_io_read add missing free (file->path) in RFSFile destructor fix handlePipes for fs shell cat use case Fix couple of small bugs in panels with tabs Small fix for tab (#14432) Python 3.5 (the lowest version that meson supports) has no f-String but only old %-formatting and str.format(). Fix warning when printing level of ">" (#14430) Strip trailing whitespaces Fix warning -Wstring-plus-int on cont_level Remove unused var Fix ragg2 *.c on macOS Add fortune tT segfaults so fixing it (#14426) Post release version bump (3.7.0-git) Fix a few null dereference issues (#14419) Fix ec* wrt attributes (#14421) Fix for the debug mode that makes disasm so slow (#14414) Notes: SH opcodes array, file libr/asm/arch/sh/gnu/sh-dis.c from GNU binutils, defines "bf.s" and "bf/s", same with "bt.s" and "bt/s". Both pairs are identical, e.g. bt.s and bt/s mean the same thing. As *.s variants come first in the table, radare and binutils-objdump print bf.s and bt.s names. Still true for latest binutils (v2.32 2019-02-02). Renesas chip hardware manuals and IDA Pro only use bf/s and bt/s. Complete R_CONS_ATTR_ series (#14411)
2021-01-26tig: update to 2.5.1 and take MAINTAINER.fcambus9-101/+56
Most work done by leot@ and sjmulder@ in pkgsrc-wip. tig-2.5.1 --------- Improvements: - bash/zsh completion: reimplement and decrease runtime by factor 1863. (#795) - Add binding to reflog view to toggle reference display. - Fail if tig is given an invalid or ambiguous ref. (#980) - Make tig process-group leader an option. (#986, #951) - Handle GIT_WORK_TREE environment variable. - The blame view requires a working tree. - Fix use of deprecated vwprintw() function. - Update utf8proc to v2.5.0. - Add --word-diff=plain colorizing support. (#221) Bug fixes: - Fix segmentation fault. (#971) - Fix cursor position after "Move to parent" in blame view. (#973) - Fix crash on adding a line to a view. (#523) - Fix memory leak in diff unit. - Fix loop after refresh or change in refs/main split view. (#991) - Fix occasional crash on custom key bindings. (#1001) tig-2.5.0 --------- Improvements: - Single file view enters blame mode on "b". (#804) - Show untracked files in the default view. (#762) - Disable graph if log.follow is enabled and there is only one pathspec. (#881) - Disable graph for author searches. - git_colors: interpret 'ul' as 'underline'. - Add refname variable. (#900) - Add -C option to specify the working directory. (#570) - Improve behaviour of auto and periodic refresh modes. (#389, #441, #482, #794, #888, #932) - Add support for repos created with git --work-tree. (#872) - Add diff-highlight to pager mode. - Show annotated commits in main view. (#819) - Introduce reflog view. (#538) - Add option to start with cursor on HEAD commit. (#755) - Support combined diffs with more than 2 parents. - Improve how a toggle option value is shown on the status line. (#879) - Add options to filter refs output. (#694) - Update utf8proc to v2.4.0. (#961) Bug fixes: - Fix garbled cursor line with older ncurses versions. - Fix diff highlighting of removed lines starting with -- and added lines starting with ++. (#871, #875) - Fix loop when displaying search result if regex matches an empty string. (#866) - Add synchronous command description in tigrc. - Fix parsing of git rev-parse output. (#884) - Propagate --first-parent to diff arguments. (#861) - Use proper type for hash table size. (#858) - Fix incorrect cppcheck warning about realloc() use. - Don't shift signed int by 31 bits. - Fix Vim going background after running Tig outside of a git repository. (#906) - make-builtin-config: use "read -r". (#912) - Fix segfaults with readline 8.0. (#893) - Reset state before closing stage view automatically. - Don't use a child view as previous view. - Force reload of VIEW_FLEX_WIDTH views only when needed. - Combined diff uses @@@ as hunk marker. - Fix memory leak induced by 'tig grep'. - Fix memory leak in main view. - Exit gracefully if refs view was defined without ref column. (#897) - Fix pager view not moving up when child view is open. - make-builtin-config: Fix unportable sed usage in read_tigrc(). - Properly detect combined diffs. (#942) tig-2.4.1 --------- Bug fixes: - Add `CURSES_CFLAGS` to `CPPFLAGS`. (#856, Linuxbrew/homebrew-core#8440) tig-2.4.0 --------- Improvements: - Add 'send-child-enter' option to control interaction with child views. (#791) - Update make config defaults for Cygwin to ncurses6. (#792) - Build against netbsd-curses. (#789) - Change the blame view to render more like `git blame`. (#812) - Improve worktree and submodule support. (#459, #781, #783) - Support running Tig via a Git alias. (#763) - Use ISO-8601 letters for short relative dates. (#759, #760) - Change date formatting to show time zones by default. (#428, #811) - Use utf8proc to handle Unicode characters. (#827) Bug fixes: - Fix `file(1)` argument on Linux used for resolving encodings. (#788) - Fix underflow in the file search. (#800, #801) - Fix line numbers in grep view when scrolled. (#813) - Pass command line args through to the stage view. (#569, #823) - Fix resource leak. (#780) - Fix various compiler warnings and pointer arithmetic. (#799, #803) - Workaround potential null pointer dereferences. (#824) - Bind to single and double quotes by using the *<SingleQuote>* and *<DoubleQuote>* key mappings. (#821) - Make Tig the process-group leader and clean child processes. (#828, #837) - Fix sh compatibility in `contrib/tig-pick`. (#832) - Fix incorrect behaviour of up and down keys in diff view when opened from diff preview. (#802, #835) - Open the stage view when maximizing a split diff view of (un)staged changes. (#836) - Use fully qualified reference name for tags when conflicting with branch name. (#746, #787, #849) - Fix resize not working after entering command. (#845) (#846) - Use stack allocated memory to handle `TIG_LS_REMOTE`. (#839) - Fix deleted file mode line remains highlighted after hovering in diff or stage view. (#851) - Fix `TIG_LS_REMOTE` not working with git-ls-remote(1). (#853, #854) tig-2.3.3 --------- Bug fixes: - Revert "Handle \n like \r (#758)". (GH #769) - Fix GH #164 by catching SIGHUP. - Change `refs_tags` type to `size_t`. tig-2.3.2 --------- Bug fixes: - Fix busy loop detection to handle large repos. (GH #164) tig-2.3.1 --------- Improvements: - Restore TTY attributes. (GH #725) - Handle `\n` like `\r`. (GH #758) Bug fixes: - Add workaround that detects busy loops when Tig loses the TTY. This may happen if Tig does not receive the HUP signal (e.g. when started with `nohup`). (GH #164) - Fix compatibility with ncurses-5.4 which caused copy-pasting to not work in the prompt. (GH #767) - tig(1): document correct environment variable. (GH #752) tig-2.3.0 --------- Incompatibilities: - The `width` setting on the `status`, `text` and `commit-title` columns was never applied and has been removed. (GH #617) Improvements: - Improve load performance by throttling screen updates. (GH #622, #629) - Speed up graph rendering. (GH #638) - Enable scroll optimizations for Terminal.app and iTerm2. (GH #637) - Improve the test suite portability to not depend on GNU sed. (GH #609, #614) - Make build reproducible. (https://reproducible-builds.org/) (GH #613) - Enable binding to more symbolic keys and keys with control modifier: `F13`-`F19`, `ShiftLeft`, `ShiftRight`, `ShiftDel`, `ShiftHome`, `ShiftEnd`, `ShiftTab`, `Ctrl-C`, `Ctrl-V`, `Ctrl-S`, and `Ctrl-@`. (GH #314, #619, #642) - Persist readline history to `~/.tig_history` or `$XDG_DATA_HOME/tig/history`. Use `history-size` to control the number of entries to save. (GH #620, #713, #714, #718) - Preload last search from persistent history. (GH #630) - Add `view-close-no-quit` action, unbound by default. (GH #607) - Add `mouse-wheel-cursor` option (off by default) when set to true causes wheel actions to prefer moving the cursor instead of scrolling. (GH #608) - Add `truncation-delimiter` option, set to `~` by default. (GH #646) - Add `-q` parameter to `source` for "source-if-present". (GH #612) - Add `:echo` prompt command to display text in the status bar. (GH #626, #636) - Make `diff-highlight` colors configurable. (GH #625, #633) - Let Ctrl-C exit Y/N dialog, menu prompts and the file finder. (GH #632, #648) - Hide cursor unless at textual prompt. (GH #643) - Expand tilde ('~') in `:script` paths. (GH #674) - Show single-line output of external command in status bar. (GH #200, #557, #678) - Disable the graph when `--no-merges` is passed. (GH #687) - Print backtraces on segfault in debug mode. - Ignore script lines starting with `#` (comment). (GH #705) - Complete `repo:*` variables when readline is enabled. (GH #702) - Incorporate XTerm's `wcwidth.c` to find Unicode widths. (GH #691) Bug fixes: - Fix graph display issues. (GH #419, #638) - Fix and improve rendering of Unicode characters. (GH #330, #621, #644, #682) - Handle hyphenated directory names when listing content. (GH #602) - Do not jump to next match when cancelling the search prompt. (GH #627) - Fix clearing of the status line after `Ctrl-C`. (GH #623, #649) - Fix handling of width on line-number and trimmed width of 1. (GH #617) - Set cursor position when not updating prompt contents. (GH #647) - Erase status line at exit time for users without altscreen-capable terminals. (GH #589) - Fix unexpected keys when restoring from suspend (`Ctrl-Z`). (GH #232) - contrib/vim.tigrc: Also bind G in the main as a workaround for limitations of the `none` action. (GH #594, #599) - Only override `blame-options` when commands are given and fix parsing of `-C`. (GH #597) - Fix diff name discovery to better handle prefixes. - Interpret button5 as wheel-down. (GH #321, #606) - Fix `back` / `parent` in tree view. (GH #641) - Fix memory corruption in `concat_argv` and file finder. (GH #634, #655) - Fix reading from stdin for `tig show`. - Document problem of outdated system-wide `tigrc` files in Homebrew. (GH #598) - Repaint the display when toggling `line-graphics`. (GH #527) - Fix custom date formatting support longer strings. (GH #522) - Don't segfault on ":exec" irregular args. (GH #686) - Fix segfault when calling htab_empty. (GH #663, #745) tig-2.2.2 --------- Upgrade instructions: - The `status-untracked-dirs` option was renamed to `status-show-untracked-dirs` to match the new `status-show-untracked-files` option. Improvements: - Use `diff-options` when preparing the diff in the stage view to make the diff state configurable. (GH #545) - Add 'status-show-untracked-files' option mirroring Git's 'status.showUntrackedFiles' to toggle display of untracked files. in the status view. On by default. (GH #562) - Update `ax_with_curses.m4` and use `pkg-config` to detect. (GH #546) - Add `tig-pick` script for using Tig as a commit picker. (GH #575, #580) - Add "smart case" option ('set ignore-case = smart-case') to ignore case when the search string is lower-case only. (GH #320, #579) Bug fixes: - Fix author ident cache being keyed by email only. (GH #424, #526, #547) - Fix periodic refresh mode to properly detect ref changes. (GH #430, #591) - Add workaround for detecting failure to start the diff-highlight process. - Show diffs in the stash view when `set mailmap = true`. (GH #556) - Fix parsing of git-log revision arguments, such as `--exclude=...` in conjunction with `--all`. (GH #555) - Fix diff stat parsing for binary copies. - Fix crash when resizing terminal while search is in progress. (GH #515, #550) - Fix argument filtering to pass more arguments through to Git. - Check for termcap support in split tinfo libs. (GH #568, #585) tig-2.2.1 --------- Improvements: - Support Git's 'diff-highlight' program when `diff-highlight` is set to either true or the path of the script to use for post-processing. - Add navigation between merge commits. (GH #525) - Add 'A' as a binding to apply a stash without dropping it. - Bind 'Ctrl-D' and 'Ctrl-U' to half-page movements by default. - manual: Mention how to change default Up/Down behavior in diff view. Bug fixes: - Reorganize checking of libraries for termcap functions. - Fix `:goto <id>` error message. tig-2.2 ------- Incompatibilities: - Note that all user-defined commands are now executed at the repository root instead of whatever subdirectory Tig was started in. (GH #412) - Remove `cmdline-args` option to avoid problems where setting it in `~/.tigrc` potentially breaks other views due to its "context-sensitive" nature, where a `git-log` option maybe cause `git-grep` to fail. (GH #431) Improvements: - Use .mailmap to show canonical name and email addresses, off by default. Add `set mailmap = yes` to `~/.tigrc` to enable. (GH #411) - Highlight search results, configurable via `search-result` color. (GH #493) - Wrap around when searching, configurable via `wrap-search` setting. - Populate `%(file)` with file names from diff stat. (GH #404) - `tig --merge` implies `--boundary` similar to gitk. - Expose repository variables to external commands, e.g. `%(repo:head)` gives the branch name of the current HEAD and `%(repo:cdup)` for the repo root path. - Add `make uninstall`. (GH #417) - Add ZSH completion file (based on Bash completion) (GH #433) - Expose the text of the currently selected line as the %(text) (GH #457) - Allow users to specify rev arguments to blame (GH #439) - Update OSX make config to find brew installed ncurses - Add sample git-flow keybinding (GH #421) - Add chocolate theme (GH #432) - Show stash diffs. (GH #328) - Make user tigrc location configurable. (GH #479) - Compact relative date display mode. (GH #331) - Add date column option controlling whether to show local date. - Move to parent commit in the main view. (GH #388) - Add `:goto <rev>` prompt command to go to a `git-rev-parse`d revision, e.g. `:goto some/branch` or `:goto %(commit)^2`. - Respect the XDG standard for configuration files. (GH #513) - Show tracking information in `tig status` (GH #504) - Resolve diff paths when `diff.noprefix` is true. (GH #487, #488) - Support for custom `strftime(3)` date formats, e.g.: set main-view-date = custom set main-view-date-format = "%Y-%m-%d" Bug fixes: - Prevent staged rename from displaying unstaged changes (GH #472, #491) - Fix corrupt chunk header during staging of single lines. (GH #410) - Fix out of bounds read in graph-v2 module. (GH #402) - Add currently checked out branch to `%(branch)`. (GH #416) - Size diff stats correctly for split views. - Fix `git-worktree` support by using `git-show-ref`. (GH #437) - Add currently checked out branch to `%(branch)` (GH #416) - Fix segfault when hitting return in empty file search (GH #464) - Remove separator on horizontal split when switching from vertical split - Do not expand `--all` when parsing `%(revargs)` (GH #442, #462) - Fix exit when the main view is reloaded due to option toggling. (GH #470) - Expand all whitespace and control characters to spaces. (GH #485) - Restore ability to unbind a default keybinding with `none`. (GH #483) - Fix blob view to honor the `wrap-lines` setting. tig-2.1.1 --------- Improvements: - Add support for key combos. (GH #67) - See `contrib/vim.tigrc` for Vim-like keybindings. (GH #273, #351) - Add GitHub inspired file finder to search for and open any file. (GH #342) - Add `search` keymap for navigating file finder search results. Bug fixes: - Fix display of multiple references per commit. (GH #390, #391) - Sync the prompt's cursor position with readline's internal position. (GH #396) - Keep unstaged changes view open after an staging command. (GH #399) tig-2.1 ------- Improvements: - Improve C99 compliance so Tig compiles with the native compilers on Solaris (SunStudio cc) and AIX (xlc). (GH #380) - Add move-half-page-up and move-half-page-down actions. (GH #323) - Preserve the cursor position when changing the diff context. - Show 'Unstaged changes' above 'Staged changes' in the main view. (GH #383) - Add `:exec <flags><args...>` prompt command to execute commands. - Add shorthand for changing the view settings of a single column, eg. `set main-view-author = short`. (GH #318) - Show better diff context info in the stage view. - Add `%(lineno)` state variable. (GH #304) - Use hash table to speed up refs lookup. (GH #350) - Show the file path in the blob view when available. - Use `set commit-order = default` to use Git's default commit order, even when the commit graph is enabled. The option will turn off automatic enabling of `--topo-order` when the graph is shown in the main view. (GH #310, #324) - Speed up the diff view in large repos by loading git-describe info after the diff content has been read. (GH #324) - Add the old graph rendering as an option. (GH #310, #324) - Add `main-options` setting for specifying default main view options. Example: `set main-options = --max-count=1000`. (GH #368) - See `contrib/large-repo.tigrc` for settings that will help to speed up Tig in large repos. (GH #368) - Add `:save-options <file>` prompt command to save config to file. (GH #315) Bug fixes: - Update manual to reflect default keybinding changes. (GH #325) - Fix graph support for `--first-parent`. (GH #326) - Fix off-by-one error when opening editor from the grep view. - Fix status on-branch information. - Fix main view to handle the case when git-log doesn't find any commits. - Fix corner case when parsing diff chunk when lines information is missing. - Ensure main view changes commits are shown right before the current HEAD. - Fix rendering of boundary commits. - Fix compilation with GNU Make 3.80 by removing `$(abspath)`. (GH #362) - Fix config parsing to support shell-like quoting in user-defined command, e.g. `bind generic <Ctrl-f> :!git log -G"%(prompt Prompt: )"` (GH #371) - Make diff meta information colors more consistent with Git. (GH #375) - Fix segfault when updating changes in a maximized stage view opened via the main view. (GH #376) - Handle line number configs where the interval is not specified. (GH #378) - Fix display of error messages during startup. (GH #385) - Show untracked files outside the current directory like git-status. (GH #230) tig-2.0.3 --------- Improvements: - Add `:save-display <file>` prompt command to save the current display. - Add `:script <file>` prompt command for scripting the Tig UI. - Add test framework and convert existing tests to use it. - Add command-line option for starting in refs view: `tig refs`. (GH #309) - Make blame commit ID colors stable across reloads. (GH #303) - Increase blame ID and graph rendering color palette to 14 colors. - New setting 'split-view-width' controls the width for vertical splits. It takes the width of the right-most view either as a number or a percentage. - Expose settings holding command line argument lists: `file-args`, `rev-args`, and `cmdline-args`. They are mainly intended for testing purposes but also allows to change the filtering arguments dynamically. (GH #306) - Add `log-options` setting for specifying default log view options. Example: `set log-options = --pretty=fuller`. - Use option specific view flags to reload view after `:set` commands. Bug fixes: - Refresh the current view when returning from an external command and `refresh-mode=after-command`. (GH #289) - Fix readline completion. - Fix '/' to `find-next` when readline support is enabled. (GH #302) - Fix readline prompt to correctly handle UTF-8 characters. - Add warnings for more obsolete actions and colors. - Fix passing of commit IDS via stdin to the main view. - Fix commit title overflow drawing for multibyte text. (GH #307) - Fix installation directory permissions. - Handle binary files matches reported by git-grep. - Toggling of "args"-typed options without any arguments will clear the current arguments. Example: `:toggle blame-options`. - Detect custom `pretty.format` settings that break the log view and fallback to use the `medium` format. (GH #225) - Fix invocation of git-diff for the blame view's line tracking. (GH #316) - Fix blame completion of directory names. (GH #317) - Fix display of conflicts in the main view when 'show-changes' is enabled. - Fix off-by-one error when displaying line numbers in the grep view. - When showing the commit graph ensure that either topo, date or author-date commit order is used. (Debian #757692) (GH #238) tig-2.0.2 --------- Improvements: - Use git-status for diffing the index. - Group toggle options together in the help view. Bug fixes: - Fix refs, main and grep loading when 'gui.encoding' is set. (GH #287) - Ignore 'gui.encoding' and 'i18n.commitencoding' when set to 'UTF-8'. - Add work-around for missing strndup() on Mac OS X v10.6. (GH #286) - Fix spurious abbreviation of author names. (GH #288) - Don't show empty action groups in the help view. tig-2.0.1 --------- Bug fixes: - Fix compilation in watch.c. - Fix parsing of key bindings mapped to '^' and '<'. (GH #280, #282) tig-2.0 ------- Incompatibilities: - In preparation for key combo support, key mappings for symbolic keys (e.g. `Up` and `Down`) must now start with `<` and end with `>`, e.g. `<Up>` and `<Down>`. Furthermore, escape key combos must now use `<Esc>key` instead of `^[key`, and control key mappings must now use `<Ctrl-key>` instead of `^key`. - Only use 'diff-options' for the diff view and introduce '%(cmdlineargs)' to hold non-file and non-revision flags passed on the command line. Affects all user-defined commands that expect '%(diffargs)' to hold both 'diff-options' arguments and those passed on the command line. (GH #228) - Remove built-in keybinding for `git gc`. Add the following line to `~/.tigrc` to restore it: `bind generic G ?git gc`. - To support view specific colors, '.' can no longer be used interchangeably with '-' and '_' in settings names and in particular color names. - Replace 'stage-next' action with prompt command using a predefined search (see below) and add binding (`@` by default) to also work in the diff view. - Most view display options must now be set via the new `*-view` options in tigrc. Existing options are no longer recognized, but a warning is shown. - Remap default bindings to have more consistent convention: use lower-case keys primarily for view switching and non-destructive actions, use upper-case keys for view-specific actions including user-defined commands. To preserve old default key bindings see `contrib/bindings-v1.x.tigrc`. (GH #257) Improvements: - Add mouse support: scroll view, click line to move cursor, double click line (or click again) to "Enter" cursor line, e.g. open commit diff. Disabled by default, since it makes text selection less intuitive. If you enable this remember to hold down Shift (or Option on Mac) when selecting text. - Rewrite and improve the rendering of the commit graph. (GH #144, #46) - Add completion and history support to the prompt via readline. (GH #185) - Options can be configured and toggled individually for each view. Use the new view settings to configure the order and display options for each view columns. See system tigrc and tigrc(5) for examples. (GH #89, #222) - Add grep view as a front-end to git-grep(1): `tig grep -p strchr`. From within Tig, the key for switching or grepping is bound to 'g' by default. - Rename 'branch' view to 'refs' view and show tags. (GH #134) - Add main view pager mode that reads git-log's '--pretty=raw' data from stdin, e.g. `git reflog --pretty=raw | tig --pretty=raw`. - Add support for `--graph` and highlight diff stats in the log view. - Add default command bindings: `!` to delete branch, `!` to drop stash. - Add 'stage-split-chunk' action for splitting chunks in the stage view. Bound to '\' by default. (GH #107) - Add 'back' action bound to '<' by default, which will return the blame view to the previous revision and line after moving e.g. to the parent. (GH #124) - Auto-refresh views based on watched repository changes. Configure by setting `refresh-mode` to 'manual', 'auto', 'after-command', or 'periodic'. (GH #190) - All default settings are in well-documented system `tigrc`. - Add `:toggle` prompt command to manipulate options using keybindings. For example: `bind diff D :toggle diff-options --patience --notes`. (GH #69) - Add a new "auto" value for the 'vertical-split' option to let Tig choose the split orientation (this is the new default behavior). Can be toggled. - Make it possible to toggle the display of files in untracked directories. - Allow Tig to be started with no default configuration by specifying an alternative system `tigrc` file, e.g.: `TIGRC_SYSTEM=~/.tigrc.safe tig`. Set `TIGRC_SYSTEM` to the empty string to use built-in configuration instead of - Key mappings can contain UTF-8 multibyte unicode keys. - Warn about conflicting keybindings using Ctrl, e.g. `<Ctrl-f>` and `<Ctrl-F>`. (GH #218) - Extend key bindings for prompt commands (ie. `bind <keymap> <key> :<prompt>`) to support predefined searches, eg.: `bind stage 2 :?^@@`. - Git color mappings can be configured in tigrc. - More informative configuration error messages. - Make reference label formatting configurable, for example: `set reference-format = (branch) <tags> remote`. (GH #201) - Adjust author width and other view columns automatically. (GH #49) - Support view specific colors: `color stage.diff-add yellow default`. - Copy `-S`, `-G` and `--grep=` pattern to search buffer so 'find-next' and 'find-prev' work as expected. - Optionally specify custom prompt for `%(prompt)` in shell commands, e.g. `bind main B ?git checkout -b "%(prompt Enter new branch name: )"`. - Add `%(remote)` and `%(tag)` symbols to complement `%(branch)`. - User-defined commands can now be prefixed with any of the supported flags, e.g. `?git checkout -b %(branch)`. - Open editor at line number for combined diffs e.g. diffs of unmerged files. - Add build configuration for Cygwin (OS name: CYGWIN_NT-6.1). (GH #92) - Document the Git commands supported by the pager mode. (GH #1) system `tigrc` configuration. (GH #235) Bug fixes: - Fix stash diff display when reloading the stash view after a deleting. - Set the commit reference when opening the blame view from the blob view. - Correctly identify and highlight the remote branch tracked by HEAD. - Pass --no-color after user defined arguments to ensure that colors do not break the output parsing. (GH #191) - Close stdin when pager mode is not supported. - Show newly created branches in the main view. (GH #196) - File with 0 changes breaks diffstat highlighting (GH #215) - Update %(branch) variable in the main view. (GH #223) - Disable graph rendering when either of `--reverse`, `-S`, `-G`, and `--grep` are passed to the main view. (GH #127) - Only refresh views that support it. - Fix author and date annotation of renamed entries in the tree view. - Fix use of unsafe methods in the signal handler. (GH #245) - Fix rendering in non-UTF8 terminals. - Fix stage-update-line by rewriting the diff chunk containing the line instead of using `--unidiff-zero` and a diff context of zero. (GH #130) - Fix status-update to work for untracked directories. (GH #236) - Don't pass log parameters given on the command line to the diff view.
2021-01-26devel: Add libnet.jperkin1-1/+2
2021-01-26libnet: Import version 1.2.jperkin6-0/+79
We have two prior versions of libnet in pkgsrc, devel/libnet10 and devel/libnet11. Both of them are versions from 2005 which are starting to show their age, notably not supporting the dlpi(7P) interface on SunOS. It's unclear whether all of the current consumers of libnet11 will work unmodified against 1.2, so the intention is to import this package as the new mainline, and then switch packages over as they are verified to work against it. We can then finally ditch the versions from 16 years ago. Changes since 1.1.2.1 (the current devel/libnet11 version): v1.2 - 2019-10-16 ----------------- Release curated by Sam Roberts and Joachim Nilsson. ### Changes - Removed Lua bindings from repo and dist files, now available separately - Removed generated HTML and Nroff (man pages) documentation files, must be regenerated with Doxygen using `make doc` - Add `pkg-config` support with `libnet.pc`, replaces `libnet-config` tool, although it is kept for compatibility for now - Factorize socket setup code for socket opening to provide output device selection for IPv4 - Make `libnet_get_hwaddr()` work with 802.1q interfaces in bpf (BSD) - New API for OSPF HELLO messages, with neighbor ### Fixes - Use `getifaddrs()` on OpnBSD and Linux - For samples, `netinet/in.h` is not on windows - Fix errors with missing `IPPROTO_MH` on windows - Fix build error on Mac OS X - Fix #34 checksum caculation when IPv6 extension headers being used - Remove unneeded trailing `-Wl` from `-version-info` line - `libnet_build_snmp()` fix warning - Use `LIBNET_*RESOLVE` const in `libnet_name2addr*` - Fix i486 sample synflood6 warning - Some samples need `#include<netinet/in.h>` for `IPPROTO_*` on OpenBSD 5.2 - Fix gcc warnings - Check for `socklen_t`. Suggested by g.esp and Stefanos Harhalakis - libnet: update for obsolete INCLUDE directive - Fix warning inside comment - Automatic link options `#pragma comment(lib, ...)` are only for MSVC - Fix several warnings for MS C/C++ compiler - `libnet_open_raw4()` doesn't return a SOCKET on win32 - Fixes error messages sometimes include newline, sometimes not - Properly set `l->err_buf` if `libnet_ifaddrlist()` fails - dlpi: Try harder to find the device for the interface - dlpi: Correctly extract unit number from devices with numbers in their name - Make interface selection work for interfaces with multiple addresses - Fix memory leak, device list needs to freed after use - Fix file descriptor leak in `libnet_ifaddrlist()` - Fix `libnet_get_hwaddr()` for large(!) number of interfaces - Fix to support musl libc, removes support for GLIBC <2.1 - Fix win32 buffer overrun in `libnet_get_ipaddr4()` - Interface selection was ignoring interfaces with IPv6 - Use `LIBNET_API` on public functions, instead of an export file - Add Visual Studio 2010 project files, with build instructions - Define INET6 on IRIX, making libnet compile cleanly - Check for FreeBSD pre-11 before enabling `LIBNET_BSD_BYTE_SWAP` - Use `LIBNET_BSDISH_OS` and `LIBNET_BSD_BYTE_SWAP` on Darwin - Add BSD byteswap for Darwin. Otherwise `sendto(` returns `EINVAL` - `netinet/in.h` is needed for `IPPROTO_` and `sockaddr_in` v1.1.6 - 2012-03-06 ------------------- Release curated by Sam Roberts. ### Changes - Note about why including libnet.h breaks dnet.h/dumbnet.h (Sam Roberts) - Clean up use of single and bracket quotes. (Sam Roberts) - FreeBSD and Solaris volunteers to contibute. (Sam Roberts) - Prep for 1.1.6 release, such as bumping version (Sam Roberts) - Add people who have volunteered to check release candidates. (Sam Roberts) - Rework libnet_autobuild_ipv6() to eliminate code duplication. (Sam Roberts) - Implemented libnet_autobuild_ipv6() (repolho) - Implemented unix version of libnet_get_ipaddr6() (repolho) - Reintroduce libnet_pblock_record_ip_offset() which is empty. (Sam Roberts) - Make clear that all contributions are under libnet copyright. (Sam Roberts) - Update for doxygen 1.7.4. (Sam Roberts) - Note that PORTED is no longer maintained. (Sam Roberts) - Note that CONTRIB is no longer maintained. (Sam Roberts) - Prep for upcoming 1.1.6 release. (Sam Roberts) - Remove BUGS, it referred to non-existent code. (Sam Roberts) - Reworked icmpv6 patch to parallel the form of icmpv4 support. (Sam Roberts) - Don't depend on netinet/ip.h. (Sam Roberts) - Remove unused variable. (Sam Roberts) - Support building ICMPv6 packets. (someone) - Use SO_BINDTODEVICE to force packets out opened device. (someone) - Always use an IPPROTO of TCP when calculating TCP checksums. (Sam Roberts) - Use correct addr type for addrlen calculation. (someone) - libnet_build_igmp reserved field was mistakenly called 'code' (Sam Roberts) - Documentation doesn't include any gif files. (Sam Roberts) - Enable IPV6 support on Solaris 11. (Rich Burridge) - Presence of linux's PF_PACKET sockets is now detected. The acinclude.m4 merged in from packetfactory's 1.1.3-rc branch mysteriously assumed that that there was no PF_PACKET if the target OS was linux, which is the opposite of what we want. (Sam Roberts) - pblock_append deals with raw memory and structs, so declare it correctly (Sam Roberts) - Clarified types and sizes of DHCP/BOOTP chaddr, sname, and file. chaddr is a hardware address, with size specified seperately, whereas sname and file are null terminated strings. (Sam Roberts) - Explicitly ignore return value of write (some systems now warn about this). (Sam Roberts) - Synchronize comment about h_len with parameter name in function. (Sam Roberts) - mkinstalldirs is replaced by autogen.sh. Maybe it shouldn't be checked in? (Sam Roberts) - autogen retries if /sw/... doesn't exist (Sam Roberts) ### Fixes - Only use getifaddrs() if it exists. (reported by Dagobert Michelsen) (Sam Roberts) - ICMPv6 struct is too long, so use length macro (sickmind@lavabit.com) (Sam Roberts) - ICMPv6 pblock sizes are needed to calculate IPv6's ip_len (reported by sickmind@lavabit.com) (Sam Roberts) - Fix doc comment format errors reported by doxygen. (Sam Roberts) - Fixed typo in error message. (Thomas Habets) - Trying to fix write errors (Víctor Martínez) - Fix libnet_build_igmp() to not reverse the order of the ip address. libnet APIs that take IP addresses as a uint32_t expect them to already be in network byte order. (Sam Roberts) - Fixes a buffer overflow issue when copying chaddr, file, and sname fields to the DHCP header. (allfro) - Fixes improper calculation of header size when libnet_pblock_probe is called. payload_s must be added to the header length in order to accommodate for the existence of a non-NULL payload. Otherwise the user is prompted with a 'memcpy would cause overflow' error and the program exits. (allfro) - Fixes incorrect memory block size set in the timeexceed and redirect builders. The n variable does not add the size of the payload (payload_s) for proper allocation of the buffer when payload is not NULL and payload_s is greater than 0. This results in a memcpy buffer overflow error when libnet_pblock_append is called exiting the program. (allfro) - Fixes a bug that incorrectly converts the addr, mask, and next_hop fields to network byte order. Users will usually call libnet_name2addr4 to fill these fields and this function already provides a network byte-ordered value. (allfro) - snap parameter was getting copied into the dhost field. (Sam Roberts) - h_len is no longer used, so pass zero. Coverity noticed that stack garbage was being passed instead of a valid value, its just that the value isn't used, and incluing l->total_size is wrong when the pblock is being updated (though it will work on pblock creation). (Sam Roberts) - Length n should include the value_hdr. (Sam Roberts) - Coverity: UNINIT (Jiri Popelka) - Coverity: REVERSE_INULL (Jiri Popelka) - Coverity: RESOURCE_LEAK (Jiri Popelka) - Coverity: OVERRUN_STATIC (Jiri Popelka) - Coverity: OVERRUN_STATIC (Jiri Popelka) - Coverity: OVERRUN_STATIC (Jiri Popelka) - Coverity: FORWARD_NULL (Jiri Popelka) - Coverity: FORWARD_NULL (Jiri Popelka) - Coverity: CHECKED_RETURN (Jiri Popelka) - build_ipv6: set higher traffic class bits (Ulrich Weber) - Fix missing uint instead of u_int (Dagobert Michelsen) v1.1.5 - 2010-11-03 ------------------- Release curated by Sam Roberts. ### Changes - IRIX: Get MAC address from `ioctl()`, not by spawning shell. (Thomas Habets) - Cleaned up implementations of `libnet_get_hwaddr()`, some leaked memory, one returned a pointer to data on the stack, and the others return a pointer to static data. I'm settling on the non-reentrant static data form. (Sam Roberts) - Further simplify `autogen.sh` (Sam Roberts) - Removed dependency on `net/bpf.h`, and on `pcap.h`. (Sam Roberts) - `LBL_ALIGN` check is unused, removing. (Sam Roberts) - Don't include `pcap.h` if we've already got `net/bpf.h`, pcap has it's own bpf. (Sam Roberts) - Get DLT types from the source, `pcap.h`. (Sam Roberts) - Use `autoconf -ivf` in autogen.sh (suggested by alon.barlev@gmail.com) (Sam Roberts) - Add a link to the old docs. (Sam Roberts) - Added links to github and sourceforge. (Sam Roberts) - Replace C99/C++ comments with traditional C comments. (alon.barlev@gmail.com) (Sam Roberts) - Closer backwards compat, assume its ipv4 if it's not ipv6. This seems totally wrong, but so it goes. (Sam Roberts) - Try using the `ip_len` header field to guess the input buffer's size. (Sam Roberts) - `libnet_do_checksum()`, despite being "internal", is used by external code. libnet needs to maintain backwards API compatibility, tcpsic from the isic package is an example of a binary failing when calling the new API with the old arguments. (Sam Roberts) - Use libtool-1 or libtool-2 whatever available (alon.barlev@gmail.com) (Sam Roberts) - Remove dead code. (Sam Roberts) - h_len is calculated for ip, udp, tcp, icmp, and igmp, so is allowed to be zero. (Sam Roberts) - Avoid mallocing zero bytes, it perturbs electric fence. (Sam Roberts) - `ip_offset` is now calculated on the fly, and UDP and TCP no longer use `h_len` (Sam Roberts) - IP offset calculation should allow nesting of IP protocols. (Sam Roberts) - Remove gccisms in bitfield definitions. (Sam Roberts) - injection type `of LIBNET_NONE`, for packet construction without injection (also, more const correctness) (Sam Roberts) - Notes about checksumming. (Sam Roberts) - Updated comments and notes. (Sam Roberts) - Added missing pblock types, and made strings consistent with definitions. (Sam Roberts) - Change version policy, we will be 1.1.4 until 1.1.5 is released. (Sam Roberts) - Bring CHANGELOG up to date with today, and script used to generated it. (Sam Roberts) - Begin implementation and tests for repairing pblocks after an update. (Sam Roberts) - Clarifications in document comments. (Sam Roberts) - Don't doxygen process internal header libnet-headers.h (Sam Roberts) - Note about `build_data`, which doesn't update `ip_offset`, among other problems. (Sam Roberts) - Why don't TCP and UDP use the DATA pblock type? (Sam Roberts) - whitespace cleanup (Sam Roberts) - Summarize changes for log. (Sam Roberts) - Reindented, removing hard tabs, and using consistent brace positioning. (Sam Roberts) - configure.in: Check for `uint{16,32,64}_t` (Thomas Habets) - Use `uint64_t`, not `u_int64_t` (Thomas Habets) - configure.in: check for `gethostbyname2()` (Thomas Habets) - define a lying `gethostbyname2()` if it's not defined (Thomas Habets) - define `STDOUT_FILENO` if it's not defined (Thomas Habets) - Configure switch to install samples (Sam Roberts) - Attempt at applying a patch to get installable samples, which doesn't work. (Sam Roberts) - Convert CRLF to LF. (Sam Roberts) - Auto* changes to work on OS X from git checkout. (Sam Roberts) - Add srcdir to include path. (Sam Roberts) - Beginning 1.1.5 development. (Sam Roberts) ### Fixes - Compile fix for IRIX (added includes) (Thomas Habets) - Don't explicitly check for UID 0, we may have capabilities even if not root. (Thomas Habets) (Sam Roberts) - Visual C++ compiler(v9.0) uses bitfield type as a hint to pad the bitfield, so struct was too long. (Sam Roberts) - Make `libnet_get_hwaddr()` work in the last few releases of OpenBSD (stu@spacehopper.org) (Sam Roberts) - Don't distribute `libnet.h`, it is generated by `configure` (alon.barlev@gmail.com) (Sam Roberts) - AIX build failures fixed, cause was inclusion of system headers libnet no longer uses (alon.barlev@gmail.com) (Sam Roberts) - checksum would segfault if a IP checksum was requested for a non-ipv4 header (Sam Roberts) - merged icmpv6 patch in, but I believe either it or the `sample/icmp6_unreach` generates the cksum incorrectly (victor@inliniac.net) (Sam Roberts) - Avoid looking at `/dev` and `/usr/include` when cross-compiling (alon.barlev@gmail.com) Alon: The following code support cross compiling: 1. You CANNOT check for `/usr/include` stuff as cross compiler is installed else-where. Autoconf know how to do this, use its header detection logic and ask the result. 2. Testing for `/dev/` can be done only when not cross compiling... (Sam Roberts) - Corrected `target_os` check, it was broke for linuxgnu, and m4 syntax was invalid (alon.barlev@gmail.com) Alon:The following change is needed in order to solve two issues: 1. linuxgnu and such target os. 2. You cannot set variable with space before '=' as it tries to execute the variable... 3. Print result of test in case of linux (Sam Roberts) - `--with-link-layer` broken, was using wrong macro name, and didn't include all link types (Sam Roberts) - `ac_cv_c_bigendian` is yes, not "big" (alon.barlev@gmail.com) (Sam Roberts) - `libnet_t`'s fd should be initialized to an invalid value, or `libnet_destroy()` will close stdin. (Sam Roberts) - Alon's use of `AC_CHECK_HEADERS` fails to detect headers. Reverted part of 57acd56f09158decb69f301e7547ce8cde6ac63f (Sam Roberts) - With `link_none`, the link apis were failing with not error message. (Sam Roberts) - man doc makefile wasn't correctly referring to the srcdir (alon.barlev@gmail.com) (Sam Roberts) - autotools patches for cross compiling and seperate builddir (alon.barlev@gmail.com) (Sam Roberts) - html doc makefile wasn't correctly referring to the srcdir (alon.barlev@gmail.com) (Sam Roberts) - `libnet_build_tcp()` was not returning the ptag. (Sam Roberts) - Packet boundaries are now passed to `_do_checksum()`, so it can validate its input. Hopefully, this will end the recurring segmentation faults due to buffer overruns. (Sam Roberts) - TCP building is triggering memory overwrites; closer examination shows the link list manipulation to be wrong, and the checksumming approach to be incapable of working. I reworked code to simplify and clarify how it works currently, in preparation to fixing it. (Sam Roberts) - Null the pointer in the about-to-be-freed structure, not the one on the stack. (Sam Roberts) - libnet_pblock_insert_before() didn't remove ptag2 from old location (Sam Roberts) - Declared many constant arguments as const, const-correct code spews warnings when built against libnet. (Sam Roberts) - Include pcap DLT_ types from correct header, was using an internal one before. (Sam Roberts) - Declared many constant arguments as const, const-correct code spews warnings when built against libnet. (Sam Roberts) - `libnet_clear_packet()` wasn't clearing all packet context. (Sam Roberts) - Add `libnet_dll.c` as extra, so its there for win32, and build `libnet_link.c` (Sam Roberts) - This file wasn't being built, and needed to include bpf to build. (Sam Roberts) - Forgot to make device a const string here, too. (Sam Roberts) - make string argument constant (Sam Roberts) - only ignore Makefile in `libnet/` (Sam Roberts) - Replace `u_intX_t` with C99 `uintX_t`. (Thomas Habets) - `pclose()` following `popen()`, not `fclose()` (Thomas Habets) - snoof & dlpi: don't free on `libnet_link_close()` (Thomas Habets) - The non-standard types are no longer used. (Sam Roberts) - `/sw/..` path doesn't always exist (Sam Roberts) - `src/libnet_link_snoop.c`: Only fclose if `f!=NULL (Thomas Habets) - rc/libnet_link_snoop.c`: fixed snoop-based backend. Works on IRIX. (Thomas Habets) - Pointers not cleared after free could lead to double deallocation. (Sam Roberts) - Update autobuild endianness and unaligned checks. (Mike Frysinger) (Sam Roberts) - Adjust srcdir and builddir so libnet can build out-of-tree (Robin Getz/Mike Frysinger) (Sam Roberts) v1.1.4 - 2009-06-09 ------------------- Release curated by Sam Roberts. ### Changes - Strip CRLF from files not in win32/ (Robert Scheck) ### Fixes - libnet was using `HAVE_CONFIG_H` in a public header to deal with platform types. https://bugzilla.redhat.com/show_bug.cgi?id=501633 - Patch to `libnet.h.in` for compilation on HURD (David Paleino) v1.1.3 - 2009-05-11 ------------------- Merged 1.1.3 release candidate from packet factory, 1.1.2, debian patches, and my own fixes, including bugs causing memory corruption. Release curated by Sam Roberts. ### Changes - Convert from latin-1 to utf-8, from Robert Scheck. (Sam Roberts) - Removed CVS crud, again. (Sam Roberts) - Applied autotools cleanup patch from Stefanos. (Sam Roberts) - Applied patch from Stefanos to remove the autotools ephemera that leaked back in. (Sam Roberts) - Updated .so revision to be one backwards compatible interface after 1.1.2.1-fork's. (Sam Roberts) - merged autogen.sh from 1.1.3, now ltmain.sh comes from autogen.sh (Sam Roberts) - Update .so version to be one src change past the last debian release. Debian patches to v1.1.2.1 used 4:0:3, in error, so we use 5:0:4, as per the rules. See Makefile.am comments for reference. (Sam Roberts) - autotools merged from v1.1.3 to v1.1.2 (Sam Roberts) - Remove autotools. And some garbage local files that should not have been in upstream tarball. (Sam Roberts) - Removed object files and cvs conflict residue contained in original package. (Sam Roberts) - doxygen configuration updated, html seems fine - I don't know about the man pages. (Sam Roberts) - strip CVS subdirectories from upstream package (Sam Roberts) - Added a `libnet_version()` function - Internals: - added a payload builder macro - Added an HSRP builder - Added `AC_PREREQ(2.50)` to `configure.in` to come correct - Added a libnet UDP header prototype. We need to add an entire exported interface for the sole purpose of casting captured packets, this will presumably be a part of the pcap integration. - Added `libnet_adv_write_raw_ipv4()` - Updated the autoconf/automake stuff to be up to date with the latest versions. We now use libtool. - Changed all empty function prototypes to contain the void keyword - Removed all C++ style comments - Removed the configure.in check for `strerror()` ### Fixes - Fixed various errors, including memory corruption, when IPv4 options are modified. (Sam Roberts) - Fixed doxygen errors and warnings, and added a deveoper script to prepare libnet. (Sam Roberts) - Patches from Stefanos. (Sam Roberts) - Fix for debian bug 418975, IPv6 wasn't updating `ip_offset`. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418975 and sample `test_ipv6_icmpv4.c` for more info and reproduction. (Sam Roberts) - 802.1Q and 802.1X header documentation was incorrectly using `/** /**` is reserved for doxygen documentation comments, and they didn't have any. That those packet headers, and no others, were marked that way was causing man pages to be generated for them, incomplete man pages that then were being hacked by debian patches 02- and 03-. (Sam Roberts) - Bug fixes and reproduction code for `ip_offset` accounting problem in `libnet_build_ipv4()` (Sam Roberts) - debian patch 06 attempts to free the wrong pointer, and also leaks memory from the inner loop. (Sam Roberts) - libnet (inconsistently) uses various signed and/or unsigned typedefs instead of char ANSI C uses char for string literals and the standard library, so this generates many warnings. I've fixed a number of the places where types representing null-terminated strings weren't typed correctly. (Sam Roberts) - Merged Debian fixes: - 09-fix_hurd-i386_build.patch from debian source package See http://packages.debian.org/source/sid/libnet (Sam Roberts) - 08-fix_libnet_checksum.c.patch from debian source package See http://packages.debian.org/source/sid/libnet (Sam Roberts) - 07-add_libnet-cq-end-loop.patch from debian source package See http://packages.debian.org/source/sid/libnet (Sam Roberts) - 06-fix_libnet_pblock_coalesce_leak.patch from debian source package See http://packages.debian.org/source/sid/libnet (Sam Roberts) - 04-fix_libnet_build_ntp.patch from debian source package See http://packages.debian.org/source/sid/libnet (Sam Roberts) - 03-fix_libnet_802_1x_hdr.3.patch from debian source package See http://packages.debian.org/source/sid/libnet (Sam Roberts) - 02-fix_libnet_802_1q_hdr.3.patch See http://packages.debian.org/source/sid/libnet (Sam Roberts) - 01-fix_libnet-functions.h.3.patch from debian source package See http://packages.debian.org/source/sid/libnet (Sam Roberts) - Fixed a bug in `libnet_build_ntp()` where two arguments werent used due to a typo - Fixed a bug ln `libnet_name2addr4()` in which it didnt call hstrerror - Fixed a memory leak in `libnet_if_addr.c` - Fixed the `cdp.c` sample code - Fixed the checksum function - Fixed a signed/unsigned comparison warning in the `LIBNET_DO_PAYLOAD()` macro
2021-01-26py-google-api-core: updated to 1.25.1adam2-7/+7
1.25.1 Bug Fixes add operation name to x-goog-request-params Documentation fix spelling errors in retry
2021-01-26py-test: updated to 6.2.2adam2-7/+7
pytest 6.2.2 Bug Fixes - Fixed "(<Skipped instance>)" being shown as a skip reason in the verbose test summary line when the reason is empty. - Fix the ``faulthandler`` plugin for occasions when running with ``twisted.logger`` and using ``pytest --capture=no``.
2021-01-26kdiff3: update to 1.8.5gutteridge3-10/+10
Version 1.8.5 - 2021-01-10 =========================== BUG:417189 Fix url handling for drag and drop. BUG:426823 Fix regression in handing paste from clipboard to blank diff window. *Fix link detection via KIO *Drop custom event filter in OpenDialog. We now use FileNameLineEdit instead as in the main window. *Fix url/path handling bugs for remote files *Don't ignore stat errors unless it tells us the file was not found. Version 1.8.4 - 2020-08-25 =========================== *Fix typos in man page *Fix compare over network with KIO *Restore contextmenu for Windows Explorer
2021-01-25py-codespell: update to 2.0.0.fcambus3-17/+13
Changes not documented.
2021-01-25patchelf: update to 0.12.fcambus3-11/+15
## Release History 0.12 (August 27, 2020): * New `--clear-symbol-version` flag. * Better support for relocating NOTE sections/segments. * Improved the default section alignment choice. * Bug fixes. 0.11 (June 9, 2020): * New `--output` flag. * Some bug fixes.
2021-01-25py-hypothesis: update to 6.0.3.wiz2-7/+7
6.0.3 - 2021-01-23 This patch improves the type annotations for one_of(), by adding overloads to handle up to five distinct arguments as typing.Union before falling back to typing.Any, as well as annotating the | (__or__) operator for strategies (issue #2765). 6.0.2 - 2021-01-14 This release makes some small improvements to how filtered strategies work. It should improve the performance of shrinking filtered strategies, and may under some (probably rare) circumstances improve the diversity of generated examples.
2021-01-25libsigsegv: update to 2.13.wiz2-7/+7
New in 2.13: * Added support for macOS/arm64. * Added support for Solaris OpenIndiana. * Added support for catching stack overflow on Solaris 11/SPARC. * Added support for catching stack overflow on 64-bit Haiku. * Provide a correct value for SIGSTKSZ on 64-bit Solaris/x86. The one defined by this system is too small. * Improved support for Linux/RISC-V, Linux/nds32. * Improved support for Android. * Improved support for FreeBSD/x86, FreeBSD/x86_64, FreeBSD/arm, FreeBSD/arm64. * Improved support for 64-bit ABI on Solaris/x86_64.
2021-01-25gopls: update to 0.6.4.wiz3-84/+73
gopls/v0.6.4 Includes fixes for https://blog.golang.org/path-security. gopls/v0.6.3 This release has a number of bug fixes and documentation improvements.
2021-01-25cvsutils: update to 0.2.6.fcambus3-13/+12
ChangeLog: 2013-05-31 Pavel Roskin <proski@gnu.org> * Version 0.2.6 released. * COPYING: New file, GPL v2, as suggested by Automake. 2013-05-11 Pavel Roskin <proski@gnu.org> * cvsu.pl (process_arg): Check for words "Result of merge" rather than for "+" to fing the results of merge. In some cases, there is no "+" in the timestamp. Reported by Mikhail Gusarov <mikhail@hola.org>
2021-01-25cvsgraph: update to 1.7.1.fcambus2-11/+10
ChangeLog: - Update the web address and give the package a new home after the old server has been retired. - Update automake to modern version and use pkg-config. - Go with the irony and rebase the cvsgraph codebase to a git repository.
2021-01-25cloc: update to 1.88 and take MAINTAINER.fcambus2-9/+8
Release Notes for cloc version 1.88: New Languages and File Types: o LLVM IR o Logos o Meson o Mojo o Odin o Jinja Templates o WXML o WXSS Updates: o Support MATLAB block comments. o More flexible matching of git hashes. o Case insensitive diff file alignment on Windows. o Add .BAS as a Visual Basic extension o Rename Objective C to Objective-C Bug Fixes: o Add missing Raku_or_Prolog() subroutine. o Handle UTF encoded list files (file given to --list-file). o Improved support for options parsing from config file. o Catch unidentified files via --diff-list-file. o Don't insert extra newlines when stripping with --unicode.
2021-01-25acr: update to 1.9.4.fcambus2-8/+7
ChangeLog: - Add --quiet and --quiet-version - Setup CI - Create Debian package
2021-01-24Add libstubborn version 0.1maya6-1/+51
header-only library to provide generic and some application-specific stub functions
2021-01-24xorg-util-macros: update to 1.19.3.wiz2-7/+7
Alan Coopersmith (2): Update README for gitlab migration Update configure.ac bug URL for gitlab migration Marvin Schmidt (1): XORG_PROG_RAWCPP: Use AC_PATH_TOOL to find preprocessor Matt Turner (1): Version bump: 1.19.3
2021-01-23p5-VCP: removewiz5-59/+1
Alpha release since 2005, no homepage, no upstream
2021-01-23p5-VCP-Dest-svk: remove, depends on removed svkwiz4-34/+1
2021-01-23My last build gave "ModuleNotFoundError: No module named 'setuptools'".schmonz2-7/+7
joerg@ advises that when we see an EGG_FILE, we should be using setuptools, which in pkgsrc terms means egg.mk. Do that here in hopes of fixing bulk builds.
2021-01-23Revbump all Go packages after go115 updatebsiegert104-200/+208
2021-01-23svk: removewiz4-91/+1
Based on svn, but does not work against current perl svn bindings. Not really surprising, since its last release was in 2010.