FreeBSD: Avoid caph_stream_rights(3)
caph_stream_rights(3) doesn't exist before FreeBSD 13.0 and there's
no good reason to create that dependency. I still run servers on
FreeBSD 12.
This is a partial revert of cbc9545cb3
.
master
parent
dfa9a6427f
commit
54d899196c
5
chat.c
5
chat.c
|
@ -324,10 +324,11 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
cap_rights_t rights;
|
cap_rights_t rights;
|
||||||
caph_stream_rights(&rights, CAPH_WRITE);
|
|
||||||
int error = 0
|
int error = 0
|
||||||
|| caph_limit_stdin()
|
|| caph_limit_stdin()
|
||||||
|| caph_rights_limit(STDOUT_FILENO, cap_rights_set(&rights, CAP_IOCTL))
|
|| caph_rights_limit(
|
||||||
|
STDOUT_FILENO, cap_rights_init(&rights, CAP_WRITE, CAP_IOCTL)
|
||||||
|
)
|
||||||
|| caph_limit_stderr()
|
|| caph_limit_stderr()
|
||||||
|| caph_rights_limit(
|
|| caph_rights_limit(
|
||||||
irc, cap_rights_init(&rights, CAP_SEND, CAP_RECV, CAP_EVENT)
|
irc, cap_rights_init(&rights, CAP_SEND, CAP_RECV, CAP_EVENT)
|
||||||
|
|
6
log.c
6
log.c
|
@ -54,8 +54,10 @@ void logOpen(void) {
|
||||||
|
|
||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
cap_rights_t rights;
|
cap_rights_t rights;
|
||||||
caph_stream_rights(&rights, CAPH_WRITE);
|
cap_rights_init(
|
||||||
cap_rights_set(&rights, CAP_MKDIRAT, CAP_CREATE);
|
&rights, CAP_MKDIRAT, CAP_CREATE, CAP_WRITE,
|
||||||
|
/* for fdopen(3) */ CAP_FCNTL, CAP_FSTAT
|
||||||
|
);
|
||||||
int error = caph_rights_limit(logDir, &rights);
|
int error = caph_rights_limit(logDir, &rights);
|
||||||
if (error) err(EX_OSERR, "cap_rights_limit");
|
if (error) err(EX_OSERR, "cap_rights_limit");
|
||||||
#endif
|
#endif
|
||||||
|
|
3
ui.c
3
ui.c
|
@ -1192,8 +1192,7 @@ void uiLoad(const char *name) {
|
||||||
|
|
||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
cap_rights_t rights;
|
cap_rights_t rights;
|
||||||
caph_stream_rights(&rights, CAPH_READ | CAPH_WRITE);
|
cap_rights_init(&rights, CAP_READ, CAP_WRITE, CAP_FLOCK, CAP_FTRUNCATE);
|
||||||
cap_rights_set(&rights, CAP_FLOCK, CAP_FTRUNCATE);
|
|
||||||
error = caph_rights_limit(fileno(saveFile), &rights);
|
error = caph_rights_limit(fileno(saveFile), &rights);
|
||||||
if (error) err(EX_OSERR, "cap_rights_limit");
|
if (error) err(EX_OSERR, "cap_rights_limit");
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue