From a64a32f520884039be0a2240bfa2b5f4040c9c99 Mon Sep 17 00:00:00 2001 From: Isaac Boukris Date: Sat, 17 Dec 2016 23:17:00 +0200 Subject: rewrite: implicitly handle internal redirects Internal redirects are a special case of subrequest - they have no req->main but req->prev instead, so we should check for that too in case the request is not initial. Also, make sure to export MAG environment variables to subrequests and internal redirects. Signed-off-by: Isaac Boukris Reviewed-by: Simo Sorce Reported-by: scopev24 Closes #119 --- tests/magtests.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'tests/magtests.py') diff --git a/tests/magtests.py b/tests/magtests.py index 3a29365..b60e648 100755 --- a/tests/magtests.py +++ b/tests/magtests.py @@ -306,6 +306,24 @@ def test_spnego_auth(testdir, testenv, testlog): sys.stderr.write('SPNEGO No Auth: SUCCESS\n') +def test_spnego_rewrite(testdir, testenv, testlog): + + spnego_rewrite_dir = os.path.join(testdir, 'httpd', 'html', + 'spnego_rewrite') + os.mkdir(spnego_rewrite_dir) + shutil.copy('tests/index.html', spnego_rewrite_dir) + + with (open(testlog, 'a')) as logfile: + spnego = subprocess.Popen(["tests/t_spnego_rewrite.py"], + stdout=logfile, stderr=logfile, + env=testenv, preexec_fn=os.setsid) + spnego.wait() + if spnego.returncode != 0: + sys.stderr.write('SPNEGO Rewrite: FAILED\n') + else: + sys.stderr.write('SPNEGO Rewrite: SUCCESS\n') + + def test_spnego_negotiate_once(testdir, testenv, testlog): spnego_negotiate_once_dir = os.path.join(testdir, 'httpd', 'html', @@ -400,6 +418,9 @@ if __name__ == '__main__': USR_NAME + '@' + TESTREALM) test_spnego_auth(testdir, testenv, testlog) + testenv['MAG_GSS_NAME'] = USR_NAME + '@' + TESTREALM + test_spnego_rewrite(testdir, testenv, testlog) + test_spnego_negotiate_once(testdir, testenv, testlog) testenv = {'MAG_USER_NAME': USR_NAME, -- cgit