aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils
Commit message (Collapse)AuthorAgeFilesLines
* util-linux: package ipcs commandStijn Tintel2022-02-051-0/+18
| | | | | | | Add a package for util-linux' ipcs command, to show information about System V inter-process communication facilities. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* e2fsprogs: Update to version 1.46.5Hauke Mehrtens2022-02-013-32/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sizes of the ipk changed on MIPS 24Kc like this: 8788 badblocks_1.45.6-2_mips_24kc.ipk 8861 badblocks_1.46.5-1_mips_24kc.ipk 3652 chattr_1.45.6-2_mips_24kc.ipk 3657 chattr_1.46.5-1_mips_24kc.ipk 58128 debugfs_1.45.6-2_mips_24kc.ipk 60279 debugfs_1.46.5-1_mips_24kc.ipk 8551 dumpe2fs_1.45.6-2_mips_24kc.ipk 8567 dumpe2fs_1.46.5-1_mips_24kc.ipk 4797 e2freefrag_1.45.6-2_mips_24kc.ipk 4791 e2freefrag_1.46.5-1_mips_24kc.ipk 159790 e2fsprogs_1.45.6-2_mips_24kc.ipk 168212 e2fsprogs_1.46.5-1_mips_24kc.ipk 7083 e4crypt_1.45.6-2_mips_24kc.ipk 7134 e4crypt_1.46.5-1_mips_24kc.ipk 5749 filefrag_1.45.6-2_mips_24kc.ipk 6233 filefrag_1.46.5-1_mips_24kc.ipk 4361 libcomerr0_1.45.6-2_mips_24kc.ipk 4355 libcomerr0_1.46.5-1_mips_24kc.ipk 168040 libext2fs2_1.45.6-2_mips_24kc.ipk 174209 libext2fs2_1.46.5-1_mips_24kc.ipk 8514 libss2_1.45.6-2_mips_24kc.ipk 8613 libss2_1.46.5-1_mips_24kc.ipk 3148 lsattr_1.45.6-2_mips_24kc.ipk 3227 lsattr_1.46.5-1_mips_24kc.ipk 22530 resize2fs_1.45.6-2_mips_24kc.ipk 22909 resize2fs_1.46.5-1_mips_24kc.ipk 33315 tune2fs_1.45.6-2_mips_24kc.ipk 34511 tune2fs_1.46.5-1_mips_24kc.ipk Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* util-linux: Update to version 2.37.3Hauke Mehrtens2022-02-011-2/+2
| | | | | | | | | | | | | | | This release fixes two security mount(8) and umount(8) issues: CVE-2021-3996 Improper UID check in libmount allows an unprivileged user to unmount FUSE filesystems of users with similar UID. CVE-2021-3995 This issue is related to parsing the /proc/self/mountinfo file allows an unprivileged user to unmount other user's filesystems that are either world-writable themselves or mounted in a world-writable directory. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* util-linux: Do not build raw any more.Hauke Mehrtens2022-02-011-0/+1
| | | | | | | | | | | | | The man page of the raw tool does not build because the disk-utils/raw.8 file is missing. It looks like it should be in the tar.xz file we download, but it is missing. We do not package the raw tool, so this is not a problem. This fixes the following build error: No rule to make target 'disk-utils/raw.8', needed by 'all-am'. Stop. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* util-linux: add lslocksRoman Azarenko2022-01-281-0/+16
| | | | | | This change adds the "lslocks" utility from util-linux. Signed-off-by: Roman Azarenko <roman.azarenko@iopsys.eu>
* ucode: update to latest Git HEADJo-Philipp Wich2022-01-282-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | c6dae42 LICENSE: add ISC license file 402f603 lib: introduce struct library dcb6ffd struct: fix PowerPC specific compiler pragma name a0512ea treewide: fix typo in exported function names and types eaaaf88 nl80211: fix wiphy dump reply merge logic e6efadb fs: add utility functions 54ef6c0 nl80211: fix premature netlink reply receive abort 07802f3 syntax: disallow keywords in object property shorthand notation 3489b75 vm: support object property access on resource value types dc8027c types: consider resource prototypes when marking reachable objects 5680fab treewide: fix upvalue reference type name 0d29b25 treewide: fix "resource" misspellings 99fdafd vm: introduce value registry 66f7c00 ubus: add support for async requests 5c77dd5 fs: implement fdopen(), file.fileno() and proc.fileno() b605dbf treewide: rework numeric value handling 599d233 vallist: store double values in a platform neutral manner 5bb9ab7 struct: reuse double packing routines from core 2fd7ab5 vm: optimize string concatenation eafa321 lib: implement uniq() function 6b2e79a types: add initial infrastructure for function serialization 725bb75 compiler, vm: use a program wide constant list 6c2caf9 source: refactor source file handling 371ba45 program: implement support for precompiling source files 3578afe build: support building without compile capabilities 61d0a34 lib: replace usages of vasprintf() with xvasprintf() 03b6a8e syntax: drop legacy syntax support 01132db lib: fix %J string formats with precision specifier 3f44c42 lib: rework format string handling a1b3c5d struct: implement `*` format, fix invalid memory accesses 34a04a2 run_tests.sh: fix exitcode evaluation abe38e7 run_tests.sh: add ability to define environment variables for testcases 04fa2ba tests: reorganize testcase files 6a55d10 lib: fix exists() error return value aa860a3 vm: fix `null` loose equality/inequality checks 3f6d199 vallist: uc_number_parse(): parse empty strings as `0`, not `NaN` ddc5aa7 vm: fix NaN strict equality tests Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* ucode: add temporary fix for integer formatting on 32bit systemsJo-Philipp Wich2022-01-232-1/+12
| | | | | | | | | | | | The ucode VM always passes 64bit integer values to sprintf implementation while the `%d` format expects 32bit integers on 32bit platforms, leading to incorrect formatting results. Temporarily solve the issue by casting the numeric argument to int until a more thorough fix arrives with the next update. Fixes: FS#4234 Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* util-linux: Add tasksetHauke Mehrtens2022-01-211-0/+15
| | | | | | | This adds the taskset application from util Linux. It is already built, but not packaged yet. Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* mtd-utils: update to 2.1.4Nick Hainke2022-01-162-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes from 2.1.3 to 2.1.4: Features: - ubiscan debugging and statistics utility Fixes: - Some mtd-tests erroneously using sub-pages instead of the full page size - Buffer overrun in fectest - Missing jffs2 kernel header in the last release, leading to build failures on some systems. Changes from 2.1.2 to 2.1.3: Features: flashcp: Add new function that copy only different blocks flash_erase: Add flash erase chip Add flash_otp_erase Add an ubifs mount helper Add nandflipbits tool Fixes: mkfs.ubifs: Fix runtime assertions when running without crypto mtd-utils: Use AC_SYS_LARGEFILE Fix test binary installation libmtd: avoid divide by zero ubihealthd: fix UBIFS build dependency mkfs.ubifs: remove OPENSSL_no_config() misc-utils: Add fectest to build system mkfs.ubifs: Fix build with SELinux Fix typos found by Debian's lintian tool Fix jffs2 build if zlib or lzo headers are not in default paths Signed-off-by: Nick Hainke <vincent@systemli.org>
* busybox: update to 1.35.0Hannu Nyman2022-01-0810-208/+314
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update busybox to 1.35.0 * refresh patches Config refresh: Refresh commands, run after busybox is first built once: cd package/utils/busybox/config/ ../convert_menuconfig.pl ../../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.35.0 cd .. ./convert_defaults.pl ../../../build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/busybox-default/busybox-1.35.0/.config > Config-defaults.in Manual edits needed after config refresh: * Config-defaults.in: OpenWrt config symbol IPV6 logic applied to BUSYBOX_DEFAULT_FEATURE_IPV6 * Config-defaults.in: OpenWrt configTARGET_bcm53xx logic applied to BUSYBOX_DEFAULT_TRUNCATE (commit 547f1ec) * Config-defaults.in: OpenWrt logic applied to BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD (commit dc92917) * config/editors/Config.in: Add USE_GLIBC dependency to BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commit f141090) * config/shell/Config.in : change at "Options common to all shells" the symbol SHELL_ASH --> BUSYBOX_CONFIG_SHELL_ASH (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html Apparently our script does not see the hidden option while prepending config options with "BUSYBOX_CONFIG_" which leads to a missed dependency when the options are later evaluated.) * Edit Config.in files by adding quotes to sourced items in config/Config.in, config/networking/Config.in and config/util-linux/Config.in (commit 1da014f) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* utils/mdadm: fix build on hosts without /run dirSergey V. Lobanov2022-01-081-1/+1
| | | | | | | CHECK_RUN_DIR=0 must be a part of MAKE_FLAGS, not MAKE_VARS, otherwise it is not possible to compile mdadm on host without /run dir. Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
* lua: add HOST_FPIC for host buildsPaul Spooren2022-01-032-4/+4
| | | | | | | | | Compiling without fPIC causes linking issues for packages using liblua. Add $(HOST_FPIC) to host builds for both lua and lua5.3. Suggested-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Paul Spooren <mail@aparcar.org>
* utils/px5g-wolfssl: make selfsigned certicates compatible with chromiumSergey V. Lobanov2021-12-292-1/+21
| | | | | | | | | | | | | | Chromium based web-browsers (version >58) checks x509v3 extended attributes. If this check fails then chromium does not allow to click "Proceed to ... (unsafe)" link. This patch add three x509v3 extended attributes to self-signed certificate: 1. SAN (Subject Alternative Name) (DNS Name) = CN (common name) 2. Key Usage = Digital Signature, Non Repudiation, Key Encipherment 3. Extended Key Usage = TLS Web Server Authentication SAN will be added only if CONFIG_WOLFSSL_ALT_NAMES=y Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
* otrx: update to the latest masterRafał Miłecki2021-12-131-3/+3
| | | | | | | | | | | 56e8e19 otrx: support TRX from stdin when extracting a37ccaf otrx: support unsorted partitions offsets 1fa145e otrx: extract shared code opening & parsing TRX format 4ecefda otrx: allow validating TRX from stdin cf01e69 otrx: avoid unneeded fseek() when calculating CRC32 Fixes: 80041dea7094 ("bcm53xx: sysupgrade: refactor handling different firmware formats") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* dtc: support printing binary data with fdtgetRafał Miłecki2021-12-131-0/+137
| | | | | | | It's needed for extracting binary images. Cc: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* dtc: import package for dtc & fdt from packages feedRafał Miłecki2021-12-131-0/+93
| | | | | | | | | | | | | | | fdt* utils are needed by targets that use U-Boot FIT images for sysupgrade. It includes all recent BCM4908 SoC routers as Broadcom switched from CFE to U-Boot. fdtget is required for extracting images (bootfs & rootfs) from Broadcom's ITB. Extracted images can be then flashed to UBI volumes. sysupgrade is core functionality so it needs dtc as part of base code base. Cc: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* f2fstools: set each library package VARIANTEneas U de Queiroz2021-11-011-1/+3
| | | | | | | Set the different libf2fs packages's VARIANT, so that the right settings will be used by each different variant, if they are both being built. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* secilc: update to version 3.3Dominick Grift2021-10-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Update VERSIONs to 3.3 for release. Update VERSIONs to 3.3-rc3 for release. Correct some typos Update VERSIONs to 3.3-rc2 for release. Update VERSIONs and Python bindings version to 3.3-rc1 for release libsepol/secilc/docs: Update the CIL documentation secilc: fix memory leaks in secilc2conf secilc: fix memory leaks in secilc libsepol/cil: Add support for using qualified names to secil2conf libsepol/cil: Add support for using qualified names to secil2tree secilc: Add support for using qualified names to secilc secilc/test: Add test for anonymous args secilc/docs: Relocate and reword macro call name resolution order secilc/docs: Document the order that inherited rules are resolved in secilc: Create the new program called secil2tree to write out CIL AST secilc/docs: Update the CIL documentation for various blocks secilc.c: Don't fail if input file is empty cil_conditional_statements.md: fix expr definition secilc/docs: Lists are now allowed in constraint expressions Signed-off-by: Daniel Golle <daniel@makrotopia.org> [re-apply now that libsepol is up-to-date as well] Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
* Revert "secilc: update to version 3.3"Daniel Golle2021-10-291-3/+3
| | | | | | | | This reverts commit 2da891e7357c83c54a30075fcddbb63eeca0af99. secilc 3.3 requires libsepol to be version 3.3 as well and doesn't build otherwise. Revert for now. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* secilc: update to version 3.3Dominick Grift2021-10-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Update VERSIONs to 3.3 for release. Update VERSIONs to 3.3-rc3 for release. Correct some typos Update VERSIONs to 3.3-rc2 for release. Update VERSIONs and Python bindings version to 3.3-rc1 for release libsepol/secilc/docs: Update the CIL documentation secilc: fix memory leaks in secilc2conf secilc: fix memory leaks in secilc libsepol/cil: Add support for using qualified names to secil2conf libsepol/cil: Add support for using qualified names to secil2tree secilc: Add support for using qualified names to secilc secilc/test: Add test for anonymous args secilc/docs: Relocate and reword macro call name resolution order secilc/docs: Document the order that inherited rules are resolved in secilc: Create the new program called secil2tree to write out CIL AST secilc/docs: Update the CIL documentation for various blocks secilc.c: Don't fail if input file is empty cil_conditional_statements.md: fix expr definition secilc/docs: Lists are now allowed in constraint expressions Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
* policycoreutils: update to version 3.3Dominick Grift2021-10-281-3/+3
| | | | | | | | | | | | | | | | | Update VERSIONs to 3.3 for release. Update VERSIONs to 3.3-rc3 for release. libselinux/semodule: Improve extracting message Correct some typos Update VERSIONs to 3.3-rc2 for release. Update VERSIONs and Python bindings version to 3.3-rc1 for release policycoreutils: free memory of allocated context in newrole policycoreutils: free memory of allocated context in run_init policycoreutils: free memory on lstat failure in sestatus policycoreutils: silence -Wextra-semi-stmt warning fixfiles: do not exclude /dev and /run in -C mode policycoreutils/setfiles: do not create useless setfiles.8.man file Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
* checkpolicy: update to version 3.3Dominick Grift2021-10-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update VERSIONs to 3.3 for release. checkpolicy: Fix potential undefined shifts Update VERSIONs to 3.3-rc3 for release. checkpolicy: delay down-cast to avoid align warning checkpolicy: drop incorrect cast checkpolicy: update documentation checkpolicy: print reason of fopen failure checkpolicy: policy_define: cleanup declarations Update VERSIONs to 3.3-rc2 for release. checkpolicy: free extended permission memory checkpolicy: print warning on source line overflow checkpolicy: error out on parsing too big integers checkpolicy: avoid implicit conversion checkpolicy: resolve dismod memory leaks checkpolicy: add missing function declarations checkpolicy: mark file local functions in policy_define static checkpolicy: mark read-only parameters in module compiler const checkpolicy: misc checkpolicy tweaks checkpolicy: misc checkmodule tweaks checkpolicy: enclose macro argument in parentheses Update VERSIONs and Python bindings version to 3.3-rc1 for release checkpolicy: mark read-only parameters in policy define const checkpolicy/test: mark file local functions static checkpolicy: parse_util drop unused declaration checkpolicy: drop redundant cast to the same type checkpolicy: avoid potential use of uninitialized variable checkpolicy: check before potential NULL dereference checkpolicy: remove dead assignments checkpolicy: follow declaration-after-statement checkpolicy: use correct format specifier for unsigned checkpolicy: drop dead condition checkpolicy: simplify assignment checkpolicy: drop -pipe compile option checkpolicy: pass CFLAGS at link stage checkpolicy: silence -Wextra-semi-stmt warning checkpolicy: Do not automatically upgrade when using "-b" flag libsepol/checkpolicy: Set user roles using role value instead of dominance Signed-off-by: Dominick Grift <dominick.grift@defensec.nl>
* ucode: update to latest Git HEADJo-Philipp Wich2021-10-251-3/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 0f022aa lib: increase refcount when returning cached module instance c9e68bb lib: introduce resolver library 9041e24 lib: fix uninitialized memory access on handling %J string formats 4ee06d8 syntax: introduce optional chaining operators ce4a7d9 vm: reset callframes before invoking unhandled exception handler 218e822 vm: clear exception information before calling managed code functions 5b908bd ubus: properly handle signed 64bit values too e43b751 ubus: fix handling signed 16bit and 32bit integers 137428f nl80211: fix issues spotted by static code analyzer b9d4f61 nl80211: treat signal attr values as signed integers 9a7c355 nl80211: expose sta_info attributes bb358d9 lib: introduce Linux 802.11 netlink binding 914f54c types: fix invalid memory access on setting non-contiguous array indexes 631f00d main: fix leaking module name when processing -m flag e55188b compiler: properly handle jumps to offset 0 98c4147 tests: support specifying cmdline args in testcase files 64e4f68 types: fix formatting escape sequences for 8 bit chars dd86e1d rtnl: automatically derive message family from certain address attrs 74fdb97 rtnl: expose IPv4 and IPv6 devconfig information 7fa1008 rtnl: allow reply nla payloads to be smaller than headsize cbae3cb lib: introduce Linux route netlink binding e6dd389 ci: adjust build prereqs for GitHub as well 07ae165 ci: add libnl-tiny to prereqs Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* busybox: update to 1.34.1Hannu Nyman2021-10-053-116/+2
| | | | | | | | | | | | Update busybox to version 1.34.1, which is a minor maintenance release. It contains just the two post-1.34.0 upstream patches that we earlier backported plus a few fixes to awk. * Remove the two backported upstream patches that are now unnecessary. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* bcm4908img: detect Linksys imagesRafał Miłecki2021-10-022-1/+23
| | | | | | Linksys uses an extra 0x100 bytes long tail for BCM4908 images. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* bcm4908img: store offset of tail dataRafał Miłecki2021-10-022-11/+14
| | | | | | | This simplifies some operations as it doesn't have to be caculated over and over. It will also allow adding support for more vendor formats. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* busybox: update to version 1.34.0Hannu Nyman2021-09-0417-203/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update busybox to version 1.34.0 * Remove upstreamed patches (205, 530, 540) * Remove one old patch that does not apply any more. (203) That was originally introduced in 2008 with 563d23459, but does not apply after busybox restructuring with https://git.busybox.net/busybox/commit/networking/udhcp/dhcpc.c?h=1_34_stable&id=e6007c4911c3ea26925f9473b9f156a692585f30 and https://git.busybox.net/busybox/commit/networking/udhcp/dhcpc.c?h=1_34_stable&id=1c7253726fcbab09917f143f0b703efbd2df55c3 * Refresh config and patches. * Backport upstream fixes for - MIPS compilation breakage and - process substitution regression Config refresh: Refresh commands, run after busybox is first built once: cd utils/busybox/ cd config/ ../convert_menuconfig.pl ../../../../build_dir/target-aarch64_cortex-a53_musl/busybox-default/busybox-1.34.0 cd .. ./convert_defaults.pl < ../../../build_dir/target-aarch64_cortex-a53_musl/busybox-default/busybox-1.34.0/.config > Config-defaults.in Manual edits needed afterward: * Config-defaults.in: OpenWrt config symbol IPV6 logic applied to BUSYBOX_DEFAULT_FEATURE_IPV6 * Config-defaults.in: OpenWrt configTARGET_bcm53xx logic applied to BUSYBOX_DEFAULT_TRUNCATE (commit 547f1ec) * Config-defaults.in: OpenWrt logic applied to BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD (commit dc92917) BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE (just "") * config/editors/Config.in: Add USE_GLIBC dependency to BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH (commit f141090) * config/shell/Config.in : change at "Options common to all shells" the symbol SHELL_ASH --> BUSYBOX_CONFIG_SHELL_ASH (discussion in http://lists.openwrt.org/pipermail/openwrt-devel/2021-January/033140.html Apparently our script does not see the hidden option while prepending config options with "BUSYBOX_CONFIG_" which leads to a missed dependency when the options are later evaluated.) * Edit Config.in files by adding quotes to sourced items in config/Config.in, config/networking/Config.in and config/util-linux/Config.in (commit 1da014f) Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* ucode: update to latest Git HEADJo-Philipp Wich2021-09-011-9/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 929c862 vm: fix toplevel function call protocol 8f34d70 fs: fix chown() and rename() error return values 03ca445 tests: disable fuzz tests for now 3b1be3d types: mark further GC roots d49af4e types: fix comparison of differently signed integers c79ff39 types: handle conversion errors when dealing with negative error indexes 3315b1f types: allow negative array indexes d5b25f9 treewide: harmonize function naming cc4ce8d module: remove unused defines f5d7526 examples: add libucode usage examples 559eff2 types, vm: adjust GC api e5e7e62 treewide: move header files into dedicated directory ff6168a build: install header files 7e6ce0f main: introduce new flag `-x` to allow disabling specific functions b1817b3 vm: fix invalid memory access on GC'ing uninitialized VM context 498fe87 main: refactor option parsing and VM setup ff52440 treewide: consolidate typedef naming 1d60418 vm: add API to control trace mode 48f33ad vm: make root exception handler configurable 0f69f09 vm: fix invalid memory access on toplevel function calls 6bcc318 vm: fix handling exceptions in top-level function calls 4ae0568 lib, vm: reimplement exit() as exception type 2f77657 vm: extend API to allow returning result value from VM execution 111645a vm: remove module preloading logic 38ff6de main: preload modules ourselves d5bc223 vm: add uc_vm_invoke() helper ef0baf1 vm: cosmetic fix for outputting exceptions without source context b11a2fa vm: move global scope allocation into uc_vm_init() 900b2a3 vm: add getter and setter for vm globals scope 0179576 lib: rename uc_add_proto_functions() to uc_add_functions() 98b9c84 lib: expose stdlib function array 1adfba0 treewide: eliminate dead code and unused functions 3974e71 treewide: replace a number of unnecessary type casts bf85226 treewide: move ressource type registry into vm instance e2b3d2e build: split into libucode and ucode cli dad8f3a types: properly deal with circular data in GC mark phase 62dbd64 lexer: rename UT_ prefixed constants to UC_ bc8e465 types: fix wrong assert() on tearing down object trees 853b9f1 vm: fix potential invalid memory access in uc_vm_get_error_context() 6f05cdd lib: fix refcount imbalance in uc_require_path() 96f140b lib, vm: ensure that require() compiles modules only once df5db5f compiler: don't segfault on invalid declaration expressions a97c7a1 lexer: transition into EOF state on unrecognized character 2a838d1 compiler: improve mapping of binary operator tokens to instructions 9872f65 vm: add support for I_LE and I_GE instructions 4e410c3 treewide: let uc_cmp() use instruction instead of token numbers ce6081d lexer, vm: reorder token and instruction numbers 234a4f6 lib: implement b64enc() and b64dec() functions 856a0c0 lib: only consider context of calling function for callbacks 86fb130 lib: implement min() and max() functions 3e893e6 lib: pass-through "this" context to library function callbacks 42de7ab lib: implement `sourcepath()` function 05c80a7 lib: fix negative uc_index() return value on 32bit systems 9874562 lexer: implement raw code mode 3b665c8 lexer: drop value union from keyword table 44354cf lexer, compiler: separate TK_BOOL token into TK_TRUE and TK_FALSE tokens 5879bdf syntax: drop Infinity and NaN keywords d4edadc lib: rename uc_lib_init() to uc_load_stdlib() d81bad7 main, lib: move allocation of globals object into lib function c4f4b38 main: simplify REQUIRE_SEARCH_PATH initialization 54ca3aa types: fix uninitialized memory on setting non-contiguous array indexes cbc0d78 build: let require search patch default to CMAKE_INSTALL_PREFIX 5714705 syntax: introduce `const` support ed32c42 compiler, lexer: add NO_LEGACY define to disable legacy syntax features ff6811f syntax: implement `delete` as proper operator 5803d86 lib: implement wildcard() function dfb7379 fs: implement chmod(), chown(), rename() and glob() functions 1ddf5b6 lexer: skip interpreter line in any source buffer 9951a00 build: lower minimum required CMake version to v3.13 7b81ab2 main: expose argv as global ARGV array to ucode scripts 7283a70 tests: rename misnamed testcases for consistency 3f80116 compiler: fix local for-loop initializer variable declarations f20b56f compiler: properly parse slashes in parenthesized division expressions 5c4e1ea lib: implement regexp(), a function to construct regexp instances at runtime e546bba lib: implement render(), an include variant capturing output in a string 0cb10c6 vm: implement mechanism to change output file descriptor eb8a64d lib: fix uc_sort() f1ffc9f vm: truncate long values after 60 chars in trace output 850612f compiler: properly handle break/continue in nested scopes f0a9875 compiler: properly handle keyword in parenthesized property access expression 1660433 compiler: fix stack mismatch on compiling `use strict` statements a36e0df syntax: implement support for 'use strict' pragma 827a34a vm, compiler: get rid of unused struct members 594cdf3 lib: implement assert() c4d1648 lib: add support for pretty printing JSON to printf() and sprintf() f2eaea3 lib: gracefully handle truncated format strings in uc_printf_common() 02629b8 lexer: fix infinite loop on parsing unterminated comments 2bc9bac lexer: fix infinite loop on parsing unterminated expression blocks f73e201 lexer: fix infinite loop when parsing regexp literal at EOF 86b4863 compiler: fix segfault on parsing invalid pre/post increment expressions 0e24509 lib: fix reporting source context lines at EOF e66b2ad compiler, lexer: improve lexical state handling e29b574 lib: fix uc_split() quirks 64eec7f treewide: ISO C / pedantic compliance 4af803d build: output error messages on test failures 9ef693e vm: improve context for early errors 6def9fc tests: pass ucode library path through environment d5dd183 treewide: address various sign-compare warnings 28825ac types: support creating ressource values without associated type 9c5106a types: fix potential memory leaks and null pointer accesses c51934a types: fix potential leak of key in ucv_object_add() 7b28727 main: fix ineffective EOF check in parse() 4cf897c lib: uc_system(): fix invalid free() of non-heap memory 35af4ba treewide: rework internal data type system f2c4b79 treewide: fix issues reported by clang code analyzer 93ededb tests: allow executing run_tests.sh from any directory 0e4a387 Add initial GitLab and GitHub CI support df73b25 tests: add more tests 41d33d0 tests: custom: return exit code if tests fails 1c548a6 cmake: do not output binaries into lib directory 2b59097 tests: create custom tests from current tests cases 8039361 main: provide just binary name in help output 778e4f7 lexer: fix incomplete struct initializers 502ecdc cmake: enable extra compiler checks 3c2aeff cmake: fix includes and libraries 617a114 cmake: make 3.0 minimum version f360350 lib: implement sleep(ms) function 7f0ff91 lib: allow parsing non-array, non-object value in json() Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* bcm27xx-userland: update to latest versionÁlvaro Fernández Rojas2021-08-211-2/+2
| | | | | | Properly recognise all BCM2711 variants Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* bcm27xx-userland: factor out a -dev packageMichael Heimpold2021-08-181-4/+30
| | | | | | | | | | | | Installing headers and static libraries to the target system seems to be not required for most use cases, so let's factor them out into a dedicated -dev package. This cuts down to disk usage to around 50% of the original package to ~ 2MB - not that disk space is an issue normally, but when using inside an initramfs only project, it counts. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* busybox: fix compilation with GCC 10Stijn Tintel2021-08-181-3/+0
| | | | | | | | | | | | | | When compiling busybox with GCC 10 and CONFIG_PKG_ASLR_PIE_ALL=y, there are hundreds of errors like: relocation R_MIPS16_26 against `xzalloc' cannot be used when making a shared object; recompile with -fPIC Simply solve this by no longer disabling PKG_ASLR_PIE, so that $(FPIC) is properly added to the CFLAGS and LDFLAGS. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
* util-linux: update to 2.37Rosen Penev2021-08-081-5/+5
| | | | | | | | Switched to AUTORELEASE to avoid manual increments. Changed PKG_LICENSE to SPDX format. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* fritz-tools: fix returning wrong values due to strncmp usageDaniel Kestrel2021-08-082-2/+2
| | | | | | | | | | | | | | | | When having two keys that start with the same characters and the second key just has one character more nand_tffs_read and tffs_read return the wrong value for the longer key. This is due to the usage of strncmp in combination with the length of the shorter key which is usually first in the list before the longer key and when strncmp matches, the search is stopped. The problem only occurs when the length of the two keys is different, not if just the last character is different. The fix is to use strcmp and as such it will only return the value if the key (name) and the key to look for (namefilter) have the same value and length. A sample case returning wrong values is when keys macwlan and macwlan2 are defined and querying macwlan2 returns the value for macwlan. Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
* otrx: use firmware-utils.git to avoid code duplicationRafał Miłecki2021-07-303-603/+10
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* lua: make it easier to detect host-built LuaDaniel Golle2021-07-101-2/+6
| | | | | | Install pkg-config file also for host-build, clean up Lua symlinks. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* treewide: unmark selected packages nonsharedPetr Štetiar2021-07-021-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts changes done in commit 72cc44958ef4 ("treewide: mark selected packages nonshared") as it removes the nonshared flag, but keeps the PKG_RELEASE as the PKG_RELEASE bump while adding nonshared flag was incorrect. Unmark uci, ubus, libubox, lua, libnl-tiny and libjson-c as nonshared packages as this fix attempt didn't worked out. Currently the imagebuilder is broken again: openwrt-imagebuilder-21.02.0-rc3-ipq40xx-generic.Linux-x86_64$ make image PROFILE=avm_fritzbox-7530 PACKAGES=luci-ssl-openssl ... Collected errors: * pkg_hash_check_unresolved: cannot find dependency libiwinfo20210430 for luci-mod-status * pkg_hash_fetch_best_installation_candidate: Packages for luci-mod-status found, but incompatible with the architectures configured * pkg_hash_check_unresolved: cannot find dependency libiwinfo20210430 for rpcd-mod-iwinfo * pkg_hash_fetch_best_installation_candidate: Packages for rpcd-mod-iwinfo found, but incompatible with the architectures configured * satisfy_dependencies_for: Cannot satisfy the following dependencies for luci-ssl-openssl: * libiwinfo20210430 * opkg_install_cmd: Cannot install package luci-ssl-openssl. Everything because iwinfo's ABI was changed two times since rc3 release: +IWINFO_ABI_VERSION:=20210430 +IWINFO_ABI_VERSION:=20210420 Since iwinfo is marked as nonshared, it wasn't built by phase2 builders, but luci-mod-status was already updated 2 times since rc3 and was thus rebuilt by phase2 builders: d1d452ed2fb3 luci-mod-status: don't set '-' hostname when creating static lease 95b3633055c1 luci-mod-status: switch to html table for wlan channel analysis So now luci-mod-status depends on libiwinfo20210430 but only libiwinfo20210106 can be downloaded. This is first part of the fix, in the upcoming commit Jo is going to remove nonshared flag from iwinfo package as well. References: https://lists.infradead.org/pipermail/openwrt-devel/2021-July/035736.html References: https://lists.infradead.org/pipermail/openwrt-devel/2021-July/035741.html Acked-by: Jo-Philipp Wich <jo@mein.io> Reported-by: Nick Hainke <vincent@systemli.org> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* busybox: sysntpd: add trigger to reload serverAlexey Dobrovolsky2021-06-271-2/+22
| | | | | | | | | | | | sysntpd server becomes unavailable if the index of the bound interface changes. So let's add an interface trigger to reload sysntpd. This patch also adds the ability for the sysntpd script to handle uci interface name from configuration. Fixes: 4da60500ebd2 ("busybox: sysntpd: option to bind server to iface") Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey@gmail.com> Reviewed-by: Philip Prindeville <philipp@redfish-solutions.com>
* busybox: disable bzip2Sergey Ponomarev2021-06-201-2/+2
| | | | | | | | | | bzip2 adds about 8kb of size. For tiny builds it's often disabled. It's not directly used by stock OpenWrt programs. Kernel images compressed with bzip2 are also not fully supported. Signed-off-by: Sergey Ponomarev <stokito@gmail.com> [fix \ indention] Signed-off-by: Paul Spooren <mail@aparcar.org>
* ugps: start also in case device is absentDaniel Golle2021-06-151-4/+9
| | | | | | | | | Don't bail out from init script in case the GPS device is missing. Some modems take time to come up, and some people may use things like 'kplex' to feed ugpsd. Hence it is better to always start ugpsd unconditionally and let procd's respawn take care of retrying. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* treewide: mark selected packages nonsharedHannu Nyman2021-06-131-1/+2
| | | | | | | | | | | | | | | | | | | | Mark uci, ubus, libubox, lua, libnl-tiny and libjson-c as nonshared packages. This helps to keep coherent dependencies if these ABI versioned packages are later updated. Before this commit it is possible to get missing dependencies in target-specific nonshared packages (like iwinfo) that depend on these shared ABI versioned packages. If these are later updated and rebuilt, only the new ABI version will be available for download, while the target-specific packages in releases continue to depend on the old ABI version. After this commit the packages are built along the other nonshared packages by the phase1 images buildbot and will be available at the target/ download directories instead of packages/base dir. That will help to keep a coherent set available. Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* ugps: update to git HEADDaniel Golle2021-06-071-4/+4
| | | | | | | | 86ee86e nmea: parse $GPZDA sentences for date/time 8e12414 nmea: parse $GPGLL sentences for position 5e88403 ubus: display only available information Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* busybox: mention SRV support in help messagePaul Spooren2021-05-241-0/+30
| | | | | | | The SRV was added some time ago and should be mentioned in the short help message to avoid confusion about missing features. Signed-off-by: Paul Spooren <mail@aparcar.org>
* treewide: Mark packages nonshared if they depend on @TARGET_Hauke Mehrtens2021-05-241-0/+2
| | | | | | | | | | | | | | This marks all packages which depend on a target with @TARGET nonshared. If they are not marked nonshared they would be build by the SDK build and if this happens with a different SDK, then the SDK from the target the package depends on, the package would not be added to the index. This should fix the image builder for some of these packages. This should fix the image builder at least for bcm27xx/bcm2710 and bcm4908/generic. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* busybox: nslookup applet link with resolv if use glibcChen Minqiang2021-05-211-0/+4
| | | | | | | | | This fixed b36b8b6929c6d6b17edddfb4597cf6a26a991ed0 ("busybox: remove nslookup_lede/openwrt.patch") It is likely dropped by mistake, This add back the changes Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* busybox: preserve crontabsPhilip Prindeville2021-05-191-3/+18
| | | | | | | | | | | | /etc/syslog.conf is used by sysklogd, and /etc/crontabs is used by crond, both features of busybox. Given this, ownership for these files should be bound to busybox, especially if one day there's a way to do an in-place opkg update of busybox. There's also the busybox provided syslogd which uses this file if CONFIG_BUSYBOX_FEATURE_SYSLOGD_CFG is set. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
* busybox: remove nslookup_lede/openwrt.patchNick Hainke2021-05-194-995/+3
| | | | | | | | | | | | | | | | | | The nslookup_lede/openwrt applet was introduced in de5b8e5. It was introduced because: Add a new LEDE nslookup applet which is compatible with musl libc and providing more features like ability to specify query type. In contrast to busybox' builtin nslookup applet, this variant does not rely on libc resolver internals but uses explicit send logic and the libresolv primitives to parse received DNS responses. In busybox this applet is added in 0dd3be8. In particular, this commit introduces the variable NSLOOKUP_BIG. We set the default to true and so nothing changes. Signed-off-by: Nick Hainke <vincent@systemli.org>
* busybox: show reproducible timestampPaul Spooren2021-05-192-4/+80
| | | | | | | | | | | | | | | | | | | | On login busybox shows a timestamp per default contianing the build date. Since the build date isn't reproducible per default this behaviour was disabled by default via 34df4d40 "busybox: disable timestamp in version". This commit modifies busybox so that the printed timestamp reproducible using SOURCE_DATE_EPOCH and therefore shouldn't be disabled anymore. Before: BusyBox v1.33.1 () built-in shell (ash) After: BusyBox v1.33.1 (2021-05-13 09:34:34 UTC) built-in shell (ash) Signed-off-by: Paul Spooren <mail@aparcar.org>
* busybox: use $(AUTORELEASE) and SPDXPaul Spooren2021-05-181-6/+3
| | | | | | | | use AUTORELEASE since BusyBox is often updaten and PKG_RELEASE is not consistently bumped. Also use SPDX license headers to be machine readable and bump the copyright year to 2021. Signed-off-by: Paul Spooren <mail@aparcar.org>
* busybox: disable PREFER_IPV4_ADDRESSBaptiste Jonglez2021-05-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PREFER_IPV4_ADDRESS is broken on IPv6-only hosts, as it causes busybox utilities (ping, traceroute, ntpd) to forcibly use the A record instead of the AAAA record when resolving a DNS name. This obviously fails when there is no IPv4 connectivity. Since IPv6-only hosts or routers will only become more common over time, disable PREFER_IPV4_ADDRESS to support this use-case. As a side-effect, disabling PREFER_IPV4_ADDRESS changes the default resolution behaviour of busybox utilities on dual-stack hosts. Busybox utilities now simply use the order given by getaddrinfo(), so they will now prefer IPv6 addresses when resolving a name with both A and AAAA records if there is IPv6 connectivity. This is in line with RFC 6724. PREFER_IPV4_ADDRESS was likely intended to work around naive implementations of getaddrinfo() that could return AAAA records first, even on an IPv4-only host. But both musl (since 1.1.3) and glibc correctly implement RFC 6724 for getaddrinfo() and check connectivity to determine the correct order in which to return records. On IPv4-only hosts, getaddrinfo() will return A records first, so there is no need for the PREFER_IPV4_ADDRESS hack. See also: https://bugs.busybox.net/show_bug.cgi?id=12381 Fixes: FS#84 Fixes: FS#2608 References: https://github.com/openwrt/openwrt/pull/4167 Signed-off-by: Alexander Traud <pabstraud@compuserve.com> Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
* build: introduce $(MKHASH)Leonardo Mörlein2021-05-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, it was assumed that mkhash is in the PATH. While this was fine for the normal build workflow, this led to some issues if make TOPDIR="$(pwd)" -C "$pkgdir" compile was called manually. In most of the cases, I just saw warnings like this: make: Entering directory '/home/.../package/gluon-status-page' bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found bash: line 1: mkhash: command not found [...] While these were only warnings and the package still compiled sucessfully, I also observed that some package even fail to build because of this. After applying this commit, the variable $(MKHASH) is introduced. This variable points to $(STAGING_DIR_HOST)/bin/mkhash, which is always the correct path. Signed-off-by: Leonardo Mörlein <me@irrelefant.net>