From ebf7177bd7dbf3d53d0d2cdb97acc0a9ab49e00d Mon Sep 17 00:00:00 2001
From: Olav Morken <olav.morken@uninett.no>
Date: Mon, 17 Nov 2008 07:07:40 +0000
Subject: [PATCH] Fix missing NameIDFormat in generated metadata.

git-svn-id: https://simplesamlphp.googlecode.com/svn/trunk@1016 44740490-163a-0410-bde0-09ae8108e29a
---
 www/saml2/idp/metadata.php  | 7 +++++++
 www/saml2/sp/metadata.php   | 7 +++++++
 www/shib13/idp/metadata.php | 7 +++++++
 www/shib13/sp/metadata.php  | 7 +++++++
 4 files changed, 28 insertions(+)

diff --git a/www/saml2/idp/metadata.php b/www/saml2/idp/metadata.php
index 15adaa0e3..6d402781d 100644
--- a/www/saml2/idp/metadata.php
+++ b/www/saml2/idp/metadata.php
@@ -51,6 +51,13 @@ try {
 		unset($metaArray['SingleLogoutServiceResponse']);
 	}
 
+	if (array_key_exists('NameIDFormat', $idpmeta)) {
+		$metaArray['NameIDFormat'] = $idpmeta['NameIDFormat'];
+	} else {
+		$metaArray['NameIDFormat'] = 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient';
+	}
+
+
 	$metaflat = var_export($idpentityid, TRUE) . ' => ' . var_export($metaArray, TRUE) . ',';
 
 	$metaArray['certData'] = $certInfo['certData'];
diff --git a/www/saml2/sp/metadata.php b/www/saml2/sp/metadata.php
index be5b53200..e62de3c8e 100644
--- a/www/saml2/sp/metadata.php
+++ b/www/saml2/sp/metadata.php
@@ -31,6 +31,13 @@ try {
 		'SingleLogoutService' => $metadata->getGenerated('SingleLogoutService', 'saml20-sp-hosted'),
 	);
 
+	if (array_key_exists('NameIDFormat', $spmeta)) {
+		$metaArray['NameIDFormat'] = $spmeta['NameIDFormat'];
+	} else {
+		$metaArray['NameIDFormat'] = 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient';
+	}
+
+
 	$certInfo = SimpleSAML_Utilities::loadPublicKey($spmeta);
 	if ($certInfo !== NULL && array_key_exists('certData', $certInfo)) {
 		$metaArray['certData'] = $certInfo['certData'];
diff --git a/www/shib13/idp/metadata.php b/www/shib13/idp/metadata.php
index 9599867e1..624ab6113 100644
--- a/www/shib13/idp/metadata.php
+++ b/www/shib13/idp/metadata.php
@@ -39,6 +39,13 @@ try {
 		'certFingerprint' => $certFingerprint,
 	);
 
+	if (array_key_exists('NameIDFormat', $idpmeta)) {
+		$metaArray['NameIDFormat'] = $idpmeta['NameIDFormat'];
+	} else {
+		$metaArray['NameIDFormat'] = 'urn:mace:shibboleth:1.0:nameIdentifier';
+	}
+
+
 	$metaflat = var_export($idpentityid, TRUE) . ' => ' . var_export($metaArray, TRUE) . ',';
 	
 	$metaArray['certData'] = $certInfo['certData'];
diff --git a/www/shib13/sp/metadata.php b/www/shib13/sp/metadata.php
index 57b81d949..4e10cffc9 100644
--- a/www/shib13/sp/metadata.php
+++ b/www/shib13/sp/metadata.php
@@ -36,6 +36,13 @@ try {
 		$metaArray['certData'] = $certInfo['certData'];
 	}
 
+	if (array_key_exists('NameIDFormat', $spmeta)) {
+		$metaArray['NameIDFormat'] = $spmeta['NameIDFormat'];
+	} else {
+		$metaArray['NameIDFormat'] = 'urn:mace:shibboleth:1.0:nameIdentifier';
+	}
+
+
 	$metaflat = var_export($spentityid, TRUE) . ' => ' . var_export($metaArray, TRUE) . ',';
 
 	if (array_key_exists('certificate', $spmeta)) {
-- 
GitLab