{"id":15653985,"url":"https://github.com/dimkr/libwaive","last_synced_at":"2025-04-30T22:24:10.831Z","repository":{"id":35585111,"uuid":"39857778","full_name":"dimkr/libwaive","owner":"dimkr","description":"A library that allows processes to waive their rights","archived":false,"fork":false,"pushed_at":"2015-12-22T21:30:48.000Z","size":12,"stargazers_count":27,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-30T20:33:42.478Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dimkr.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-28T21:06:14.000Z","updated_at":"2024-01-24T12:21:25.000Z","dependencies_parsed_at":"2022-08-31T18:03:25.714Z","dependency_job_id":null,"html_url":"https://github.com/dimkr/libwaive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Flibwaive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Flibwaive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Flibwaive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dimkr%2Flibwaive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dimkr","download_url":"https://codeload.github.com/dimkr/libwaive/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251790457,"owners_count":21644221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T12:48:40.689Z","updated_at":"2025-04-30T22:24:10.811Z","avatar_url":"https://github.com/dimkr.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":" _ _ _                  _\n| (_) |____      ____ _(_)_   _____\n| | | '_ \\ \\ /\\ / / _` | \\ \\ / / _ \\\n| | | |_) \\ V  V / (_| | |\\ V /  __/\n|_|_|_.__/ \\_/\\_/ \\__,_|_| \\_/ \\___|\n\nOverview\n========\n\nlibwaive is a tiny library that provides waive(), a function that allows a\nprocess to waive its right to perform certain actions (e.g. open a file).\n\nIt is inspired by Theo de Raadt's tame() system call\n(http://article.gmane.org/gmane.os.openbsd.tech/43085) and uses libseccomp\n(https://github.com/seccomp/libseccomp) and cmake (https://cmake.org).\n\nBuilding\n========\n\nlibwaive can be built with either CMake (https://www.cmake.org/) or GNU Make\n(https://www.gnu.org/software/make/), with some limitations.\n\nTo build, simply run the following commands:\n\n  $ mkdir build\n  $ cd build\n  $ cmake ..\n  $ make\n  $ sudo make install\n\nor:\n\n  $ make\n  $ sudo make install\n\nLimitations\n===========\n\nlibwaive has three major shortcomings:\n  1) It has to be updated when new system calls are introduced.\n  2) When built against older kernel headers, libwaive won't block newer system\n     calls present in the kernel it actually runs on, because detection is done\n     at build-time.\n  3) Due to limitations of libseccomp's API, libwaive cannot check the\n     parameters of system calls that accept pointers (e.g. socketcall).\n     Therefore, it is recommended to use WAIVE_SOCKET rather than WAIVE_INET,\n     WAIVE_UN or WAIVE_PACKET, if possible.\n\nCredits and Legal Information\n=============================\n\nlibwaive is free and unencumbered software released under the terms of the MIT\nlicense; see COPYING for the license text. For a list of its authors and\ncontributors, see AUTHORS.\n\nThe ASCII art logo at the top was made using FIGlet (http://www.figlet.org/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimkr%2Flibwaive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdimkr%2Flibwaive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdimkr%2Flibwaive/lists"}