summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-10-08mount: "mount -o rw ...." should not fall back to RO mountDenys Vlasenko
The reported case was an attempt to remount,rw a CD-ROM: mount -o remount,rw /mnt/sr0 which "succeeded" by falling back to RO: mount("/dev/sr0", "/mnt/sr0", 0x412862, MS_REMOUNT|MS_SILENT|MS_RELATIME, "nojoliet,check=s,map=n,blocksize"...) = -1 EROFS (Read-only file system) ... mount("/dev/sr0", "/mnt/sr0", 0x412862, MS_RDONLY|MS_REMOUNT|MS_SILENT|MS_RELATIME, "nojoliet,check=s,map=n,blocksize"...) = 0 Clearly, not what was intended! function old new delta parse_mount_options 241 267 +26 mount_main 1198 1211 +13 singlemount 1301 1313 +12 inetd_main 1919 1911 -8 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/1 up/down: 51/-8) Total: 43 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-07ip: added support for setting netns on devicesNicholas Niro
function old new delta set_netns - 130 +130 do_iplink 1252 1315 +63 .rodata 104173 104179 +6 packed_usage 34020 33993 -27 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/1 up/down: 199/-27) Total: 172 bytes Signed-off-by: Nicholas Niro <blowfist@xroutine.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-07ps: fix -o pid=PID,args interpreting entire "PID,args" as headerDenys Vlasenko
procps-ng 3.3.15 does not do this. (It could, allowing commas in headers and requiring "ps -opid=PID -oargs" form for this case, but it does not). function old new delta parse_o 167 190 +23 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-07find: Unify time comparisonsIsmael Luceno
Split the common part into a function, to be reused. The tail call is optimized, meaning now mmin/mtime just prepare arguments and jump into the common code, thus near zero overhead. This reduces code size slightly, e.g. on x86_64: text data bss dec hex filename 4806 0 0 4806 12c6 findutils/find.o.orig 4782 0 0 4782 12ae findutils/find.o Of course, the savings are even greater when implementing atime/ctime variants. Signed-off-by: Ismael Luceno <ismael@iodev.co.uk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-07config: find: Fix mtime/mmin descriptionIsmael Luceno
s/modified time/modification time/ Signed-off-by: Ismael Luceno <ismael@iodev.co.uk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-07*: generalize "const trick"YU Jincheng
While at it, change all "__asm__" to "asm" Co-authored-by: canyie <31466456+canyie@users.noreply.github.com> Signed-off-by: YU Jincheng <shana@zju.edu.cn> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: whitespace fixDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: P256: sp_256_sub_8_p256_mod always subtracts in-place, use thatDenys Vlasenko
i386: function old new delta sp_256_mont_reduce_8 245 243 -2 sp_256_mont_dbl_8 26 24 -2 sp_256_ecc_mulmod_8 1161 1157 -4 sp_256_proj_point_dbl_8 359 353 -6 sp_256_sub_8_p256_mod 71 32 -39 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/5 up/down: 0/-53) Total: -53 bytes non-asm code: function old new delta sp_256_sub_8_p256_mod - 12 +12 sp_256_mont_reduce_8 250 243 -7 sp_256_mont_dbl_8 31 24 -7 sp_256_ecc_mulmod_8 1171 1157 -14 sp_256_proj_point_dbl_8 374 353 -21 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/4 up/down: 12/-49) Total: -37 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: P256: x86-64 optimized sp_256_sub_8_p256_modDenys Vlasenko
function old new delta sp_256_sub_8_p256_mod - 53 +53 sp_256_mont_reduce_8 223 217 -6 sp_256_mont_dbl_8 38 32 -6 sp_256_ecc_mulmod_8 1535 1529 -6 sp_256_proj_point_dbl_8 469 454 -15 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/4 up/down: 53/-33) Total: 20 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: P256: x86-64 assemblyDenys Vlasenko
function old new delta sp_256_mont_mul_8 127 155 +28 sp_256_proj_point_dbl_8 448 469 +21 sp_256_mont_sub_8 23 35 +12 sp_256_mont_dbl_8 26 38 +12 sp_256_sub_8 44 49 +5 sp_256_ecc_mulmod_8 1530 1535 +5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 6/0 up/down: 83/0) Total: 83 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: P256: tweak arm assembly (currently disabled)Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: P@256: remove "header comment is kept intact" commentDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: P256: do not dumplicate sp_256_sub_8()Denys Vlasenko
function old new delta sp_256_proj_point_dbl_8 359 374 +15 sp_256_ecc_mulmod_8 1159 1171 +12 sp_256_mont_reduce_8 245 250 +5 sp_256_mont_dbl_8 26 31 +5 sp_256_sub_8_p256_mod 43 - -43 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 4/0 up/down: 37/-43) Total: -6 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: P256: shrink sp_256_mul_add_8 a bit moreDenys Vlasenko
function old new delta sp_256_mont_reduce_8 257 245 -12 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: P256: propagate constants, create dedicated "subtract p256_mod" functionDenys Vlasenko
8 instances of this subtraction probably warrant a few bytes more of code. function old new delta sp_256_sub_8_p256_mod - 71 +71 sp_256_mont_sub_8 - 29 +29 sp_256_mont_dbl_8 - 26 +26 sp_256_mont_reduce_8 262 257 -5 sp_256_ecc_mulmod_8 1171 1161 -10 sp_256_proj_point_dbl_8 374 359 -15 static.sp_256_mont_sub_8 29 - -29 static.sp_256_mont_dbl_8 31 - -31 ------------------------------------------------------------------------------ (add/remove: 3/2 grow/shrink: 0/3 up/down: 126/-90) Total: 36 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-06tls: optimize sp_256_mont_reduce_8 in P256Denys Vlasenko
The code size decrease is small, but we eliminate ALL multiplies! function old new delta sp_256_mont_reduce_8 268 262 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-05tls: optimize sp_256_mul_8 in P256Denys Vlasenko
function old new delta sp_256_mont_mul_8 151 150 -1 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-05tls: replace "26-bit" P256 code with 32-bit one.Denys Vlasenko
function old new delta sp_256_ecc_mulmod_8 - 1171 +1171 sp_256_mod_mul_norm_8 - 834 +834 sp_256_proj_point_dbl_8 - 374 +374 sp_256_mont_reduce_8 - 268 +268 sp_256_mont_mul_8 - 151 +151 sp_256_sub_8 - 76 +76 sp_256_add_8 - 76 +76 sp_256_cmp_8 - 38 +38 static.sp_256_mont_dbl_8 - 31 +31 static.sp_256_mont_sub_8 - 29 +29 sp_256_to_bin_8 - 28 +28 sp_256_point_from_bin2x32 50 73 +23 sp_256_mont_sqr_8 - 7 +7 sp_256_mont_sqr_10 7 - -7 p256_mod 40 32 -8 curve_P256_compute_pubkey_and_premaster 186 167 -19 sp_256_sub_10 22 - -22 sp_256_add_10 22 - -22 sp_256_cmp_10 24 - -24 sp_256_norm_10 31 - -31 static.sp_256_mont_sub_10 49 - -49 static.sp_256_mont_dbl_10 52 - -52 static.sp_256_mul_add_10 82 - -82 sp_256_from_bin_10 119 - -119 sp_256_to_bin_10 120 - -120 sp_256_mont_reduce_10 178 - -178 sp_256_mont_mul_10 214 - -214 sp_256_proj_point_dbl_10 451 - -451 sp_256_ecc_mulmod_10 1216 - -1216 sp_256_mod_mul_norm_10 1305 - -1305 ------------------------------------------------------------------------------ (add/remove: 12/15 grow/shrink: 1/2 up/down: 3106/-3919) Total: -813 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-05tls: fix the case of sp_256_mont_tpl_10() leaving striay high bitsDenys Vlasenko
It has no effect on correctness, but interferes with compating internal state of different implementations. function old new delta sp_256_proj_point_dbl_10 443 451 +8 static.sp_256_mont_sub_10 46 49 +3 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 11/0) Total: 11 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-05tls: fix (what looks like) a rare corner case bug in P256Denys Vlasenko
function old new delta static.sp_256_mont_sub_10 30 46 +16 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-05tls: remove one overzealous debugging statementDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-05tls: add debugging scaffolding to P256 codeDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-05tls: another P256 code shrinkDenys Vlasenko
Propagate constant arrays and scalars deeper down call chain. Use sp_256_mont_mul_10 to implement sp_256_mont_sqr_10. function old new delta sp_256_mont_mul_10 - 214 +214 sp_256_mont_reduce_10 - 178 +178 sp_256_mont_sqr_10 - 7 +7 static.sp_256_mont_reduce_10 178 - -178 static.sp_256_mont_mul_10 214 - -214 static.sp_256_mont_sqr_10 234 - -234 ------------------------------------------------------------------------------ (add/remove: 3/3 grow/shrink: 0/0 up/down: 399/-626) Total: -227 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-05tls: P256 code shrinkDenys Vlasenko
function old new delta sp_256_to_bin_10 - 120 +120 sp_256_from_bin_10 - 119 +119 sp_256_proj_point_dbl_10 446 443 -3 curve_P256_compute_pubkey_and_premaster 191 186 -5 sp_256_point_from_bin2x32 62 50 -12 sp_256_to_bin 120 - -120 static.sp_256_from_bin 149 - -149 ------------------------------------------------------------------------------ (add/remove: 2/2 grow/shrink: 0/3 up/down: 239/-289) Total: -50 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-01tls: "server cert is not RSA" is a fatal errorDenys Vlasenko
function old new delta tls_handshake 2022 2019 -3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-01wget: implement --post-fileRon Yorston
Add the --post-file option to send form data from a file. As with --post-data it's up to the user to ensure that the data is encoded as appropriate: all wget does is stuff the provided data into the request. The --post-data and --post-file options are mutually exclusive and only one instance of either may be given. Additionally: - update the usage message to include missing details of the --post-data and --header options; - free POST data if FEATURE_CLEAN_UP is enabled. function old new delta packed_usage 34158 34214 +56 wget_main 2762 2805 +43 .rodata 99225 99240 +15 static.wget_longopts 266 278 +12 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 126/0) Total: 126 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-01tls: add scaffolding to selectively disable ciphers. no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-10-01tls: code shrink P256 codeDenys Vlasenko
function old new delta sp_256_to_bin 148 120 -28 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-30tls: remove unused defineDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-28less: Ignore -XIsmael Luceno
The flag disables termcap init/deinit of the terminal, which the applet doesn't do anyway. Signed-off-by: Ismael Luceno <ismael@iodev.co.uk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-28ash: fix compile breakage in !ENABLE_ASH_ALIAS configDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-28libbb: code shrink in main() and scripted_main()Denys Vlasenko
function old new delta main 68 65 -3 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-3) Total: -3 bytes text data bss dec hex filename 1472 560 16 2048 800 busybox_old 1398 552 16 1966 7ae busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-26shell: fix parsing of $(( (v)++ + NUM ))Denys Vlasenko
function old new delta evaluate_string 988 1011 +23 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-25shell: enable more tests which are passing nowDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-25shell: fix arithmentic evaluation of "++7" and such (it is + + 7, i.e. 7)Denys Vlasenko
function old new delta evaluate_string 945 988 +43 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-25libbb/lineedit: tweak #if indenting, no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-21cal: implement -mRon Yorston
Some people prefer the week to start on Monday. Add the '-m' option to support this. function old new delta cal_main 926 966 +40 day_array 316 337 +21 packed_usage 34151 34158 +7 .rodata 99224 99225 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 69/0) Total: 69 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-18libbb: code shrink parse_datestr (again)Ron Yorston
Commit 9fe1548bb (date,touch: allow timezone offsets in dates) mentioned the similarity between '@' format dates and those with timezone offsets. It didn't notice that as a result there's common code which can be shared. function old new delta parse_datestr 730 687 -43 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-43) Total: -43 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-17libbb/lineedit: do not escape %^=+}]:, escape ~? in tab completionDenys Vlasenko
function old new delta .rodata 104185 104180 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-17libbb: clarify what bb_mode_string() generatesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-17libbb: ensure mode_string is NUL terminatedRon Yorston
If the mode_string array is no longer static we can't rely on it being NUL terminated. function old new delta bb_mode_string 115 118 +3 Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-17libbb: eliminate a static data array in bb_mode_string()Denys Vlasenko
function old new delta print_stat 861 869 +8 header_verbose_list_ar 73 77 +4 display_single 975 979 +4 header_verbose_list 237 239 +2 bb_mode_string 124 115 -9 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/1 up/down: 18/-9) Total: 9 bytes text data bss dec hex filename 1043136 559 5052 1048747 1000ab busybox_old 1043153 559 5020 1048732 10009c busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-17libbb: code shrink bb_parse_modeDenys Vlasenko
function old new delta bb_parse_mode 393 398 +5 static.who_mask 16 8 -8 static.perm_mask 24 12 -12 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/2 up/down: 5/-20) Total: -15 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-17chmod: correctly report changed modesDenys Vlasenko
Chmod used to incorrectly report as changed even files for which the mode did not change. This was caused by extra bits in the st_mode, that were not present when parsed from passed argument in the form of octal number. Patch by Wolf <wolf@wolfsden.cz>. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-17date,touch: allow timezone offsets in datesRon Yorston
Allow ISO 8601 style dates to include a timezone offset. Like the '@' format these dates aren't relative to the user's current timezone and shouldn't be subject to DST adjustment. - The implementation uses the strptime() '%z' format specifier. This an extension which may not be available so the use of timezones is a configuration option. - The 'touch' applet has been updated to respect whether DST adjustment is required, matching 'date'. function old new delta parse_datestr 624 730 +106 static.fmt_str 106 136 +30 touch_main 388 392 +4 date_main 818 819 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 4/0 up/down: 141/0) Total: 141 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-16getopt: code shrinkRon Yorston
function old new delta .rodata 99277 99290 +13 normalize 177 142 -35 getopt_main 675 622 -53 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/2 up/down: 13/-88) Total: -75 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-15ash: introduce bash-like $FUNCNAMEDenys Vlasenko
Patch adapted from Roberto A. Foglietta <roberto.foglietta@gmail.com> work. function old new delta lookupvar 106 150 +44 evalfun 369 408 +39 ash_main 1218 1242 +24 varinit_data 156 168 +12 .rodata 104162 104172 +10 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 5/0 up/down: 129/0) Total: 129 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-15libbb: code shrink parse_datestrRon Yorston
The default build uses strptime() in parse_datestr() to support the 'month_name d HH:MM:SS YYYY' format of GNU date. If we've linked with strptime() there's an advantage is using it for other formats too. There's no change to the non-default, non-DESKTOP build. function old new delta fmt_str - 106 +106 .rodata 99216 99145 -71 parse_datestr 948 624 -324 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/2 up/down: 106/-395) Total: -289 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-14ash: let ignoreeof only affect interactive shellsRon Yorston
Commit fb7d6c89 from Harald van Dijk's gwsh variant of ash (https://github.com/hvdijk/gwsh): ignoreeof is documented as only having an effect for interactive shells, but is implemented as having mostly the same effect for interactive shells as for non-interactive shells. Change the implementation to match the documentation. Test case: $SHELL -o ignoreeof /dev/null function old new delta cmdloop 359 361 +2 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 2/0) Total: 2 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-09-14ash: stopped jobs should only prevent exit from interactive shellRon Yorston
When the user tries to exit an interactive shell with stopped jobs present the shell issues a warning and only exits if the user insists by trying to exit again. This shouldn't apply to non-interactive shells. Reported-by: Roberto A. Foglietta <roberto.foglietta@gmail.com> Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>