simplesamlphp/simplesamlphp — pull request #97 by thijskh (2014-08-06 14:25:58+00:00)
Title: Check that IdP names contain content before attempting translation.

When you have a saml20-idp-remote metadata entry which has an empty array in it for any of the different display names, getTranslation will throw an unhandled exception which even ends up in the drop down list:

SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Backtrace:
0 /srv/simplesamlphp/www/module.php:179 (N/A)
Caused by: Exception: Nothing to return from translation.
Backtrace:
6 /srv/simplesamlphp/lib/SimpleSAML/XHTML/Template.php:328 (SimpleSAML_XHTML_Template::getTranslation)
5 /srv/simplesamlphp/lib/SimpleSAML/XHTML/Template.php:414 (SimpleSAML_XHTML_Template::t)
4 /srv/simplesamlphp/templates/selectidp-dropdown.php:49 (require)
3 /srv/simplesamlphp/lib/SimpleSAML/XHTML/Template.php:581 (SimpleSAML_XHTML_Template::show)
2 /srv/simplesamlphp/lib/SimpleSAML/XHTML/IdPDisco.php:528 (SimpleSAML_XHTML_IdPDisco::handleRequest)
1 /srv/simplesamlphp/modules/saml/www/disco.php:8 (require)
0 /srv/simplesamlphp/www/module.php:134 (N/A)

It's easy to reproduce by adding
name => array( ),
to any entry in saml20-idp-remote.php and test your authsource. simpleSAMLphp's metadata converter will actually generate configs that contain such empty arrays, that's how I found out.