{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":3617466,"defaultBranch":"master","name":"busybox-w32","ownerLogin":"rmyorston","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-03-04T10:42:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/843671?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726852761.0","currentOid":""},"activityList":{"items":[{"before":"6198a0ff055751d5cda4017a3d4821dc93ad77d1","after":"431e2704c17d5c0e51a0cbebfb1105bd4962b3f7","ref":"refs/heads/merge","pushedAt":"2024-09-28T08:14:04.000Z","pushType":"push","commitsCount":51,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"Merge branch 'busybox' into merge","shortMessageHtmlLink":"Merge branch 'busybox' into merge"}},{"before":"940f40e371695d6b247f4b406e7eb580fb91e866","after":"431e2704c17d5c0e51a0cbebfb1105bd4962b3f7","ref":"refs/heads/master","pushedAt":"2024-09-28T08:14:04.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"Merge branch 'busybox' into merge","shortMessageHtmlLink":"Merge branch 'busybox' into merge"}},{"before":"371fe9f71d445d18be28c82a2a6d82115c8af19d","after":"dff444bc375e6eb4c6775dbfc753ba71b46e9797","ref":"refs/heads/busybox","pushedAt":"2024-09-28T08:14:04.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"hush: whitespace and comment fixes\n\nSigned-off-by: Denys Vlasenko ","shortMessageHtmlLink":"hush: whitespace and comment fixes"}},{"before":"917b8bf5595023494456d8555a1f6b801b737bfc","after":"940f40e371695d6b247f4b406e7eb580fb91e866","ref":"refs/heads/master","pushedAt":"2024-09-27T10:42:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"win32: drop workaround for Wine console buffer\n\nCommit 1ade2225d2 (winansi: allow alternative screen buffer to be\ndisabled) added a workaround for the broken alternative screen\nbuffer in the Wine console.\n\nThe problem has been fixed in Wine for well over a year:\n\n https://bugs.winehq.org/show_bug.cgi?id=54287\n\nRemove the workaround.\n\nSaves 80-96 bytes.","shortMessageHtmlLink":"win32: drop workaround for Wine console buffer"}},{"before":"bca962188b113497221976a71fd18b1c11a120ab","after":"917b8bf5595023494456d8555a1f6b801b737bfc","ref":"refs/heads/master","pushedAt":"2024-09-25T08:08:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"Update sample build scripts\n\nRecent binaries released on frippery.org use the time of the\nlatest commit as the build time. This is achieved through the\nSOURCE_DATE_EPOCH environment variable, which is respected by\nthe upstream BusyBox build system.\n\nThe sample build scripts have been updated to do the same. This\ndoesn't result in perfectly reproducible builds as the toolchains\nused don't all support SOURCE_DATE_EPOCH.\n\nAdd some more details to the README file.","shortMessageHtmlLink":"Update sample build scripts"}},{"before":"674bcfad99b6b486204f4a97beb6e3571034a05e","after":"bca962188b113497221976a71fd18b1c11a120ab","ref":"refs/heads/master","pushedAt":"2024-09-23T10:50:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"cut: don't print empty lines with '-s' option\n\nA command like 'cut -f1 -s' would print empty lines even though\nthey don't contain a delimiter.\n\nAdd a test to avoid this.\n\nBased on a submission to the upstream mailing list:\n\n http://lists.busybox.net/pipermail/busybox/2024-July/090834.html\n\nAdds 32 bytes in 32-bit build, saves 32 in 64-bit.\n\n(GitHub issue #459)","shortMessageHtmlLink":"cut: don't print empty lines with '-s' option"}},{"before":"d1dbec40901f3e3a998be15354c3a9fbeb93d7bf","after":"674bcfad99b6b486204f4a97beb6e3571034a05e","ref":"refs/heads/master","pushedAt":"2024-09-21T10:01:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"Use builtin ffs also with GCC\n\nWith CONFIG_DEBUG_PESSIMIZE=y (-O0) the ffs intrinsic is left as a\nfunction call, resulting in a linker error. The prefixed builtin is\ngenerally part of the \"GNU C\" dialect and is usable in any \"GNU C\"\nimplementation, i.e. any compiler that defines __GNUC__. That includes\nClang, GCC, and more.","shortMessageHtmlLink":"Use builtin ffs also with GCC"}},{"before":"9376eebd8d16ce38278ee709177e9e7fd5d7ec14","after":"d1dbec40901f3e3a998be15354c3a9fbeb93d7bf","ref":"refs/heads/master","pushedAt":"2024-09-21T09:09:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"ash: reject unknown long options\n\nCommit 64f70cc755 (Add --login support) added code in options()\nto handle the bash-compatible '--login' option. In doing so it\ncommitted BusyBox ash to silently accepting all other long\noptions.\n\nRestore compatibility with other ash variants by rejecting unknown\nlong options.\n\n(GitHub issue #457)","shortMessageHtmlLink":"ash: reject unknown long options"}},{"before":"b21546ddbea20447054e60c893b64849f54be7d9","after":"9376eebd8d16ce38278ee709177e9e7fd5d7ec14","ref":"refs/heads/master","pushedAt":"2024-09-15T09:40:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"make: fix error reporting for included files\n\nThe global variables 'makefile' and 'lineno' weren't properly\nreset after a recursive call to input(). As a result error\nmessages for included files could refer to the wrong file or\nline number.\n\nRestore 'makefile' and 'lineno' immediately after a rescursive\ncall to input(). This also requires a different fix for commit\nb21546ddb (make: fix test for include with no pathnames).\n\nAdds 16 bytes in the 32-bit build.","shortMessageHtmlLink":"make: fix error reporting for included files"}},{"before":"0b87e69888e52ce5ca797560124564efc794414c","after":"b21546ddbea20447054e60c893b64849f54be7d9","ref":"refs/heads/master","pushedAt":"2024-09-14T08:16:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"make: fix test for include with no pathnames\n\nIn POSIX 2024 the behaviour of an include line with no pathnames\nis unspecified. The test for this condition was incorrect in\ncertain circumstances.\n\nFiles containing dependencies may be generated by the compiler and\nincluded in the makefile. On an initial build no dependency files\nwill be present and the include line is made to ignore errors. In\nthis case the test for no pathnames returned true, even though many\npathnames may have been present.\n\nFix the problem by always setting 'makefile' even if the named\nfile can't be opened.","shortMessageHtmlLink":"make: fix test for include with no pathnames"}},{"before":"b4d811aa232df8c7416a14f38a2396b028c35ac9","after":"0b87e69888e52ce5ca797560124564efc794414c","ref":"refs/heads/master","pushedAt":"2024-09-10T13:51:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"make: handling of leading whitespace in makefiles\n\nTry to match how different makes handle leading whitespace in\nmakefiles. (Tested with GNU, BSD, Schily and UNIX Version 7\nmake.)\n\n- Commands in rules must start with a tab. It's the law.\n\n- BSD make doesn't allow any whitespace at the start of an include\n line. Enforce this restriction in POSIX mode: 'the word include\n ... appears at the beginning of a line'. As an extension allow\n arbitrary tabs or spaces.\n\n- All implementations allow a space as the first character of a\n macro definition or rule. Permit this in all cases.\n\n- Only GNU make allows a tab as the first character of a macro\n definition, but POSIX 2024 seems to permit it too: 'string1 is\n defined as all characters from the first non- character to\n the last non- character, inclusive'. Allow this in POSIX\n 2024 mode and as an extension.\n\n- No implementation allows a tab as the first character of a rule.\n Disallow this in all cases.\n\nAdds 32-64 bytes.\n\n(pdpmake GitHub issue 63)","shortMessageHtmlLink":"make: handling of leading whitespace in makefiles"}},{"before":"074ebfca2153bf4a1fc6bdf4f3430d989de503c8","after":"b4d811aa232df8c7416a14f38a2396b028c35ac9","ref":"refs/heads/master","pushedAt":"2024-09-10T07:18:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"make: reinstate conditional skipping of command lines\n\nCommit e90345c10 (make: allow empty commands) rearranged readline()\nin a way that broke the use of conditionals within the definition\nof a rule.\n\nAdd a test case to detect this. Adjust readline() so that\nconditionals are processed before returning command lines or\nchecking for empty lines and comments.\n\nRemove the test for a leading tab in skip_lines(). This allows\nconditionals in the definition of a rule to be indented with a\nleading tab.","shortMessageHtmlLink":"make: reinstate conditional skipping of command lines"}},{"before":"cbfa58d56c3ca59538bf23e30105ce27ed5ef948","after":"074ebfca2153bf4a1fc6bdf4f3430d989de503c8","ref":"refs/heads/master","pushedAt":"2024-09-08T11:27:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"ash: code shrink\n\nAllow ash_main() to be invoked directly even in a non-FS_SHELLEXEC\nshell.\n\nSaves 48-64 bytes.","shortMessageHtmlLink":"ash: code shrink"}},{"before":"13a2b505b3fd7abcb4b4516d6745df870d7aee64","after":"cbfa58d56c3ca59538bf23e30105ce27ed5ef948","ref":"refs/heads/master","pushedAt":"2024-09-04T12:21:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"ash: optimise running of scripts (2)\n\nCommit 4b7b4a960 (ash: optimise running of scripts) avoided creation\nof a process when running a script. There's another case where we\ncan do the same: if the script is being run from a FS_SHELLEXEC\nshell.\n\n- Check the necessary conditions for this to happen.\n\n- Allocate two extra slots in the argv array for FS_SHELLEXEC.\n\n- Set the index of the script file in the argv array. Without this\n the test 'pidof this' failed because the command name hadn't been\n correctly set.\n\nAdds 80-96 bytes.","shortMessageHtmlLink":"ash: optimise running of scripts (2)"}},{"before":"4b7b4a960bab5b3e331e130b257fe8280fd9da43","after":"13a2b505b3fd7abcb4b4516d6745df870d7aee64","ref":"refs/heads/master","pushedAt":"2024-08-22T12:49:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"make: duplicate makefile name recorded with command\n\nCommit f3f72ac1d (make: show location of errors during build)\nstored a pointer to the name of the makefile with each command,\nfor use in diagnostic messages.\n\nWhile this is fine for makefiles defined on the command line, the\nnames of included files will have been freed before they can be\nused.\n\nAlways take a copy of the makefile name stored with commands.\n\nAdds 32-48 bytes.\n\n(GitHub issue #449)","shortMessageHtmlLink":"make: duplicate makefile name recorded with command"}},{"before":"b21899038683bd646446d3db9e84f64ea669d2ed","after":"4b7b4a960bab5b3e331e130b257fe8280fd9da43","ref":"refs/heads/master","pushedAt":"2024-08-19T10:14:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"ash: optimise running of scripts\n\nThe BusyBox shell detects certain cases where forking a command is\nunnecessary (last command in a script or subshell, for example) and\ncalls execve(2) instead. This doesn't help in the Windows port\nbecause execve(2) is implemented by creating a process.\n\nThere is one case where it is possible to apply this optimisation:\nif the command is a script and the script interpreter is an applet.\n\n- Have evalcommand() pass a flag to indicate this situation to\n shellexec(). Also, allocate two spare elements before the start\n of the argv array.\n\n- If the flag is TRUE shellexec() passes the shell's PATH variable\n down to tryexec() so it can perform a test for applet override.\n\n- If tryexec() finds that all the necessary conditions apply it\n can run a script by directly invoking the interpreter's main().\n\nAdds 192-224 bytes.","shortMessageHtmlLink":"ash: optimise running of scripts"}},{"before":"027fb22e28fecc588d9e088a8d7d77fb63c7dc7b","after":"b21899038683bd646446d3db9e84f64ea669d2ed","ref":"refs/heads/master","pushedAt":"2024-08-17T11:28:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"which,ash: code shrink detection of standalone shell\n\nCommit 6d87be4d7 (which,ash: changes to which/command/type) let\n'which' detect when it's run from a standalone shell by having\nthe shell pass the undocumented '-s' option.\n\nA better solution is to alter argv[0] when 'which' is run from a\nstandalone shell. This is possible because the code path through\nrun_noexec_applet_and_exit() and which_main() doesn't actually\nuse argv[0].\n\n- No special treatment is required in ash when 'which' has no\n arguments or the '--help' option.\n\n- tryexec() no longer needs an extra element before the start of\n argv. The commit 027fb22e2 can be reverted and the allocation\n of argv in evalcommand() simplified.\n\n- 'which' no longer needs to handle the '-s' option.\n\nSaves 96-104 bytes.","shortMessageHtmlLink":"which,ash: code shrink detection of standalone shell"}},{"before":"2b00b4311ecf4c6f6331f8c969934fa792f7e15c","after":"027fb22e28fecc588d9e088a8d7d77fb63c7dc7b","ref":"refs/heads/master","pushedAt":"2024-08-16T12:43:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"ash: allow additional element in argv array\n\ntryexec() in ash relies on all callers of shellexec() having an\nadditional unused element before the start of its argv array.\n\nIn busybox-w32 this was not the case when shellexec() was called\nfrom forkshell_shellexec(), as only the actual contents of the\nargv array were copied into the forkshell data block. In practice\nargv[-1] is only currently used when the 'which' applet is about\nto be run, so whatever got overwritten (probably cmdtable[30])\nwas unlikely to matter.\n\nStill, let's be correct and allocate the additional element.\n\nAdds 16 bytes.","shortMessageHtmlLink":"ash: allow additional element in argv array"}},{"before":"6481bb22b5e6d60909d09cf6179412c4f34b9b3c","after":"2b00b4311ecf4c6f6331f8c969934fa792f7e15c","ref":"refs/heads/master","pushedAt":"2024-08-16T10:40:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"win32: code shrink\n\nAdd the FAST_FUNC qualifier to several Windows-specific functions.\nThis has no effect in 64-bit builds but saves 336 bytes for 32-bit.","shortMessageHtmlLink":"win32: code shrink"}},{"before":"6e82b6c6a0b55fdc156f7065d177e530e417520c","after":"6481bb22b5e6d60909d09cf6179412c4f34b9b3c","ref":"refs/heads/master","pushedAt":"2024-08-14T12:40:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"win32: use 64-bit time on 32-bit platforms\n\nTo avoid problems with dates in 2038 and beyond use 64-bit time\nvalues on 32-bit platforms.\n\n- Mostly this just requires a few preprocessor macros to choose\n the appropriate functions, structs and typedefs.\n\n- We have our own implementations of nanosleep(), clock_gettime()\n and clock_settime(). Omit the Windows include file that declares\n them.\n\n- Apply the hack for struct timeval in the 'ts' applet on 32-bit.\n\nAdds 1624 bytes on 32-bit, none on 64-bit.\n\n(GitHub issue #446)","shortMessageHtmlLink":"win32: use 64-bit time on 32-bit platforms"}},{"before":"770bad1fe3c369da32b53d790a26f82c012666e7","after":"6e82b6c6a0b55fdc156f7065d177e530e417520c","ref":"refs/heads/master","pushedAt":"2024-08-14T10:10:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"win32: fix strftime(3) '%s' format\n\nThe '%s' format of our strftime(3) wrapper (display number of\nseconds since the Unix epoch) returned incorrect results on 64-bit\nsystems for times more than 2^31 seconds after the epoch.\n\nUse the correct format.\n\nAdds 16 bytes.\n\n(GitHub issue #446)","shortMessageHtmlLink":"win32: fix strftime(3) '%s' format"}},{"before":"c80a8e246d340af8a5e0a9254c5c7042bf141192","after":"770bad1fe3c369da32b53d790a26f82c012666e7","ref":"refs/heads/master","pushedAt":"2024-08-10T10:16:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"make: disallow inference rules for phony targets\n\nGNU make doesn't allow inference rules or the .DEFAULT target to\nbe used for phony targets.\n\nPOSIX is unclear on the matter but there doesn't seem to be an\nexplicit prohibition of inference rules or .DEFAULT.\n\nFollow the GNU make behaviour as a non-POSIX extension.\n\nAdds 48-80 bytes.\n\n(pdpmake GitHub issue 56)","shortMessageHtmlLink":"make: disallow inference rules for phony targets"}},{"before":"e90345c1048f2c53074a1bd88e7870ee6a452b01","after":"c80a8e246d340af8a5e0a9254c5c7042bf141192","ref":"refs/heads/master","pushedAt":"2024-08-09T16:59:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"win32: fix another problem with stat(2)\n\nIf we can't open a file to preserve its access time (perhaps\nbecause it doesn't belong to us) just try again without bothering\nabout the access time. I thought I'd already done that, but\nthat must have been in an alternative reality.\n\nAdds 16 bytes.\n\n(GitHub issue #443)","shortMessageHtmlLink":"win32: fix another problem with stat(2)"}},{"before":"c7f8fcfb3e26067019de01fdeeffd1ab556f73b9","after":"e90345c1048f2c53074a1bd88e7870ee6a452b01","ref":"refs/heads/master","pushedAt":"2024-08-08T11:49:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"make: allow empty commands\n\npdpmake didn't allow rules to have empty commands. There are\ncircumstances where this may be useful.\n\nMake the following changes:\n\n- Add a flag to readline() to indicate the next line is expected\n to be a command. If this flag is true and the input line starts\n with a tab return it immediately, thus skipping the check for\n an empty line or comment line.\n\n- In docmds() skip tabs and spaces after a command prefix. If the\n resulting command is empty don't print it or try to execute it.\n\n- In newcmd() allow empty commands.\n\nAdds 48-96 bytes.\n\n(pdpmake GitHub issue 56)","shortMessageHtmlLink":"make: allow empty commands"}},{"before":"2908a94a565c162eea751f1d7042b75cdc8cd13d","after":"c7f8fcfb3e26067019de01fdeeffd1ab556f73b9","ref":"refs/heads/master","pushedAt":"2024-08-08T07:56:34.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"drop: use correct option when cmd.exe is used as shell\n\nUse the '/c' option to pass a command to cmd.exe. This is similar\nto what was previously done for 'su': commit e5244175b (su: use\ncorrect option when cmd.exe is used as shell).\n\nAdds 48-64 bytes.\n\n(GitHub issue #438)","shortMessageHtmlLink":"drop: use correct option when cmd.exe is used as shell"}},{"before":"e5244175baa5c94726670a6aeb8645428306011a","after":"2908a94a565c162eea751f1d7042b75cdc8cd13d","ref":"refs/heads/master","pushedAt":"2024-08-07T12:00:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"su: add test mode\n\nTesting some uses of 'su' can be challenging because any errors\nappear in the new console window which may close as a result.\n\nAdd the '-t' option to enable test mode. This starts a new shell\nusing ShellExecuteEx(), but without elevated privileges and a new\nconsole. All other options and arguments are handled much as\nbefore, though some differences in behaviour are to be expected due\nto the lack of elevated privilege.\n\nAdds 80-96 bytes.\n\n(GitHub issue #438)","shortMessageHtmlLink":"su: add test mode"}},{"before":"2a09008c8eab35b5cc0422fab333ca657877256c","after":"e5244175baa5c94726670a6aeb8645428306011a","ref":"refs/heads/master","pushedAt":"2024-08-05T13:55:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"su: use correct option when cmd.exe is used as shell\n\nMost Unix shells (and PowerShell) use the '-c' option to specify\ncommands to execute. cmd.exe uses '/c' instead.\n\nDetect when cmd.exe is the 'shell' being used with 'su -s' and\nadjust the command option to suit.\n\nAdds 48-56 bytes.\n\n(GitHub issue #438)","shortMessageHtmlLink":"su: use correct option when cmd.exe is used as shell"}},{"before":"5eb14d55da843927f792e35dbf54079579f0d701","after":"2a09008c8eab35b5cc0422fab333ca657877256c","ref":"refs/heads/master","pushedAt":"2024-08-05T10:34:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"drop: allow an alternative shell to be selected\n\nAdd the '-s' option to allow an alternative shell to be given.\nNo PATH search is performed for the shell, so an absolute or\nrelative path to a suitable executable must be provided.\n\nAdds 80-96 bytes.\n\n(GitHub issue #438)","shortMessageHtmlLink":"drop: allow an alternative shell to be selected"}},{"before":"fb959dd3f29c2d0655e01147f7b0b9bb2dab4223","after":"5eb14d55da843927f792e35dbf54079579f0d701","ref":"refs/heads/master","pushedAt":"2024-08-04T12:13:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"su: allow an alternative shell to be selected\n\nAdd the '-s' option to allow an alternative shell to be given.\nNo PATH search is performed for the shell, so an absolute or\nrelative path to a suitable executable must be provided.\n\nCertain features are only available when the built-in shell is\nused:\n\n- The '-N' option, which allows the console window to remain open\n when the shell exits.\n\n- The fix which allows the current directory to be retained despite\n the efforts of ShellExecute() to change it.\n\n- The friendly message in the console title.\n\nAdds 128 bytes.\n\n(GitHub issue #438)","shortMessageHtmlLink":"su: allow an alternative shell to be selected"}},{"before":"dab0de7dbe833a44b3e4c20fcd0044f2d878d10d","after":"fb959dd3f29c2d0655e01147f7b0b9bb2dab4223","ref":"refs/heads/master","pushedAt":"2024-08-03T09:50:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rmyorston","name":"Ron Yorston","path":"/rmyorston","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/843671?s=80&v=4"},"commit":{"message":"su: detect inability to raise privilege\n\nWhen privilege has been dropped by the 'drop' applet, the 'su'\napplet is unable to raise it again because ShellExecuteEx()\nthinks it unnecessary.\n\nDetect this situation, report an error and return exit code 2.\n\nCosts 72-112 bytes.\n\n(GitHub issue #437)","shortMessageHtmlLink":"su: detect inability to raise privilege"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yOFQwODoxNDowNC4wMDAwMDBazwAAAATDQ1C4","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wM1QwOTo1MDowNC4wMDAwMDBazwAAAASQyWF4"}},"title":"Activity ยท rmyorston/busybox-w32"}