<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/win32, branch tilde</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=tilde</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=tilde'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2022-02-17T08:37:10+00:00</updated>
<entry>
<title>win32: fake file ownership on FAT filesystems</title>
<updated>2022-02-17T08:37:10+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-17T08:37:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=67d6d366161c04ec32f2b429a2441016dfd91f2a'/>
<id>urn:sha1:67d6d366161c04ec32f2b429a2441016dfd91f2a</id>
<content type='text'>
busybox-w32 tries to display the ownership of files by comparing
the security identifier (SID) of the current user with that of the
file on disk.  For filesystems that don't support SIDs this resulted
in files being listed as owned by root.

It appears that filesystems without support for file ownership
return a null SID.  In such cases pretend the file belongs to the
current user.

GitHub issue #241.
</content>
</entry>
<entry>
<title>Increment date in resources</title>
<updated>2022-02-14T08:09:50+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2022-02-14T08:09:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5ce146536f50341efd2496370af804bb348fa66e'/>
<id>urn:sha1:5ce146536f50341efd2496370af804bb348fa66e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>winansi: detect if running under Wine</title>
<updated>2021-12-22T08:22:12+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-12-22T08:22:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1ee308c75f4720ee38be8e81ff8c9ed4c52670d4'/>
<id>urn:sha1:1ee308c75f4720ee38be8e81ff8c9ed4c52670d4</id>
<content type='text'>
Detect if running under Wine by checking for the wine_get_version
function in ntdll.dll.  This is how the Wine Developer FAQ suggests
doing it.

If running under Wine and not otherwise configured:

- use ANSI emulation;
- don't use alternate screen buffer in vi/less.

Explicit settings of BB_SKIP_ANSI_EMULATION and BB_ALT_BUFFER will
override the Wine defaults.
</content>
</entry>
<entry>
<title>win32: fix implementation of readlink(2)</title>
<updated>2021-11-25T16:03:39+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-11-25T15:56:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c29dc205d2dc590f6d66df5a4f26efa7ada9632d'/>
<id>urn:sha1:c29dc205d2dc590f6d66df5a4f26efa7ada9632d</id>
<content type='text'>
Commit 35e32c2a71 (readlink(): do `NUL`-terminate the result) changed
how our implementation of readlink(2) handles the case where the link
is too long for the buffer.  This broke xmalloc_readlink() which
expects readlink(2) to behave as documented.  As a results symbolic
links with 80 or more characters didn't work properly.

Revert the commit.

(GitHub issue #237)
</content>
</entry>
<entry>
<title>win32: add link to LWN article on shebang</title>
<updated>2021-11-14T09:52:59+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-11-14T09:52:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=2e8de47ad30b86f376cf2295747634c8140cfca3'/>
<id>urn:sha1:2e8de47ad30b86f376cf2295747634c8140cfca3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>win32: rename mingw_spawn_1</title>
<updated>2021-11-01T08:25:05+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-11-01T08:25:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0acd7c7984e680f2e352ed43556b2f4cc8da2fbb'/>
<id>urn:sha1:0acd7c7984e680f2e352ed43556b2f4cc8da2fbb</id>
<content type='text'>
The name of the function mingw_spawn_1() wasn't particularly
meaningful.  Remove its envp argument (as all of its current callers
pass a NULL pointer) and rename it mingw_spawnvp() to better reflect
what it does.

The path search it performs isn't the standard one:  it has features
specific to busybox-w32.
</content>
</entry>
<entry>
<title>win32: pass NULL to spawnve, not environ</title>
<updated>2021-10-28T13:24:24+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-10-28T13:24:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=5b48ca53be57bc907ed8dd00635914556b4472e4'/>
<id>urn:sha1:5b48ca53be57bc907ed8dd00635914556b4472e4</id>
<content type='text'>
Building busybox-w32 for use with UCRT results in mysterious
failures.  (GitHub issue #234)

These are somehow related to the environment values passed to
spawnve.  In several places the global environ pointer was being
passed to spawnve so the child would inherit its environment from
the parent.  This can also be achieved by passing a NULL pointer.
This prevents the failures in at least some cases and also makes
the binary smaller.
</content>
</entry>
<entry>
<title>win32: rmdir(2) shouldn't delete symlinks</title>
<updated>2021-10-17T12:52:54+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-10-17T12:40:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=d239d2d5273e1620a6146d8f5076f6532e3569b1'/>
<id>urn:sha1:d239d2d5273e1620a6146d8f5076f6532e3569b1</id>
<content type='text'>
On Linux rmdir(2) refuses to delete a symlink to a directory on
the obvious grounds that a symlink isn't a directory.  Windows'
rmdir() is less discriminating.

Make our implementation of rmdir(2) behave more like Linux.
</content>
</entry>
<entry>
<title>win32: code shrink</title>
<updated>2021-10-16T08:59:11+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-10-16T08:59:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=1afcef2f5a089648430a13b2a55ba1428c8d49c0'/>
<id>urn:sha1:1afcef2f5a089648430a13b2a55ba1428c8d49c0</id>
<content type='text'>
There are a few places in mingw.c where we want to determine if a
file is a symbolic link.  Previously these called mingw_lstat()
which collects far more information than is actually needed.

Create a new is_symlink() function which does the minimum work
necessary.
</content>
</entry>
<entry>
<title>realpath: improved support for Windows paths</title>
<updated>2021-10-13T15:44:45+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2021-10-13T15:22:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=4daf57b4fdc80422d6448c0a7914699fdedb95b8'/>
<id>urn:sha1:4daf57b4fdc80422d6448c0a7914699fdedb95b8</id>
<content type='text'>
Upstream commit 94eb1c4dc (libbb: better coreutils compatibility
for realpath) made some changes to xmalloc_realpath_coreutils().
This now needs to be updated to handle Windows paths.

- Expose the macro is_unc_path() and part of the recent change to
  bb_get_last_path_component_nostrip() as a separate funtion,
  get_last_slash();

- Convert a couple of errors relating to network filesystems to
  ENOENT;

- Adjust xmalloc_realpath_coreutils() to handle Windows directory
  separators, relative paths and UNC paths.
</content>
</entry>
</feed>
