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

Canonicalize P_tmpdir

Avoid bogus error when e.g. PREFIX is a symlink:

lrwxrwxrwx 1 u0_a312 u0_a312 5 Aug 23 14:47 /d...

588c73069f40d9a0284276e88ed03fd702d0396b authored over 6 years ago by Tom Yan <[email protected]>
now compiling with all major pieces merged

6ad40d651292fdc1300ba3655b0f11a266c918e2 authored over 6 years ago by Corbin Champion <[email protected]>
both with and without USERLAND compiling and most things merged

13bdcd7c46d6a756280ada62c4527356c2b6d111 authored over 6 years ago by Corbin Champion <[email protected]>
getting close to having the fake_id0 code merged

67976418a2d16a9c484ad03d6ee58c95ce72022e authored over 6 years ago by Corbin Champion <[email protected]>
move socket and getsockopt into their own files

536c9f9817e026f05674fc4a261dad6497f071e5 authored over 6 years ago by Corbin Champion <[email protected]>
chroot handled in its own file

502024b6fb6b7ac14d876e7ca6a8fcdcc4f538a8 authored over 6 years ago by Corbin Champion <[email protected]>
sendmsg handled in its own file

35c084b1e3e8d9291664e2927c8be23a456a8b0a authored over 6 years ago by Corbin Champion <[email protected]>
show example of moving a given function into a separate file - many more to come

d3b20460741fdaab9582d675e477b075c6a0463d authored over 6 years ago by Corbin Champion <[email protected]>
take care of compiler warnings

662e336678d4b7762210199a2913d44988d33b63 authored over 6 years ago by Corbin Champion <[email protected]>
fix a bunch of compile issues

aaab1764aaa82fe2817b1faa25c8ad69f406f318 authored over 6 years ago by Corbin Champion <[email protected]>
start refactor so we can reasonable merge proot from gnuroot debian and userland with termux

33c7ef28d80c57766d6d14133247b78f7b333c76 authored over 6 years ago by Corbin Champion <[email protected]>
link2symlink: Don't fail unlink() on broken links

Also allow specifying alternative directory
for link2symlink targets by providing absolute host ...

bb145259590c13c4992fb34d128218f560daf0fc authored over 6 years ago by Michał Bednarski <[email protected]>
Fix ptrace emulation after suppressed SIGSYS

Follow-up to 796167abdf600074197bd781493949e12c950ec5

9300288337beb3103c4712b5ad91cf0ead11bdd9 authored over 6 years ago by Michał Bednarski <[email protected]>
Merge branch 'pokedata'

Fixes termux/proot#15

1671163cff736200b3e4dfe822c31dbc3ed776a7 authored over 6 years ago by Michał Bednarski <[email protected]>
Prepare pokedata workaround for merge into offical versions

e8244e8e3c17d534eaee869f2b095a5469de5973 authored over 6 years ago by Michał Bednarski <[email protected]>
Fix incoming uids in getsockopt(SO_PEERCRED)

termux/proot#36

fb0ce67526097accece733f18161235e733e54f8 authored over 6 years ago by Michał Bednarski <[email protected]>
Emit SIGTRAP|0x80 for ptracer after suppressed SIGSYS

796167abdf600074197bd781493949e12c950ec5 authored over 6 years ago by Michał Bednarski <[email protected]>
Merge branch 'sendmsg-scm-credentials'

e0569ad9f64a4eb79117759c73d02251746631a0 authored over 6 years ago by Michał Bednarski <[email protected]>
Work around utime if it returns -ENOSYS

termux/proot#28

0e449b9e46ec849d603b48130a2e7d9181aa3f5a authored over 6 years ago by Michał Bednarski <[email protected]>
Fix control message parsing

