Commit Graph

48 Commits

Author SHA1 Message Date
Jeremy Soller 1668052a1c Update Cargo.lock 2022-07-26 17:27:40 -06:00
4lDO2 3aa241558c Update syscall 2022-03-25 15:08:49 +01:00
4lDO2 4080e5dd09 Update syscall. 2021-06-17 14:37:32 +02:00
Jeremy Soller 0c5c45c580 Update redox_syscall 2021-01-19 11:23:26 -07:00
Jeremy Soller 328b88a4a4 Update redox_syscall 2020-08-02 16:03:50 -06:00
jD91mZM2 05b16898ee Update Cargo.lock 2020-07-16 15:56:15 +02:00
jD91mZM2 ea390f66ac Comment explaining when ipcd connects to existing 2020-06-28 12:23:47 +02:00
Jeremy Soller e0ca9648ea Merge branch 'bugfix/fix-unnamed-sockets' into 'master'
Fix unnamed sockets

See merge request redox-os/ipcd!3
2020-02-08 14:01:03 +00:00
Tiago Lam ea4247c0b5 chan: Support turning unnamed into named sockets.
Previous approach, reverted in commit c7cf2ca, would break unnamed
sockets - since it assumed there would always be an interim step were
one would first name an unnamed socket, before "listen" / "connect".

Instead of using the same approach as the "tcp:" scheme in Redox's
netstack, which requires an extra mapping of temporary unnamed sockets,
handle the different use cases in dup(). Thus, if a "buf" is provided
that's not a "connect" or "listen", it must be a new path for turning
the unnamed socket into a named socket and should be handled as such.
2020-02-08 10:29:52 +00:00
Tiago Lam 73570b0926 Revert "chan: Support opening "empty" ChanScheme."
This reverts commit 9526ffa80f.
2020-02-08 10:24:57 +00:00
Jeremy Soller c7cf2ca0e0 Merge branch 'feature/support-af-unix-sockets' into 'master'
Support AF_UNIX sockets

See merge request redox-os/ipcd!2
2020-02-07 02:18:48 +00:00
Tiago Lam fad13404d5 chan: Keep path in for new Handle.
While supporting AF_UNIX, once an accept() is called in relibc, in turn,
a dup() is also called with "listen". While processing this ipcd
effectively creates a new handler, losing track of the path of the
previous handler.

However, it is important to keep this path in the newly created Handler
as well, so the socket can be queried later by relibc (when calling
fpath()) and fill in appropriately its sockaddr_un struct.
2020-02-06 08:27:47 +00:00
Tiago Lam 9526ffa80f chan: Support opening "empty" ChanScheme.
Similarly to how the "tcp:" in Redox's netstack supports opening a first
empty scheme, only to later on being dup()'ed and set with an
appropriate path, this follows the same approach - a map of NullFile
structs is kept and initially associated with an id. Next time dup() is
called, the true Handle is created, keeping the same definitions of the
previously created NullFile.

Not that it is important to add support for this in the ipcd to support
AF_UNIX sockets, otherwise the socket() created in relibc won't be
associated with a address / path.
2020-02-06 08:27:47 +00:00
Jeremy Soller f264f99ddd Merge branch 'patch-1' into 'master'
Update README.md to remove broken link.

Closes #1

See merge request redox-os/ipcd!1
2019-10-06 23:45:36 +00:00
Coleman McFarland 3ff2d28a92 Update README.md to remove broken link.
Opting to just remove the link altogether to fix #1
2019-09-22 13:46:46 +00:00
Jeremy Soller f5bcff90f8 Fix unmount logic 2019-07-18 20:24:52 -06:00
Jeremy Soller b0bb843a65 Allow unmount of chan and shm 2019-07-18 20:22:56 -06:00
Jeremy Soller b6cc9f2ebd Mount chan and shm O_NONBLOCK 2019-07-18 20:22:38 -06:00
Jeremy Soller 2653a4ff98 Add redoxer ci 2019-07-07 11:53:34 -06:00
jD91mZM2 85f6cea0bd Support multiple connectors to listener 2019-04-25 17:06:37 +02:00
jD91mZM2 50e0b499f4 Cleanup event system 2019-04-25 14:50:50 +02:00
Jeremy Soller 3efdf1db8a Support for new fevent 2019-03-13 13:58:08 -06:00
jD91mZM2 06f4d6b9a3 Support new fmap stuff! 2018-12-30 15:43:59 +01:00
jD91mZM2 49e424d8a4 Add separate scheme for fmap 2018-12-28 18:12:31 +01:00
jD91mZM2 f9ed9ab263 Add gitignore 2018-09-09 18:48:00 +02:00
jD91mZM2 19f8137eef Tiny cleanup 2018-06-16 16:17:25 +02:00
jD91mZM2 1e09107684 Add GitLab CI 2018-06-10 20:04:32 +02:00
jD91mZM2 a33edcf322 Remove unused import from example 2018-06-07 20:11:57 +02:00
jD91mZM2 85aa51328a Slightly improve code for requiring listener/client 2018-06-07 18:05:36 +02:00
jD91mZM2 97179331df Add more messages to event test & delete unused variable 2018-06-03 17:25:40 +02:00
jD91mZM2 879bbf0dad Revert "Only send events that were asked for"
This reverts commit 438acd7d09.

Apparently the test I wrote passes anyway with the old code.
I assume the kernel is filtering the events out.
2018-06-03 17:22:39 +02:00
jD91mZM2 438acd7d09 Only send events that were asked for 2018-06-03 17:09:56 +02:00
jD91mZM2 9454cdfbb4 Code cleanup & bugfixes related to connections dropped early 2018-06-03 15:01:39 +02:00
jD91mZM2 31a2b95fe0 Add hello example 2018-06-02 18:19:55 +02:00
jD91mZM2 6f362b4548 Rename struct 2018-06-02 18:07:18 +02:00
jD91mZM2 34e82a7235 Return EPIPE instead of ENOTCONN 2018-06-02 18:04:30 +02:00
jD91mZM2 8a54eadae0 Fix events & more event tests 2018-06-02 17:17:03 +02:00
jD91mZM2 af3813c518 Add unnamed sockets & don't send EOF before connected 2018-06-02 16:28:33 +02:00
jD91mZM2 92ba44c99b README: Fix broken link 2018-06-02 15:58:34 +02:00
jD91mZM2 4327481d3c Rename example 2018-06-02 12:22:47 +02:00
jD91mZM2 1a731fcb24 Rename to ipcd because that sounds better 2018-06-02 12:14:48 +02:00
jD91mZM2 eae2252c5f Announce when ready to dup 2018-06-02 11:56:51 +02:00
jD91mZM2 974d37f8e2 Properly send EOF 2018-06-02 11:10:08 +02:00
jD91mZM2 9369ea58d8 Minor code cleanup 2018-06-02 10:52:56 +02:00
jD91mZM2 ac7ddf2e40 Add README and LICENSE 2018-06-02 10:39:20 +02:00
jD91mZM2 b4133ff956 Support events 2018-06-02 10:27:10 +02:00
jD91mZM2 da017f7941 Basic nonblocking I/O 2018-06-02 09:27:54 +02:00
jD91mZM2 1624deadfa Initial commit 2018-06-02 09:00:49 +02:00