db7ffcf9d5
Kernel/Terminal: Add support for bracketed paste mode
...
This gets rid of annoying warnings when running some programs like bash
2025-11-18 05:40:36 +02:00
8f6cb9c057
Terminal: Add selection and clipboard support
...
text can now be copied with ctrl+shift+c and pasted with ctrl+shift+v
2025-11-18 05:40:36 +02:00
291f298d19
userspace: Implement LibClipboard and ClipboardServer
...
programs can now connect to the clipboard server using libclipboard and
get and set the clipboard of the current user
2025-11-18 05:40:36 +02:00
d60f12d3b8
Kernel: Add support for SCM_CREDENTIALS and fix recvmsg
...
recvmsg was broken when receiving into more than a single iovec
2025-11-18 05:40:36 +02:00
b8a2573bb4
userspace: Implement ImageViewer utility
...
This supports viewing images and doing basic zooming and panning
2025-11-17 20:58:12 +02:00
7ce8e610f5
stat: Fix handling of symlinks
2025-11-17 05:26:07 +02:00
839b9c8f07
Kernel: Check parent's sticky bit in unlink
2025-11-17 05:26:07 +02:00
db20801521
Shell: Add exec builtin
2025-11-17 05:26:07 +02:00
160a9278c9
LibC: Fix RTLD_* definitions
2025-11-17 05:26:07 +02:00
ee507de154
LibC: Implement posix regex
...
This is an almost complete implementation, it does not support
alternations or collating elements and it is restricted to the ASCII
character set
2025-11-17 05:26:07 +02:00
dc0fa49de2
ports/tuxracer: Add sound support and fix compiling
2025-11-17 05:26:07 +02:00
b678541427
ports: Add SDL_mixer port
2025-11-17 05:26:07 +02:00
6c4cd0d8cb
ports: Add libmikmod port
2025-11-17 05:26:07 +02:00
c096d3cd42
ports/sdl12-compat: Define that banan-os has alloca.h
2025-11-17 05:26:07 +02:00
dcdab4df21
ports/sdl12-compat: Remove unnecessary patch
...
This is not needed as our SDL2 library is in the expected form
2025-11-17 05:26:07 +02:00
9803209ba1
WindowServer: Make clients nonblock
...
Also dont allow freezed windows to "steal" focus and lock up the window
server :D
2025-11-17 05:26:07 +02:00
f166cb09ec
Kernel: Fail xHCI initialization if page size != 4096
...
Also zero out scratchapd buffers as the spec says
2025-11-17 05:26:07 +02:00
2dd8b76289
BuildSystem: Automatically delete libtool files
...
Half of the ports had a manual post_install step to delete libtool files
this is now done automatically and there is no need for it!
Libtool files have to be deleted as libtool doesn't work while
cross-compiling (at least out of the box)
2025-11-17 05:26:07 +02:00
2bf7c67767
LibC: Add backtrace signal handlers for SIG{FPE,ILL,BUS,SEGV}
...
This allows programs to dump better backtraces on crashes compared to
what kernel can as libc can resolve symbols and libraries' dynamic bases
2025-11-17 05:26:07 +02:00
dd636ffcb2
Kernel: Add support for SA_SIGINFO
2025-11-17 05:26:07 +02:00
a44c45ff9e
LibC: Cleanup signal.h
...
Make sa_handler and sa_sigaction be part of an union
Add definitions of SIGIO TRAP_BRKPT TRAP_TRACE
2025-11-17 05:26:07 +02:00
dc2a455395
Kernel: Optimize processes' memory management
...
Memory regions are now stored in a sorted array. This allows O(nlogn)
lookup for address validation instead of the old linear lookup.
Now inserting new regions is also O(nlogn) instead of the old constant
time, but lookups are **much** more frequent
2025-11-17 05:26:07 +02:00
c700d9f714
Kernel: Implement connect for UDP socket
2025-11-17 05:26:07 +02:00
59cfc339b0
Kernel: Ignore MSG_NOSIGNAL and invalid flags
2025-11-17 05:26:07 +02:00
e06c07ca89
ports: Update binutils 2.44->2.45
...
Now we don't have to keep patches for both versions around :D
2025-11-17 05:26:07 +02:00
6facd54a7e
LibC: Add ru_maxrss to struct rusage
...
This is not required by posix but some ports use it
2025-11-17 05:26:07 +02:00
6f8d850726
BuildSystem: Cleanup port building script
...
All dependencies are now installed only ones. If a port depends on for
examle zlib and one of its other dependencies depends on zlib, zlib will
now get installe only once.
Accept .tgz archives as the main download file
2025-11-17 05:26:07 +02:00
f3beee9874
Kernel: Cleanup userspace pointer validation
2025-11-17 02:33:00 +02:00
35e063bdaf
Kernel: Dump r8-r15 on x86_64 exceptions
2025-11-17 02:33:00 +02:00
09175d1799
Kernel: Fix 32 bit target
...
Rewrite some assembly and add some required casts
2025-11-17 02:33:00 +02:00
46f9a9053f
DynamicLoader: Use canonical path for the main executable
2025-11-13 04:20:53 +02:00
bb86520094
Kernel: Set message flags in UDP and TCP recvmsg
2025-11-13 04:20:53 +02:00
c1e2c660bf
LibC: Define caddr_t
...
This is used by some ports
2025-11-13 04:20:53 +02:00
89c0ff1a9d
Kernel/LibC: Replace SYS_{GET,SET}_TLS with SYS_{SET,GET}_{FS,GS}BASE
...
This allows userspace to use both registers
2025-11-13 04:20:53 +02:00
7a68ce7e94
DynamicLoader: Fix testing for possible base address
...
Replace MAP_FIXED with MAP_FIXED_NOREPLACE and only attempt to map
program headers with PT_LOAD
2025-11-13 04:20:53 +02:00
9537922acc
Kernel: Implement proper memory region splitting
...
Memory regions are now splitted when they get munmapped, mprotected, or
mmapped with MAP_FIXED. This is used by couple of ports, and without
this we were just leaking up memory or straight up crashing programs.
2025-11-13 04:20:53 +02:00
a39aa73e21
Kernel: Allow munmap on non-page aligned address
2025-11-12 00:06:36 +02:00
f1d12c330e
Kernel/LibC: Implement MMAP_FIXED_NOREPLACE
...
This is a handy thing from linux
Also fix MMAP_FIXED validation and error reporting
2025-11-12 00:06:36 +02:00
82c8eeb4be
ports/openssh: Update to 10.2p1 and enable fd passing
2025-11-12 00:06:36 +02:00
3a951f4830
LibC: Define IN_LOOPBACKNET
...
some ports expect this to exist
2025-11-12 00:06:36 +02:00
998ea25fb9
LibC: Add netinet/in_systm.h compatibility header
2025-11-12 00:06:36 +02:00
7b580b8f56
Kernel: Implement fd passing with SCM_RIGTHS
2025-11-12 00:06:36 +02:00
641ccfdd47
LibC: Add BSD compatibility defines S_I{READ,WRITE,EXEC}
...
These just map to S_I{R,W,X}USR respectively
2025-11-10 01:40:33 +02:00
4288f70d04
LibC: Make poll and epoll macros match with each other
...
This was an assertion in one of my ports and I couldn't be bothered to
write a patch for it :D
2025-11-10 01:40:33 +02:00
95fda5dfb7
LibC: Add definitions for IPPROTO_ICMPV6 and IP_TOS
2025-11-10 01:40:33 +02:00
1903c5e0c6
Kernel: Use user given address hint in mmap if possible
2025-11-10 01:40:33 +02:00
362501a097
LibC: Make x86_64 crt0 PIE compatible
...
Instead of pushing addresses of functions directly, use rip relative
addressing
2025-11-10 01:40:33 +02:00
72982e3c2b
Kernel/LibC: Take fcntl extra field as uintptr_t
...
This allows passing pointers to fcntl
2025-11-10 01:40:33 +02:00
04d24bce70
Kernel/LibC: Implement {recv,send}msg as syscalls
...
This also removes the now old recvfrom and sendto syscalls. These are
now implemented as wrappers around recvmsg and sendmsg.
Also replace unnecessary spinlocks from unix socket with mutexes
2025-11-10 01:40:33 +02:00
2f38306c6b
LibC: Implement simple posix_spawn{,p}
...
This does not support file_actions or attributes
2025-11-10 01:40:33 +02:00