Browse code

remove old apache versions and obsolete patches

Hanno Böck authored on 04/05/2012 11:09:30
Showing 8 changed files
... ...
@@ -1,24 +1,8 @@
1 1
 AUX 2.2.22-envvars-std.in 1071 RMD160 4613555ac600a4941ccd43128f98a9f6a95ba57d SHA1 b69dc500bb49fb14c801c6ab130a624c24e4d7fa SHA256 1721b424f2335640e49d71e671a4be15424d29fe90f55fe4f52bd241a998d3ee
2 2
 AUX apache-2.2.14-staticdhparameters.diff 11745 RMD160 3aa5d2a5fd56b55fbfac372241ed47431146b262 SHA1 ae91f275450cce294f6700bcb12fb7851fd7070f SHA256 1fecd496f7df6438cf44b331a0b15d6ceaa0522fcb20d7246772f10f7c3c41df
3 3
 AUX apache-noip.diff 417 RMD160 8e16f7ff130cea52449a25aafbbdeb78919d9eae SHA1 7c19a0236e4eff23bee6e69ee6708a24529a974c SHA256 c9ed84fec20e69f711600261a395a3d4b3ae2685318f6354c4d2ebd01c0ec4cc
4
-AUX apache-tlsext-workaround.diff 395 RMD160 c756f0e935e4392d44c57a202fd73af173b3b9b2 SHA1 f9619250609d4bd1bddc3e28e23f61cfedb93c09 SHA256 ee0b535bc401ae6b4028d4fa238198f067cacab936d69596c4d8b4ca1ea23619
5 4
 AUX httpd-2.2.16-ecc.diff 8236 RMD160 604f1124c168805b7702a6ca4a26ee7004fbab0b SHA1 3badbccc36c21710ef1c60f47963bcc631c00917 SHA256 e7fe97852875de06372d8413248fa20419946e2ab7de5198c93bffa6b5a68461
6
-AUX httpd-2.2.x-sni.diff 13866 RMD160 ae21ae0ebc2c0d263b5290d67aeefd56b145ed73 SHA1 b8b8dcc56e6a7bb5c07d95fa46683db4170dd7ba SHA256 092aaa998f2b15e6b89b0785c237ce3bb40d4bf188509fcf58470ce5731380e9
7
-DIST gentoo-apache-2.2.16-20100828.tar.bz2 63742 RMD160 c001f1f55099977c41b03346e449c95629f6b9be SHA1 bcb607199244948ffbb883aa36cabe54865ccfea SHA256 2820546adc7b3b3a38ae5173c75cab7ac42cc611570f0ffd814f833ee464f608
8
-DIST gentoo-apache-2.2.17-20110218.tar.bz2 62615 RMD160 05b57ab08e1938e5bf41ead2ce53c71c59303d60 SHA1 2a877d8269c3df5bb11f1a3c30953b38e8a17119 SHA256 8cc3cfe47d55877eaff15d6688d9ced1e7e54c93f012f4d84561d7ef7a3118ad
9
-DIST gentoo-apache-2.2.20-20110901.tar.bz2 63251 RMD160 279438975a3890ac5c14f882c2ffa436b2841912 SHA1 012db5dc78129b627f633c4fd5ff0319d6d0bba2 SHA256 3b4e809673516efb7c78d904d1d776e243e03437227c472eb08e6ec3688fc067
10
-DIST gentoo-apache-2.2.21-20110915.tar.bz2 63319 RMD160 797b3236145631fb18236cbc120775e5a634d82e SHA1 e0bbd052d7ccab1eb32887489aaad27990c1e355 SHA256 5cad94064254f00ffd561a3cf4e736b41aeaa082815450463cd4face6ded0f27
11
-DIST gentoo-apache-2.2.21-r1-20111018.tar.bz2 64196 RMD160 fb3d4c1716ecf2763caef5f5d927d8276ebaca47 SHA1 347138d7738c6bbfc0eab1d520f101ac1bb0fa35 SHA256 8c78505a34184b526099db5edb36b6b4ab57b6d2a43eec537ca7984f94639ec7
12 5
 DIST gentoo-apache-2.2.22-20120213.tar.bz2 64507 RMD160 d4d5ac58156e10cdbbfaeb3e7a7569bda81f6f7e SHA1 0c0e80bfddc0fb4b9df3b736239392be9fbc40fb SHA256 737730dabf1e1ccfe9d409067dc3c4d37d16f7fa1e792f5bf39268d904ce1c31
13
-DIST httpd-2.2.16.tar.bz2 4775545 RMD160 2e6d7d1dae40905be7fdd793140f62cf58112095 SHA1 ef92f5b3124fe5e9ba6121ea7f4bab8c014068f9 SHA256 9457d57a6bea15ce5bde83c88803c030953b99bdd0fbae65854adff527ed4c52
14
-DIST httpd-2.2.17.tar.bz2 4951247 RMD160 4a2f16f2891094d4176565fadf0e8fcadf7dbaff SHA1 5c9b44620dee449a86ba1bcba1715033c2c26b08 SHA256 868af11e3ed8fa9aade15241ea4f51971b3ef71104292ca2625ef2065e61fb04
15
-DIST httpd-2.2.20.tar.bz2 5174611 RMD160 299d1a8a9f3a6eb925d63ce96fa8ea4a06ec1f17 SHA1 c8f00a505af6ed3f89f45b640217c388f5cd32b0 SHA256 1ee914855249b09d9cd2e20e98a0ab02f15c270fe277d4a5c9b62975479fc81e
16
-DIST httpd-2.2.21.tar.bz2 5324905 RMD160 6464a03d78ab858b1288ea9eef4cd5f73b60a9f1 SHA1 c02f9b05da9a7e316ff37d9053dc76a57ba51cb4 SHA256 18d5591fe48cfbac44fc20316036ffe17456df60bc3a2aaad238d56c6445577f
17 6
 DIST httpd-2.2.22.tar.bz2 5378934 RMD160 237a26a7759e7e1af175900d598e25fb082a4eb9 SHA1 766cd0843050a8dfb781e48b976f3ba6ebcf8696 SHA256 dcdc9f1dc722f84798caf69d69dca78daa5e09a4269060045aeca7e4f44cb231
