mcfunley / mcfunley/juds

Support for Linux abstract namespace.

Open
#6 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
190
Forks
58
PR merge metrics
No merged PRs in 30d

Description

First off, thanks for JUDS, it's really helpful.

I've slightly modified the code to support the Linux abstract namespace. In UnixDomainSocket.c, in the method sockaddr_init, I've added the following:

// Linux abstract namespace
if (socketFile[0]=='@')
sa->sun_path[0] = 0;

The following code connects to a domain socket in the abstract namespace:

UnixDomainSocketClient socket = new UnixDomainSocketClient("@some_socket" JUDS.SOCK_STREAM);
socket.getOutputStream().write("Ohai!".getBytes());
socket.close();

It might be nice to either merge this two-line fix, or perhaps support the abstract namespace in another way.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in UnixDomainSocket.c, in sockaddr_init, and review how socket paths are placed into the Unix-domain address structure. Use the issue's UnixDomainSocketClient example with an @some_socket path, while confirming ordinary socket paths still work; done means abstract-namespace connections are supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, linux
Domain
networking, operating-systems
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.