Use official CMSG_NXTHDR macro instead of tracking
positions of messages on my own (where I've g...

abbcc7dfc56682e4a8d2111633d97a71e11792df authored over 6 years ago by Michał Bednarski <[email protected]>
Fix SCM_CREDENTIALS message using real credentials

termux/proot#30

6b0b14a08b46b24c32d393e117c4bda181c8294b authored over 6 years ago by Michał Bednarski <[email protected]>
Remove prepare_restart_syscall_after_seccomp function

It originally existed as there was requirement
to call it iff restart_syscall_after_seccomp was ...

1f66b913dbf72ed0fa52a90a42e12a3b3c341b9f authored over 6 years ago by Michał Bednarski <[email protected]>
Make seccomp workarounds work on X86/X86_64

Loosely related to termux/proot#28

26d21f5294c31f38dadc1bbb5b6acfe60417350a authored over 6 years ago by Michał Bednarski <[email protected]>
Handle utime when blocked by seccomp

termux/proot#28

3e90d9f95322db440c0705c74615a61ea465aef5 authored over 6 years ago by Michał Bednarski <[email protected]>
Merge pull request #29 from jlmess77/patch-1

--input and --output -> --input-target and --output-target

4bef8aea6701d4d0ab7b079e64372cedb5c9d808 authored over 6 years ago by michalbednarski <[email protected]>
--input and --output -> --input-target and --output-target

When I was trying to compile in I don't remember which Termux or Arch Linux in Termux. I was get...

e31c57bf1400423a5520eccc642eacc76b0befc0 authored over 6 years ago by Jeremy Messenger <[email protected]>
Merge pull request #26 from tomty89/setxid

fake_id0: set rgid and sgid if and only if euid is 0

d349cb68a5374d625f4d984d56c5c6c3300386a7 authored over 6 years ago by michalbednarski <[email protected]>
fake_id0: set rgid and sgid if and only if euid is 0

Since we consider whether the process is privileged based on
whether its euid == 0 but not egid.

cb973b161237a9ae90f4238f8f16ccc2f76211e6 authored over 6 years ago by Tom Yan <[email protected]>
fake_id0: Emulate audit interface not compiled in

termux/proot#21

b4afbd31d93ab7050303bdd749a97f65709439eb authored over 6 years ago by Michał Bednarski <[email protected]>
Support renameat2 syscall

termux/proot#25

3045a143d6bc954c1f77b255386a4815b5cbab1d authored over 6 years ago by Michał Bednarski <[email protected]>
Continue over and redeliver SIGSTOP in POKEDATA workaround

Fixes strace inside proot for devices with broken PTRACE_POKEDATA

4d8a1d9bab2b63199fb382963f1fcbfec693e9d1 authored over 6 years ago by Michał Bednarski <[email protected]>
Block signals during pokedata stub

90018e8316ee08ab64e67fca7b97b0cf29da1c4d authored over 6 years ago by Michał Bednarski <[email protected]>
Propagate pokedata stub addr to forked processes

0601cb8147e9b22c2c5ea7d8bd7a1088582026fb authored over 6 years ago by Michał Bednarski <[email protected]>
Add POKEDATA workaround in another place I missed

ef90d48658981f3eb2d1774700aa20fdcfc1dc71 authored over 6 years ago by Michał Bednarski <[email protected]>
Workaround broken ptrace POKEDATA

60b2de40143e3500b242cbae33f2c1c36d80e9f2 authored over 6 years ago by Michał Bednarski <[email protected]>
link2symlink: Don't decrement link count on rmdir()

The unlink() and rmdir() calls in Linux got merged into unlinkat()
with AT_REMOVEDIR flag to dif...

3bc06868508b858e9dc290e29815ecd690e9cb0c authored over 6 years ago by Michał Bednarski <[email protected]>
Merge pull request #17 from Hax4us/hax4us-patch-1

support chroot(relative_path_to_current_root)

02bc8d1fbad330c6ea3b9a57125b29fe0e17c19e authored over 6 years ago by michalbednarski <[email protected]>
support chroot(relative_path_to_current_root)

ef291206e16231ba698989d59a4324a3f8508fe7 authored over 6 years ago by Hax4us <[email protected]>
Add seccomp workaround for utimes

Utimes handling is based on
https://github.com/termux/proot/issues/14#issuecomment-387292047

Re...

29a1f088c2c981d47b29b252dc7045ab74d1144d authored over 6 years ago by Michał Bednarski <[email protected]>
Implement seccomp workarounds for legacy syscall variants

Map legacy syscall variants which are blocked by seccomp policy
to canonical variants which are ...

0c1ab57019c350a0562b902655a8f615ac507019 authored over 6 years ago by Michał Bednarski <[email protected]>
Emulate getpgrp if it's blocked by SECCOMP

Fixes termux/proot#14

793b096f5bc35600036200391088b444b14dedaf authored over 6 years ago by Michał Bednarski <[email protected]>
Fix debugging inside proot

Fix killing of tracees that haven't issued any syscall yet,
previously we've used last_restart_h...

88b915ee1f41217d4d6a24729fbc0078d78255d7 authored over 6 years ago by Michał Bednarski <[email protected]>
Add support for Linux >= 4.8

* Detect seccomp event order and handle both old and new one
* If new seccomp order is in use, s...

47138da843bbfcea2273a11ce9d83b40031465bf authored over 6 years ago by Michał Bednarski <[email protected]>
Merge pull request #11 from marksteward/master

Split out SIGSYS handling and redirect accept to accept4

c24fa3a43af2336a93f63fe3fb3eac599f0e3592 authored almost 7 years ago by michalbednarski <[email protected]>
Split out SIGSYS handling and redirect accept to accept4

c643be6cedf99bafe07066c67169e94350635afb authored almost 7 years ago by Mark Steward <[email protected]>
Add warning about termux-exec

termux/proot#9

9553bc6b65f705b26249cf70244bff9ab8e935e9 authored almost 7 years ago by Michał Bednarski <[email protected]>
fake_id0: Also recognize EACCES as permission denied

(besides just EPERM)

termux/proot#8

1ae8b8a6d75ebf8ef38e8c3f6b6c51afc6ea0e65 authored almost 7 years ago by Michał Bednarski <[email protected]>
Update README.md

870d15e054c102e367ab15ba418e3e68addcd1cf authored almost 7 years ago by Fredrik Fornwall <[email protected]>
Merge branch 'oreo-seccomp'

454b0b121f03a662f53844a8865f518757e0a315 authored about 7 years ago by Michał Bednarski <[email protected]>
Define SYS_SECCOMP if it's not available

ada5d05ea5df176f0d357302a4ef54b296c5cf82 authored about 7 years ago by Michał Bednarski <[email protected]>
Comment out assertion failing on /proc/device-tree

https://github.com/termux/termux-packages/issues/1679#issuecomment-337707411

16a6181f31d005044b5a04b49ab978780b7a0334 authored about 7 years ago by Michał Bednarski <[email protected]>
Seccomp and NT_ARM_SYSTEM_CALL workaround fixes

Block signals while executing syscall chain

When we set errno for syscall, but are unable to us...

b41e43937e94a78276151f0c8de7a486d9a55836 authored about 7 years ago by Michał Bednarski <[email protected]>
Check if SIGSYS was caused by seccomp using siginfo

e2e23dd883842a0397898f62f2bf6bc56582b2e1 authored about 7 years ago by Michał Bednarski <[email protected]>
Allow setting verbose through PROOT_VERBOSE env

Effect is the same as -v option, but envrionement variable can be easily
specified when proot is...

cb7efff1fe2129aea4aa5b905a821823d815b884 authored about 7 years ago by Michał Bednarski <[email protected]>
Initial workaround for Android Oreo seccomp policy

When tracee receives SIGSYS and syscalls appears to be set_robust_list
assume that it was seccom...

5ed0da18d9055b0428e5823d8a19ecae754fb66a authored about 7 years ago by Michał Bednarski <[email protected]>
Duplicate Heap structure on execve if it's shared

When parent uses vfork() and then child performs execve()
we previously just cleared heap struct...

6671bfed4ddcbd393d8ca7b2754d58e41ed9595b authored over 7 years ago by Michał Bednarski <[email protected]>
Add --kill-on-exit option

Add --kill-on-exit option which kills all tracees when the initial
process exits.
This option ca...

ccf3d7ab4804c1d01dd4d8f970da033a872c3152 authored over 7 years ago by Michał Bednarski <[email protected]>
Leave thumb mode exiting from loader under ptrace

Make sure that after execve() under emulated ptrace thumb mode
is not active even if loader was ...

58d216143b81558d71bcb29686cfa9ab1bfe3f4b authored over 7 years ago by Michał Bednarski <[email protected]>
Intercept syscall exit if proot fails syscall on ARM

When error occurs during syscall translation in proot,
proot skips real syscall and sets it's ow...

edc869d60c7f5b6abf67052a327ef099aded7777 authored almost 8 years ago by Michał Bednarski <[email protected]>
Fix loader incompatibilities with ARM Thumb

First, r7 register used as syscall number, however in thumb mode
it is also used as frame pointe...

a01472c82ad5357c5abc9f463889256dd935941d authored almost 8 years ago by Michał Bednarski <[email protected]>
Fix handling of PTRACE_SYSCALL in SECCOMP event

For one syscall we can get three events (in order):
1. PTRACE_EVENT_SECCOMP
This happens when...

9fc1f2db56712f1bee38b568f5d4cf862763fd88 authored almost 8 years ago by Michał Bednarski <[email protected]>
Avoid double handling of chained syscall

Previously, when there was chained syscall we did translate_syscall
twice during entry (once bec...

22e031ab3842e4c888a9fb1cd727a4d39b38a4de authored almost 8 years ago by Michał Bednarski <[email protected]>
Translate linkat to symlinkat instead of symlink

On AArch64 there's no symlink(2), so we have to translate
linkat(2) to symlinkat(2)

link(2) han...

5d7686d03e1dd2bf52f5132e849a62e1b23750e2 authored about 8 years ago by Michał Bednarski <[email protected]>
Remove doc/stylesheets folder

fa824ef48152aea6492c93ee14fadae0563ea471 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Get rid of warnings by using UNUSED

4a1c3dcd9ef5c6b4b832f5f4a2d89ef438aa839b authored over 8 years ago by Fredrik Fornwall <[email protected]>
Remove check for gcc < 4.5

We can require __builtin_unreachable().

6d28256b01a43146e860f29ac4519fa168a76396 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Remove cross-build-env/ folder

442affafabace358016162b6dcf92a30921eb87c authored over 8 years ago by Fredrik Fornwall <[email protected]>
Merge branch 'link2symlink'

6c2b210e3887386a34bcafa154997aa03c291f7f authored over 8 years ago by Michał Bednarski <[email protected]>
Enable link2symlink through command line argument

a4defa16723c591648f74123c6c1a1259f9f5242 authored over 8 years ago by Michał Bednarski <[email protected]>
Don't translate link early if syscall is (un)link

299cd6c4e0de69be3e2af4deb8bd7668f589de3e authored over 8 years ago by Michał Bednarski <[email protected]>
Allow opting-out of link2symlink through env var

b795cbee949bc604346ded1e7275e1c24bad5f36 authored over 8 years ago by Michał Bednarski <[email protected]>
Import link2symlink from termux/termux-packages#299

c80536bfc4d0237a702e5ad266ce72e7d4df67cd authored over 8 years ago by Michał Bednarski <[email protected]>
travis: Update encrypted COVERITY_SCAN_TOKEN

1a1e5bedea6bf44a5111c144b752b49fe39e69ac authored over 8 years ago by Fredrik Fornwall <[email protected]>
travis: uthash&libarchive are no longer needed

Installing uthash-dev and libarchive-dev in
travis is no longer needed after removing CARE.

588489dbde534c7ee402c2ab22a5409619513168 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Fix typo in README

d1f88afc447f2c6eee883ad5d88383084ffab6a1 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Merge authors&copyright holders into COPYING

71cb5d3134ed4520de09d91491f47aebc43b5573 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Work around inability to use change syscall

From
https://github.com/termux/termux-packages/commit/22e490e7517a460ae2c21f303256140e054d0f31

3df4610583454aca3f36729306e0b5a3526ee006 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Android compatibility in tracee/tracee.h

3805b5cb8dd247844b349cb1512c966c1015d47c authored over 8 years ago by Fredrik Fornwall <[email protected]>
Android compatibility in tracee/tracee.c

33a45f390bfb3b7e5c342e13f88e8a18cb0d0894 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Android compatibility in tracee/mem.c

ac1a8081a01e30b7aa2c5005e6bdb62acf4cfe58 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Android compatibility in syscall/rlimit.c

bb74d467f0532616079e1d7f3bdfb52147f34ad9 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Android compatibility in ptrace/wait.h

55289efd31972b0414b342cfe443385230e1399d authored over 8 years ago by Fredrik Fornwall <[email protected]>
execve/enter.c fixes

- Handle relocated embedded loader
- Don't reject binaries with linker having it's own DT_INTERP...

02839e759e06826d46b150acb5b20ce052fecf88 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Android compatibility in temp.c

0494883552bc1a72253d9fa9b8b27e2d58ac72a4 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Android compatibility in ptrace.c

9886bf7590eb6fac713dc14d9492db30d20231f2 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Android: Avoid <execinfo.h> & backtrace_symbols()

f68829553beef1b353c9fb34b57d1537c11db80f authored over 8 years ago by Fredrik Fornwall <[email protected]>
Include <libgen.h> for basename(3)

Needed on Android

8c75c1fae3312a80f2d346d1f522fd0c40567e1d authored over 8 years ago by Fredrik Fornwall <[email protected]>
Use -1 as SYSCALL_AVOIDER on arm64

From https://github.com/termux/termux-packages/pull/390

fc577318fde2f0cf21be40d28796f49e722d8fb4 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Allow PREFIX and CC to be specified

b1525b02433f74b0b9285095e9e0faa2645eedc3 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Add .travis.yml from PRoot

d27a13405bde9721e0266f25a8c9c05734cc74a6 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Update README

0b13b15c7afc65aa0b4413235245f99cc29e7cfd authored over 8 years ago by Fredrik Fornwall <[email protected]>
Remove CARE

475b4d4d266905b9fe7cf0e34d6588ddd71de8f3 authored over 8 years ago by Fredrik Fornwall <[email protected]>
Add files to .gitignore

b6661e48733d3f9f5bc92ba553df676611fdf39a authored over 8 years ago by Fredrik Fornwall <[email protected]>
Import the next branch of PRoot

65251ed82848efd09139bd780c7605303b001964 authored over 8 years ago by Fredrik Fornwall <[email protected]>