18
-EBUILD apache-2.2.16.ebuild 2474 RMD160 b5932b7fb8f535a04f3bbaf9914d762faa227376 SHA1 e128d51edff342e06454912b26b5bfae780201d7 SHA256 946feaa6a54d19e0d17acb277ab9e77173e62218a209cea4adb2f39f187fb8af
19
-EBUILD apache-2.2.17.ebuild 2800 RMD160 c2aa5d7da738e45373e0cc7339e413bad3557e5a SHA1 c6879641f80082b8f75b4f42a846874f556aee94 SHA256 83f31753eebda1c74392e74b3520475d227ffb31da41f4b2057e10b1401f3fe1
20
-EBUILD apache-2.2.20.ebuild 2787 RMD160 33bcf018695ad8e6ce3beca2e1ce1479b7839f5a SHA1 5cb5d1cc61539e4c1bcb55fee6f5dff3b417bae4 SHA256 85f904c57696b368656837e5b195f8b2210ac703103d1a46ce7801f9983cd9ef
21
-EBUILD apache-2.2.21-r1.ebuild 2878 RMD160 aebdac0ad671ac05b1c7bf112a4a4e855012608a SHA1 d0ec2d7e7c4ffa517e6f7102886363f493e4b48c SHA256 e492085938fba74ae3e623f4bc8916986a0260db7666db3dee6fbcdcef71d8d2
22
-EBUILD apache-2.2.21.ebuild 2783 RMD160 18b86737a93ad332064e358b4078fea9c078c301 SHA1 7c8c3ac29b59c08823971f663bb4fde46ec9f3f6 SHA256 6695358dcc6ff20aec9508aaa2dca7df1fcbca92250df269a5b810b4dd129e75
23 7
 EBUILD apache-2.2.22-r1.ebuild 3206 RMD160 2fe9d60ea36de0540bce18cba003a4c18191802a SHA1 3e26be46b7480b5cf2e4341f37c7ea81002062d7 SHA256 4c72b2164c32c34e85c6a8e99c68464e5505eeb79bf94eed7ad1d62ba2045c0e
24 8
 EBUILD apache-2.2.22.ebuild 3001 RMD160 aa73c429658766b1ff9361259939794d8f267d78 SHA1 03d45671feb3621197c4a7c3d2e5550df7386db5 SHA256 cf930cea2f7e8a8bd2f7cabe7de9ecf56efb33d10bd3fe2d70acaa6e86cebb0c
