Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/termux/proot

An chroot-like implementation using ptrace.
https://github.com/termux/proot

Fix launching native executables from QEMU

https://github.com/termux/proot/discussions/290

4af79603dae7a12d8767b61937d9e7e41e517701 authored about 1 year ago by Michal Bednarski <[email protected]>
link2symlink: Perform symlink() operation within PRoot

termux/proot#284

deb48f36fde89e5971a8877f061816ef0e3c9d86 authored over 1 year ago by Michal Bednarski <[email protected]>
Minimal support for execveat(AT_FDCWD)

termux/proot-distro#299

2d7c70eec7e2688e465c7bfba60c927fad0abfb1 authored over 1 year ago by Michal Bednarski <[email protected]>
Allow setxattr even when fake uid isn't zero

Remap -EACCES to -EOPNOTSUPP on ioctl(FICLONE)

termux/proot#266

f30ce3e3c637d8c0fd1f453cc49eef1e897d7a8b authored almost 2 years ago by Michal Bednarski <[email protected]>
Initial support for memfd emulation through ashmem

termux/proot#258

d4658fcfc30d9dfddbfb66e95865fd84bf684abe authored almost 2 years ago by Michal Bednarski <[email protected]>
Fix implementation of SysV Shared Memory

1. Calculation of rounding up page sizes for mmap was incorrect
2. Suppress signals also during ...

f1dd76b86d3a4efb09885bb42de6237c96cc2731 authored almost 2 years ago by Michal Bednarski <[email protected]>
Use hardcoded stat for /linkerconfig when access is denied

termux/proot#254

0fdcda1d302dd05c175f250f2dd06c90c4e255cb authored almost 2 years ago by Michal Bednarski <[email protected]>
Explicitly add /system/lib to qemu LD_LIBRARY_PATH

termux/proot#229

5c462a6ecfddd629b1439f38fbb61216d6fcb359 authored over 2 years ago by Michal Bednarski <[email protected]>
Add AArch32 support for sendmsg SCM_CREDENTIALS

termux/proot#213

d4e4a07fbdc16e24868c295d3f7de97eca2a7f80 authored almost 3 years ago by Michal Bednarski <[email protected]>
Report proper errno when doing hard-link of absent file

termux/termux-packages#5932

17e72681bccd7a2424b99196c0daa9f059ff352a authored about 3 years ago by Michal Bednarski <[email protected]>
Move loader on 32-bit ARM

termux/proot#107
termux/proot#211
et al

fdda79ccb65a952c36e04d15a32095a32732cafb authored about 3 years ago by Michal Bednarski <[email protected]>
Fix double free of load_info

The first free was just above (talloc_unlink),
but far this went under radar because refcount wa...

7d6bdd9f6cf31144e11ce65648dab2a1e495a7de authored about 3 years ago by Michal Bednarski <[email protected]>
Keep syscall result when proot cancels it

termux/proot#200

4d830472ef89e8ef6245140e26fa934f71b0aa47 authored about 3 years ago by Michal Bednarski <[email protected]>
Fill stx_rdev_ in emulated statx()

termux/proot#193

b56071ff3f849ee1e7981e1088e6b3f3375e04e4 authored over 3 years ago by Michal Bednarski <[email protected]>
Skip proot loader for qemu

termux/proot#195

