diff --git a/doc/howto/config.rst b/doc/howto/config.rst index be9b9cb..13a8af4 100644 --- a/doc/howto/config.rst +++ b/doc/howto/config.rst @@ -315,6 +315,9 @@ An example might be:: what values on these attributes that can be returned. *name_form* Which name-form that should be used when sending assertions. + Using this information the attribute name in the data source will be mapped to + the friendly name, and the saml attribute name will be taken from the uri/oid + defined in the attribute map. If restrictions on values are deemed necessary those are represented by regular expressions.:: @@ -612,3 +615,10 @@ A slightly more complex configuration:: Uses metadata files, both local and remote, and will talk to whatever IdP that appears in any of the metadata files. + +Other considerations +:::::::::::::::::::: + +Entity Categories +----------------- +Entity categories and their attributes are defined in src/saml2/entity_category/.py diff --git a/doc/install.rst b/doc/install.rst index 467a2cc..9d40b42 100644 --- a/doc/install.rst +++ b/doc/install.rst @@ -32,6 +32,7 @@ Depending on how you are going to use PySAML2 you might also need * repoze.who * python-memcache * memcached +* bsddb3 Quick build instructions ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -55,3 +56,41 @@ The tests are based on the pypy test environment, so:: is what you should use. If you don't have py.test, get it it's part of pypy! It's really good! +Hints +----- + +RHEL/CentOS installation issues +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A number of packages may not install from pypi. Instead, you may wand to use packages supplies with the OS: + + yum -y install swig openssl-devel m2crypto xmlsec1 pyOpenSSL libffi-devel + +OS X installation issues +^^^^^^^^^^^^^^^^^^^^^^^^ + +A number of packages may not install from pypi. Instead, you may wand to use macports: + + sudo port install swig xmlsec py27-m2crypto py27-crypto db53 + +Starting with XCode 5.1 there is an issue with unrecognised gcc command line options. +A temporary fix is described in http://alyssafrazee.com/dangit-mavericks.html +So to install cryptography and bsddb3 you might want to try: +sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install cryptography bsddb3 + +If the message "ImportError: No module named _bsddb" pops up on starting idp.py, this fix should help: +http://marc-abramowitz.com/archives/2007/11/28/hacking-os-xs-python-dbhash-and-bsddb-modules-to-work/ + + +Generate the HTML documentation +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +install Sphinx +cd pysaml2/doc +make html +cd _build + +List implemented signature algorithms +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +For a list of xmldsig algorithtms implemented for signature validation, run this program from the command line: +saml2/sigver.py -s diff --git a/src/saml2/ident.py b/src/saml2/ident.py index 8847556..0e51cc8 100644 --- a/src/saml2/ident.py +++ b/src/saml2/ident.py @@ -138,6 +138,7 @@ class IdentDB(object): try: _vals = self.db[userid] except KeyError: + logger.debug("failed to find userid %s in IdentDB" % userid) return res for val in _vals.split(" "): diff --git a/tools/sync_attrmaps.py b/tools/sync_attrmaps.py index 0dc8432..a067d8a 100755 --- a/tools/sync_attrmaps.py +++ b/tools/sync_attrmaps.py @@ -124,7 +124,7 @@ if __name__ == "__main__": if os.path.isfile(_name): directory, fname = os.path.split(_name) amap = AMap(directory, fname, 4 * " ") - f = open(_name) + f = open(_name, "w") f.write("%s" % amap) f.close() elif os.path.isdir(_name):