-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Mac OS #18
Draft
aszlig
wants to merge
4
commits into
master
Choose a base branch
from
darwin
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
aszlig
force-pushed
the
darwin
branch
5 times, most recently
from
July 9, 2020 06:55
5887a4b
to
5911036
Compare
aszlig
force-pushed
the
darwin
branch
2 times, most recently
from
July 8, 2021 22:55
a8c872a
to
3ef2ee3
Compare
For the record and according to golang/go#27613, there seems to be a |
This reverts commit c945f58. I initially removed the workflow because it was failing all the time and always seeing commit messages with failed CI checks is not only pretty unhelpful but we might miss other *relevant* failures because of that. So this brings back the workflow for Darwin since we're now actually working on at least trying to implement support for it. The reason why I'm not adding this *after* adding support is that I don't have a Mac OS X machine, so I have to purely relying on the GitHub Actions workflow. Signed-off-by: aszlig <aszlig@nix.build>
While LOCAL_PEERCRED is somewhat similar to SO_PEERCRED, we unfortunately don't have access to the PID of the remote peer. This is something we actually need to properly distinguish the remote peer by giving it an IP address with the PID encoded, otherwise we'd end up with duplicate IPs. On the other hand, using random IP addresses also is not a very good solution here, since we actually *want* to have the same IP for the same process. Right now the UID and GID fields are not used at all on Darwin, but we really need to figure out a way to properly assign fake IP addresses. Signed-off-by: aszlig <aszlig@nix.build>
This is needed in order to run integration tests, which we certainly want to run on Darwin, because I do not have a single machine running MacOS and thus for me the only way to check whether something is broken is by checking whether the integration tests have failed. Signed-off-by: aszlig <aszlig@nix.build>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a WIP branch to implement support for Mac OS X, which in theory should work since it has a similar mechanism (
DYLD_INSERT_LIBRARIES
) toLD_PRELOAD
on GNU/Linux.Fundamental issues:
LOCAL_PEERCRED
. It seems that there is onlyxucred.cr_uid
, but in order to provide fake client IPs we need at least the peer PID to properly distinguish the individual peers.We can't useAccording to https://ubuntu.com/18-04, the standard support has expired on 31 May 2023.std::filesystem
yet, because Ubuntu 18.04 is still using GCC 7. Find a less ugly way toget_current_dir_name
in a cross-platform way.