kdcenv = {'PATH': '/sbin:/bin:/usr/sbin:/usr/bin',
'KRB5_CONFIG': krb5conf,
- 'KRB5_KDC_PROFILE': kdcconf}
+ 'KRB5_KDC_PROFILE': kdcconf,
+ 'KRB5_TRACE': os.path.join(testdir, 'krbtrace.log')}
kdcenv.update(wrapenv)
with (open(testlog, 'a')) as logfile:
sys.stderr.write('SPNEGO: SUCCESS\n')
+def test_basic_auth_krb5(testdir, testenv, testlog):
+
+ basicdir = os.path.join(testdir, 'httpd', 'html', 'basic_auth_krb5')
+ os.mkdir(basicdir)
+ shutil.copy('tests/index.html', basicdir)
+
+ with (open(testlog, 'a')) as logfile:
+ basick5 = subprocess.Popen(["tests/t_basic_k5.py"],
+ stdout=logfile, stderr=logfile,
+ env=testenv, preexec_fn=os.setsid)
+ basick5.wait()
+ if basick5.returncode != 0:
+ sys.stderr.write('BASIC-AUTH: FAILED\n')
+ else:
+ sys.stderr.write('BASIC-AUTH: SUCCESS\n')
+
+
if __name__ == '__main__':
args = parse_args()
kdcproc, kdcenv = setup_kdc(testdir, wrapenv)
processes['KDC(%d)' % kdcproc.pid] = kdcproc
- httpproc = setup_http(testdir, wrapenv)
+ httpproc = setup_http(testdir, kdcenv)
processes['HTTPD(%d)' % httpproc.pid] = httpproc
keysenv = setup_keys(testdir, kdcenv)
test_spnego_auth(testdir, testenv, testlog)
+
+ testenv = {'MAG_USER_NAME': USR_NAME,
+ 'MAG_USER_PASSWORD': USR_PWD}
+ testenv.update(kdcenv)
+ test_basic_auth_krb5(testdir, testenv, testlog)
+
finally:
with (open(testlog, 'a')) as logfile:
for name in processes:
--- /dev/null
+#!/usr/bin/python
+# Copyright (C) 2015 - mod_auth_gssapi contributors, see COPYING for license.
+
+import os
+import requests
+from requests.auth import HTTPBasicAuth
+
+
+if __name__ == '__main__':
+ url = 'http://%s/basic_auth_krb5/' % os.environ['NSS_WRAPPER_HOSTNAME']
+ r = requests.get(url, auth=HTTPBasicAuth(os.environ['MAG_USER_NAME'],
+ os.environ['MAG_USER_PASSWORD']))
+ if r.status_code != 200:
+ raise ValueError('Basic Auth Failed')