bsdcapsicum.rb 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 876adbe8c5b993392a5c0827d7de2cb90729a4e6084007be54c611e121efc938
4
- data.tar.gz: 85effbf22c9f5f89ebb59478d17211d997ffa12bcd53a37c63b1b0989bf145d1
3
+ metadata.gz: 9f04ca5f787707b481203142fc23a60f7e3ce89042164d83237d8b712771d8f7
4
+ data.tar.gz: 7c1ab8542ec63f7577e4963cfc3429c18abe239d47052ee0bb9a9beb5b50ebda
5
5
  SHA512:
6
- metadata.gz: 3112c288332876b7c959fa45d214c4be5f1b6dd4bf14ba1ec499dc97d017e2ea6f5d95122be24433c636a6228dc292aa1760b33b8a16dcd0b878217f15032a4e
7
- data.tar.gz: baa07bdb4999eff23b9b3c27c695d428c63bf9a4c50395439a8b807e8aa810a906432af230f8d1aa8187ffa85b5c03f6e6b20862819e525168dbcf45c244d377
6
+ metadata.gz: 84846a8ed8ee8cec16a4bd6f92d7953808843d6a4e9990c5bba9f1059b569e782ebefc6ff9b381d036b2f95f7a3369639f5816ae3387fd58bb52013ef9ec2de0
7
+ data.tar.gz: 849f83267b1e8e5fcdab263985c4add0d70a46d30b9ccdb1fcaabc3a4794bae746e737869532c9f0bc25881c97acdec90ec003d5e28e9d02ff741cefc977a847
@@ -22,6 +22,8 @@ Gem::Specification.new do |spec|
22
22
  "lib/*.rb",
23
23
  "lib/**/*.rb",
24
24
  "share/**/*.rb",
25
+ "ext/**/*.rb",
26
+ "ext/**/*.c",
25
27
  ].select { File.file?(_1) }
26
28
 
27
29
  spec.add_runtime_dependency "fiddle", "~> 1.1"