Also save original path for setuidness checks (termux/proot#143)

68d71781a3e1a806075eb51596174c42ade7678c authored over 3 years ago by Michal Bednarski <[email protected]>
link2symlink: Set stx_nlink in statx to emulated link count

termux/proot#191

fbf7b245e797bbf76a1bda85fb895c26e8e5666e authored over 3 years ago by Michal Bednarski <[email protected]>
Merge pull request #179 from r1olo/master

Add support for faccessat2

41a4016bb92f6b43cc11febb84d494a54d969ec8 authored over 3 years ago by michalbednarski <[email protected]>
Add support for faccessat2

f5ac93d9b006340171c9d8b2106fb7df5ae777ee authored over 3 years ago by Andrea Riolo <[email protected]>
Revert "Add support for faccessat2"

This reverts commit ffd37cbceb48d6127c7e3cbc33ce2979bb057e5b.

a1226363d8557287d6ebad34e350364b4143cb2f authored over 3 years ago by Andrea Riolo <[email protected]>
Add support for faccessat2

ffd37cbceb48d6127c7e3cbc33ce2979bb057e5b authored over 3 years ago by Andrea Riolo <[email protected]>
Cancel real linkat() syscall after emulated /proc//fd linkat

termux/proot#173

ede4b84805eaab5614159c3f217de897f49e815e authored over 3 years ago by Michal Bednarski <[email protected]>
Support for linkat("/proc//fd") for materializing deleted temp files

https://github.com/termux/proot/issues/161#issuecomment-894691191

f42658803833b0840abf6c96ff214a0742229c1f authored over 3 years ago by Michal Bednarski <[email protected]>
statx: Support fstat() on deleted files

Fix reported error numbers

termux/proot#172

3b9576a781d0a11b6b0b43d6c37c388f6e89a0d2 authored over 3 years ago by Michal Bednarski <[email protected]>
Deny memfd_create for all names starting with "JITCode:"

49cb1a96b291f3ea50f3b6460c54388ee2c0780e authored over 3 years ago by Michal Bednarski <[email protected]>
Deny memfd_create for Qt/QML executable code

Androids selinux policy disallows making memfd executable,
unlike anonymous mmap. Qt uses memfd_...

89bfa991cb3cb7fc78099d06d0f7e7c840cb62d1 authored over 3 years ago by Michal Bednarski <[email protected]>
Merge pull request #167 from t184256/seccomp-setresxid

Add seccomp workarounds for setresuid/setresgid

3b7369b8eb8b2a879aade2b403b3ac0eb848b9ed authored over 3 years ago by michalbednarski <[email protected]>
Add seccomp workaround for setresuid/setresgid

When seccomp denies setresuid/setresgid,
assume there's nothing we can do but translate them to ...

bc97df783126173de38587f7c7fd36ac24582867 authored over 3 years ago by Alexander Sosedkin <[email protected]>
Fix crash on too long msg_controllen

Currently when running in 32-on-64 mode sendmsg calls won't be patched

https://github.com/termu...

8f67d6c7fadb445b7a528020d05e72dba717c5b9 authored over 3 years ago by Michal Bednarski <[email protected]>
link2symlink support on AArch32

termux/proot#151

Also configure OFFSETOF_STAT_UID_32 in arch.h to fix second issue
reported in ...

a984f8edb5f82ff97584759fc55c061d6c9119f1 authored over 3 years ago by Michal Bednarski <[email protected]>
Replace "GNURoot" with "Termux" since GNURoot is obselete

f1e3b6940d45d2a60c22a9b31ecc08c9664f21b9 authored over 3 years ago by LeapofAzzam-backup <[email protected]>
Add bug report template

5510ac806411c59de5e72f27cb6dfdeafdcbd179 authored over 3 years ago by Henrik Grimler <[email protected]>
gitignore: ignore *~

0b40de7200209ad1687f261e5a047c6d33852bb0 authored over 3 years ago by Henrik Grimler <[email protected]>
Clean valgrind warning in link2symlink

16f235f624931b3a9d96a2b6b2d687ed3d172852 authored almost 4 years ago by Michal Bednarski <[email protected]>
Fix crash on exit in sysvipc shm

d5f2c508fa6a37a13d22397f2ce20e8cd6fe8796 authored almost 4 years ago by Michal Bednarski <[email protected]>
Fix crash on msgrcv,msgsnd,cancelled-ppoll race

When msgrcv is called but no msg in queue is available
then call is replaced with ppoll to wait ...

336f4787d64e377039143ad2a50139aee4e10ad4 authored about 4 years ago by Michal Bednarski <[email protected]>
Fixes for 32-bit arm in sysvipc extension

Accept IPC_64 cmd flag to semctl

Don't do ptrace(POKEDATA) on processes that are not in ptrace-...

292fbc8a5406fdaf17b530444cd3dbaa92b1551d authored about 4 years ago by Michal Bednarski <[email protected]>
Fix crash on concurrent shmat()

When syscall enter handler adds new syscall into chain,
exit of current syscall is then also han...

bc3668f3238cee2011f9afa5a964b2dfc9dc523b authored about 4 years ago by Michal Bednarski <[email protected]>
Defer shmctl(IPC_RMID) until all shmdt()s

Previously, I've implemented shmctl(IPC_RMID) to remove mapping
immediately, preventing any new ...

d54fe15e8f0e5de262a3e506a8340bff951c9562 authored about 4 years ago by Michal Bednarski <[email protected]>
Merge branch 'sysvipc' into master

1007d61887826165b28954eefb188dfb1005842e authored about 4 years ago by Michal Bednarski <[email protected]>
Introduce --sysvipc switch

a624b1363895e4c3b055462889e0114e439758fd authored about 4 years ago by Michal Bednarski <[email protected]>
Track shmat mappings across processes

fb4da96893d216ced874a5f175aee5ca5bdbd72c authored about 4 years ago by Michal Bednarski <[email protected]>
Clean semop structures

391118fb8709391873acdf03aee1bbbefd6b3e70 authored about 4 years ago by Michal Bednarski <[email protected]>
Fix allocation of child_config->process

Add some comments

6a7953935338aeaa569dc89b5afa4f84ef9ef0ec authored about 4 years ago by Michal Bednarski <[email protected]>
Add support for MSG_COPY and MSG_EXCEPT

77b9f3f5703247f05169d39f36a305b20f54ef64 authored about 4 years ago by Michal Bednarski <[email protected]>
Add SIGSYS handler for ftruncate

3596bef2b1c97ac1f6e7ae7b5d799a4927964961 authored about 4 years ago by Michal Bednarski <[email protected]>
Move misplaced assignment

ccb871aadc40e9da3fe492ce585acb02221431d1 authored about 4 years ago by Michal Bednarski <[email protected]>
Implement shmat

6f12fbee8e489f224e4ebf222d60ddcf98564ffb authored about 4 years ago by Michal Bednarski <[email protected]>
Add forgotten sysvipc_sys.h file

ffd811ee726c62094477ed335de89fc107cadf17 authored about 4 years ago by Michal Bednarski <[email protected]>
Initial SysVIpc extension implementation

Not implemented yet:
- shmget, shmat, shm...
- SEM_UNDO
- msgsnd never waits (queue size is unli...

e4d6c77fc817ac1012a06a9c79c1a11756b39a86 authored about 4 years ago by Michal Bednarski <[email protected]>
Allow new flags for fstatat() in kompat extension

termux/proot#126

66b34c6fb38983b09da3400b8bcf86005ebe8dd1 authored about 4 years ago by Michal Bednarski <[email protected]>
Add support for readlinkat(fd, "", ...)

termux/proot#123

c79069fc787f321623a272b66be2147878d98257 authored about 4 years ago by Michal Bednarski <[email protected]>
Finish statx() implementation

Add handling of statx allowed/denied by seccomp,
AT_EMPTY_PATH and other architectures

termux/p...

e9d1cc7ab84788b0e5023da5687bcea1124406ea authored about 4 years ago by Michal Bednarski <[email protected]>
Initial statx() support

Not fully ready,
So far only for aarch64 on Android < 11

termux/proot#122

25a63e081ac3f09c266702268f86fe5e020bbe18 authored about 4 years ago by Michal Bednarski <[email protected]>
Add SIGSYS handlers needed on x86_64

Also add socketcall() handler for NETLINK_AUDIT,
it previously was present for socket(),
while n...

4f554c854df05e78ed6b4e9bc929276275d66ecc authored over 4 years ago by Michal Bednarski <[email protected]>
Makefile: add missing if guard for 32 bit loader

5117b92f064c5909742535b3c10e93a27ed6823c authored over 4 years ago by Henrik Grimler <[email protected]>
Makefile: respect DESTDIR

Allows for installation straight into for example
TERMUX_PKG_MASSAGEDIR by doing `make DESTDIR=$...

00157a8bc708f80ff469ec6f1e622d19e8b3c2b9 authored over 4 years ago by Henrik Grimler <[email protected]>
Fix crash on first brk() before execve()

termux/proot#102

```
.globl _start
_start:

// pid = clone(SIGCHLD);
mov x8, #0xDC
mov x0, #0x...

b9588b1edff5069118c50f2f9b19397fce39f5c7 authored over 4 years ago by Michal Bednarski <[email protected]>
Update statfs64 structure passed in third argument

statfs and statfs64 syscalls have different signatures,
statfs64 takes additional `sz` argument ...

0782d176818ed9865a2148605561eae6e1be9352 authored almost 5 years ago by Michal Bednarski <[email protected]>
Change TCSAFLUSH flag to TCSANOW

termux/proot#88

1f4ec1c9d3fcc5d44c2a252eda6d09b0c24928cd authored about 5 years ago by Michal Bednarski <[email protected]>
Merge branch 'f2fs-case' into master

8950c03f8a9e5312185fe8378f048510e70fa903 authored about 5 years ago by Michal Bednarski <[email protected]>
Fix sign in errno == EEXIST

Don't free result of get_temp_directory()
which returns same pointer on every call

3eb0f49109391537e12c6f724706c12e8b7529d7 authored about 5 years ago by Michal Bednarski <[email protected]>
Avoid accessing nonexistent files on buggy f2fs file system

termux/proot#87

2f30ea70c5f1a3b647603f9f74326bd694c8db54 authored about 5 years ago by Michal Bednarski <[email protected]>
Report /dev/shm as tmpfs

termux/proot#79

4d61bc371dc2e6dd26732420049c667a529d45ff authored about 5 years ago by Michal Bednarski <[email protected]>
Merge branch 'arm-seccomp-skips-sysexit'

38042a5f60b5b6a2db68f18bd8b644748b530c8b authored over 5 years ago by Michal Bednarski <[email protected]>
Check tracee->status in fake_id0 execve handler

fake_id0 handle_sysexit_start handles set-uid files
and getauxval(3) uid values after execve(2) ...

2a265336fcd2919cdc4681c336abcaf1b2ef59a0 authored over 5 years ago by Michal Bednarski <[email protected]>
Perform translate_syscall() instead of just status reset

translate_brk_exit() sets syscall result after syscall
was changed to PR_void, so we cannot skip...

84b7f86d9e0715e7a1382b9c77ef70ce334bac70 authored over 5 years ago by Michal Bednarski <[email protected]>
AArch32 support

Implement support for AArch32 (arm on arm64)

Currently in this mode POKEDATA workaround is not ...

e5ac0d8db8033b2c209cad39f1e63b718438c8c7 authored over 5 years ago by Michal Bednarski <[email protected]>
Set seccomp_already_handled_enter only when using old syscall order

On non-ARM architectures
tracee->restart_how = PTRACE_SYSCALL;
is not performed inside of tr...

08e67dda1b2bac5b34d4ae7d8c460a8da9f32457 authored over 5 years ago by Michal Bednarski <[email protected]>
Reset tracee->status on SIGSYS

On ARM, unlike x86 and AArch64, when seccomp cancels syscall,
it's exit SIGTRAP|0x80 is not repo...

a4510a6465edb9631a3e6a5d232f06532c013842 authored over 5 years ago by Michal Bednarski <[email protected]>
Prevent tracees from becoming undumpable

3ea655b1ae40bfa2ee612d45bf1e7ad97c4559f8 authored over 5 years ago by Michal Bednarski <[email protected]>
Merge branch 'new_order_void_syscall_fix'

0c2da8185123486e17d0bb1fd3d27cc2152bbcff authored over 5 years ago by Michal Bednarski <[email protected]>
Use SYSCALL_AVOIDER for checking SIGSYS cause

On ARM, this is tuxcall (222), not -1

71573314c1a8e974df1da781752e8815c3148471 authored over 5 years ago by Michal Bednarski <[email protected]>
Skip SIGSYS on void syscall when using new syscall order

8b169bc1774d4f7277363b76ca52fceced9eaf24 authored over 5 years ago by Michal Bednarski <[email protected]>
Add SIGSYS handlers for waitpid and sendmmsg

387aa91bf5203d67f27a4838cfa871b657f71ce5 authored over 5 years ago by Michal Bednarski <[email protected]>
Merge branch 'nested-chroot'

0717de26d1394fec3acf90efdc1d172e01bc932b authored over 5 years ago by Michal Bednarski <[email protected]>
Merge pull request #60 from symphorien/musl

fix build on musl

70d02be9df63cda3cd186a407f24f4b8d0855d49 authored over 5 years ago by michalbednarski <[email protected]>
fix build on musl

9af4d35063ee9385fe8965885b2da26625799ac2 authored over 5 years ago by Symphorien Gibol <[email protected]>
Follow-up on nested chroot

As we free FileSystemNameSpace we need
to set cwd for tracee after chroot()

As tracee->fs is re...

8261bb42ab3547fcbc9656eba1a906f2a25e884a authored over 5 years ago by Michal Bednarski <[email protected]>
Add support for nested chroot

We now support nested chroot() if new root
can replace old while removing all bind mounts

chroo...

d3fc46870910f8a32712b6b4d3aaf6dd0b4c2819 authored over 5 years ago by Michal Bednarski <[email protected]>
Merge pull request #55 from lightful/pr__fix_dup_trans

fake_id0: do not re-translate the chroot path

2a78bab91d01c723ecb7ce08069a096f6ff654c5 authored almost 6 years ago by michalbednarski <[email protected]>
fake_id0: canonicalize chroot path before comparison

09568e21ff9fee7a6907be34a2d0fde3bacca7eb authored almost 6 years ago by Ciriaco Garcia de Celis <[email protected]>
fake_id0: do not re-translate the chroot path

The function handling chroot is invoked from SYSCALL_EXIT_END,
and already receives the path tra...

3268a6d7f99200567e0e6556d15eeb5721f9ce29 authored almost 6 years ago by Ciriaco Garcia de Celis <[email protected]>
link2symlink: Don't fail on readlink_proc_pid_fd errors

termux/proot#54

This issue happend, because sudo makes itself undumpable:
prctl(PR_SET_DUMPABLE...

0e29e5a9db6c56beddcca8b50d4ba91af5b1c171 authored almost 6 years ago by Michal Bednarski <[email protected]>
fake_id0: Handle setuid SIGSYS also on non-UserLAnd builds

termux/proot#52

60f9151b19ef498e2c7b609d13a6d55bb7d715a6 authored almost 6 years ago by Michal Bednarski <[email protected]>
Revert "Fix assertion "!IS_IN_SYSENTER(tracee)" on Huawei"

This fix was experimental and shouldn't really be on master

This reverts commit 3a31d7f24e85177...

f989914e81bd1311540f732b4ed95868042d2576 authored almost 6 years ago by Michal Bednarski <[email protected]>
Fix assertion "!IS_IN_SYSENTER(tracee)" on Huawei

When syscall was cancelled by poke data workaround,
don't relaunch it if it was cancelled by us
...

3a31d7f24e851773aa17a9e90bb3aa292ed3d99a authored about 6 years ago by Michal Bednarski <[email protected]>
Fix non-aarch64 build when using unbundled loader

Fixes termux/proot#44

df715ceac26cf331a626b7ccabcb94c4fd7d12cf authored over 6 years ago by Michał Bednarski <[email protected]>
Merge branch 'unbundle-loader'

d9f15817f8e06e41f8c2d37f1433005c8323631e authored over 6 years ago by Michał Bednarski <[email protected]>
Merge pull request #40 from tomty89/tmpdir

Canonicalize P_tmpdir

9929ac49eb07855c388457cf4a0a24b91380fa23 authored over 6 years ago by michalbednarski <[email protected]>
Merge pull request #39 from CypherpunkArmory/merge-userland

Merge most of UserLAnd PRoot Differences

088e5bf668092f13954d2495eca5232d5b28a319 authored over 6 years ago by michalbednarski <[email protected]>
small cleanup based on review

624c3bbdeacb59205daac62ddf3e39699b87b232 authored over 6 years ago by Corbin Champion <[email protected]>
Add loader-info.c to .gitignore

d1fc3a6b0f34d06c9a301de86175e15fffc5dfb3 authored over 6 years ago by Michał Bednarski <[email protected]>
Unbundle loader

Allow loader to be installed alongside main proot binary
instead of being extracted by proot to ...

cfaf825a1e53fb8edb2992492556f2fd5072ebd3 authored over 6 years ago by Michał Bednarski <[email protected]>
clear up some debug stuff so we can push

f36a228162fe1773e320c4cc15a33a05412a5969 authored over 6 years ago by Corbin Champion <[email protected]>
add other extensions that UserLAnd has

6054dc16d3c44dfed57c0f5ac0d04baaae5a016d authored over 6 years ago by Corbin Champion <[email protected]>
Merge pull request #41 from tomty89/misc

Compilation warning fixes
Avoid /bin/echo in makefile

8acbc2594d2be323787dfa4d591e74c2e84cf8a7 authored over 6 years ago by michalbednarski <[email protected]>
Merge pull request #37 from CypherpunkArmory/refactor

Start refactoring so we can reasonably merge

602972c76df439dd9dd371a0da9de572b8cce37d authored over 6 years ago by michalbednarski <[email protected]>
Avoid /bin/echo in makefile

fe7d8571c5b74ee2ebdbbd47b155428ae9d7b02f authored over 6 years ago by Tom Yan <[email protected]>
Avoid some potential problems

dae4e8f8d9b0991648b5c73f3f7990dfc0bee663 authored over 6 years ago by Tom Yan <[email protected]>
Avoid comparision of array to null pointer

9b65091ed3fa3abf1e1d33ab82f86eba16576076 authored over 6 years ago by Tom Yan <[email protected]>