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:
parent
64db3ef1bb
commit
c6c74d117d
2 changed files with 41 additions and 33 deletions
68
auto/sockets
68
auto/sockets
|
@ -166,51 +166,53 @@ 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
|
||||
#include <sys/socket.h>
|
||||
|
||||
int main() {
|
||||
return SO_PASSCRED == 0;
|
||||
}"
|
||||
. auto/feature
|
||||
|
||||
|
||||
if [ $nxt_found = yes ]; then
|
||||
nxt_feature="struct ucred"
|
||||
nxt_feature_name=NXT_HAVE_UCRED
|
||||
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>
|
||||
#include <sys/un.h>
|
||||
|
||||
int main() {
|
||||
return sizeof(struct ucred);
|
||||
return SO_PASSCRED == 0;
|
||||
}"
|
||||
. auto/feature
|
||||
|
||||
|
||||
if [ $nxt_found = yes ]; then
|
||||
nxt_feature="struct ucred"
|
||||
nxt_feature_name=NXT_HAVE_UCRED
|
||||
nxt_feature_run=
|
||||
nxt_feature_incs=
|
||||
nxt_feature_libs=
|
||||
nxt_feature_test="#define _GNU_SOURCE
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
|
||||
int main() {
|
||||
return sizeof(struct ucred);
|
||||
}"
|
||||
. auto/feature
|
||||
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
|
||||
#include <sys/socket.h>
|
||||
|
||||
int main() {
|
||||
return sizeof(struct cmsgcred);
|
||||
}"
|
||||
. auto/feature
|
||||
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
|
||||
#include <sys/socket.h>
|
||||
|
||||
int main() {
|
||||
return sizeof(struct cmsgcred);
|
||||
}"
|
||||
. auto/feature
|
||||
|
||||
|
||||
nxt_feature="sys/filio.h"
|
||||
nxt_feature_name=NXT_HAVE_SYS_FILIO_H
|
||||
nxt_feature_run=
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue