* Rename librz/util/ubase64.c into librz/util/base64.c for consistency #5216 * Add Doxygen documentation to function in librz/util/base85.c #5216 * Add unit-tests for librz/util/base85.c #5216 * Refactor base85 API and internal functions #5216 base85 was using a FILE as an input and it used to print its result to STDOUT, which was very bad for having unit-testing or to use it to extend rz-hash functionality, since the solution I really had was through using pipes which isn't ideal as much as the refactoring one. * Extend rz-hash with base85 #5126 * Fix formatting #5216 * Extract base36 decoding function from subprojects/rzwinkd/iob_net.c to librz/util/base36.c #5216 - Also, added Doxygen docs to rz_base36_decode function * Added rz_base36_encode_dyn #5216 - this function encode a u64 value to it's char[13+1] base36 counterpart - later, it will be helpful in expanding the funcitionality of rz-hash - added its Doxygen docs * Expand rz-hash with base36 encoding/decoding #5216 * Refactor rz_base36_decode to return a suitable error code like -1 #5216 - that should help testing it later for valid and invalid decodings - keeping the original behaviour as it was in subprojects/rzwinkd/iob_net.c * Add unit-tests for base36 encoding & decoding functions #5216 * Fix formatting #5216 * Fix base36.h header file guards #5216 * Add base32 encoding & decoding #5216 added their Doxygen Docs as well * Add base32 encoding and decoding unti-tests #5216 * Expand rz-hash with base32 encoding/decoding functionality #5216 * Fix formatting #5216 * Fix add base32 to codec_name_bytes #5216 * Fix base32 docs #5216 * Add base16 encoding/decoding functions #5216 - added their Doxygen docs as well. * Add base16 unit-tests #5216 * Fix test_base85 conversions warnings #5216 * Expand rz-hash with base16 encoding/decoding functionality #5216 * Fix formatting #5216 * Fix doxygen docs #5216 * Restore subprojects/rizin-shell-parser/parser.c to match origin/dev * Fix the order by baseXX * Fix base16 - invert the logic in calculate_src_length * Fix base16 - intialize variables in rz_base16_encode * Fix base16 - null terminate the output buffer of rz_base16_encode_dyn * Fix base16 - get rid of unnecessary else in rz_base16_decode * Fix base16 - use `len & 1` instead of `(len % 2) != 0` * Fix base32 - invert the logic in calculate_src_length * Fix base32 - compress two return statments by using `rz_return_val_if_fail(src && dest, 0);` * Fix base32 - null terminate the output of rz_base32_encode * Fix base32 - get rid of unnecessary else in rz_base32_decode add more parentheses to split addition from mult for better clarity * Fix base32 - intialize variables in rz_base32_encode_dyn * Fix base36 - intialize `tmp` variable in rz_base36_encode_dyn * Fix base36 - use RZ_LOG_ERROR instead of eprintf * Fix base36 - use RZ_NULLABLE for the API interface * Fix base85 - use RZ_OUT & RZ_NULLABLE for the API interface * Fix base85 - use RZ_LOG_ERROR instead of eprintf * Fix base85 - use size_t instead of int for decode_tuple_buf * Fix base85 - remove unused varaible, `out_len`, in rz_base85_encode_dyn * Fix base85 - correct decode buffer size calculation The previous rz_base85_dec_buflen() underestimated the worst‑case output size (3 bytes per 4 input chars), causing overflows when using ‘z’/’y’ abbreviations. Update it to allocate 4 bytes per input character plus one for the NUL terminator, eliminating heap-buffer-overflow errors. * Fix formatting * Fix base85-test - use `newlines` variable to make sure line breaks were inserted as expected * Fix base85-test - remove unnecessary includes * Fix rz-hash test - updated rz-hash -L expected result * Fix crypto_base36 - use RZ_LOG_ERROR instead of eprintf * Fix base16 - compress rz_return_val_if_fail statements and move before locals * Update base16 - use hex.c existing encoding/decoding logic - base16.c encoding/decoding functions are now wrappers for hex.c `rz_hex_bin2str` and `rz_hex_str2bin` functions - updated related base16 unit testing and documentation - updated the integraion with rz-hash binary (or crypto_base16) * Fix formatting * Add documentation to rz_hex_bin2str * Fix base85 - add missing `reutrn` docs to rz_base85_encode function * Fix base85 - use RZ_NONNULL for dest and src function instead of RZ_NULLABLE * Fix base36 - use RZ_NONNULL for dest and src function instead of RZ_NULLABLE * Fix base16 - use RZ_NONNULL for dest and src function instead of RZ_NULLABLE * Fix base32 - use RZ_NONNULL for dest and src function instead of RZ_NULLABLE * Fix base16 - add missig checks for invalid inputs in rz_base16_encode & rz_base16_encode_dyn * Fix base32 - add missing checks for bad encoding * Fix - add missing SPDX * Fix Formatting * Add rz_base36_encode & rz_base36_decode_dyn functions to base36 API |
||
|---|---|---|
| .. | ||
| float | ||
| ht | ||
| sdb | ||
| alloc.c | ||
| annotated_code.c | ||
| ascii_table.c | ||
| asn1.c | ||
| asn1_oids.h | ||
| assert.c | ||
| astr.c | ||
| axml.c | ||
| axml_resources.h | ||
| base16.c | ||
| base32.c | ||
| base36.c | ||
| base64.c | ||
| base85.c | ||
| base91.c | ||
| big-gmp.c | ||
| big-ssl.c | ||
| big.c | ||
| bitvector.c | ||
| buf.c | ||
| buf_bytes.c | ||
| buf_file.c | ||
| buf_io.c | ||
| buf_io_fd.c | ||
| buf_mmap.c | ||
| buf_ref.c | ||
| buf_sparse.c | ||
| calc.c | ||
| chmod.c | ||
| compression.c | ||
| debruijn.c | ||
| ebcdic.c | ||
| event.c | ||
| file.c | ||
| getopt.c | ||
| graph.c | ||
| graph_drawable.c | ||
| hex.c | ||
| idpool.c | ||
| intervaltree.c | ||
| iterator.c | ||
| itv.c | ||
| json_indent.c | ||
| json_parser.c | ||
| lang_byte_array.c | ||
| lib.c | ||
| list.c | ||
| log.c | ||
| luhn.c | ||
| mem.c | ||
| meson.build | ||
| name.c | ||
| path.c | ||
| pj.c | ||
| pkcs7.c | ||
| print.c | ||
| protobuf.c | ||
| punycode.c | ||
| range.c | ||
| rbtree.c | ||
| README.md | ||
| regex.c | ||
| serialize_spaces.c | ||
| set.c | ||
| signal.c | ||
| skiplist.c | ||
| skyline.c | ||
| spaces.c | ||
| stack.c | ||
| str.c | ||
| str_constpool.c | ||
| str_search.c | ||
| str_trim.c | ||
| strbuf.c | ||
| strpool.c | ||
| subprocess.c | ||
| sys.c | ||
| syscmd.c | ||
| table.c | ||
| thread.c | ||
| thread.h | ||
| thread_cond.c | ||
| thread_hash_table.c | ||
| thread_iterators.c | ||
| thread_lock.c | ||
| thread_pool.c | ||
| thread_queue.c | ||
| thread_sem.c | ||
| thread_types.c | ||
| time.c | ||
| tree.c | ||
| uleb128.c | ||
| unicode.c | ||
| unum.c | ||
| utf8.c | ||
| utf16.c | ||
| utf32.c | ||
| vector.c | ||
| version.c | ||
| w32-sys.c | ||
| x509.c | ||
| x509.h | ||
RzUtil
This library contains all common utilities and functions that are used by other modules in the Rizin framework, like string manipulation, data structures (lists, vectors, trees, etc.), JSON parsing/printing, and others.
What can I expect here?
- Numbers/math functions
- Functions likely needed across several other modules
- Data structures: lists, vectors, trees, graphs, skiplist
- RzBuffer
- JSON parsing, JSON printing
- PKCS7
- BitVector
- Functions that are very common and not specific to other modules
- SDB
- Floating point number operations
- OS/Platform-independent abstractions for common operations (e.g. rename a file, create temporary file, etc.)