backend/wsgi/wsgiHandler.py | 9
backend/wsgi/wsgiRequest.py | 2
proxy/proxy/Makefile.proxy | 2
proxy/proxy/apacheHandler.py | 2
proxy/proxy/apacheServer.py | 2
proxy/proxy/broker/rhnBroker.py | 2
proxy/proxy/changes-notes-v3x.txt | 112 -
proxy/proxy/httpd-conf/proxy_broker.conf | 36
proxy/proxy/httpd-conf/proxy_redirect.conf | 42
proxy/proxy/httpd-conf/rhn_proxy.conf | 88 -
proxy/proxy/httpd-conf/spacewalk-proxy-python.conf | 91 +
proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf | 17
proxy/proxy/httpd-conf/spacewalk-proxy.conf | 57
proxy/proxy/httpd.conf.sample | 1461 ---------------------
proxy/proxy/redirect/rhnRedirect.py | 2
proxy/proxy/rhnShared.py | 11
proxy/proxy/spacewalk-proxy.spec | 27
proxy/proxy/wsgi/Makefile | 9
proxy/proxy/wsgi/xmlrpc.py | 20
proxy/proxy/wsgi/xmlrpc_redirect.py | 20
20 files changed, 257 insertions(+), 1755 deletions(-)
New commits:
commit aa1e4e5eefe4e60cfc8c1a121794446df21ad43e
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Mar 29 21:24:53 2010 +0200
requires mod_wsgi rutines from spacewalk-backend
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec
index a1d6e42..7718cec 100644
--- a/proxy/proxy/spacewalk-proxy.spec
+++ b/proxy/proxy/spacewalk-proxy.spec
@@ -120,6 +120,7 @@ Requires: mod_wsgi
%endif
Requires: %{name}-broker >= %{version}
Requires: %{name}-common >= %{version}
+Requires: spacewalk-backend >= 0.9.14
Obsoletes: rhns-proxy-common < 5.3.0
%description common
commit 11dad56503632509ea99ae290a308e5649ee6a09
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Mon Mar 29 13:26:39 2010 +0200
import handlers on demand
this addresed import server and satellite_exporter errors in proxy
and import proxy errors in spacewalk
diff --git a/backend/wsgi/wsgiHandler.py b/backend/wsgi/wsgiHandler.py
index a3cd73a..9f4a09f 100644
--- a/backend/wsgi/wsgiHandler.py
+++ b/backend/wsgi/wsgiHandler.py
@@ -16,9 +16,6 @@
from wsgi import wsgiRequest
-from server import apacheServer
-from server import apacheUploadServer
-from satellite_exporter import satexport
from common import log_debug
@@ -68,11 +65,17 @@ def handle(environ, start_response, server, component_type,
type="normal"):
def get_handle(type, name, init=0):
if type == 'upload':
+ from server import apacheUploadServer
return apacheUploadServer.UploadHandlerWrap(name)
#the sat export module doesn't provide a nice server module
elif type == 'exporter':
+ from satellite_exporter import satexport
return getattr(satexport, name)
+ elif type == 'proxy':
+ from proxy import apacheServer
+ return apacheServer.HandlerWrap(name, init=init)
else:
+ from server import apacheServer
return apacheServer.HandlerWrap(name, init=init)
diff --git a/proxy/proxy/wsgi/xmlrpc.py b/proxy/proxy/wsgi/xmlrpc.py
index bdb2f38..33bfc73 100644
--- a/proxy/proxy/wsgi/xmlrpc.py
+++ b/proxy/proxy/wsgi/xmlrpc.py
@@ -17,4 +17,4 @@
from wsgi import wsgiHandler
def application(environ, start_response):
- return wsgiHandler.handle(environ, start_response,
"broker","proxy.broker")
+ return wsgiHandler.handle(environ, start_response,
"broker","proxy.broker", "proxy")
diff --git a/proxy/proxy/wsgi/xmlrpc_redirect.py b/proxy/proxy/wsgi/xmlrpc_redirect.py
index a511665..b734169 100644
--- a/proxy/proxy/wsgi/xmlrpc_redirect.py
+++ b/proxy/proxy/wsgi/xmlrpc_redirect.py
@@ -17,4 +17,4 @@
from wsgi import wsgiHandler
def application(environ, start_response):
- return wsgiHandler.handle(environ, start_response,
"redirect","proxy.redirect")
+ return wsgiHandler.handle(environ, start_response,
"redirect","proxy.redirect", "proxy")
commit 90b5ee52536c573227464260feb109fdb5b8a685
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 26 16:49:42 2010 +0100
proxy dislikes mod_wsgi's cgi-like headers but wanna see uri
diff --git a/backend/wsgi/wsgiRequest.py b/backend/wsgi/wsgiRequest.py
index e0106f9..ba33a81 100644
--- a/backend/wsgi/wsgiRequest.py
+++ b/backend/wsgi/wsgiRequest.py
@@ -28,7 +28,7 @@ class WsgiRequest:
self.headers_in = env
self.path_info = env['PATH_INFO']
self.start_response = start_response
- self.unparsed_uri = env['REQUEST_URI']
+ self.uri = self.unparsed_uri = env['REQUEST_URI']
self.server = WsgiServer(env['SERVER_NAME'], env['SERVER_PORT'])
self.connection = WsgiConnection(env['REMOTE_ADDR'])
self.options = {}
diff --git a/proxy/proxy/rhnShared.py b/proxy/proxy/rhnShared.py
index 2a70755..9c35da1 100644
--- a/proxy/proxy/rhnShared.py
+++ b/proxy/proxy/rhnShared.py
@@ -325,9 +325,12 @@ class SharedHandler:
# Put the headers into the output connection object
http_connection = self.responseContext.getConnection()
for (k, vals) in hdrs.items():
- if string.lower(k) == 'host':
- # Filtering this header, the connection object takes care of
- # it
+ if string.lower(k) in ['content_length', 'content_type']:
+ # mod_wsgi modifies incoming headers so we have to transform them back
+ k = k.replace('_','-')
+ if not (string.lower(k)[:2] == 'x-' or
+ string.lower(k) in ['content-length', 'user-agent',
'content-type']):
+ # filter out header we don't want to send
continue
if type(vals) not in (ListType, TupleType):
vals = [vals]
commit d903436f8fe30784183ae4a26504247df76be036
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 26 10:49:46 2010 +0100
mod_wsgi is already loaded in wsgi.conf
fixed path to wsgi handlers
addresed
Starting httpd: [Fri Mar 26 10:45:50 2010] [warn] module wsgi_module is
already loaded, skipping
[Fri Mar 26 10:46:49 2010] [error] [client 10.10.76.131] Target WSGI
script not found or unable to stat: /usr/share/rhn/proxy/wsgi
diff --git a/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
b/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
index 46c2c7f..bf8cebb 100644
--- a/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
+++ b/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
@@ -2,10 +2,6 @@
# Spacewalk proxy
#
-<IfModule !wsgi_module>
- LoadModule wsgi_module modules/mod_wsgi.so
-</IfModule>
-
WSGIPythonPath "/usr/share/rhn"
<LocationMatch "^/*">
@@ -13,9 +9,9 @@ WSGIPythonPath "/usr/share/rhn"
</LocationMatch>
# Spacewalk proxy broker
-WSGIScriptAlias /XMLRPC /usr/share/rhn/proxy/wsgi/xmlrpc.py
+WSGIScriptAlias /XMLRPC /usr/share/rhn/wsgi/xmlrpc.py
# Spacewalk proxy redirect
-WSGIScriptAlias /XMLRPC_REDIRECT /usr/share/rhn/proxy/wsgi/xmlrpc_redirect.py
-WSGIScriptAlias /XMLRPC_SSL /usr/share/rhn/proxy/wsgi/xmlrpc_redirect.py
+WSGIScriptAlias /XMLRPC_REDIRECT /usr/share/rhn/wsgi/xmlrpc_redirect.py
+WSGIScriptAlias /XMLRPC_SSL /usr/share/rhn/wsgi/xmlrpc_redirect.py
commit 192770572f6959acce5e87f7ef40b1dfecefd007
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 26 10:40:31 2010 +0100
packed mod_wsgi handlers into rpm
diff --git a/proxy/proxy/Makefile.proxy b/proxy/proxy/Makefile.proxy
index fbb7535..6e31edc 100644
--- a/proxy/proxy/Makefile.proxy
+++ b/proxy/proxy/Makefile.proxy
@@ -12,7 +12,7 @@ SGMLS = $(wildcard *.sgml)
MANS = $(patsubst %.sgml,%.8,$(SGMLS))
MANDIR ?= /usr/share/man
-CODE_DIRS = broker redirect pm
+CODE_DIRS = broker redirect pm wsgi
CONF_DIRS = httpd-conf rhn-conf logrotate
PACKAGES_DIR = $(PREFIX)/var/up2date/packages
PACKAGES_LIST_DIR = $(PREFIX)/var/up2date/list
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec
index a50fb9d..a1d6e42 100644
--- a/proxy/proxy/spacewalk-proxy.spec
+++ b/proxy/proxy/spacewalk-proxy.spec
@@ -167,6 +167,7 @@ mkdir -p $RPM_BUILD_ROOT/%{_var}/spool/rhn-proxy/list
%if 0%{?rhel} && 0%{?rhel} < 6
rm -fv $RPM_BUILD_ROOT%{httpdconf}/spacewalk-proxy-wsgi.conf
+rm -rfv $RPM_BUILD_ROOT%{rhnroot}/wsgi/
%else
rm -fv $RPM_BUILD_ROOT%{httpdconf}/spacewalk-proxy-python.conf
%endif
@@ -287,6 +288,8 @@ fi
%attr(640,root,apache) %config %{httpdconf}/spacewalk-proxy-python.conf
%else
%attr(640,root,apache) %config %{httpdconf}/spacewalk-proxy-wsgi.conf
+%{rhnroot}/wsgi/xmlrpc.py*
+%{rhnroot}/wsgi/xmlrpc_redirect.py*
%endif
# the cache
%attr(750,apache,root) %dir %{_var}/cache/rhn
diff --git a/proxy/proxy/wsgi/Makefile b/proxy/proxy/wsgi/Makefile
new file mode 100644
index 0000000..2badfe5
--- /dev/null
+++ b/proxy/proxy/wsgi/Makefile
@@ -0,0 +1,9 @@
+#
+# Makefile for proxy/wsgi
+#
+
+TOP = ..
+SUBDIR = wsgi
+FILES = xmlrpc xmlrpc_redirect
+include $(TOP)/Makefile.defs
+
commit 791bbf5168ba110ab7a19bb9019ee8d4f45d1d2a
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Fri Mar 26 10:29:50 2010 +0100
added mod_wsgi handlers
diff --git a/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
b/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
index cdb0f7b..46c2c7f 100644
--- a/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
+++ b/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
@@ -8,8 +8,6 @@
WSGIPythonPath "/usr/share/rhn"
-WSGIScriptAlias /* /usr/share/rhn/proxy/wsgi/default.py
-
<LocationMatch "^/*">
DirectoryIndex _rhn_proxy/index.html index.html index.htm index.html.var index.shtml
index.php index.php4 index.php3 index.phtml index.cgi
</LocationMatch>
@@ -17,9 +15,7 @@ WSGIScriptAlias /* /usr/share/rhn/proxy/wsgi/default.py
# Spacewalk proxy broker
WSGIScriptAlias /XMLRPC /usr/share/rhn/proxy/wsgi/xmlrpc.py
-# Spacewalk proxy SSL redirect
-WSGIScriptAlias /XMLRPC_SSL /usr/share/rhn/proxy/wsgi/xmlrpc_ssl.py
-
# Spacewalk proxy redirect
WSGIScriptAlias /XMLRPC_REDIRECT /usr/share/rhn/proxy/wsgi/xmlrpc_redirect.py
+WSGIScriptAlias /XMLRPC_SSL /usr/share/rhn/proxy/wsgi/xmlrpc_redirect.py
diff --git a/proxy/proxy/wsgi/xmlrpc.py b/proxy/proxy/wsgi/xmlrpc.py
new file mode 100644
index 0000000..bdb2f38
--- /dev/null
+++ b/proxy/proxy/wsgi/xmlrpc.py
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2010 Red Hat, Inc.
+#
+# This software is licensed to you under the GNU General Public License,
+# version 2 (GPLv2). There is NO WARRANTY for this software, express or
+# implied, including the implied warranties of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+# along with this software; if not, see
+#
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+#
+# Red Hat trademarks are not licensed under GPLv2. No permission is
+# granted to use or replicate Red Hat trademarks that are incorporated
+# in this software or its documentation.
+#
+#
+
+from wsgi import wsgiHandler
+
+def application(environ, start_response):
+ return wsgiHandler.handle(environ, start_response,
"broker","proxy.broker")
diff --git a/proxy/proxy/wsgi/xmlrpc_redirect.py b/proxy/proxy/wsgi/xmlrpc_redirect.py
new file mode 100644
index 0000000..a511665
--- /dev/null
+++ b/proxy/proxy/wsgi/xmlrpc_redirect.py
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2010 Red Hat, Inc.
+#
+# This software is licensed to you under the GNU General Public License,
+# version 2 (GPLv2). There is NO WARRANTY for this software, express or
+# implied, including the implied warranties of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. You should have received a copy of GPLv2
+# along with this software; if not, see
+#
http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
+#
+# Red Hat trademarks are not licensed under GPLv2. No permission is
+# granted to use or replicate Red Hat trademarks that are incorporated
+# in this software or its documentation.
+#
+#
+
+from wsgi import wsgiHandler
+
+def application(environ, start_response):
+ return wsgiHandler.handle(environ, start_response,
"redirect","proxy.redirect")
commit c4642b2762cced3857557b4bdf1e9b78a42314f7
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 16:42:26 2010 +0100
added switch to package mod_python or mod_wsgi config file
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec
index e2b0c29..a50fb9d 100644
--- a/proxy/proxy/spacewalk-proxy.spec
+++ b/proxy/proxy/spacewalk-proxy.spec
@@ -165,6 +165,12 @@ install -d -m 750 $RPM_BUILD_ROOT/%{_var}/cache/rhn/proxy-auth
mkdir -p $RPM_BUILD_ROOT/%{_var}/spool/rhn-proxy/list
+%if 0%{?rhel} && 0%{?rhel} < 6
+rm -fv $RPM_BUILD_ROOT%{httpdconf}/spacewalk-proxy-wsgi.conf
+%else
+rm -fv $RPM_BUILD_ROOT%{httpdconf}/spacewalk-proxy-python.conf
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -277,7 +283,11 @@ fi
%attr(750,root,apache) %dir %{rhnconf}/default
%attr(640,root,apache) %{rhnconf}/default/rhn_proxy.conf
%attr(640,root,apache) %config %{httpdconf}/spacewalk-proxy.conf
+%if 0%{?rhel} && 0%{?rhel} < 6
%attr(640,root,apache) %config %{httpdconf}/spacewalk-proxy-python.conf
+%else
+%attr(640,root,apache) %config %{httpdconf}/spacewalk-proxy-wsgi.conf
+%endif
# the cache
%attr(750,apache,root) %dir %{_var}/cache/rhn
%attr(750,apache,root) %dir %{_var}/cache/rhn/proxy-auth
commit 42aa8192850d52de5ede69d6abfb89fc323071dd
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 16:39:15 2010 +0100
added first draft of proxy mod_wsgi configuration :)
diff --git a/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
b/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
new file mode 100644
index 0000000..cdb0f7b
--- /dev/null
+++ b/proxy/proxy/httpd-conf/spacewalk-proxy-wsgi.conf
@@ -0,0 +1,25 @@
+#
+# Spacewalk proxy
+#
+
+<IfModule !wsgi_module>
+ LoadModule wsgi_module modules/mod_wsgi.so
+</IfModule>
+
+WSGIPythonPath "/usr/share/rhn"
+
+WSGIScriptAlias /* /usr/share/rhn/proxy/wsgi/default.py
+
+<LocationMatch "^/*">
+ DirectoryIndex _rhn_proxy/index.html index.html index.htm index.html.var index.shtml
index.php index.php4 index.php3 index.phtml index.cgi
+</LocationMatch>
+
+# Spacewalk proxy broker
+WSGIScriptAlias /XMLRPC /usr/share/rhn/proxy/wsgi/xmlrpc.py
+
+# Spacewalk proxy SSL redirect
+WSGIScriptAlias /XMLRPC_SSL /usr/share/rhn/proxy/wsgi/xmlrpc_ssl.py
+
+# Spacewalk proxy redirect
+WSGIScriptAlias /XMLRPC_REDIRECT /usr/share/rhn/proxy/wsgi/xmlrpc_redirect.py
+
commit 6a18ea841b85e0f88616d67c41d6a316de67b117
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 16:24:50 2010 +0100
removed section already defined in spacewalk-proxy.conf
diff --git a/proxy/proxy/httpd-conf/spacewalk-proxy-python.conf
b/proxy/proxy/httpd-conf/spacewalk-proxy-python.conf
index 64df799..49f5c56 100644
--- a/proxy/proxy/httpd-conf/spacewalk-proxy-python.conf
+++ b/proxy/proxy/httpd-conf/spacewalk-proxy-python.conf
@@ -2,12 +2,6 @@
# Spacewalk proxy
#
-<IfModule prefork.c>
- # bug #503187
- MaxRequestsPerChild 200
-</IfModule>
-
-# RHN Proxy Server location
<LocationMatch "^/*">
# this stanza contains all the handlers for RHN app code
commit 0aed322c583142514fe83a4f19d87ae22a719793
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 15:56:39 2010 +0100
put new http config files into spacewalk-proxy-common
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec
index f414b25..e2b0c29 100644
--- a/proxy/proxy/spacewalk-proxy.spec
+++ b/proxy/proxy/spacewalk-proxy.spec
@@ -241,7 +241,6 @@ fi
%attr(750,root,apache) %dir %{rhnconf}
%attr(750,root,apache) %dir %{rhnconf}/default
%attr(640,root,apache) %{rhnconf}/default/rhn_proxy_broker.conf
-%attr(640,root,apache) %config(noreplace) %{httpdconf}/proxy_broker.conf
%files redirect
%defattr(-,root,root)
@@ -254,7 +253,6 @@ fi
%attr(750,root,apache) %dir %{rhnconf}
%attr(750,root,apache) %dir %{rhnconf}/default
%attr(640,root,apache) %{rhnconf}/default/rhn_proxy_redirect.conf
-%attr(640,root,apache) %config(noreplace) %{httpdconf}/proxy_redirect.conf
%files common
%defattr(-,root,root)
@@ -278,7 +276,8 @@ fi
%attr(640,root,apache) %config %{rhnconf}/rhn.conf
%attr(750,root,apache) %dir %{rhnconf}/default
%attr(640,root,apache) %{rhnconf}/default/rhn_proxy.conf
-%attr(640,root,apache) %config %{httpdconf}/rhn_proxy.conf
+%attr(640,root,apache) %config %{httpdconf}/spacewalk-proxy.conf
+%attr(640,root,apache) %config %{httpdconf}/spacewalk-proxy-python.conf
# the cache
%attr(750,apache,root) %dir %{_var}/cache/rhn
%attr(750,apache,root) %dir %{_var}/cache/rhn/proxy-auth
commit a62427101b81435cbcddcd7225fae0de054f7718
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 15:48:43 2010 +0100
reshuffled httpd config files
python specific defs put into spacewalk-proxy-python.conf
the rest ended in spacewalk-proxy.conf
diff --git a/proxy/proxy/httpd-conf/proxy_broker.conf
b/proxy/proxy/httpd-conf/proxy_broker.conf
deleted file mode 100644
index 91bef6f..0000000
--- a/proxy/proxy/httpd-conf/proxy_broker.conf
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# XXX: MOTHBALLED - no longer used :XXX
-#
-
-# ** DO NOT EDIT **
-# Red Hat Network httpd configuration inclusion file
-# RHN Proxy Broker Server
-#
-# $Id: proxy_broker.conf,v 1.6 2003/07/02 23:06:59 taw Exp $
-#
-
-# Uncomment (and edit) the following to limit access to a specific channel to
-# specified clients
-#<Location /XMLRPC/$RHN/redhat-powertools-sparc-6.2>
-# <Limit GET>
-# Order allow,deny
-# Allow from
goodguys.com 10.100.100.1
-# </Limit>
-#</Location>
-
-# RHN Proxy Server location
-<Location /XMLRPC>
- SetHandler python-program
- # all of these handlers are defined in apacheServer
- PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
- PythonHandler proxy.apacheServer::Handler
- PythonCleanupHandler proxy.apacheServer::CleanupHandler
- PythonOption RHNComponentType proxy.broker
- DefaultType text/xml
- # Uncomment (and edit) the following to limit access to this proxy's
- # services
- #<Limit GET POST>
- # Order allow,deny
- # Allow from
goodguys.com
- #</Limit>
-</Location>
diff --git a/proxy/proxy/httpd-conf/proxy_redirect.conf
b/proxy/proxy/httpd-conf/proxy_redirect.conf
deleted file mode 100644
index bce895b..0000000
--- a/proxy/proxy/httpd-conf/proxy_redirect.conf
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# XXX: MOTHBALLED - no longer used :XXX
-#
-
-# ** DO NOT EDIT **
-# Red Hat Network httpd configuration inclusion file
-# RHN Proxy SSL Redirect Server
-#
-# $Id: proxy_redirect.conf,v 1.6 2003/07/02 23:06:59 taw Exp $
-#
-
-# RHN Proxy SSL Redirect Server location
-<Location /XMLRPC_SSL>
- SetHandler python-program
- # all of these handlers are defined in apacheServer
- PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
- PythonHandler proxy.apacheServer::Handler
- PythonCleanupHandler proxy.apacheServer::CleanupHandler
- PythonOption RHNComponentType proxy.redirect
- DefaultType text/xml
- # Uncomment (and edit) the following to limit access to this proxy's
- # services
- #<Limit GET POST>
- # Order allow,deny
- # Allow from
goodguys.com
- #</Limit>
-</Location>
-<Location /XMLRPC_REDIRECT>
- SetHandler python-program
- # all of these handlers are defined in apacheServer
- PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
- PythonHandler proxy.apacheServer::Handler
- PythonCleanupHandler proxy.apacheServer::CleanupHandler
- PythonOption RHNComponentType proxy.redirect
- DefaultType text/xml
- # Uncomment (and edit) the following to limit access to this proxy's
- # services
- #<Limit GET POST>
- # Order allow,deny
- # Allow from
goodguys.com
- #</Limit>
-</Location>
diff --git a/proxy/proxy/httpd-conf/rhn_proxy.conf
b/proxy/proxy/httpd-conf/rhn_proxy.conf
deleted file mode 100644
index e56c916..0000000
--- a/proxy/proxy/httpd-conf/rhn_proxy.conf
+++ /dev/null
@@ -1,88 +0,0 @@
-# ** DO NOT EDIT **
-# RHN Proxy handler configuration file
-
-<IfModule prefork.c>
- # bug #503187
- MaxRequestsPerChild 200
-</IfModule>
-
-# RHN Proxy Server location
-<LocationMatch "^/*">
- # this stanza contains all the handlers for RHN app code
-
- # added for oracle
- SetEnv ORACLE_HOME /opt/oracle
- SetEnv NLS_LANG english.UTF8
-
- # mod_python
- <IfModule !mod_python.c>
- LoadModule python_module modules/mod_python.so
- AddModule mod_python.c
- </IfModule>
-
- PythonPath "sys.path+['/usr/share/rhn']"
- PythonDebug Off
-
- # this one shall be common for all the python configlets
- # (for pre-version 3.1 anyway)
- PythonOption RootDir /usr/share/rhn
-
- SetHandler python-program
- # all of these handlers are defined in apacheServer
- PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
- PythonHandler proxy.apacheServer::Handler
- PythonCleanupHandler proxy.apacheServer::CleanupHandler
- DefaultType text/xml
-
- DirectoryIndex _rhn_proxy/index.html index.html index.htm index.html.var index.shtml
index.php index.php4 index.php3 index.phtml index.cgi
-
-</LocationMatch>
-
-# let apache do it's default thing for /pub/*, /index.html, and /_rhn_proxy
-# /pub is where user accessible data resides
-# /_rhn_proxy is for the landing page and anything additional we may want to
-# expand to in the future
-<LocationMatch "^/pub/*">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
-<LocationMatch "^/icons/*">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
-<LocationMatch "^/error/*">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
-<LocationMatch "^/$">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
-<LocationMatch "^/_rhn_proxy">
- SetHandler None
- DefaultType text/plain
-</LocationMatch>
-
-<IfModule mod_rewrite.c>
- RewriteEngine on
-
- # Disable TRACE and TRACK
- RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
- RewriteRule .* - [F]
-
- # Redirect some http page to https for security reasons
- RewriteCond %{SERVER_PORT} 80
- RewriteRule ^/rhn/ReLogin.do(.*)$ https://%{SERVER_NAME}/rhn/ReLogin.do$2 [R,L]
- RewriteRule ^/rhn/?$ https://%{SERVER_NAME}/rhn/ [R,L]
-</IfModule>
-
-
-
-#Disable SSL2, left only higher
-SSLProtocol all -SSLv2
-SSLProxyEngine on
-
diff --git a/proxy/proxy/httpd-conf/spacewalk-proxy-python.conf
b/proxy/proxy/httpd-conf/spacewalk-proxy-python.conf
new file mode 100644
index 0000000..64df799
--- /dev/null
+++ b/proxy/proxy/httpd-conf/spacewalk-proxy-python.conf
@@ -0,0 +1,97 @@
+#
+# Spacewalk proxy
+#
+
+<IfModule prefork.c>
+ # bug #503187
+ MaxRequestsPerChild 200
+</IfModule>
+
+# RHN Proxy Server location
+<LocationMatch "^/*">
+ # this stanza contains all the handlers for RHN app code
+
+ # added for oracle
+ SetEnv ORACLE_HOME /opt/oracle
+ SetEnv NLS_LANG english.UTF8
+
+ # mod_python
+ <IfModule !mod_python.c>
+ LoadModule python_module modules/mod_python.so
+ AddModule mod_python.c
+ </IfModule>
+
+ PythonPath "sys.path+['/usr/share/rhn']"
+ PythonDebug Off
+
+ # this one shall be common for all the python configlets
+ # (for pre-version 3.1 anyway)
+ PythonOption RootDir /usr/share/rhn
+
+ SetHandler python-program
+ # all of these handlers are defined in apacheServer
+ PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
+ PythonHandler proxy.apacheServer::Handler
+ PythonCleanupHandler proxy.apacheServer::CleanupHandler
+ DefaultType text/xml
+
+ DirectoryIndex _rhn_proxy/index.html index.html index.htm index.html.var index.shtml
index.php index.php4 index.php3 index.phtml index.cgi
+
+</LocationMatch>
+
+#
+# Spacewalk proxy broker
+#
+
+<Location /XMLRPC>
+ SetHandler python-program
+ # all of these handlers are defined in apacheServer
+ PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
+ PythonHandler proxy.apacheServer::Handler
+ PythonCleanupHandler proxy.apacheServer::CleanupHandler
+ PythonOption RHNComponentType proxy.broker
+ DefaultType text/xml
+ # Uncomment (and edit) the following to limit access to this proxy's
+ # services
+ #<Limit GET POST>
+ # Order allow,deny
+ # Allow from
goodguys.com
+ #</Limit>
+</Location>
+
+#
+# Spacewalk proxy SSL redirect
+#
+
+<Location /XMLRPC_SSL>
+ SetHandler python-program
+ # all of these handlers are defined in apacheServer
+ PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
+ PythonHandler proxy.apacheServer::Handler
+ PythonCleanupHandler proxy.apacheServer::CleanupHandler
+ PythonOption RHNComponentType proxy.redirect
+ DefaultType text/xml
+ # Uncomment (and edit) the following to limit access to this proxy's
+ # services
+ #<Limit GET POST>
+ # Order allow,deny
+ # Allow from
goodguys.com
+ #</Limit>
+</Location>
+
+<Location /XMLRPC_REDIRECT>
+ SetHandler python-program
+ # all of these handlers are defined in apacheServer
+ PythonHeaderParserHandler proxy.apacheServer::HeaderParserHandler
+ PythonHandler proxy.apacheServer::Handler
+ PythonCleanupHandler proxy.apacheServer::CleanupHandler
+ PythonOption RHNComponentType proxy.redirect
+ DefaultType text/xml
+ # Uncomment (and edit) the following to limit access to this proxy's
+ # services
+ #<Limit GET POST>
+ # Order allow,deny
+ # Allow from
goodguys.com
+ #</Limit>
+</Location>
+
diff --git a/proxy/proxy/httpd-conf/spacewalk-proxy.conf
b/proxy/proxy/httpd-conf/spacewalk-proxy.conf
new file mode 100644
index 0000000..01a32f1
--- /dev/null
+++ b/proxy/proxy/httpd-conf/spacewalk-proxy.conf
@@ -0,0 +1,57 @@
+#
+# Spacewalk proxy
+#
+
+<IfModule prefork.c>
+ # bug #503187
+ MaxRequestsPerChild 200
+</IfModule>
+
+# let apache do it's default thing for /pub/*, /index.html, and /_rhn_proxy
+# /pub is where user accessible data resides
+# /_rhn_proxy is for the landing page and anything additional we may want to
+# expand to in the future
+<LocationMatch "^/pub/*">
+ SetHandler None
+ DefaultType text/plain
+</LocationMatch>
+
+<LocationMatch "^/icons/*">
+ SetHandler None
+ DefaultType text/plain
+</LocationMatch>
+
+<LocationMatch "^/error/*">
+ SetHandler None
+ DefaultType text/plain
+</LocationMatch>
+
+<LocationMatch "^/$">
+ SetHandler None
+ DefaultType text/plain
+</LocationMatch>
+
+<LocationMatch "^/_rhn_proxy">
+ SetHandler None
+ DefaultType text/plain
+</LocationMatch>
+
+<IfModule mod_rewrite.c>
+ RewriteEngine on
+
+ # Disable TRACE and TRACK
+ RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
+ RewriteRule .* - [F]
+
+ # Redirect some http page to https for security reasons
+ RewriteCond %{SERVER_PORT} 80
+ RewriteRule ^/rhn/ReLogin.do(.*)$ https://%{SERVER_NAME}/rhn/ReLogin.do$2 [R,L]
+ RewriteRule ^/rhn/?$ https://%{SERVER_NAME}/rhn/ [R,L]
+</IfModule>
+
+
+
+#Disable SSL2, left only higher
+SSLProtocol all -SSLv2
+SSLProxyEngine on
+
commit 586c7c336a49ff8e501b40b93a3c3af7fff57fee
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 15:32:32 2010 +0100
switched to mod_wsgi on newer systems
diff --git a/proxy/proxy/spacewalk-proxy.spec b/proxy/proxy/spacewalk-proxy.spec
index 57a0a73..f414b25 100644
--- a/proxy/proxy/spacewalk-proxy.spec
+++ b/proxy/proxy/spacewalk-proxy.spec
@@ -69,7 +69,11 @@ Requires: spacewalk-proxy-package-manager
Requires: spacewalk-ssl-cert-check
Requires: httpd
Requires: mod_ssl
+%if 0%{?rhel} && 0%{?rhel} < 6
Requires: mod_python
+%else
+Requires: mod_wsgi
+%endif
Requires(post): %{name}-common
Conflicts: %{name}-redirect < %{version}-%{release}
Conflicts: %{name}-redirect > %{version}-%{release}
@@ -109,7 +113,11 @@ between an Spacewalk Proxy Server and parent Spacewalk server.
Group: Applications/Internet
Summary: Modules shared by Spacewalk Proxy components
Requires: mod_ssl
+%if 0%{?rhel} && 0%{?rhel} < 6
Requires: mod_python
+%else
+Requires: mod_wsgi
+%endif
Requires: %{name}-broker >= %{version}
Requires: %{name}-common >= %{version}
Obsoletes: rhns-proxy-common < 5.3.0
commit 7a1550f6a4dbee60054a258ebe17e0788928a7ec
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 15:30:02 2010 +0100
removed non-used non-referenced file
diff --git a/proxy/proxy/httpd.conf.sample b/proxy/proxy/httpd.conf.sample
deleted file mode 100644
index a065c7c..0000000
--- a/proxy/proxy/httpd.conf.sample
+++ /dev/null
@@ -1,1461 +0,0 @@
-#
-# Based upon the NCSA server configuration files originally by Rob McCool.
-#
-# This is the main Apache server configuration file. It contains the
-# configuration directives that give the server its instructions.
-# See <
URL:http://www.apache.org/docs/> for detailed information about
-# the directives.
-#
-# Do NOT simply read the instructions in here without understanding
-# what they do. They're here only as hints or reminders. If you are unsure
-# consult the online docs. You have been warned.
-#
-# After this file is processed, the server will look for and process
-# /etc/httpd/conf/srm.conf and then /etc/httpd/conf/access.conf
-# unless you have overridden these with ResourceConfig and/or
-# AccessConfig directives here.
-#
-# The configuration directives are grouped into three basic sections:
-# 1. Directives that control the operation of the Apache server process as a
-# whole (the 'global environment').
-# 2. Directives that define the parameters of the 'main' or 'default'
server,
-# which responds to requests that aren't handled by a virtual host.
-# These directives also provide default values for the settings
-# of all virtual hosts.
-# 3. Settings for virtual hosts, which allow Web requests to be sent to
-# different IP addresses or hostnames and have them handled by the
-# same Apache server process.
-#
-# Configuration and logfile names: If the filenames you specify for many
-# of the server's control files begin with "/" (or "drive:/" for
Win32), the
-# server will use that explicit path. If the filenames do *not* begin
-# with "/", the value of ServerRoot is prepended -- so
"logs/foo.log"
-# with ServerRoot set to "/usr/local/apache" will be interpreted by the
-# server as "/usr/local/apache/logs/foo.log".
-#
-
-### Section 1: Global Environment
-#
-# The directives in this section affect the overall operation of Apache,
-# such as the number of concurrent requests it can handle or where it
-# can find its configuration files.
-#
-
-#
-# ServerType is either inetd, or standalone. Inetd mode is only supported on
-# Unix platforms.
-#
-ServerType standalone
-
-#
-# ServerRoot: The top of the directory tree under which the server's
-# configuration, error, and log files are kept.
-#
-# NOTE! If you intend to place this on an NFS (or otherwise network)
-# mounted filesystem then please read the LockFile documentation
-# (available at <
URL:http://www.apache.org/docs/mod/core.html#lockfile>);
-# you will save yourself a lot of trouble.
-#
-# Do NOT add a slash at the end of the directory path.
-#
-ServerRoot "/etc/httpd"
-
-#
-# The LockFile directive sets the path to the lockfile used when Apache
-# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
-# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
-# its default value. The main reason for changing it is if the logs
-# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
-# DISK. The PID of the main server process is automatically appended to
-# the filename.
-#
-LockFile /var/run/httpd.lock
-
-#
-# PidFile: The file in which the server should record its process
-# identification number when it starts.
-#
-PidFile /var/run/httpd.pid
-
-#
-# ScoreBoardFile: File used to store internal server process information.
-# Not all architectures require this. But if yours does (you'll know because
-# this file will be created when you run Apache) then you *must* ensure that
-# no two invocations of Apache share the same scoreboard file.
-#
-ScoreBoardFile logs/apache_runtime_status
-
-#
-# In the standard configuration, the server will process httpd.conf (this
-# file, specified by the -f command line option), srm.conf, and access.conf
-# in that order. The latter two files are now distributed empty, as it is
-# recommended that all directives be kept in a single file for simplicity.
-# The commented-out values below are the built-in defaults. You can have the
-# server ignore these files altogether by using "/dev/null" (for Unix) or
-# "nul" (for Win32) for the arguments to the directives.
-#
-#ResourceConfig conf/srm.conf
-#AccessConfig conf/access.conf
-
-#
-# Timeout: The number of seconds before receives and sends time out.
-#
-Timeout 300
-
-#
-# KeepAlive: Whether or not to allow persistent connections (more than
-# one request per connection). Set to "Off" to deactivate.
-#
-KeepAlive Off
-
-#
-# MaxKeepAliveRequests: The maximum number of requests to allow
-# during a persistent connection. Set to 0 to allow an unlimited amount.
-# We recommend you leave this number high, for maximum performance.
-#
-MaxKeepAliveRequests 100
-
-#
-# KeepAliveTimeout: Number of seconds to wait for the next request from the
-# same client on the same connection.
-#
-KeepAliveTimeout 15
-
-#
-# Server-pool size regulation. Rather than making you guess how many
-# server processes you need, Apache dynamically adapts to the load it
-# sees --- that is, it tries to maintain enough server processes to
-# handle the current load, plus a few spare servers to handle transient
-# load spikes (e.g., multiple simultaneous requests from a single
-# Netscape browser).
-#
-# It does this by periodically checking how many servers are waiting
-# for a request. If there are fewer than MinSpareServers, it creates
-# a new spare. If there are more than MaxSpareServers, some of the
-# spares die off. The default values are probably OK for most sites.
-#
-MinSpareServers 5
-MaxSpareServers 20
-
-#
-# Number of servers to start initially --- should be a reasonable ballpark
-# figure.
-#
-StartServers 8
-
-#
-# Limit on total number of servers running, i.e., limit on the number
-# of clients who can simultaneously connect --- if this limit is ever
-# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
-# It is intended mainly as a brake to keep a runaway server from taking
-# the system with it as it spirals down...
-#
-MaxClients 150
-
-#
-# MaxRequestsPerChild: the number of requests each child process is
-# allowed to process before the child dies. The child will exit so
-# as to avoid problems after prolonged use when Apache (and maybe the
-# libraries it uses) leak memory or other resources. On most systems, this
-# isn't really needed, but a few (such as Solaris) do have notable leaks
-# in the libraries. For these platforms, set to something like 10000
-# or so; a setting of 0 means unlimited.
-#
-# NOTE: This value does not include keepalive requests after the initial
-# request per connection. For example, if a child process handles
-# an initial request and 10 subsequent "keptalive" requests, it
-# would only count as 1 request towards this limit.
-#
-MaxRequestsPerChild 1000
-
-#
-# Listen: Allows you to bind Apache to specific IP addresses and/or
-# ports, in addition to the default. See also the <VirtualHost>
-# directive.
-#
-#Listen 3000
-#Listen 12.34.56.78:80
-#Listen 80
-
-#
-# BindAddress: You can support virtual hosts with this option. This directive
-# is used to tell the server which IP address to listen to. It can either
-# contain "*", an IP address, or a fully qualified Internet domain name.
-# See also the <VirtualHost> and Listen directives.
-#
-#BindAddress *
-
-#
-# Dynamic Shared Object (DSO) Support
-#
-# To be able to use the functionality of a module which was built as a DSO you
-# have to place corresponding `LoadModule' lines at this location so the
-# directives contained in it are actually available _before_ they are used.
-# Please read the file
http://httpd.apache.org/docs/dso.html for more
-# details about the DSO mechanism and run `httpd -l' for the list of already
-# built-in (statically linked and thus always available) modules in your httpd
-# binary.
-#
-# Note: The order in which modules are loaded is important. Don't change
-# the order below without expert advice.
-#
-# Example:
-# LoadModule foo_module modules/mod_foo.so
-
-#LoadModule mmap_static_module modules/mod_mmap_static.so
-LoadModule vhost_alias_module modules/mod_vhost_alias.so
-<IfDefine HAVE_BANDWIDTH>
-LoadModule bandwidth_module modules/mod_bandwidth.so
-</IfDefine>
-<IfDefine HAVE_THROTTLE>
-LoadModule throttle_module modules/mod_throttle.so
-</IfDefine>
-LoadModule env_module modules/mod_env.so
-LoadModule config_log_module modules/mod_log_config.so
-LoadModule agent_log_module modules/mod_log_agent.so
-LoadModule referer_log_module modules/mod_log_referer.so
-#LoadModule mime_magic_module modules/mod_mime_magic.so
-LoadModule mime_module modules/mod_mime.so
-#LoadModule negotiation_module modules/mod_negotiation.so
-LoadModule status_module modules/mod_status.so
-LoadModule info_module modules/mod_info.so
-LoadModule includes_module modules/mod_include.so
-LoadModule autoindex_module modules/mod_autoindex.so
-LoadModule dir_module modules/mod_dir.so
-LoadModule cgi_module modules/mod_cgi.so
-LoadModule asis_module modules/mod_asis.so
-LoadModule imap_module modules/mod_imap.so
-LoadModule action_module modules/mod_actions.so
-#LoadModule speling_module modules/mod_speling.so
-LoadModule userdir_module modules/mod_userdir.so
-LoadModule alias_module modules/mod_alias.so
-LoadModule rewrite_module modules/mod_rewrite.so
-LoadModule access_module modules/mod_access.so
-LoadModule auth_module modules/mod_auth.so
-LoadModule anon_auth_module modules/mod_auth_anon.so
-#LoadModule db_auth_module modules/mod_auth_db.so
-#LoadModule auth_any_module modules/mod_auth_any.so
-#LoadModule dbm_auth_module modules/mod_auth_dbm.so
-#LoadModule auth_ldap_module modules/mod_auth_ldap.so
-#LoadModule mysql_auth_module modules/mod_auth_mysql.so
-#LoadModule auth_pgsql_module modules/mod_auth_pgsql.so
-#LoadModule digest_module modules/mod_digest.so
-#LoadModule proxy_module modules/libproxy.so
-#LoadModule cern_meta_module modules/mod_cern_meta.so
-LoadModule expires_module modules/mod_expires.so
-LoadModule headers_module modules/mod_headers.so
-#LoadModule usertrack_module modules/mod_usertrack.so
-#LoadModule example_module modules/mod_example.so
-#LoadModule unique_id_module modules/mod_unique_id.so
-LoadModule setenvif_module modules/mod_setenvif.so
-<IfDefine HAVE_PERL>
-LoadModule perl_module modules/libperl.so
-</IfDefine>
-<IfDefine HAVE_PHP>
-LoadModule php_module modules/mod_php.so
-</IfDefine>
-<IfDefine HAVE_PHP3>
-LoadModule php3_module modules/libphp3.so
-</IfDefine>
-<IfDefine HAVE_PHP4>
-LoadModule php4_module modules/libphp4.so
-</IfDefine>
-<IfDefine HAVE_DAV>
-LoadModule dav_module modules/libdav.so
-</IfDefine>
-<IfDefine HAVE_ROAMING>
-LoadModule roaming_module modules/mod_roaming.so
-</IfDefine>
-<IfDefine HAVE_SSL>
-LoadModule ssl_module modules/libssl.so
-</IfDefine>
-<IfDefine HAVE_PUT>
-LoadModule put_module modules/mod_put.so
-</IfDefine>
-<IfDefine HAVE_PYTHON>
-LoadModule python_module modules/mod_python.so
-</IfDefine>
-
-# Reconstruction of the complete module list from all available modules
-# (static and shared ones) to achieve correct module execution order.
-# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
-ClearModuleList
-#AddModule mod_mmap_static.c
-AddModule mod_vhost_alias.c
-<IfDefine HAVE_BANDWIDTH>
-AddModule mod_bandwidth.c
-</IfDefine>
-<IfDefine HAVE_THROTTLE>
-AddModule mod_throttle.c
-</IfDefine>
-AddModule mod_env.c
-AddModule mod_log_config.c
-AddModule mod_log_agent.c
-AddModule mod_log_referer.c
-#AddModule mod_mime_magic.c
-AddModule mod_mime.c
-#AddModule mod_negotiation.c
-AddModule mod_status.c
-AddModule mod_info.c
-AddModule mod_include.c
-AddModule mod_autoindex.c
-AddModule mod_dir.c
-AddModule mod_cgi.c
-AddModule mod_asis.c
-AddModule mod_imap.c
-AddModule mod_actions.c
-#AddModule mod_speling.c
-AddModule mod_userdir.c
-AddModule mod_alias.c
-AddModule mod_rewrite.c
-AddModule mod_access.c
-AddModule mod_auth.c
-AddModule mod_auth_anon.c
-#AddModule mod_auth_db.c
-#AddModule mod_auth_any.c
-#AddModule mod_auth_dbm.c
-#AddModule auth_ldap.c
-#AddModule mod_auth_mysql.c
-#AddModule mod_auth_pgsql.c
-#AddModule mod_digest.c
-#AddModule mod_proxy.c
-#AddModule mod_cern_meta.c
-AddModule mod_expires.c
-AddModule mod_headers.c
-#AddModule mod_usertrack.c
-#AddModule mod_example.c
-#AddModule mod_unique_id.c
-AddModule mod_so.c
-AddModule mod_setenvif.c
-<IfDefine HAVE_PERL>
-AddModule mod_perl.c
-</IfDefine>
-<IfDefine HAVE_PHP>
-AddModule mod_php.c
-</IfDefine>
-<IfDefine HAVE_PHP3>
-AddModule mod_php3.c
-</IfDefine>
-<IfDefine HAVE_PHP4>
-AddModule mod_php4.c
-</IfDefine>
-<IfDefine HAVE_DAV>
-AddModule mod_dav.c
-</IfDefine>
-<IfDefine HAVE_ROAMING>
-AddModule mod_roaming.c
-</IfDefine>
-<IfDefine HAVE_SSL>
-AddModule mod_ssl.c
-</IfDefine>
-<IfDefine HAVE_PUT>
-AddModule mod_put.c
-</IfDefine>
-<IfDefine HAVE_PYTHON>
-AddModule mod_python.c
-</IfDefine>
-
-#
-# ExtendedStatus controls whether Apache will generate "full" status
-# information (ExtendedStatus On) or just basic information (ExtendedStatus
-# Off) when the "server-status" handler is called. The default is Off.
-#
-#ExtendedStatus On
-
-### Section 2: 'Main' server configuration
-#
-# The directives in this section set up the values used by the 'main'
-# server, which responds to any requests that aren't handled by a
-# <VirtualHost> definition. These values also provide defaults for
-# any <VirtualHost> containers you may define later in the file.
-#
-# All of these directives may appear inside <VirtualHost> containers,
-# in which case these default settings will be overridden for the
-# virtual host being defined.
-#
-
-#
-# If your ServerType directive (set earlier in the 'Global Environment'
-# section) is set to "inetd", the next few directives don't have any
-# effect since their settings are defined by the inetd configuration.
-# Skip ahead to the ServerAdmin directive.
-#
-
-#
-# Port: The port to which the standalone server listens. For
-# ports < 1023, you will need httpd to be run as root initially.
-#
-Port 80
-
-##
-## SSL Support
-##
-## When we also provide SSL we have to listen to the
-## standard HTTP port (see above) and to the HTTPS port
-##
-<IfDefine HAVE_SSL>
-Listen 80
-Listen 443
-</IfDefine>
-
-#
-# If you wish httpd to run as a different user or group, you must run
-# httpd as root initially and it will switch.
-#
-# User/Group: The name (or #number) of the user/group to run httpd as.
-# . On SCO (ODT 3) use "User nouser" and "Group nogroup".
-# . On HPUX you may not be able to use shared memory as nobody, and the
-# suggested workaround is to create a user www and use that user.
-# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
-# when the value of (unsigned)Group is above 60000;
-# don't use Group "#-1" on these systems!
-#
-User apache
-Group apache
-
-#
-# ServerAdmin: Your address, where problems with the server should be
-# e-mailed. This address appears on some server-generated pages, such
-# as error documents.
-#
-ServerAdmin root@localhost
-
-#
-# ServerName allows you to set a host name which is sent back to clients for
-# your server if it's different than the one the program would get (i.e., use
-# "www" instead of the host's real name).
-#
-# Note: You cannot just invent host names and hope they work. The name you
-# define here must be a valid DNS name for your host. If you don't understand
-# this, ask your network administrator.
-# If your host doesn't have a registered DNS name, enter its IP address here.
-# You will have to access it by its address (e.g.,
http://123.45.67.89/)
-# anyway, and this will make redirections work in a sensible way.
-#
-# 127.0.0.1 is the TCP/IP local loop-back address, often named localhost. Your
-# machine always knows itself by this address. If you use Apache strictly for
-# local testing and development, you may use 127.0.0.1 as the server name.
-#
-#ServerName localhost
-
-#
-# DocumentRoot: The directory out of which you will serve your
-# documents. By default, all requests are taken from this directory, but
-# symbolic links and aliases may be used to point to other locations.
-#
-DocumentRoot "/var/www/html"
-
-#
-# Each directory to which Apache has access, can be configured with respect
-# to which services and features are allowed and/or disabled in that
-# directory (and its subdirectories).
-#
-# First, we configure the "default" to be a very restrictive set of
-# permissions.
-#
-<Directory />
- Options FollowSymLinks
- AllowOverride None
-</Directory>
-
-#
-# Note that from this point forward you must specifically allow
-# particular features to be enabled - so if something's not working as
-# you might expect, make sure that you have specifically enabled it
-# below.
-#
-
-#
-# This should be changed to whatever you set DocumentRoot to.
-#
-<Directory "/var/www/html">
-
-#
-# This may also be "None", "All", or any combination of
"Indexes",
-# "Includes", "FollowSymLinks", "ExecCGI", or
"MultiViews".
-#
-# Note that "MultiViews" must be named *explicitly* --- "Options
All"
-# doesn't give it to you.
-#
- Options Indexes FollowSymLinks
-
-#
-# This controls which options the .htaccess files in directories can
-# override. Can also be "All", or any combination of "Options",
"FileInfo",
-# "AuthConfig", and "Limit"
-#
- AllowOverride None
-
-#
-# Controls who can get stuff from this server.
-#
- Order allow,deny
- Allow from all
-</Directory>
-
-#
-# UserDir: The name of the directory which is appended onto a user's home
-# directory if a ~user request is received.
-#
-# The path to the end user account 'public_html' directory must be
-# accessible to the webserver userid. This usually means that ~userid
-# must have permissions of 711, ~userid/public_html must have permissions
-# of 755, and documents contained therein must be world-readable.
-# Otherwise, the client will only receive a "403 Forbidden" message.
-#
-# See also:
http://httpd.apache.org/docs/misc/FAQ.html#forbidden
-#
-<IfModule mod_userdir.c>
- UserDir public_html
-</IfModule>
-
-#
-# Control access to UserDir directories. The following is an example
-# for a site where these directories are restricted to read-only.
-#
-#<Directory /home/*/public_html>
-# AllowOverride FileInfo AuthConfig Limit
-# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
-# <Limit GET POST OPTIONS PROPFIND>
-# Order allow,deny
-# Allow from all
-# </Limit>
-# <LimitExcept GET POST OPTIONS PROPFIND>
-# Order deny,allow
-# Deny from all
-# </LimitExcept>
-#</Directory>
-
-#
-# DirectoryIndex: Name of the file or files to use as a pre-written HTML
-# directory index. Separate multiple entries with spaces.
-#
-<IfModule mod_dir.c>
- DirectoryIndex _rhn_proxy/index.html index.html index.htm index.shtml index.php
index.php4 index.php3 index.phtml index.cgi
-</IfModule>
-
-#
-# AccessFileName: The name of the file to look for in each directory
-# for access control information.
-#
-AccessFileName .htaccess
-
-#
-# The following lines prevent .htaccess files from being viewed by
-# Web clients. Since .htaccess files often contain authorization
-# information, access is disallowed for security reasons. Comment
-# these lines out if you want Web visitors to see the contents of
-# .htaccess files. If you change the AccessFileName directive above,
-# be sure to make the corresponding changes here.
-#
-# Also, folks tend to use names such as .htpasswd for password
-# files, so this will protect those as well.
-#
-<Files ~ "^\.ht">
- Order allow,deny
- Deny from all
- Satisfy All
-</Files>
-
-#
-# CacheNegotiatedDocs: By default, Apache sends "Pragma: no-cache" with each
-# document that was negotiated on the basis of content. This asks proxy
-# servers not to cache the document. Uncommenting the following line disables
-# this behavior, and proxies will be allowed to cache the documents.
-#
-#CacheNegotiatedDocs
-
-#
-# UseCanonicalName: (new for 1.3) With this setting turned on, whenever
-# Apache needs to construct a self-referencing URL (a URL that refers back
-# to the server the response is coming from) it will use ServerName and
-# Port to form a "canonical" name. With this setting off, Apache will
-# use the hostname:port that the client supplied, when possible. This
-# also affects SERVER_NAME and SERVER_PORT in CGI scripts.
-#
-UseCanonicalName On
-
-#
-# TypesConfig describes where the mime.types file (or equivalent) is
-# to be found.
-#
-<IfModule mod_mime.c>
- TypesConfig /etc/mime.types
-</IfModule>
-
-#
-# DefaultType is the default MIME type the server will use for a document
-# if it cannot otherwise determine one, such as from filename extensions.
-# If your server contains mostly text or HTML documents, "text/plain" is
-# a good value. If most of your content is binary, such as applications
-# or images, you may want to use "application/octet-stream" instead to
-# keep browsers from trying to display binary files as though they are
-# text.
-#
-DefaultType text/plain
-
-#
-# The mod_mime_magic module allows the server to use various hints from the
-# contents of the file itself to determine its type. The MIMEMagicFile
-# directive tells the module where the hint definitions are located.
-# mod_mime_magic is not part of the default server (you have to add
-# it yourself with a LoadModule [see the DSO paragraph in the 'Global
-# Environment' section], or recompile the server and include mod_mime_magic
-# as part of the configuration), so it's enclosed in an <IfModule> container.
-# This means that the MIMEMagicFile directive will only be processed if the
-# module is part of the server.
-#
-<IfModule mod_mime_magic.c>
-# MIMEMagicFile /usr/share/magic.mime
- MIMEMagicFile conf/magic
-</IfModule>
-
-#
-# HostnameLookups: Log the names of clients or just their IP addresses
-# e.g.,
www.apache.org (on) or 204.62.129.132 (off).
-# The default is off because it'd be overall better for the net if people
-# had to knowingly turn this feature on, since enabling it means that
-# each client request will result in AT LEAST one lookup request to the
-# nameserver.
-#
-HostnameLookups Off
-
-#
-# ErrorLog: The location of the error log file.
-# If you do not specify an ErrorLog directive within a <VirtualHost>
-# container, error messages relating to that virtual host will be
-# logged here. If you *do* define an error logfile for a <VirtualHost>
-# container, that host's errors will be logged there and not here.
-#
-ErrorLog logs/error_log
-
-#
-# LogLevel: Control the number of messages logged to the error_log.
-# Possible values include: debug, info, notice, warn, error, crit,
-# alert, emerg.
-#
-LogLevel warn
-
-#
-# The following directives define some format nicknames for use with
-# a CustomLog directive (see below).
-#
-LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-Agent}i\"" combined
-LogFormat "%h %l %u %t \"%r\" %>s %b" common
-LogFormat "%{Referer}i -> %U" referer
-LogFormat "%{User-agent}i" agent
-
-#
-# The location and format of the access logfile (Common Logfile Format).
-# If you do not define any access logfiles within a <VirtualHost>
-# container, they will be logged here. Contrariwise, if you *do*
-# define per-<VirtualHost> access logfiles, transactions will be
-# logged therein and *not* in this file.
-#
-# CustomLog /var/log/httpd/access_log common
-CustomLog logs/access_log combined
-
-#
-# If you would like to have agent and referer logfiles, uncomment the
-# following directives.
-#
-#CustomLog logs/referer_log referer
-#CustomLog logs/agent_log agent
-
-#
-# If you prefer a single logfile with access, agent, and referer information
-# (Combined Logfile Format) you can use the following directive.
-#
-#CustomLog logs/access_log combined
-
-#
-# Optionally add a line containing the server version and virtual host
-# name to server-generated pages (error documents, FTP directory listings,
-# mod_status and mod_info output etc., but not CGI generated documents).
-# Set to "EMail" to also include a mailto: link to the ServerAdmin.
-# Set to one of: On | Off | EMail
-#
-ServerSignature On
-
-# EBCDIC configuration:
-# (only for mainframes using the EBCDIC codeset, currently one of:
-# Fujitsu-Siemens' BS2000/OSD, IBM's OS/390 and IBM's TPF)!!
-# The following default configuration assumes that "text files"
-# are stored in EBCDIC (so that you can operate on them using the
-# normal POSIX tools like grep and sort) while "binary files" are
-# stored with identical octets as on an ASCII machine.
-#
-# The directives are evaluated in configuration file order, with
-# the EBCDICConvert directives applied before EBCDICConvertByType.
-#
-# If you want to have ASCII HTML documents and EBCDIC HTML documents
-# at the same time, you can use the file extension to force
-# conversion off for the ASCII documents:
-# > AddType text/html .ahtml
-# > EBCDICConvert Off=InOut .ahtml
-#
-# EBCDICConvertByType On=InOut text/* message/* multipart/*
-# EBCDICConvertByType On=In application/x-www-form-urlencoded
-# EBCDICConvertByType On=InOut application/postscript model/vrml
-# EBCDICConvertByType Off=InOut */*
-
-
-#
-# Aliases: Add here as many aliases as you need (with no limit). The format is
-# Alias fakename realname
-#
-<IfModule mod_alias.c>
-
- #
- # Note that if you include a trailing / on fakename then the server will
- # require it to be present in the URL. So "/icons" isn't aliased in
this
- # example, only "/icons/". If the fakename is slash-terminated, then the
- # realname must also be slash terminated, and if the fakename omits the
- # trailing slash, the realname must also omit it.
- #
- Alias /icons/ "/var/www/icons/"
-
- <Directory "/var/www/icons">
- Options Indexes MultiViews
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
-
- # This Alias will project the on-line documentation tree under /manual/
- # even if you change the DocumentRoot. Comment it if you don't want to
- # provide access to the on-line documentation.
- #
- # Alias /manual/ "/etc/httpd/htdocs/manual/"
- #
- # <Directory "/etc/httpd/htdocs/manual">
- # Options Indexes FollowSymlinks MultiViews
- # AllowOverride None
- # Order allow,deny
- # Allow from all
- # </Directory>
-
- #
- # ScriptAlias: This controls which directories contain server scripts.
- # ScriptAliases are essentially the same as Aliases, except that
- # documents in the realname directory are treated as applications and
- # run by the server when requested rather than as documents sent to the client.
- # The same rules about trailing "/" apply to ScriptAlias directives as to
- # Alias.
- #
- ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
-
- #
- # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
- # CGI directory exists, if you have that configured.
- #
- <Directory "/var/www/cgi-bin">
- AllowOverride None
- Options None
- Order allow,deny
- Allow from all
- </Directory>
-
-</IfModule>
-# End of aliases.
-
-#
-# Redirect allows you to tell clients about documents which used to exist in
-# your server's namespace, but do not anymore. This allows you to tell the
-# clients where to look for the relocated document.
-# Format: Redirect old-URI new-URL
-#
-
-#
-# Directives controlling the display of server-generated directory listings.
-#
-<IfModule mod_autoindex.c>
-
- #
- # FancyIndexing is whether you want fancy directory indexing or standard
- #
- IndexOptions FancyIndexing NameWidth=*
-
- #
- # AddIcon* directives tell the server which icon to show for different
- # files or filename extensions. These are only displayed for
- # FancyIndexed directories.
- #
- AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
-
- AddIconByType (TXT,/icons/text.gif) text/*
- AddIconByType (IMG,/icons/image2.gif) image/*
- AddIconByType (SND,/icons/sound2.gif) audio/*
- AddIconByType (VID,/icons/movie.gif) video/*
-
- AddIcon /icons/binary.gif .bin .exe
- AddIcon /icons/binhex.gif .hqx
- AddIcon /icons/tar.gif .tar
- AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
- AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
- AddIcon /icons/a.gif .ps .ai .eps
- AddIcon /icons/layout.gif .html .shtml .htm .pdf
- AddIcon /icons/text.gif .txt
- AddIcon /icons/c.gif .c
- AddIcon /icons/p.gif .pl .py
- AddIcon /icons/f.gif .for
- AddIcon /icons/dvi.gif .dvi
- AddIcon /icons/uuencoded.gif .uu
- AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
- AddIcon /icons/tex.gif .tex
- AddIcon /icons/bomb.gif core
-
- AddIcon /icons/back.gif ..
- AddIcon /icons/hand.right.gif README
- AddIcon /icons/folder.gif ^^DIRECTORY^^
- AddIcon /icons/blank.gif ^^BLANKICON^^
-
- #
- # DefaultIcon is which icon to show for files which do not have an icon
- # explicitly set.
- #
- DefaultIcon /icons/unknown.gif
-
- #
- # AddDescription allows you to place a short description after a file in
- # server-generated indexes. These are only displayed for FancyIndexed
- # directories.
- # Format: AddDescription "description" filename
- #
- #AddDescription "GZIP compressed document" .gz
- #AddDescription "tar archive" .tar
- #AddDescription "GZIP compressed tar archive" .tgz
-
- #
- # ReadmeName is the name of the README file the server will look for by
- # default, and append to directory listings.
- #
- # HeaderName is the name of a file which should be prepended to
- # directory indexes.
- #
- # If MultiViews are amongst the Options in effect, the server will
- # first look for name.html and include it if found. If name.html
- # doesn't exist, the server will then look for name.txt and include
- # it as plaintext if found.
- #
- ReadmeName README
- HeaderName HEADER
-
- #
- # IndexIgnore is a set of filenames which directory indexing should ignore
- # and not include in the listing. Shell-style wildcarding is permitted.
- #
- IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
-
-</IfModule>
-# End of indexing directives.
-
-#
-# Document types.
-#
-<IfModule mod_mime.c>
-
- #
- # AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
- # information on the fly. Note: Not all browsers support this.
- # Despite the name similarity, the following Add* directives have nothing
- # to do with the FancyIndexing customization directives above.
- #
- AddEncoding x-compress Z
- AddEncoding x-gzip gz tgz
-
- #
- # AddLanguage allows you to specify the language of a document. You can
- # then use content negotiation to give a browser a file in a language
- # it can understand.
- #
- # Note 1: The suffix does not have to be the same as the language
- # keyword --- those with documents in Polish (whose net-standard
- # language code is pl) may wish to use "AddLanguage pl .po" to
- # avoid the ambiguity with the common suffix for perl scripts.
- #
- # Note 2: The example entries below illustrate that in quite
- # some cases the two character 'Language' abbreviation is not
- # identical to the two character 'Country' code for its country,
- # E.g. 'Danmark/dk' versus 'Danish/da'.
- #
- # Note 3: In the case of 'ltz' we violate the RFC by using a three char
- # specifier. But there is 'work in progress' to fix this and get
- # the reference data for rfc1766 cleaned up.
- #
- # Danish (da) - Dutch (nl) - English (en) - Estonian (ee)
- # French (fr) - German (de) - Greek-Modern (el)
- # Italian (it) - Korean (kr) - Norwegian (no) - Norwegian Nynorsk (nn)
- # Portugese (pt) - Luxembourgeois* (ltz)
- # Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
- # Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
- # Russian (ru)
- #
- AddLanguage da .dk
- AddLanguage nl .nl
- AddLanguage en .en
- AddLanguage et .ee
- AddLanguage fr .fr
- AddLanguage de .de
- AddLanguage el .el
- AddLanguage he .he
- AddCharset ISO-8859-8 .iso8859-8
- AddLanguage it .it
- AddLanguage ja .ja
- AddCharset ISO-2022-JP .jis
- AddLanguage kr .kr
- AddCharset ISO-2022-KR .iso-kr
- AddLanguage nn .nn
- AddLanguage no .no
- AddLanguage pl .po
- AddCharset ISO-8859-2 .iso-pl
- AddLanguage pt .pt
- AddLanguage pt-br .pt-br
- AddLanguage ltz .lu
- AddLanguage ca .ca
- AddLanguage es .es
- AddLanguage sv .se
- AddLanguage cz .cz
- AddLanguage ru .ru
- AddLanguage zh-tw .tw
- AddLanguage tw .tw
- AddCharset Big5 .Big5 .big5
- AddCharset WINDOWS-1251 .cp-1251
- AddCharset CP866 .cp866
- AddCharset ISO-8859-5 .iso-ru
- AddCharset KOI8-R .koi8-r
- AddCharset UCS-2 .ucs2
- AddCharset UCS-4 .ucs4
- AddCharset UTF-8 .utf8
-
- # LanguagePriority allows you to give precedence to some languages
- # in case of a tie during content negotiation.
- #
- # Just list the languages in decreasing order of preference. We have
- # more or less alphabetized them here. You probably want to change this.
- #
- <IfModule mod_negotiation.c>
- LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
- </IfModule>
-
- #
- # AddType allows you to tweak mime.types without actually editing it, or to
- # make certain files to be certain types.
- #
- # For example, the PHP 3.x module (not part of the Apache distribution - see
- #
http://www.php.net) will typically use:
- #
- <IfModule mod_php3.c>
- AddType application/x-httpd-php3 .php3
- AddType application/x-httpd-php3-source .phps
- </IfModule>
- #
- # And for PHP 4.x, use:
- #
- <IfModule mod_php4.c>
- AddType application/x-httpd-php .php .php4 .php3 .phtml
- AddType application/x-httpd-php-source .phps
- </IfModule>
-
- #
- # For PHP/FI (PHP2), use:
- #
- <IfModule mod_php.c>
- AddType application/x-httpd-php .phtml
- </IfModule>
-
- AddType application/x-tar .tgz
-
- #
- # AddHandler allows you to map certain file extensions to "handlers",
- # actions unrelated to filetype. These can be either built into the server
- # or added with the Action command (see below)
- #
- # If you want to use server side includes, or CGI outside
- # ScriptAliased directories, uncomment the following lines.
- #
- # To use CGI scripts:
- #
- #AddHandler cgi-script .cgi
-
- #
- # To use server-parsed HTML files
- #
- AddType text/html .shtml
- AddHandler server-parsed .shtml
-
- #
- # Uncomment the following line to enable Apache's send-asis HTTP file
- # feature
- #
- #AddHandler send-as-is asis
-
- #
- # If you wish to use server-parsed imagemap files, use
- #
- AddHandler imap-file map
-
- #
- # To enable type maps, you might want to use
- #
- #AddHandler type-map var
-
-</IfModule>
-# End of document types.
-
-#
-# Action lets you define media types that will execute a script whenever
-# a matching file is called. This eliminates the need for repeated URL
-# pathnames for oft-used CGI file processors.
-# Format: Action media/type /cgi-script/location
-# Format: Action handler-name /cgi-script/location
-#
-
-#
-# MetaDir: specifies the name of the directory in which Apache can find
-# meta information files. These files contain additional HTTP headers
-# to include when sending the document
-#
-#MetaDir .web
-
-#
-# MetaSuffix: specifies the file name suffix for the file containing the
-# meta information.
-#
-#MetaSuffix .meta
-
-#
-# Customizable error response (Apache style)
-# these come in three flavors
-#
-# 1) plain text
-#ErrorDocument 500 "The server made a boo boo.
-# n.b. the single leading (") marks it as text, it does not get output
-#
-# 2) local redirects
-#ErrorDocument 404 /missing.html
-# to redirect to local URL /missing.html
-#ErrorDocument 404 /cgi-bin/missing_handler.pl
-# N.B.: You can redirect to a script or a document using server-side-includes.
-#
-# 3) external redirects
-#ErrorDocument 402
http://some.other_server.com/subscription_info.html
-# N.B.: Many of the environment variables associated with the original
-# request will *not* be available to such a script.
-
-#
-# Customize behaviour based on the browser
-#
-<IfModule mod_setenvif.c>
-
- #
- # The following directives modify normal HTTP response behavior.
- # The first directive disables keepalive for Netscape 2.x and browsers that
- # spoof it. There are known problems with these browser implementations.
- # The second directive is for Microsoft Internet Explorer 4.0b2
- # which has a broken HTTP/1.1 implementation and does not properly
- # support keepalive when it is used on 301 or 302 (redirect) responses.
- #
- BrowserMatch "Mozilla/2" nokeepalive
- BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
-
- #
- # The following directive disables HTTP/1.1 responses to browsers which
- # are in violation of the HTTP/1.0 spec by not being able to grok a
- # basic 1.1 response.
- #
- BrowserMatch "RealPlayer 4\.0" force-response-1.0
- BrowserMatch "Java/1\.0" force-response-1.0
- BrowserMatch "JDK/1\.0" force-response-1.0
-
-</IfModule>
-# End of browser customization directives
-
-#
-# If the perl module is installed, this will allow execution of mod_perl
-# to compile your scripts to subroutines which it will execute directly,
-# avoiding the costly compile process for most requests.
-#
-#<IfModule mod_perl.c>
-# Alias /perl /var/www/perl
-# <Directory /var/www/perl>
-# SetHandler perl-script
-# PerlHandler Apache::Registry
-# Options +ExecCGI
-# </Directory>
-#</IfModule>
-
-#
-# Allow http put (such as Netscape Gold's publish feature)
-# Use htpasswd to generate /etc/httpd/conf/passwd.
-#
-#<IfModule mod_put.c>
-# Alias /upload /tmp
-# <Directory /tmp>
-# EnablePut On
-# AuthType Basic
-# AuthName Temporary
-# AuthUserFile /etc/httpd/conf/passwd
-# EnableDelete Off
-# umask 007
-# <Limit PUT>
-# require valid-user
-# </Limit>
-# </Directory>
-#</IfModule>
-
-#
-# Allow server status reports, with the URL of
http://servername/server-status
-# Change the ".your_domain.com" to match your domain to enable.
-#
-#<Location /server-status>
-# SetHandler server-status
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-#</Location>
-
-#
-# Allow remote server configuration reports, with the URL of
-#
http://servername/server-info (requires that mod_info.c be loaded).
-# Change the ".your_domain.com" to match your domain to enable.
-#
-#<Location /server-info>
-# SetHandler server-info
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-#</Location>
-
-#
-# Allow access to local system documentation from localhost
-#
-Alias /doc/ /usr/share/doc/
-<Directory /usr/share/doc>
- order deny,allow
- deny from all
- allow from localhost .localdomain
- Options Indexes FollowSymLinks
-</Directory>
-
-#
-# There have been reports of people trying to abuse an old bug from pre-1.1
-# days. This bug involved a CGI script distributed as a part of Apache.
-# By uncommenting these lines you can redirect these attacks to a logging
-# script on
phf.apache.org. Or, you can record them yourself, using the script
-# support/phf_abuse_log.cgi.
-#
-#<Location /cgi-bin/phf*>
-# Deny from all
-# ErrorDocument 403
http://phf.apache.org/phf_abuse_log.cgi
-#</Location>
-
-#
-# Proxy Server directives. Uncomment the following lines to
-# enable the proxy server:
-#
-#<IfModule mod_proxy.c>
-# ProxyRequests On
-
-# <Directory proxy:*>
-# Order deny,allow
-# Deny from all
-# Allow from .your_domain.com
-# </Directory>
-
- #
- # Enable/disable the handling of HTTP/1.1 "Via:" headers.
- # ("Full" adds the server version; "Block" removes all outgoing
Via: headers)
- # Set to one of: Off | On | Full | Block
- #
-# ProxyVia On
-
- #
- # To enable the cache as well, edit and uncomment the following lines:
- # (no caching without CacheRoot)
- #
-# CacheRoot "/var/cache/httpd"
-# CacheSize 5
-# CacheGcInterval 4
-# CacheMaxExpire 24
-# CacheLastModifiedFactor 0.1
-# CacheDefaultExpire 1
-# NoCache
a_domain.com another_domain.edu joes.garage_sale.com
-
-#</IfModule>
-# End of proxy directives.
-
-### Section 3: Virtual Hosts
-#
-# VirtualHost: If you want to maintain multiple domains/hostnames on your
-# machine you can setup VirtualHost containers for them. Most configurations
-# use only name-based virtual hosts so the server doesn't need to worry about
-# IP addresses. This is indicated by the asterisks in the directives below.
-#
-# Please see the documentation at <
URL:http://www.apache.org/docs/vhosts/>
-# for further details before you try to setup virtual hosts.
-#
-# You may use the command line option '-S' to verify your virtual host
-# configuration.
-
-#
-# Use name-based virtual hosting.
-#
-#NameVirtualHost *
-
-#
-# VirtualHost example:
-# Almost any Apache directive may go into a VirtualHost container.
-# The first VirtualHost section is used for requests without a known
-# server name.
-#
-#<VirtualHost *>
-# ServerAdmin webmaster(a)dummy-host.example.com
-# DocumentRoot /www/docs/dummy-host.example.com
-# ServerName
dummy-host.example.com
-# ErrorLog logs/dummy-host.example.com-error_log
-# CustomLog logs/dummy-host.example.com-access_log common
-#</VirtualHost>
-
-#<VirtualHost _default_:*>
-#</VirtualHost>
-
-##
-## SSL Global Context
-##
-## All SSL configuration in this context applies both to
-## the main server and all SSL-enabled virtual hosts.
-##
-
-#
-# Some MIME-types for downloading Certificates and CRLs
-#
-<IfDefine HAVE_SSL>
-AddType application/x-x509-ca-cert .crt
-AddType application/x-pkcs7-crl .crl
-</IfDefine>
-
-<IfModule mod_ssl.c>
-
-# Pass Phrase Dialog:
-# Configure the pass phrase gathering process.
-# The filtering dialog program (`builtin' is a internal
-# terminal dialog) has to provide the pass phrase on stdout.
-SSLPassPhraseDialog builtin
-
-# Inter-Process Session Cache:
-# Configure the SSL Session Cache: First the mechanism
-# to use and second the expiring timeout (in seconds).
-#SSLSessionCache none
-#SSLSessionCache shmht:logs/ssl_scache(512000)
-SSLSessionCache shmcb:logs/ssl_scache(512000)
-#SSLSessionCache shm:logs/ssl_scache(512000)
-SSLSessionCacheTimeout 300
-
-# Semaphore:
-# Configure the path to the mutual exclusion semaphore the
-# SSL engine uses internally for inter-process synchronization.
-SSLMutex file:logs/ssl_mutex
-
-# Pseudo Random Number Generator (PRNG):
-# Configure one or more sources to seed the PRNG of the
-# SSL library. The seed data should be of good random quality.
-# WARNING! On some platforms /dev/random blocks if not enough entropy
-# is available. This means you then cannot use the /dev/random device
-# because it would lead to very long connection times (as long as
-# it requires to make more entropy available). But usually those
-# platforms additionally provide a /dev/urandom device which doesn't
-# block. So, if available, use this one instead. Read the mod_ssl User
-# Manual for more details.
-SSLRandomSeed startup builtin
-SSLRandomSeed connect builtin
-#SSLRandomSeed startup file:/dev/random 512
-#SSLRandomSeed startup file:/dev/urandom 512
-#SSLRandomSeed connect file:/dev/random 512
-#SSLRandomSeed connect file:/dev/urandom 512
-
-# Logging:
-# The home of the dedicated SSL protocol logfile. Errors are
-# additionally duplicated in the general error log file. Put
-# this somewhere where it cannot be used for symlink attacks on
-# a real server (i.e. somewhere where only root can write).
-# Log levels are (ascending order: higher ones include lower ones):
-# none, error, warn, info, trace, debug.
-SSLLog logs/ssl_engine_log
-SSLLogLevel error
-
-</IfModule>
-
-<IfDefine HAVE_SSL>
-
-##
-## SSL Virtual Host Context
-##
-
-<VirtualHost _default_:443>
-
-# General setup for the virtual host
-#DocumentRoot "/etc/httpd/htdocs"
-#ServerName new.host.name
-#ServerAdmin you(a)your.address
-ErrorLog logs/error_log
-TransferLog logs/access_log
-
-# SSL Engine Switch:
-# Enable/Disable SSL for this virtual host.
-SSLEngine on
-
-# SSL Cipher Suite:
-# List the ciphers that the client is permitted to negotiate.
-# See the mod_ssl documentation for a complete list.
-#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
-
-# Server Certificate:
-# Point SSLCertificateFile at a PEM encoded certificate. If
-# the certificate is encrypted, then you will be prompted for a
-# pass phrase. Note that a kill -HUP will prompt again. A test
-# certificate can be generated with `make certificate' under
-# built time. Keep in mind that if you've both a RSA and a DSA
-# certificate you can configure both in parallel (to also allow
-# the use of DSA ciphers, etc.)
-SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
-#SSLCertificateFile /etc/httpd/conf/ssl.crt/server-dsa.crt
-
-# Server Private Key:
-# If the key is not combined with the certificate, use this
-# directive to point at the key file. Keep in mind that if
-# you've both a RSA and a DSA private key you can configure
-# both in parallel (to also allow the use of DSA ciphers, etc.)
-SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
-#SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server-dsa.key
-
-# Server Certificate Chain:
-# Point SSLCertificateChainFile at a file containing the
-# concatenation of PEM encoded CA certificates which form the
-# certificate chain for the server certificate. Alternatively
-# the referenced file can be the same as SSLCertificateFile
-# when the CA certificates are directly appended to the server
-# certificate for convinience.
-#SSLCertificateChainFile /etc/httpd/conf/ssl.crt/ca.crt
-
-# Certificate Authority (CA):
-# Set the CA certificate verification path where to find CA
-# certificates for client authentication or alternatively one
-# huge file containing all of them (file must be PEM encoded)
-# Note: Inside SSLCACertificatePath you need hash symlinks
-# to point to the certificate files. Use the provided
-# Makefile to update the hash symlinks after changes.
-#SSLCACertificatePath /etc/httpd/conf/ssl.crt
-#SSLCACertificateFile /etc/httpd/conf/ssl.crt/ca-bundle.crt
-
-# Certificate Revocation Lists (CRL):
-# Set the CA revocation path where to find CA CRLs for client
-# authentication or alternatively one huge file containing all
-# of them (file must be PEM encoded)
-# Note: Inside SSLCARevocationPath you need hash symlinks
-# to point to the certificate files. Use the provided
-# Makefile to update the hash symlinks after changes.
-#SSLCARevocationPath /etc/httpd/conf/ssl.crl
-#SSLCARevocationFile /etc/httpd/conf/ssl.crl/ca-bundle.crl
-
-# Client Authentication (Type):
-# Client certificate verification type and depth. Types are
-# none, optional, require and optional_no_ca. Depth is a
-# number which specifies how deeply to verify the certificate
-# issuer chain before deciding the certificate is not valid.
-#SSLVerifyClient require
-#SSLVerifyDepth 10
-
-# Access Control:
-# With SSLRequire you can do per-directory access control based
-# on arbitrary complex boolean expressions containing server
-# variable checks and other lookup directives. The syntax is a
-# mixture between C and Perl. See the mod_ssl documentation
-# for more details.
-#<Location />
-#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
-# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
-# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA",
"Dev"} \
-# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
-# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
-# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
-#</Location>
-
-# SSL Engine Options:
-# Set various options for the SSL engine.
-# o FakeBasicAuth:
-# Translate the client X.509 into a Basic Authorisation. This means that
-# the standard Auth/DBMAuth methods can be used for access control. The
-# user name is the `one line' version of the client's X.509 certificate.
-# Note that no password is obtained from the user. Every entry in the user
-# file needs this password: `xxj31ZMTZzkVA'.
-# o ExportCertData:
-# This exports two additional environment variables: SSL_CLIENT_CERT and
-# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
-# server (always existing) and the client (only existing when client
-# authentication is used). This can be used to import the certificates
-# into CGI scripts.
-# o StdEnvVars:
-# This exports the standard SSL/TLS related `SSL_*' environment variables.
-# Per default this exportation is switched off for performance reasons,
-# because the extraction step is an expensive operation and is usually
-# useless for serving static content. So one usually enables the
-# exportation for CGI and SSI requests only.
-# o CompatEnvVars:
-# This exports obsolete environment variables for backward compatibility
-# to Apache-SSL 1.x, mod_ssl 2.0.x, Sioux 1.0 and Stronghold 2.x. Use this
-# to provide compatibility to existing CGI scripts.
-# o StrictRequire:
-# This denies access when "SSLRequireSSL" or "SSLRequire" applied
even
-# under a "Satisfy any" situation, i.e. when it applies access is denied
-# and no other module can change it.
-# o OptRenegotiate:
-# This enables optimized SSL connection renegotiation handling when SSL
-# directives are used in per-directory context.
-#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
-<Files ~ "\.(cgi|shtml|phtml|php3?)$">
- SSLOptions +StdEnvVars
-</Files>
-<Directory "/var/www/cgi-bin">
- SSLOptions +StdEnvVars
-</Directory>
-
-# SSL Protocol Adjustments:
-# The safe and default but still SSL/TLS standard compliant shutdown
-# approach is that mod_ssl sends the close notify alert but doesn't wait for
-# the close notify alert from client. When you need a different shutdown
-# approach you can use one of the following variables:
-# o ssl-unclean-shutdown:
-# This forces an unclean shutdown when the connection is closed, i.e. no
-# SSL close notify alert is send or allowed to received. This violates
-# the SSL/TLS standard but is needed for some brain-dead browsers. Use
-# this when you receive I/O errors because of the standard approach where
-# mod_ssl sends the close notify alert.
-# o ssl-accurate-shutdown:
-# This forces an accurate shutdown when the connection is closed, i.e. a
-# SSL close notify alert is send and mod_ssl waits for the close notify
-# alert of the client. This is 100% SSL/TLS standard compliant, but in
-# practice often causes hanging connections with brain-dead browsers. Use
-# this only for browsers where you know that their SSL implementation
-# works correctly.
-# Notice: Most problems of broken clients are also related to the HTTP
-# keep-alive facility, so you usually additionally want to disable
-# keep-alive for those clients, too. Use variable "nokeepalive" for this.
-# Similarly, one has to force some clients to use HTTP/1.0 to workaround
-# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
-# "force-response-1.0" for this.
-SetEnvIf User-Agent ".*MSIE.*" \
- nokeepalive ssl-unclean-shutdown \
- downgrade-1.0 force-response-1.0
-
-# Per-Server Logging:
-# The home of a custom SSL log file. Use this when you want a
-# compact non-error SSL logfile on a virtual host basis.
-CustomLog logs/ssl_request_log \
- "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-
-</VirtualHost>
-
-</IfDefine>
-
-Include conf/rhn_proxy.conf
commit 51b66eed4e4ae6db09eb55107ad134b1675352b7
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 15:27:20 2010 +0100
removed duplicated file (there is another copy in ../)
diff --git a/proxy/proxy/changes-notes-v3x.txt b/proxy/proxy/changes-notes-v3x.txt
deleted file mode 100644
index a1b0a59..0000000
--- a/proxy/proxy/changes-notes-v3x.txt
+++ /dev/null
@@ -1,112 +0,0 @@
-This document outlines some of the big changes occuring for RHN Proxy 3.*
--------------------------------------------------------------------------
-$Id$
-
-Changes in the RHN Proxy architexture required dramatic changes in the config
-files. Most everything was simplified.
-
-Simplified the SSL config variable
- o use_ssl (NEW)
-
-We made some firm rules:
- o all components reside on the same box.
- o the broker:
- - GET requests:
- . are non-SSLed (potentially SSLed by the redirect)
- . use the local cache
- . CFG.HTTP_PROXY or CFG.USE_SSL:
- . use the SSL Redirect
- . not CFG.USE_SSL and not CFG.HTTP_PROXY:
- . bypass the SSL Redirect (performance)
- - POST (!GET) requests bypass both the local cache and SSL redirect
- o the redirect operates SSL/non-SSL
-
-Because of the rule changes, there is only 1 setting for each of the
-connection variables:
- o rhn_parent
- o http_proxy*
- o ca_chain
-
-Since all component are on a single box, squid is a new setting with
-127.0.0.1:8000 as the value:
- o squid (NEW)
-
-
-So, here's the breakdown of changes to these files:
-[/etc/rhn/defaults]
-rhn_proxy.conf:
- rhn_parent =
xmlrpc.rhn.redhat.com - moved into here (exposed)
- (note no scheme/path)
- http_proxy* - moved into here (exposed)
- ca_chain = /usr/share/rhn/RHNS-CA-CERT - moved into here (exposed)
- use_ssl = 1 - new setting (exposed)
- squid = 127.0.0.1:8080 - new setting (unexposed)
-
-rhn_proxy_broker.conf:
- auth_cache_server - format is server:port now (just like an HTTP proxy)
- - moved into (unexposed)
- auth_cache_server_port - gone
- rhn_parent - gone
- http_proxy* - gone
- ca_chain - gone
-
-rhn_proxy_redirect.conf:
- rhn_parent - gone
- http_proxy* - gone
- ca_chain* - gone
-
-
-
-[/etc/httpd/conf]
-http.conf:
- o support for _rhn_proxy/index.html (landing page added) with a
- DirectoryIndex change.
-
-rhn_proxy.conf:
- o gains <LocationMatch "/*"> ... </LocationMatch> where ... is
the contents
- of what now is in /etc/httpd/conf/rhn/proxy_broker.conf
- o gains <Location /pub> ... </Location> which sets behavior back to the
- default for this.
- o gains <Location /pub> ... </Location> which sets behavior back to the
- default for this.
- o gains <Location /index.html> ... </Location> which sets behavior back
to the
- default for this.
- o gains <Location /_rhn_proxy> ... </Location> which sets behavior back
to the
- default for this: gives a tree structure to use.
- o removes any referal to RHNComponentType (now it is generic)
- o remove the Include at the end
-
-rhn/*:
- o gone, in fact the directory should go away.
-
-
-
-
-NOTE -- all the places that make an XMLRPC request:
- - broker/rhnRepository.__channelPackageMapping() forced /XMLRPC
- - broker/rhnRepository.getSourcePackagePath()
- - broker/rhnProxyAuth.__get_server() (the login sequence) forced /XMLRPC
- - rhnShared._connectToParent()
- - via HTTPConnection()
- - rhnBroker and rhnRedirect use this
-
-
-Authentication changes:
- - tokens are now "stacked" so that we can discern routing information from
- them:
- x-rhn-proxy-auth:
- SID = server ID
- U = username
- ST = server time
- EO = expiration offset
- SIG = signature
- H = hostname
-
-
"SID1:U1:ST1:EO1:SIG1:H1,SID2:U2:ST2:EO2:SIG2:H2,SID3:U3:ST3:EO3:SIG3:H3"
- |__________1___________| |__________2__________| |__________3__________|
-
- Used to be just one token with this format:
- "SID1:U1:ST1:EO1:SIG1" Note the lack of hostname information.
-
-
-
commit 2574062d82674a61e2c57890b2e91aef8338805e
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Thu Mar 25 15:11:07 2010 +0100
let's use something non-mod_python specific
diff --git a/proxy/proxy/apacheHandler.py b/proxy/proxy/apacheHandler.py
index fc7e723..c1811ae 100644
--- a/proxy/proxy/apacheHandler.py
+++ b/proxy/proxy/apacheHandler.py
@@ -23,7 +23,7 @@ import base64
import string
from rhnConstants import *
from rhn import rpclib, connections
-from mod_python import apache
+from common import apache
## common imports
from common import rhnApache, rhnFlags, log_debug, log_error, CFG, \
diff --git a/proxy/proxy/apacheServer.py b/proxy/proxy/apacheServer.py
index 6a2310b..340f25a 100644
--- a/proxy/proxy/apacheServer.py
+++ b/proxy/proxy/apacheServer.py
@@ -20,7 +20,7 @@
import os
# global module imports
-from mod_python import apache
+from common import apache
# common module imports
from common import CFG, initCFG, initLOG, log_setreq, Traceback, log_debug
diff --git a/proxy/proxy/broker/rhnBroker.py b/proxy/proxy/broker/rhnBroker.py
index 1c16925..44ec911 100644
--- a/proxy/proxy/broker/rhnBroker.py
+++ b/proxy/proxy/broker/rhnBroker.py
@@ -22,7 +22,7 @@ import socket
import re
# global module imports
-from mod_python import apache
+from common import apache
# common module imports
from common.rhnLib import parseUrl
diff --git a/proxy/proxy/redirect/rhnRedirect.py b/proxy/proxy/redirect/rhnRedirect.py
index 00c45de..3fe68a2 100644
--- a/proxy/proxy/redirect/rhnRedirect.py
+++ b/proxy/proxy/redirect/rhnRedirect.py
@@ -19,7 +19,7 @@
import string
import socket
import re
-from mod_python import apache
+from common import apache
# common module imports
from common.rhnLib import parseUrl
diff --git a/proxy/proxy/rhnShared.py b/proxy/proxy/rhnShared.py
index 9924917..2a70755 100644
--- a/proxy/proxy/rhnShared.py
+++ b/proxy/proxy/rhnShared.py
@@ -23,7 +23,7 @@ from types import ListType, TupleType
## global imports
from rhn import connections
-from mod_python import apache
+from common import apache
from rhn.SSL import TimeoutException
## common imports