@@ -0,0 +1,95 @@
1
+ #include <sys/capsicum.h>
2
+ #include <ruby.h>
3
+
4
+ void
5
+ Init_bsdcapsicum(void)
6
+ {
7
+ VALUE rb_mBSD = rb_const_get(rb_cObject, rb_intern("BSD"));
8
+ VALUE rb_mCapsicum = rb_const_get(rb_mBSD, rb_intern("Capsicum"));
9
+ VALUE rb_mFFI = rb_define_module_under(rb_mCapsicum, "FFI");
10
+
11
+ // @group File
12
+ rb_define_const(rb_mFFI, "CAP_READ", LONG2NUM(CAP_READ));
13
+ rb_define_const(rb_mFFI, "CAP_WRITE", LONG2NUM(CAP_WRITE));
14
+ rb_define_const(rb_mFFI, "CAP_SEEK", LONG2NUM(CAP_SEEK));
15
+ rb_define_const(rb_mFFI, "CAP_PREAD", LONG2NUM(CAP_PREAD));
16
+ rb_define_const(rb_mFFI, "CAP_PWRITE", LONG2NUM(CAP_PWRITE));
17
+ rb_define_const(rb_mFFI, "CAP_MMAP", LONG2NUM(CAP_MMAP));
18
+ rb_define_const(rb_mFFI, "CAP_CREATE", LONG2NUM(CAP_CREATE));
19
+ rb_define_const(rb_mFFI, "CAP_FEXECVE", LONG2NUM(CAP_FEXECVE));
20
+ rb_define_const(rb_mFFI, "CAP_FSYNC", LONG2NUM(CAP_FSYNC));
21
+ rb_define_const(rb_mFFI, "CAP_FTRUNCATE", LONG2NUM(CAP_FTRUNCATE));
22
+ rb_define_const(rb_mFFI, "CAP_FCHFLAGS", LONG2NUM(CAP_FCHFLAGS));
23
+ rb_define_const(rb_mFFI, "CAP_FCHMOD", LONG2NUM(CAP_FCHMOD));
24
+ rb_define_const(rb_mFFI, "CAP_FCHMODAT", LONG2NUM(CAP_FCHMODAT));
25
+ rb_define_const(rb_mFFI, "CAP_FCHOWN", LONG2NUM(CAP_FCHOWN));
26
+ rb_define_const(rb_mFFI, "CAP_FCHOWNAT", LONG2NUM(CAP_FCHOWNAT));
27
+ rb_define_const(rb_mFFI, "CAP_FLOCK", LONG2NUM(CAP_FLOCK));
28
+ rb_define_const(rb_mFFI, "CAP_FPATHCONF", LONG2NUM(CAP_FPATHCONF));
29
+ rb_define_const(rb_mFFI, "CAP_FSTAT", LONG2NUM(CAP_FSTAT));
30
+ rb_define_const(rb_mFFI, "CAP_FSTATAT", LONG2NUM(CAP_FSTATAT));
31
+ rb_define_const(rb_mFFI, "CAP_FSTATFS", LONG2NUM(CAP_FSTATFS));
32
+ rb_define_const(rb_mFFI, "CAP_FUTIMES", LONG2NUM(CAP_FUTIMES));
33
+ rb_define_const(rb_mFFI, "CAP_FUTIMESAT", LONG2NUM(CAP_FUTIMESAT));
34
+ // @endgroup
35
+
36
+ // @group Sockets
37
+ rb_define_const(rb_mFFI, "CAP_ACCEPT", LONG2NUM(CAP_ACCEPT));
38
+ rb_define_const(rb_mFFI, "CAP_BIND", LONG2NUM(CAP_BIND));
39
+ rb_define_const(rb_mFFI, "CAP_CONNECT", LONG2NUM(CAP_CONNECT));
40
+ rb_define_const(rb_mFFI, "CAP_GETPEERNAME", LONG2NUM(CAP_GETPEERNAME));
41
+ rb_define_const(rb_mFFI, "CAP_GETSOCKNAME", LONG2NUM(CAP_GETSOCKNAME));
42
+ rb_define_const(rb_mFFI, "CAP_GETSOCKOPT", LONG2NUM(CAP_GETSOCKOPT));
43
+ rb_define_const(rb_mFFI, "CAP_LISTEN", LONG2NUM(CAP_LISTEN));
44
+ rb_define_const(rb_mFFI, "CAP_PEELOFF", LONG2NUM(CAP_PEELOFF));
45
+ rb_define_const(rb_mFFI, "CAP_RECV", LONG2NUM(CAP_RECV));
46
+ rb_define_const(rb_mFFI, "CAP_SEND", LONG2NUM(CAP_SEND));
47
+ rb_define_const(rb_mFFI, "CAP_SETSOCKOPT", LONG2NUM(CAP_SETSOCKOPT));
48
+ rb_define_const(rb_mFFI, "CAP_SHUTDOWN", LONG2NUM(CAP_SHUTDOWN));
49
+ rb_define_const(rb_mFFI, "CAP_BINDAT", LONG2NUM(CAP_BINDAT));
50
+ rb_define_const(rb_mFFI, "CAP_SOCK_CLIENT", LONG2NUM(CAP_SOCK_CLIENT));
51
+ rb_define_const(rb_mFFI, "CAP_SOCK_SERVER", LONG2NUM(CAP_SOCK_SERVER));
52
+ // @endgroup
53
+
54
+ // @group ACL
55
+ rb_define_const(rb_mFFI, "CAP_ACL_CHECK", LONG2NUM(CAP_ACL_CHECK));
56
+ rb_define_const(rb_mFFI, "CAP_ACL_DELETE", LONG2NUM(CAP_ACL_DELETE));
57
+ rb_define_const(rb_mFFI, "CAP_ACL_GET", LONG2NUM(CAP_ACL_GET));
58
+ rb_define_const(rb_mFFI, "CAP_ACL_SET", LONG2NUM(CAP_ACL_SET));
59
+ // @endgroup
60
+
61
+ // @group Process
62
+ rb_define_const(rb_mFFI, "CAP_PDGETPID", LONG2NUM(CAP_PDGETPID));
63
+ rb_define_const(rb_mFFI, "CAP_PDKILL", LONG2NUM(CAP_PDKILL));
64
+ rb_define_const(rb_mFFI, "CAP_PDWAIT", LONG2NUM(CAP_PDWAIT));
65
+ // @endgroup
66
+
67
+ // @group Fcntl
68
+ rb_define_const(rb_mFFI, "CAP_FCNTL_GETFL", LONG2NUM(CAP_FCNTL_GETFL));
69
+ rb_define_const(rb_mFFI, "CAP_FCNTL_SETFL", LONG2NUM(CAP_FCNTL_SETFL));
70
+ rb_define_const(rb_mFFI, "CAP_FCNTL_GETOWN", LONG2NUM(CAP_FCNTL_GETOWN));
71
+ rb_define_const(rb_mFFI, "CAP_FCNTL_SETOWN", LONG2NUM(CAP_FCNTL_SETOWN));
72
+ // @endgroup
73
+
74
+ // @group Misc
75
+ rb_define_const(rb_mFFI, "CAP_CHFLAGSAT", LONG2NUM(CAP_CHFLAGSAT));
76
+ rb_define_const(rb_mFFI, "CAP_EVENT", LONG2NUM(CAP_EVENT));
77
+ rb_define_const(rb_mFFI, "CAP_IOCTL", LONG2NUM(CAP_IOCTL));
78
+ rb_define_const(rb_mFFI, "CAP_KQUEUE", LONG2NUM(CAP_KQUEUE));
79
+ rb_define_const(rb_mFFI, "CAP_LOOKUP", LONG2NUM(CAP_LOOKUP));
80
+ rb_define_const(rb_mFFI, "CAP_MAC_GET", LONG2NUM(CAP_MAC_GET));
81
+ rb_define_const(rb_mFFI, "CAP_MAC_SET", LONG2NUM(CAP_MAC_SET));
82
+ rb_define_const(rb_mFFI, "CAP_MKDIRAT", LONG2NUM(CAP_MKDIRAT));
83
+ rb_define_const(rb_mFFI, "CAP_MKFIFOAT", LONG2NUM(CAP_MKFIFOAT));
84
+ rb_define_const(rb_mFFI, "CAP_MKNODAT", LONG2NUM(CAP_MKNODAT));
85
+ rb_define_const(rb_mFFI, "CAP_SEM_GETVALUE", LONG2NUM(CAP_SEM_GETVALUE));
86
+ rb_define_const(rb_mFFI, "CAP_SEM_POST", LONG2NUM(CAP_SEM_POST));
87
+ rb_define_const(rb_mFFI, "CAP_SEM_WAIT", LONG2NUM(CAP_SEM_WAIT));
88
+ rb_define_const(rb_mFFI, "CAP_TTYHOOK", LONG2NUM(CAP_TTYHOOK));
89
+ rb_define_const(rb_mFFI, "CAP_UNLINKAT", LONG2NUM(CAP_UNLINKAT));
90
+ rb_define_const(rb_mFFI, "CAP_FSCK", LONG2NUM(CAP_FSCK));
91
+ rb_define_const(rb_mFFI, "CAP_FCHDIR", LONG2NUM(CAP_FCHDIR));
92
+ rb_define_const(rb_mFFI, "CAP_FCNTL", LONG2NUM(CAP_FCNTL));
93
+ rb_define_const(rb_mFFI, "CAP_RIGHTS_VERSION", LONG2NUM(CAP_RIGHTS_VERSION));
94
+ // @endgroup
95
+ }
@@ -0,0 +1,2 @@
1
+ require "mkmf"
2
+ create_makefile("bsdcapsicum.rb")
@@ -7,7 +7,7 @@ module BSD::Capsicum
7
7
  # documentation can be found in the
8
8
  # [rights(4)](https://man.freebsd.org/cgi/man.cgi?query=rights&apropos=0&sektion=4&format=html)
9
9
  # man page, and they can be used with methods
10
- # such as {BSD::Capsicum#limit! BSD::Capsicum#limit!}
10
+ # such as {BSD::Capsicum#permit! BSD::Capsicum#permit!}
11
11
  module Constants
12
12
  CAP_RIGHTS_VERSION = 0x0
13
13
 
@@ -4,5 +4,5 @@ module BSD
4
4
  end unless defined?(BSD)
5
5
 
6
6
  module BSD::Capsicum
7
- VERSION = "0.4.0"
7
+ VERSION = "0.4.1"
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bsdcapsicum.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Hurst
@@ -134,6 +134,8 @@ files:
134
134
  - LICENSE.ruby-capsicum
135
135
  - README.md
136
136
  - bsdcapsicum.rb.gemspec
137
+ - ext/bsdcapsicum.rb/bsdcapsicum.c
138
+ - ext/bsdcapsicum.rb/extconf.rb
137
139
  - lib/bsd/capsicum.rb
138
140
  - lib/bsd/capsicum/constants.rb
139
141
  - lib/bsd/capsicum/ffi.rb