25 9
deleted file mode 100644
... ...
@@ -1,98 +0,0 @@
1
-# Copyright 1999-2010 Gentoo Foundation
2
-# Distributed under the terms of the GNU General Public License v2
3
-# $Header: /var/cvsroot/gentoo-x86/www-servers/apache/apache-2.2.16.ebuild,v 1.1 2010/08/28 15:03:47 hollow Exp $
4
-
5
-# latest gentoo apache files
6
-GENTOO_PATCHSTAMP="20100828"
7
-GENTOO_DEVELOPER="hollow"
8
-
9
-# IUSE/USE_EXPAND magic
10
-IUSE_MPMS_FORK="itk peruser prefork"
11
-IUSE_MPMS_THREAD="event worker"
12
-
13
-IUSE_MODULES="actions alias asis auth_basic auth_digest authn_alias authn_anon
14
-authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default
15
-authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta
16
-charset_lite cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache dumpio
17
-env expires ext_filter file_cache filter headers ident imagemap include info
18
-log_config log_forensic logio mem_cache mime mime_magic negotiation proxy proxy_ajp
19
-proxy_balancer proxy_connect proxy_ftp proxy_http rewrite setenvif speling
20
-status substitute unique_id userdir usertrack version vhost_alias"
21
-
22
-# inter-module dependencies
23
-# TODO: this may still be incomplete
24
-MODULE_DEPENDS="
25
-	dav_fs:dav
26
-	dav_lock:dav
27
-	deflate:filter
28
-	disk_cache:cache
29
-	ext_filter:filter
30
-	file_cache:cache
31
-	log_forensic:log_config
32
-	logio:log_config
33
-	mem_cache:cache
34
-	mime_magic:mime
35
-	proxy_ajp:proxy
36
-	proxy_balancer:proxy
37
-	proxy_connect:proxy
38
-	proxy_ftp:proxy
39
-	proxy_http:proxy
40
-	substitute:filter
41
-"
42
-
43
-# module<->define mappings
44
-MODULE_DEFINES="
45
-	auth_digest:AUTH_DIGEST
46
-	authnz_ldap:AUTHNZ_LDAP
47
-	cache:CACHE
48
-	dav:DAV
49
-	dav_fs:DAV
50
-	dav_lock:DAV
51
-	disk_cache:CACHE
52
-	file_cache:CACHE
53
-	info:INFO
54
-	ldap:LDAP
55
-	mem_cache:CACHE
56
-	proxy:PROXY
57
-	proxy_ajp:PROXY
58
-	proxy_balancer:PROXY
59
-	proxy_connect:PROXY
60
-	proxy_ftp:PROXY
61
-	proxy_http:PROXY
62
-	ssl:SSL
63
-	status:STATUS
64
-	suexec:SUEXEC
65
-	userdir:USERDIR
66
-"
67
-
68
-# critical modules for the default config
69
-MODULE_CRITICAL="
70
-	authz_host
71
-	dir
72
-	mime
73
-"
74
-
75
-inherit apache-2
76
-
77
-DESCRIPTION="The Apache Web Server."
78
-HOMEPAGE="http://httpd.apache.org/"
79
-
80
-# some helper scripts are Apache-1.1, thus both are here
81
-LICENSE="Apache-2.0 Apache-1.1"
82
-SLOT="2"
83
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
84
-IUSE="ecc"
85
-
86
-DEPEND="${DEPEND}
87
-	>=dev-libs/openssl-0.9.8m
88
-	apache2_modules_deflate? ( sys-libs/zlib )"
89
-
90
-RDEPEND="${RDEPEND}
91
-	>=dev-libs/openssl-0.9.8m
92
-	apache2_modules_mime? ( app-misc/mime-types )"
93
-
94
-src_prepare() {
95
-	apache-2_src_prepare
96
-	epatch "${FILESDIR}/apache-noip.diff"
97
-	use ecc && epatch "${FILESDIR}/httpd-2.2.16-ecc.diff"
98
-}
99 0
deleted file mode 100644
... ...
@@ -1,106 +0,0 @@
1
-# Copyright 1999-2011 Gentoo Foundation
2
-# Distributed under the terms of the GNU General Public License v2
3
-# $Header: /var/cvsroot/gentoo-x86/www-servers/apache/apache-2.2.17.ebuild,v 1.2 2011/03/26 20:01:03 angelos Exp $
4
-
5
-# latest gentoo apache files
6
-GENTOO_PATCHSTAMP="20110218"
7
-GENTOO_DEVELOPER="hollow"
8
-# We want the patch from r0
9
-GENTOO_PATCHNAME="gentoo-${P}"
10
-
11
-# IUSE/USE_EXPAND magic
12
-IUSE_MPMS_FORK="itk peruser prefork"
13
-IUSE_MPMS_THREAD="event worker"
14
-
15
-IUSE_MODULES="actions alias asis auth_basic auth_digest authn_alias authn_anon
16
-authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default
17
-authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta
18
-charset_lite cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache dumpio
19
-env expires ext_filter file_cache filter headers ident imagemap include info
20
-log_config log_forensic logio mem_cache mime mime_magic negotiation proxy
21
-proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi rewrite
22
-reqtimeout setenvif speling status substitute unique_id userdir usertrack
23
-version vhost_alias"
24
-# The following are also in the source as of this version, but are not available
25
-# for user selection:
26
-# bucketeer case_filter case_filter_in echo http isapi optional_fn_export
27
-# optional_fn_import optional_hook_export optional_hook_import
28
-
29
-# inter-module dependencies
30
-# TODO: this may still be incomplete
31
-MODULE_DEPENDS="
32
-	dav_fs:dav
33
-	dav_lock:dav
34
-	deflate:filter
35
-	disk_cache:cache
36
-	ext_filter:filter
37
-	file_cache:cache
38
-	log_forensic:log_config
39
-	logio:log_config
40
-	mem_cache:cache
41
-	mime_magic:mime
42
-	proxy_ajp:proxy
43
-	proxy_balancer:proxy
44
-	proxy_connect:proxy
45
-	proxy_ftp:proxy
46
-	proxy_http:proxy
47
-	proxy_scgi:proxy
48
-	substitute:filter
49
-"
50
-
51
-# module<->define mappings
52
-MODULE_DEFINES="
53
-	auth_digest:AUTH_DIGEST
54
-	authnz_ldap:AUTHNZ_LDAP
55
-	cache:CACHE
56
-	dav:DAV
57
-	dav_fs:DAV
58
-	dav_lock:DAV
59
-	disk_cache:CACHE
60
-	file_cache:CACHE
61
-	info:INFO
62
-	ldap:LDAP
63
-	mem_cache:CACHE
64
-	proxy:PROXY
65
-	proxy_ajp:PROXY
66
-	proxy_balancer:PROXY
67
-	proxy_connect:PROXY
68
-	proxy_ftp:PROXY
69
-	proxy_http:PROXY
70
-	ssl:SSL
71
-	status:STATUS
72
-	suexec:SUEXEC
73
-	userdir:USERDIR
74
-"
75
-
76
-# critical modules for the default config
77
-MODULE_CRITICAL="
78
-	authz_host
79
-	dir
80
-	mime
81
-"
82
-
83
-inherit apache-2
84
-
85
-src_prepare() {
86
-	epatch "${FILESDIR}"/apache-noip.diff
87
-	epatch "${FILESDIR}"/httpd-2.2.16-ecc.diff
88
-	apache-2_src_prepare
89
-}
90
-
91
-DESCRIPTION="The Apache Web Server."
92
-HOMEPAGE="http://httpd.apache.org/"
93
-
94
-# some helper scripts are Apache-1.1, thus both are here
95
-LICENSE="Apache-2.0 Apache-1.1"
96
-SLOT="2"
97
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
98
-IUSE=""
99
-
100
-DEPEND="${DEPEND}
101
-	>=dev-libs/openssl-0.9.8m
102
-	apache2_modules_deflate? ( sys-libs/zlib )"
103
-
104
-RDEPEND="${RDEPEND}
105
-	>=dev-libs/openssl-0.9.8m
106
-	apache2_modules_mime? ( app-misc/mime-types )"
107 0
deleted file mode 100644
... ...
@@ -1,106 +0,0 @@
1
-# Copyright 1999-2011 Gentoo Foundation
2
-# Distributed under the terms of the GNU General Public License v2
3
-# $Header: /var/cvsroot/gentoo-x86/www-servers/apache/apache-2.2.20.ebuild,v 1.6 2011/09/03 13:34:07 armin76 Exp $
4
-
5
-# latest gentoo apache files
6
-GENTOO_PATCHSTAMP="20110901"
7
-GENTOO_DEVELOPER="pva"
8
-# We want the patch from r0
9
-GENTOO_PATCHNAME="gentoo-${P}"
10
-
11
-# IUSE/USE_EXPAND magic
12
-IUSE_MPMS_FORK="itk peruser prefork"
13
-IUSE_MPMS_THREAD="event worker"
14
-
15
-IUSE_MODULES="actions alias asis auth_basic auth_digest authn_alias authn_anon
16
-authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default
17
-authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta
18
-charset_lite cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache dumpio
19
-env expires ext_filter file_cache filter headers ident imagemap include info
20
-log_config log_forensic logio mem_cache mime mime_magic negotiation proxy
21
-proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi rewrite
22
-reqtimeout setenvif speling status substitute unique_id userdir usertrack
23
-version vhost_alias"
24
-# The following are also in the source as of this version, but are not available
25
-# for user selection:
26
-# bucketeer case_filter case_filter_in echo http isapi optional_fn_export
27
-# optional_fn_import optional_hook_export optional_hook_import
28
-
29
-# inter-module dependencies
30
-# TODO: this may still be incomplete
31
-MODULE_DEPENDS="
32
-	dav_fs:dav
33
-	dav_lock:dav
34
-	deflate:filter
35
-	disk_cache:cache
36
-	ext_filter:filter
37
-	file_cache:cache
38
-	log_forensic:log_config
39
-	logio:log_config
40
-	mem_cache:cache
41
-	mime_magic:mime
42
-	proxy_ajp:proxy
43
-	proxy_balancer:proxy
44
-	proxy_connect:proxy
45
-	proxy_ftp:proxy
46
-	proxy_http:proxy
47
-	proxy_scgi:proxy
48
-	substitute:filter
49
-"
50
-
51
-# module<->define mappings
52
-MODULE_DEFINES="
53
-	auth_digest:AUTH_DIGEST
54
-	authnz_ldap:AUTHNZ_LDAP
55
-	cache:CACHE
56
-	dav:DAV
57
-	dav_fs:DAV
58
-	dav_lock:DAV
59
-	disk_cache:CACHE
60
-	file_cache:CACHE
61
-	info:INFO
62
-	ldap:LDAP
63
-	mem_cache:CACHE
64
-	proxy:PROXY
65
-	proxy_ajp:PROXY
66
-	proxy_balancer:PROXY
67
-	proxy_connect:PROXY
68
-	proxy_ftp:PROXY
69
-	proxy_http:PROXY
70
-	ssl:SSL
71
-	status:STATUS
72
-	suexec:SUEXEC
73
-	userdir:USERDIR
74
-"
75
-
76
-# critical modules for the default config
77
-MODULE_CRITICAL="
78
-	authz_host
79
-	dir
80
-	mime
81
-"
82
-
83
-inherit apache-2
84
-
85
-src_prepare() {
86
-	epatch "${FILESDIR}"/apache-noip.diff
87
-	epatch "${FILESDIR}"/httpd-2.2.16-ecc.diff
88
-	apache-2_src_prepare
89
-}
90
-
91
-DESCRIPTION="The Apache Web Server."
92
-HOMEPAGE="http://httpd.apache.org/"
93
-
94
-# some helper scripts are Apache-1.1, thus both are here
95
-LICENSE="Apache-2.0 Apache-1.1"
96
-SLOT="2"
97
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
98
-IUSE=""
99
-
100
-DEPEND="${DEPEND}
101
-	>=dev-libs/openssl-0.9.8m
102
-	apache2_modules_deflate? ( sys-libs/zlib )"
103
-
104
-RDEPEND="${RDEPEND}
105
-	>=dev-libs/openssl-0.9.8m
106
-	apache2_modules_mime? ( app-misc/mime-types )"
107 0
deleted file mode 100644
... ...
@@ -1,110 +0,0 @@
1
-# Copyright 1999-2012 Gentoo Foundation
2
-# Distributed under the terms of the GNU General Public License v2
3
-# $Header: /var/cvsroot/gentoo-x86/www-servers/apache/apache-2.2.21-r1.ebuild,v 1.8 2012/03/05 08:17:32 patrick Exp $
4
-
5
-EAPI="2"
6
-
7
-# latest gentoo apache files
8
-GENTOO_PATCHSTAMP="20111018"
9
-GENTOO_DEVELOPER="pva"
10
-# We want the patch from r0
11
-GENTOO_PATCHNAME="gentoo-${P}-r1"
12
-
13
-# IUSE/USE_EXPAND magic
14
-IUSE_MPMS_FORK="itk peruser prefork"
15
-IUSE_MPMS_THREAD="event worker"
16
-
17
-IUSE_MODULES="actions alias asis auth_basic auth_digest authn_alias authn_anon
18
-authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default
19
-authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta
20
-charset_lite cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache dumpio
21
-env expires ext_filter file_cache filter headers ident imagemap include info
22
-log_config log_forensic logio mem_cache mime mime_magic negotiation proxy
23
-proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi rewrite
24
-reqtimeout setenvif speling status substitute unique_id userdir usertrack
25
-version vhost_alias"
26
-# The following are also in the source as of this version, but are not available
27
-# for user selection:
28
-# bucketeer case_filter case_filter_in echo http isapi optional_fn_export
29
-# optional_fn_import optional_hook_export optional_hook_import
30
-
31
-# inter-module dependencies
32
-# TODO: this may still be incomplete
33
-MODULE_DEPENDS="
34
-	dav_fs:dav
35
-	dav_lock:dav
36
-	deflate:filter
37
-	disk_cache:cache
38
-	ext_filter:filter
39
-	file_cache:cache
40
-	log_forensic:log_config
41
-	logio:log_config
42
-	mem_cache:cache
43
-	mime_magic:mime
44
-	proxy_ajp:proxy
45
-	proxy_balancer:proxy
46
-	proxy_connect:proxy
47
-	proxy_ftp:proxy
48
-	proxy_http:proxy
49
-	proxy_scgi:proxy
50
-	substitute:filter
51
-"
52
-
53
-# module<->define mappings
54
-MODULE_DEFINES="
55
-	auth_digest:AUTH_DIGEST
56
-	authnz_ldap:AUTHNZ_LDAP
57
-	cache:CACHE
58
-	dav:DAV
59
-	dav_fs:DAV
60
-	dav_lock:DAV
61
-	disk_cache:CACHE
62
-	file_cache:CACHE
63
-	info:INFO
64
-	ldap:LDAP
65
-	mem_cache:CACHE
66
-	proxy:PROXY
67
-	proxy_ajp:PROXY
68
-	proxy_balancer:PROXY
69
-	proxy_connect:PROXY
70
-	proxy_ftp:PROXY
71
-	proxy_http:PROXY
72
-	ssl:SSL
73
-	status:STATUS
74
-	suexec:SUEXEC
75
-	userdir:USERDIR
76
-"
77
-
78
-# critical modules for the default config
79
-MODULE_CRITICAL="
80
-	authz_host
81
-	dir
82
-	mime
83
-"
84
-
85
-inherit apache-2
86
-
87
-DESCRIPTION="The Apache Web Server."
88
-HOMEPAGE="http://httpd.apache.org/"
89
-
90
-# some helper scripts are Apache-1.1, thus both are here
91
-LICENSE="Apache-2.0 Apache-1.1"
92
-SLOT="2"
93
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
94
-IUSE=""
95
-
96
-DEPEND="${DEPEND}
97
-	>=dev-libs/openssl-0.9.8m
98
-	apache2_modules_deflate? ( sys-libs/zlib )"
99
-
100
-# dependency on >=dev-libs/apr-1.4.5 for bug #368651
101
-RDEPEND="${RDEPEND}
102
-	>=dev-libs/apr-1.4.5
103
-	>=dev-libs/openssl-0.9.8m
104
-	apache2_modules_mime? ( app-misc/mime-types )"
105
-
106
-src_prepare() {
107
-	epatch "${FILESDIR}"/apache-noip.diff
108
-	epatch "${FILESDIR}"/httpd-2.2.16-ecc.diff
109
-	apache-2_src_prepare
110
-}
111 0
deleted file mode 100644
... ...
@@ -1,106 +0,0 @@
1
-# Copyright 1999-2011 Gentoo Foundation
2
-# Distributed under the terms of the GNU General Public License v2
3
-# $Header: /var/cvsroot/gentoo-x86/www-servers/apache/apache-2.2.21.ebuild,v 1.1 2011/09/15 10:41:16 pva Exp $
4
-
5
-# latest gentoo apache files
6
-GENTOO_PATCHSTAMP="20110915"
7
-GENTOO_DEVELOPER="pva"
8
-# We want the patch from r0
9
-GENTOO_PATCHNAME="gentoo-${P}"
10
-
11
-# IUSE/USE_EXPAND magic
12
-IUSE_MPMS_FORK="itk peruser prefork"
13
-IUSE_MPMS_THREAD="event worker"
14
-
15
-IUSE_MODULES="actions alias asis auth_basic auth_digest authn_alias authn_anon
16
-authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default
17
-authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta
18
-charset_lite cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache dumpio
19
-env expires ext_filter file_cache filter headers ident imagemap include info
20
-log_config log_forensic logio mem_cache mime mime_magic negotiation proxy
21
-proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http proxy_scgi rewrite
22
-reqtimeout setenvif speling status substitute unique_id userdir usertrack
23
-version vhost_alias"
24
-# The following are also in the source as of this version, but are not available
25
-# for user selection:
26
-# bucketeer case_filter case_filter_in echo http isapi optional_fn_export
27
-# optional_fn_import optional_hook_export optional_hook_import
28
-
29
-# inter-module dependencies
30
-# TODO: this may still be incomplete
31
-MODULE_DEPENDS="
32
-	dav_fs:dav
33
-	dav_lock:dav
34
-	deflate:filter
35
-	disk_cache:cache
36
-	ext_filter:filter
37
-	file_cache:cache
38
-	log_forensic:log_config
39
-	logio:log_config
40
-	mem_cache:cache
41
-	mime_magic:mime
42
-	proxy_ajp:proxy
43
-	proxy_balancer:proxy
44
-	proxy_connect:proxy
45
-	proxy_ftp:proxy
46
-	proxy_http:proxy
47
-	proxy_scgi:proxy
48
-	substitute:filter
49
-"
50
-
51
-# module<->define mappings
52
-MODULE_DEFINES="
53
-	auth_digest:AUTH_DIGEST
54
-	authnz_ldap:AUTHNZ_LDAP
55
-	cache:CACHE
56
-	dav:DAV
57
-	dav_fs:DAV
58
-	dav_lock:DAV
59
-	disk_cache:CACHE
60
-	file_cache:CACHE
61
-	info:INFO
62
-	ldap:LDAP
63
-	mem_cache:CACHE
64
-	proxy:PROXY
65
-	proxy_ajp:PROXY
66
-	proxy_balancer:PROXY
67
-	proxy_connect:PROXY
68
-	proxy_ftp:PROXY
69
-	proxy_http:PROXY
70
-	ssl:SSL
71
-	status:STATUS
72
-	suexec:SUEXEC
73
-	userdir:USERDIR
74
-"
75
-
76
-# critical modules for the default config
77
-MODULE_CRITICAL="
78
-	authz_host
79
-	dir
80
-	mime
81
-"
82
-
83
-inherit apache-2
84
-
85
-src_prepare() {
86
-	epatch "${FILESDIR}"/apache-noip.diff
87
-	epatch "${FILESDIR}"/httpd-2.2.16-ecc.diff
88
-	apache-2_src_prepare
89
-}
90
-
91
-DESCRIPTION="The Apache Web Server."
92
-HOMEPAGE="http://httpd.apache.org/"
93
-
94
-# some helper scripts are Apache-1.1, thus both are here
95
-LICENSE="Apache-2.0 Apache-1.1"
96
-SLOT="2"
97
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~sparc-fbsd ~x86-fbsd"
98
-IUSE=""
99
-
100
-DEPEND="${DEPEND}
101
-	>=dev-libs/openssl-0.9.8m
102
-	apache2_modules_deflate? ( sys-libs/zlib )"
103
-
104
-RDEPEND="${RDEPEND}
105
-	>=dev-libs/openssl-0.9.8m
106
-	apache2_modules_mime? ( app-misc/mime-types )"
107 0
deleted file mode 100644
... ...
@@ -1,14 +0,0 @@
1
-17:53:12.000000000 +0200
2
-+++ httpd-2.2.14/modules/ssl/ssl_engine_init.c  2009-10-21 18:49:05.000000000 
3
-+0200
4
-@@ -382,6 +382,8 @@ static void ssl_init_ctx_tls_extensions(
5
-         ssl_log_ssl_error(APLOG_MARK, APLOG_ERR, s);
6
-         ssl_die();
7
-     }
8
-+
9
-+    SSL_CTX_set_options(mctx->ssl_ctx, SSL_OP_NO_TICKET);
10
- }
11
- #endif
12
- 
13
-
14 0
deleted file mode 100644
... ...
@@ -1,380 +0,0 @@
1
-# httpd-2.2.x-sni.patch - server name indication support for Apache 2.2
2
-# (see RFC 4366, "Transport Layer Security (TLS) Extensions")
3
-
4
-# based on a patch from the EdelKey project
5
-# (http://www.edelweb.fr/EdelKey/files/apache-2.2.0+0.9.9+servername.patch)
6
-
7
-# Needs openssl-SNAP-20060330 / OpenSSL 0.9.8f or later
8
-# to work properly (ftp://ftp.openssl.org/snapshot/). The 0.9.8 versions
9
-# must be configured explicitly for TLS extension support at compile time
10
-# ("./config enable-tlsext").
11
-
12
-Index: httpd-2.2.x/modules/ssl/ssl_private.h
13
-===================================================================
14
-+++ httpd-2.2.x/modules/ssl/ssl_private.h	(working copy)
15
-@@ -35,6 +35,7 @@
16
- #include "http_connection.h"
17
- #include "http_request.h"
18
- #include "http_protocol.h"
19
-+#include "http_vhost.h"
20
- #include "util_script.h"
21
- #include "util_filter.h"
22
- #include "util_ebcdic.h"
23
-@@ -555,6 +556,9 @@ int          ssl_callback_NewSessionCach
24
- SSL_SESSION *ssl_callback_GetSessionCacheEntry(SSL *, unsigned char *, int, int *);
25
- void         ssl_callback_DelSessionCacheEntry(SSL_CTX *, SSL_SESSION *);
26
- void         ssl_callback_LogTracingState(MODSSL_INFO_CB_ARG_TYPE, int, int);
27
-+#ifndef OPENSSL_NO_TLSEXT
28
-+int          ssl_callback_ServerNameIndication(SSL *, int *, modssl_ctx_t *);
29
-+#endif
30
- 
31
- /**  Session Cache Support  */
32
- void         ssl_scache_init(server_rec *, apr_pool_t *);
33
-Index: httpd-2.2.x/modules/ssl/ssl_engine_init.c
34
-===================================================================
35
-+++ httpd-2.2.x/modules/ssl/ssl_engine_init.c	(working copy)
36
-@@ -355,6 +355,33 @@ static void ssl_init_server_check(server
37
-     }
38
- }
39
- 
40
-+#ifndef OPENSSL_NO_TLSEXT
41
-+static void ssl_init_ctx_tls_extensions(server_rec *s,
42
-+                                        apr_pool_t *p,
43
-+                                        apr_pool_t *ptemp,
44
-+                                        modssl_ctx_t *mctx)
45
-+{
46
-+    /*
47
-+     * Configure TLS extensions support
48
-+     */
49
-+    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s,
50
-+                 "Configuring TLS extension handling");
51
-+
52
-+    /*
53
-+     * Server name indication (SNI)
54
-+     */
55
-+    if (!SSL_CTX_set_tlsext_servername_callback(mctx->ssl_ctx,
56
-+                          ssl_callback_ServerNameIndication) ||
57
-+        !SSL_CTX_set_tlsext_servername_arg(mctx->ssl_ctx, mctx)) {
58
-+        ap_log_error(APLOG_MARK, APLOG_ERR, 0, s,
59
-+                     "Unable to initialize TLS servername extension "
60
-+                     "callback (incompatible OpenSSL version?)");
61
-+        ssl_log_ssl_error(APLOG_MARK, APLOG_ERR, s);
62
-+        ssl_die();
63
-+    }
64
-+}
65
-+#endif
66
-+
67
- static void ssl_init_ctx_protocol(server_rec *s,
68
-                                   apr_pool_t *p,
69
-                                   apr_pool_t *ptemp,
70
-@@ -687,6 +714,9 @@ static void ssl_init_ctx(server_rec *s,
71
-     if (mctx->pks) {
72
-         /* XXX: proxy support? */
73
-         ssl_init_ctx_cert_chain(s, p, ptemp, mctx);
74
-+#ifndef OPENSSL_NO_TLSEXT
75
-+        ssl_init_ctx_tls_extensions(s, p, ptemp, mctx);
76
-+#endif
77
-     }
78
- }
79
- 
80
-@@ -1036,9 +1066,19 @@ void ssl_init_CheckServers(server_rec *b
81
-         klen = strlen(key);
82
- 
83
-         if ((ps = (server_rec *)apr_hash_get(table, key, klen))) {
84
--            ap_log_error(APLOG_MARK, APLOG_WARNING, 0,
85
-+            ap_log_error(APLOG_MARK, 
86
-+#ifdef OPENSSL_NO_TLSEXT
87
-+                         APLOG_WARNING, 
88
-+#else
89
-+                         APLOG_DEBUG, 
90
-+#endif
91
-+                         0,
92
-                          base_server,
93
-+#ifdef OPENSSL_NO_TLSEXT
94
-                          "Init: SSL server IP/port conflict: "
95
-+#else
96
-+                         "Init: SSL server IP/port overlap: "
97
-+#endif
98
-                          "%s (%s:%d) vs. %s (%s:%d)",
99
-                          ssl_util_vhostid(p, s),
100
-                          (s->defn_name ? s->defn_name : "unknown"),
101
-@@ -1055,8 +1095,14 @@ void ssl_init_CheckServers(server_rec *b
102
- 
103
-     if (conflict) {
104
-         ap_log_error(APLOG_MARK, APLOG_WARNING, 0, base_server,
105
-+#ifdef OPENSSL_NO_TLSEXT
106
-                      "Init: You should not use name-based "
107
-                      "virtual hosts in conjunction with SSL!!");
108
-+#else
109
-+                     "Init: Name-based SSL virtual hosts only "
110
-+                     "work for clients with TLS server name indication "
111
-+                     "support (RFC 4366)");
112
-+#endif
113
-     }
114
- }
115
- 
116
-Index: httpd-2.2.x/modules/ssl/ssl_engine_vars.c
117
-===================================================================
118
-+++ httpd-2.2.x/modules/ssl/ssl_engine_vars.c	(working copy)
119
-@@ -320,6 +320,12 @@ static char *ssl_var_lookup_ssl(apr_pool
120
-     else if (ssl != NULL && strcEQ(var, "COMPRESS_METHOD")) {
121
-         result = ssl_var_lookup_ssl_compress_meth(ssl);
122
-     }
123
-+#ifndef OPENSSL_NO_TLSEXT
124
-+    else if (ssl != NULL && strcEQ(var, "TLS_SNI")) {
125
-+        result = apr_pstrdup(p, SSL_get_servername(ssl,
126
-+                                                   TLSEXT_NAMETYPE_host_name));
127
-+    }
128
-+#endif
129
-     return result;
130
- }
131
- 
132
-Index: httpd-2.2.x/modules/ssl/ssl_engine_kernel.c
133
-===================================================================
134
-+++ httpd-2.2.x/modules/ssl/ssl_engine_kernel.c	(working copy)
135
-@@ -31,6 +31,9 @@
136
- #include "ssl_private.h"
137
- 
138
- static void ssl_configure_env(request_rec *r, SSLConnRec *sslconn);
139
-+#ifndef OPENSSL_NO_TLSEXT
140
-+static int ssl_find_vhost(void *servername, conn_rec *c, server_rec *s);
141
-+#endif
142
- 
143
- /*
144
-  *  Post Read Request Handler
145
-@@ -39,6 +42,9 @@ int ssl_hook_ReadReq(request_rec *r)
146
- {
147
-     SSLConnRec *sslconn = myConnConfig(r->connection);
148
-     SSL *ssl;
149
-+#ifndef OPENSSL_NO_TLSEXT
150
-+    const char *servername;
151
-+#endif
152
- 
153
-     if (!sslconn) {
154
-         return DECLINED;
155
-@@ -87,6 +93,14 @@ int ssl_hook_ReadReq(request_rec *r)
156
-     if (!ssl) {
157
-         return DECLINED;
158
-     }
159
-+#ifndef OPENSSL_NO_TLSEXT
160
-+    if (!r->hostname &&
161
-+        (servername = SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name))) {
162
-+        /* Use the SNI extension as the hostname if no Host: header was sent */
163
-+        r->hostname = apr_pstrdup(r->pool, servername);
164
-+        ap_update_vhost_from_headers(r);
165
-+    }
166
-+#endif
167
-     SSL_set_app_data2(ssl, r);
168
- 
169
-     /*
170
-@@ -353,6 +367,11 @@ int ssl_hook_Access(request_rec *r)
171
-      * currently active/remembered verify depth (because this means more
172
-      * restriction on the certificate chain).
173
-      */
174
-+    if ((sc->server->auth.verify_depth != UNSET) &&
175
-+        (dc->nVerifyDepth == UNSET)) {
176
-+        /* apply per-vhost setting, if per-directory config is not set */
177
-+        dc->nVerifyDepth = sc->server->auth.verify_depth;
178
-+    }
179
-     if (dc->nVerifyDepth != UNSET) {
180
-         /* XXX: doesnt look like sslconn->verify_depth is actually used */
181
-         if (!(n = sslconn->verify_depth)) {
182
-@@ -382,6 +401,11 @@ int ssl_hook_Access(request_rec *r)
183
-      * verification but at least skip the I/O-intensive renegotation
184
-      * handshake.
185
-      */
186
-+    if ((sc->server->auth.verify_mode != SSL_CVERIFY_UNSET) &&
187
-+        (dc->nVerifyClient == SSL_CVERIFY_UNSET)) {
188
-+        /* apply per-vhost setting, if per-directory config is not set */
189
-+        dc->nVerifyClient = sc->server->auth.verify_mode;
190
-+    }
191
-     if (dc->nVerifyClient != SSL_CVERIFY_UNSET) {
192
-         /* remember old state */
193
-         verify_old = SSL_get_verify_mode(ssl);
194
-@@ -997,6 +1021,9 @@ int ssl_hook_Fixup(request_rec *r)
195
-     SSLDirConfigRec *dc = myDirConfig(r);
196
-     apr_table_t *env = r->subprocess_env;
197
-     char *var, *val = "";
198
-+#ifndef OPENSSL_NO_TLSEXT
199
-+    const char *servername;
200
-+#endif
201
-     STACK_OF(X509) *peer_certs;
202
-     SSL *ssl;
203
-     int i;
204
-@@ -1018,6 +1045,13 @@ int ssl_hook_Fixup(request_rec *r)
205
-     /* the always present HTTPS (=HTTP over SSL) flag! */
206
-     apr_table_setn(env, "HTTPS", "on");
207
- 
208
-+#ifndef OPENSSL_NO_TLSEXT
209
-+    /* add content of SNI TLS extension (if supplied with ClientHello) */
210
-+    if ((servername = SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name))) {
211
-+        apr_table_set(env, "SSL_TLS_SNI", servername);
212
-+    }
213
-+#endif
214
-+
215
-     /* standard SSL environment variables */
216
-     if (dc->nOptions & SSL_OPT_STDENVVARS) {
217
-         for (i = 0; ssl_hook_Fixup_vars[i]; i++) {
218
-@@ -1810,3 +1844,141 @@ void ssl_callback_LogTracingState(MODSSL
219
-     }
220
- }
221
- 
222
-+#ifndef OPENSSL_NO_TLSEXT
223
-+/*
224
-+ * This callback function is executed when OpenSSL encounters an extended
225
-+ * client hello with a server name indication extension ("SNI", cf. RFC 4366).
226
-+ */
227
-+int ssl_callback_ServerNameIndication(SSL *ssl, int *al, modssl_ctx_t *mctx)
228
-+{
229
-+    const char *servername =
230
-+                SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name);
231
-+
232
-+    if (servername) {
233
-+        conn_rec *c = (conn_rec *)SSL_get_app_data(ssl);
234
-+        if (c) {
235
-+            if (ap_vhost_iterate_given_conn(c, ssl_find_vhost,
236
-+                                            (void *)servername)) {
237
-+                ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, c,
238
-+                              "SSL virtual host for servername %s found",
239
-+                              servername);
240
-+                return SSL_TLSEXT_ERR_OK;
241
-+            }
242
-+            else {
243
-+                ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, c,
244
-+                              "No matching SSL virtual host for servername "
245
-+                              "%s found (using default/first virtual host)",
246
-+                              servername);
247
-+                return SSL_TLSEXT_ERR_ALERT_WARNING;
248
-+            }
249
-+        }
250
-+    }
251
-+
252
-+    return SSL_TLSEXT_ERR_NOACK;
253
-+}
254
-+
255
-+/*
256
-+ * Find a (name-based) SSL virtual host where either the ServerName
257
-+ * or one of the ServerAliases matches the supplied name (to be used
258
-+ * with ap_vhost_iterate_given_conn())
259
-+ */
260
-+static int ssl_find_vhost(void *servername, conn_rec *c, server_rec *s) 
261
-+{
262
-+    SSLSrvConfigRec *sc;
263
-+    SSL *ssl;
264
-+    BOOL found = FALSE;
265
-+    apr_array_header_t *names;
266
-+    int i;
267
-+
268
-+    /* check ServerName */
269
-+    if (!strcasecmp(servername, s->server_hostname)) {
270
-+        found = TRUE;
271
-+    }
272
-+
273
-+    /* 
274
-+     * if not matched yet, check ServerAlias entries
275
-+     * (adapted from vhost.c:matches_aliases())
276
-+     */
277
-+    if (!found) {
278
-+        names = s->names;
279
-+        if (names) {
280
-+            char **name = (char **)names->elts;
281
-+            for (i = 0; i < names->nelts; ++i) {
282
-+                if (!name[i])
283
-+                    continue;
284
-+                if (!strcasecmp(servername, name[i])) {
285
-+                    found = TRUE;
286
-+                    break;
287
-+                }
288
-+            }
289
-+        }
290
-+    }
291
-+
292
-+    /* if still no match, check ServerAlias entries with wildcards */
293
-+    if (!found) {
294
-+        names = s->wild_names;
295
-+        if (names) {
296
-+            char **name = (char **)names->elts;
297
-+            for (i = 0; i < names->nelts; ++i) {
298
-+                if (!name[i])
299
-+                    continue;
300
-+                if (!ap_strcasecmp_match(servername, name[i])) {
301
-+                    found = TRUE;
302
-+                    break;
303
-+                }
304
-+            }
305
-+        }
306
-+    }
307
-+
308
-+    /* set SSL_CTX (if matched) */
309
-+    if (found && (ssl = ((SSLConnRec *)myConnConfig(c))->ssl) &&
310
-+        (sc = mySrvConfig(s))) {
311
-+        SSL_set_SSL_CTX(ssl, sc->server->ssl_ctx);
312
-+        /*
313
-+         * SSL_set_SSL_CTX() only deals with the server cert,
314
-+         * so we need to duplicate a few additional settings
315
-+         * from the ctx by hand
316
-+         */
317
-+        SSL_set_options(ssl, SSL_CTX_get_options(ssl->ctx));
318
-+        if ((SSL_get_verify_mode(ssl) == SSL_VERIFY_NONE) ||
319
-+            (SSL_num_renegotiations(ssl) == 0)) {
320
-+           /*
321
-+            * Only initialize the verification settings from the ctx
322
-+            * if they are not yet set, or if we're called when a new
323
-+            * SSL connection is set up (num_renegotiations == 0).
324
-+            * Otherwise, we would possibly reset a per-directory
325
-+            * configuration which was put into effect by ssl_hook_Access.
326
-+            */
327
-+            SSL_set_verify(ssl, SSL_CTX_get_verify_mode(ssl->ctx),
328
-+                           SSL_CTX_get_verify_callback(ssl->ctx));
329
-+        }
330
-+
331
-+        /*
332
-+         * We also need to make sure that the correct mctx
333
-+         * (accessed through the c->base_server->module_config vector)
334
-+         * is assigned to the connection - the CRL callback e.g.
335
-+         * makes use of it for retrieving its store (mctx->crl).
336
-+         * Since logging in callbacks uses c->base_server in many
337
-+         * cases, it also ensures that these messages are routed
338
-+         * to the proper log.
339
-+         */
340
-+        c->base_server = s;
341
-+
342
-+        /*
343
-+         * There is one special filter callback, which is set
344
-+         * very early depending on the base_server's log level.
345
-+         * If this is not the first vhost we're now selecting
346
-+         * (and the first vhost doesn't use APLOG_DEBUG), then
347
-+         * we need to set that callback here.
348
-+         */
349
-+        if (c->base_server->loglevel >= APLOG_DEBUG) {
350
-+            BIO_set_callback(SSL_get_rbio(ssl), ssl_io_data_cb);
351
-+            BIO_set_callback_arg(SSL_get_rbio(ssl), (void *)ssl);
352
-+        }
353
-+
354
-+        return 1;
355
-+    }
356
-+
357
-+    return 0;
358
-+}
359
-+#endif
360
-Index: httpd-2.2.x/modules/ssl/ssl_toolkit_compat.h
361
-===================================================================
362
-+++ httpd-2.2.x/modules/ssl/ssl_toolkit_compat.h	(working copy)
363
-@@ -264,6 +264,12 @@ typedef void (*modssl_popfree_fn)(char *
364
- #define SSL_SESS_CACHE_NO_INTERNAL  SSL_SESS_CACHE_NO_INTERNAL_LOOKUP
365
- #endif
366
- 
367
-+#ifndef OPENSSL_NO_TLSEXT
368
-+#ifndef SSL_CTRL_SET_TLSEXT_HOSTNAME
369
-+#define OPENSSL_NO_TLSEXT
370
-+#endif
371
-+#endif
372
-+
373
- #endif /* SSL_TOOLKIT_COMPAT_H */
374
- 
375
- /** @} */