Skip to content
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

RFE: ensure parity with the current libseccomp release #37

Open
pcmoore opened this issue Mar 12, 2020 · 10 comments
Open

RFE: ensure parity with the current libseccomp release #37

pcmoore opened this issue Mar 12, 2020 · 10 comments

Comments

@pcmoore
Copy link
Member

pcmoore commented Mar 12, 2020

The libseccomp golang bindings have lagged the main libseccomp release for some time now. Before the next release of the bindings we need to go through and ensure that all of the main libseccomp functionality (e.g. ABI support, new APIs, etc.) that makes sense in golang is supported in the golang bindings.

@kolyshkin
Copy link
Contributor

What are some features that are not implemented in here, compared to the C library?

I was only able to find SCMP_FLTATR_CTL_OPTIMIZE support which seems to be trivial to add. Is there anything else?

@rata
Copy link
Contributor

rata commented Aug 19, 2021

@kolyshkin I don't have a comprehensive list. One item comes to mind, though: the seccomp notify addfd functionality is not implemented in golang, but IIRC it is in the C library.

@kolyshkin
Copy link
Contributor

@pcmoore PTAL #37 (comment). Can we have a list of features that need to be added?

@pcmoore
Copy link
Member Author

pcmoore commented Sep 17, 2021

Well, the reason I wrote "... we need to go through and ensure that all of the main libseccomp functionality ..." is that at the time no one had done a gap analysis between the main library and the golang bindings. It looks like @kolyshkin may have now done that, at least to some degree; if not, a good place to start is the main seccomp.h header file.

@drakenclimber
Copy link
Member

Well, the reason I wrote "... we need to go through and ensure that all of the main libseccomp functionality ..." is that at the time no one had done a gap analysis between the main library and the golang bindings. It looks like @kolyshkin may have now done that, at least to some degree; if not, a good place to start is the main seccomp.h header file.

* https://github.com/seccomp/libseccomp/blob/main/include/seccomp.h.in

Agreed. Unfortunately we dug ourselves a small hole when we added new features to libseccomp proper but didn't add corresponding RFE issues to libseccomp-golang.

But once we're caught up, this should be manageable now that we're all aware of the problem.

@kolyshkin
Copy link
Contributor

I have a WIP implementation of SCMP_FLTATR_API_SYSRAWRC and SCMP_FLTATR_CTL_OPTIMIZE support, which I'll finalize and open a PR for as soon as the existing PRs (#70, #72, #74) are approved and merged, as otherwise there will be conflicting hunks.

@kolyshkin
Copy link
Contributor

I have a WIP implementation of SCMP_FLTATR_API_SYSRAWRC and SCMP_FLTATR_CTL_OPTIMIZE support, which I'll finalize and open a PR for

For the sake of completeness, here it is: #75

Is there anything else that's missing from this package, compared to the C library?

@kolyshkin
Copy link
Contributor

Is there anything else that's missing from this package, compared to the C library?

@pcmoore @drakenclimber as per previous comment, I need some help identifying the gaps that have yet to be filled. Does not need to be elaborate and/or precise -- a quick bullet point list will do.

@pcmoore
Copy link
Member Author

pcmoore commented May 19, 2022

As this is a larger undertaking, I'm wondering if we should move this to the v1.0.0 milestone so we don't hold up any of the v0.Y.Z releases?

@kolyshkin
Copy link
Contributor

As this is a larger undertaking, I'm wondering if we should move this to the v1.0.0 milestone so we don't hold up any of the v0.Y.Z releases?

👍🏻 👍🏻 Voting "yes" with both hands.

@pcmoore pcmoore modified the milestones: v0.10.0, v1.0.0 May 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants