Disabling SCM_CREDS usage on DragonFly BSD.

DragonFly BSD supports SCM_CREDS and SCM_RIGHTS, but only the first control
message is passed correctly while the second one isn't processed by the kernel.

This closes #599 issue on GitHub.
This commit is contained in:
Max Romanov
2021-12-01 18:06:38 +03:00
parent 64db3ef1bb
commit c6c74d117d
2 changed files with 41 additions and 33 deletions

View File

@@ -166,21 +166,22 @@ if [ $nxt_found = no ]; then
fi
nxt_feature="sockopt SO_PASSCRED"
nxt_feature_name=NXT_HAVE_SOCKOPT_SO_PASSCRED
nxt_feature_run=
nxt_feature_incs=
nxt_feature_libs=
nxt_feature_test="#define _GNU_SOURCE
if [ $NXT_SYSTEM != DragonFly ]; then
nxt_feature="sockopt SO_PASSCRED"
nxt_feature_name=NXT_HAVE_SOCKOPT_SO_PASSCRED
nxt_feature_run=
nxt_feature_incs=
nxt_feature_libs=
nxt_feature_test="#define _GNU_SOURCE
#include <sys/socket.h>
int main() {
return SO_PASSCRED == 0;
}"
. auto/feature
. auto/feature
if [ $nxt_found = yes ]; then
if [ $nxt_found = yes ]; then
nxt_feature="struct ucred"
nxt_feature_name=NXT_HAVE_UCRED
nxt_feature_run=
@@ -194,21 +195,22 @@ if [ $nxt_found = yes ]; then
return sizeof(struct ucred);
}"
. auto/feature
fi
fi
nxt_feature="struct cmsgcred"
nxt_feature_name=NXT_HAVE_MSGHDR_CMSGCRED
nxt_feature_run=
nxt_feature_incs=
nxt_feature_libs=
nxt_feature_test="#define _GNU_SOURCE
nxt_feature="struct cmsgcred"
nxt_feature_name=NXT_HAVE_MSGHDR_CMSGCRED
nxt_feature_run=
nxt_feature_incs=
nxt_feature_libs=
nxt_feature_test="#define _GNU_SOURCE
#include <sys/socket.h>
int main() {
return sizeof(struct cmsgcred);
}"
. auto/feature
. auto/feature
fi
nxt_feature="sys/filio.h"

View File

@@ -59,6 +59,12 @@ appeared in 1.26.0.
</para>
</change>
<change type="bugfix">
<para>
fatal errors on DragonFly BSD; the bug had appeared in 1.26.0.
</para>
</change>
</changes>