]>
Commit | Line | Data |
---|---|---|
d2e9e320 RS |
1 | /* |
2 | * Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved. | |
36fafffa | 3 | * |
d2e9e320 RS |
4 | * Licensed under the OpenSSL license (the "License"). You may not use |
5 | * this file except in compliance with the License. You can obtain a copy | |
6 | * in the file LICENSE in the source distribution or at | |
7 | * https://www.openssl.org/source/license.html | |
36fafffa UM |
8 | */ |
9 | ||
74cd365b | 10 | #include <openssl/crypto.h> |
91dc71f9 | 11 | #include <openssl/opensslconf.h> |
36fafffa UM |
12 | |
13 | #if defined(__OpenBSD__) || (defined(__FreeBSD__) && __FreeBSD__ > 2) | |
14 | ||
0f113f3e | 15 | # include OPENSSL_UNISTD |
36fafffa UM |
16 | |
17 | int OPENSSL_issetugid(void) | |
0f113f3e MC |
18 | { |
19 | return issetugid(); | |
20 | } | |
36fafffa | 21 | |
1fbab1dc | 22 | #elif defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS) |
36fafffa UM |
23 | |
24 | int OPENSSL_issetugid(void) | |
0f113f3e MC |
25 | { |
26 | return 0; | |
27 | } | |
36fafffa UM |
28 | |
29 | #else | |
30 | ||
0f113f3e MC |
31 | # include OPENSSL_UNISTD |
32 | # include <sys/types.h> | |
36fafffa UM |
33 | |
34 | int OPENSSL_issetugid(void) | |
0f113f3e MC |
35 | { |
36 | if (getuid() != geteuid()) | |
37 | return 1; | |
38 | if (getgid() != getegid()) | |
39 | return 1; | |
40 | return 0; | |
41 | } | |
36fafffa | 42 | #endif |