Commit Graph

113 Commits

Author SHA1 Message Date
Red Bear OS 3c5dc9d581 relibc: fix missing String import in socket.rs IPv6 formatting
Commit 79685cbe (AF_INET6 socket support) introduced
String::with_capacity() at socket.rs:80 but only imported
ToString from alloc::string, not String itself. This caused
E0433 'cannot find type String in this scope' during canonical
build (edition 2024 with -Z build-std).

Fix: add String to the existing alloc::string import.
2026-07-26 20:53:39 +09:00
Red Bear OS 79685cbe02 relibc: accept AF_INET6 in socket() and pass-through bind()/connect()
Adds AF_INET6 (10) to the socket() implementation so that
applications using IPv6 sockets can obtain a usable file descriptor.
Bind and connect accept sockaddr_in6 and translate the 16-byte IPv6
address into a scheme path string of the form

    [hh:hh:hh:hh:hh:hh:hh:hh]:port       (for global unicast)
    [hh:hh:hh:hh:hh:hh:hh:hh%scope]:port  (when scope id is set)

with each hh printed in lower-case hexadecimal exactly as smoltcp
accepts. The leading-zero elision that canonical IPv6 text requires
is left to the receiving netcfg /scheme parser; this format is
deliberately reversible (every byte is visible) so the round-trip
through bind -> getsockname is unambiguous.

The corresponding parse path in netstack/scheme/mod.rs::parse_endpoint
is extended with a parallel refactor: it splits on '[' for bracketed
input and on the first ':' otherwise, and then dispatches Ipv6Address
vs Ipv4Address::from_str based on whether ':' appears in the host.
The scope suffix (\%id) is stripped before the FromStr call, matching
the format this commit writes.

Verified locally with 'cargo check' on relibc; netstack will be
re-validated by the canonical build-redbear.sh run.
2026-07-26 16:55:32 +09:00
auronandace eed996c612 work around triggering some clippy lints 2026-07-17 08:32:49 +01:00
auronandace feebedbd55 import ToString 2026-07-16 09:11:52 +01:00
auronandace f3c0b52846 tackle more clippy lints 2026-07-16 08:59:10 +01:00
auronandace b632453fd4 follow-up casts in redox socket 2026-07-14 09:50:26 +01:00
auronandace da54c331f5 revert two casts 2026-07-14 09:29:44 +01:00
auronandace 70505f0a6f address some clippy lints in redox 2026-07-14 09:16:29 +01:00
Jeremy Soller 9930a90de0 Merge branch 'all-path' into 'master'
Adapt with new redox-path

See merge request redox-os/relibc!1504
2026-07-05 10:53:21 -06:00
Wildan M c0cdc017d3 Adapt with new redox-path 2026-07-05 19:27:57 +07:00
Wildan M 7f4c3803bc Fix curl EOPNOSUPP due to MSG_NOSIGNAL 2026-07-05 15:33:40 +07:00
Ibuki Omatsu fba233467a refactor: Move fd allocation logic into userspace 2026-07-01 08:08:23 -06:00
auronandace f5c0c1a9c9 split out ucred to a bits header 2026-06-16 08:04:26 +01:00
sourceturner e39106835a fix compiler warnings 2026-06-04 17:33:37 +02:00
auronandace e1d26137b4 eliminate export function for struct iovec 2026-05-06 08:57:33 +01:00
auronandace 8cec0c2280 import socklen_t from sys_socket instead of bits 2026-05-03 16:54:46 +01:00
auronandace 8c41979aba fix redox compilation for sa_family_t 2026-04-14 08:52:31 +01:00
Benton60 7bf209dc8e Move to separate 0.0.0.0:0 and disconnected states for udp AF_UNSPEC 2026-04-10 18:55:26 +01:00
Peter Limkilde Svendsen 8757c0facf Formatting 2026-04-05 16:44:09 +02:00
Wildan M f348d880e7 Fix compilation 2026-04-05 20:03:40 +07:00
Jeremy Soller 933a53bfc0 Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Mathew John Roberts <auronandace@duck.com>
2026-04-05 07:51:20 -06:00
Benton60 2b63e37410 fix behavior to always nullify the address regardless of what is passed in. 2026-04-05 01:26:45 -04:00
Benton60 7c733fc3b3 adding support for disconnecting via AF_UNSPEC 2026-04-04 18:27:01 -04:00
auronandace 5d22f7096b split out iovec from sys_uio header 2026-03-31 11:03:41 +01:00
auronandace 93a8b4b7c6 cargo fmt 2026-03-28 08:21:13 +00:00
Benton60 5de398c6a9 reserve extra space for scheme path to fix os-test/sys_socket/recvfrom 2026-03-27 09:49:47 -04:00
auronandace 44bb9d8d63 cargo fmt 2026-03-25 13:38:12 +00:00
Benton60 0addd84414 update recvfrom to route calls through recvmsg 2026-03-23 23:37:15 -04:00
auronandace ae91f48fae remove duplicate socklen_t definition 2026-03-11 12:42:53 +00:00
auronandace bd4fb1f660 fix a rust lint and a clippy lint 2026-03-10 12:11:03 +00:00
Ibuki Omatsu cab0021461 refactor: Move protocols into libredox 2026-02-28 08:04:47 -07:00
auronandace 11f28342f9 unused_imports redox follow-up 2026-02-10 16:29:37 +00:00
auronandace df37258ed2 usused_unsafe follow-up for redox 2026-02-08 15:52:55 +00:00
Jeremy Soller 1ec204d702 Merge branch 'unused-mut' into 'master'
add unused_mut lint

See merge request redox-os/relibc!977
2026-02-08 07:28:44 -07:00
auronandace 48224dc5ff redox unused_mut follow-up 2026-02-08 09:14:05 +00:00
Ibuki.O 5e61f17a3a feat: Implement MSG_CMSG_CLOEXEC handling to recvmsg 2026-02-08 12:09:08 +09:00
Ibuki Omatsu 94b0cfc682 refactor: Reimplement recvmsg and sendmsg using bulk fd passing. 2026-02-07 19:48:59 -07:00
Ron Williams 2c3201eaeb move timeval to sys_select 2026-01-30 15:53:15 +00:00
Wildan M f15322453b Convert all println to log or todo 2026-01-25 05:27:38 +07:00
Wildan M 7b9402783d Add log crate, use it to all trace cmd 2026-01-24 22:39:05 +07:00
Ibuki Omatsu 1bcb6dff78 Introduce namespace fd and related features 2026-01-20 20:43:05 -07:00
sourceturner 582e6eba69 Use unsafe blocks in some more unsafe functions
Building with redoxer showed some more places
that have to use unsafe blocks
2026-01-21 00:41:43 +01:00
Akshit Gaur 3754effab8 Add shutdown syscall 2026-01-19 21:58:06 +05:30
Wildan M e14a03fea4 Handle getpeername other error 2026-01-15 07:31:30 +07:00
Wildan M aa4572b613 Append inner_af_unix with null, workaround unix dgram getpeername 2026-01-15 05:26:44 +07:00
Wildan M f56bfc4883 Adapt inet socket implementing SYS_CALL 2026-01-08 04:05:19 +07:00
Wildan M 99c942318a Fix inet hang, don't accept() on recvfrom 2026-01-07 22:59:20 +07:00
Wildan M c90bb71deb Fix netstack triggering EOPNOTSUPP 2025-11-23 22:00:26 -08:00
Jeremy Soller 0844e6fc90 WIP: use upper fd table 2025-11-15 07:55:37 -07:00
Jeremy Soller aeb243746c Add recv/sendmsg flags to metadata 2025-11-13 10:19:45 -07:00