author | Petr Sumbera <petr.sumbera@oracle.com> |
Mon, 19 Sep 2016 05:51:20 -0700 | |
changeset 7006 | eb24eb49f7c4 |
parent 5738 | fc0e1d002c9e |
permissions | -rw-r--r-- |
1571
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
1 |
Developed in-house, fed back, awaiting accept. |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
2 |
http://redmine.lighttpd.net/issues/2532 |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
3 |
Solaris-specific: in order to start Lighttpd as non-root |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
4 |
user, initial user needs elevated privileges. Those |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
5 |
privileges are unnecessary and should be dropped. |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
6 |
|
5738
fc0e1d002c9e
23061200 Upgrade lighttpd to version 1.4.39
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1571
diff
changeset
|
7 |
--- src/network.c |
fc0e1d002c9e
23061200 Upgrade lighttpd to version 1.4.39
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1571
diff
changeset
|
8 |
+++ src/network.c |
7006
eb24eb49f7c4
24688963 Upgrade lighttpd to version 1.4.41
Petr Sumbera <petr.sumbera@oracle.com>
parents:
5738
diff
changeset
|
9 |
@@ -23,6 +23,8 @@ |
1571
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
10 |
#include <stdlib.h> |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
11 |
#include <assert.h> |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
12 |
|
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
13 |
+#include <priv.h> |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
14 |
+ |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
15 |
#ifdef USE_OPENSSL |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
16 |
# include <openssl/ssl.h> |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
17 |
# include <openssl/err.h> |
7006
eb24eb49f7c4
24688963 Upgrade lighttpd to version 1.4.41
Petr Sumbera <petr.sumbera@oracle.com>
parents:
5738
diff
changeset
|
18 |
@@ -677,6 +679,8 @@ |
5738
fc0e1d002c9e
23061200 Upgrade lighttpd to version 1.4.39
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1571
diff
changeset
|
19 |
size_t i, j; |
1571
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
20 |
network_backend_t backend; |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
21 |
|
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
22 |
+ priv_set_t *tset; |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
23 |
+ |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
24 |
#if OPENSSL_VERSION_NUMBER >= 0x0090800fL |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
25 |
#ifndef OPENSSL_NO_ECDH |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
26 |
EC_KEY *ecdh; |
7006
eb24eb49f7c4
24688963 Upgrade lighttpd to version 1.4.41
Petr Sumbera <petr.sumbera@oracle.com>
parents:
5738
diff
changeset
|
27 |
@@ -1082,6 +1086,16 @@ |
1571
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
28 |
} |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
29 |
} |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
30 |
|
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
31 |
+ /* here we drop privileges we won't need any more */ |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
32 |
+ tset = priv_allocset(); |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
33 |
+ priv_emptyset(tset); |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
34 |
+ priv_addset(tset, PRIV_NET_PRIVADDR); |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
35 |
+ if (setppriv(PRIV_OFF, PRIV_PERMITTED, tset) != 0) { |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
36 |
+ perror("Unable to set privileges: "); |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
37 |
+ return -1; |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
38 |
+ } |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
39 |
+ |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
40 |
+ |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
41 |
return 0; |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
42 |
} |
7422f066784c
17600553 Upgrade lighttpd to version 1.4.33
Jiri Kukacka <jiri.kukacka@oracle.com>
parents:
diff
changeset
|
43 |