<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
code
{mso-style-priority:99;
font-family:"Courier New";}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
tt
{mso-style-priority:99;
font-family:"Courier New";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:"Courier New";
mso-fareast-language:EN-IE;}
.MsoChpDefault
{mso-style-type:export-only;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-IE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Hi all,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">We are deploying Shibboleth IdP and SP on our institution, everything is working as expected with the exception of generating, storing and releasing the eduPersonTargetedID</span><span lang="EN-US" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">
attribute.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">The
</span><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">persistent ID
</span><span lang="EN-US" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">will be
</span><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">mapped off the sAMAccountName in AD.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Our environment is based on a Shibboleth IdP 3.3/Jetty 9.3/CentOS 7.2 and it was installed following the steps in
<a href="https://spaces.internet2.edu/pages/viewpage.action?pageId=49841792"><span style="color:black;text-decoration:none">https://spaces.internet2.edu/pages/viewpage.action?pageId=49841792</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">The specific configuration performed in order to get the persistent ID working is the following:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">/opt/shibboleth-idp/conf/saml-nameid.xml:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><ref bean="shibboleth.SAML2PersistentGenerator" /><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><!-- A DataSource bean suitable for use in the idp.persistentId.dataSource property. --><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><bean id="PersistentIdStore"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> class="org.apache.commons.dbcp2.BasicDataSource"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:driverClassName="org.postgresql.Driver"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:url="jdbc:postgresql://127.0.0.1:5432/shibboleth"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:username="shibboleth"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:password="ourpass"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:maxIdle="5"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:maxWaitMillis="15000"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:testOnBorrow="true"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:validationQuery="select 1"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:validationQueryTimeout="5" /><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><!-- A "store" bean suitable for use in the idp.persistentId.store property. --><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><bean id="MyPersistentIdStore" parent="shibboleth.JDBCPersistentIdStore"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:dataSource-ref="PersistentIdStore"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:queryTimeout="PT2S"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> p:retryableErrors="#{{'23000'}}" /><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"></beans><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">/opt/shibboleth-idp/conf/saml-nameid.properties:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.transientId.generator = shibboleth.StoredTransientIdGenerator<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.persistentId.generator = shibboleth.StoredPersistentIdGenerator<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.persistentId.dataSource = PersistentIdDataSource<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.persistentId.sourceAttribute = sAMAccountName<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.persistentId.salt = oursalt<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.persistentId.computed = shibboleth.ComputedPersistentIdGenerator<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.nameid.saml2.default = urn:oasis:names:tc:SAML:2.0:nameid-format:persistent<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.persistentId.algorithm = SHA<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">idp.persistentId.useUnfilteredAttributes = true<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">/opt/shibboleth-idp/conf/c14n/subject-c14n.xml:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><ref bean="c14n/SAML2Persistent" /><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">The PostgreSQL DB was created as below:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">sudo -iu postgres psql <<EOF<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">CREATE ROLE shibboleth WITH LOGIN;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">CREATE DATABASE shibboleth WITH OWNER shibboleth ENCODING 'UTF8' TEMPLATE template0;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">\c shibboleth<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">SET ROLE shibboleth;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">CREATE TABLE shibpid (<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> localEntity VARCHAR(1024) NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> peerEntity VARCHAR(1024) NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> principalName VARCHAR(255) NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> localId VARCHAR(255) NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> persistentId VARCHAR(36) NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> peerProvidedId VARCHAR(255) NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> creationDate TIMESTAMP NOT NULL DEFAULT LOCALTIMESTAMP,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> deactivationDate TIMESTAMP NULL DEFAULT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> PRIMARY KEY (localEntity, peerEntity, persistentId)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">CREATE INDEX shibpid_getbysourcevalue_index ON shibpid(localEntity, peerEntity, localId, deactivationDate);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">CREATE TABLE storagerecords (<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> context VARCHAR(255) NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> id VARCHAR(255) NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> expires BIGINT DEFAULT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> value TEXT NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> version BIGINT NOT NULL,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> PRIMARY KEY (context, id)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">CREATE INDEX storagerecords_expires_index ON storagerecords(expires);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">EOF<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">The /var/lib/pgsql/data/pg_hba.conf was changed from ident to md5.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">The DBCP2 was downloaded from
<a href="http://www-us.apache.org/dist/commons/dbcp/binaries/commons-dbcp2-2.1.1-bin.zip">
<span style="color:black;text-decoration:none">http://www-us.apache.org/dist//commons/dbcp/binaries/commons-dbcp2-2.1.1-bin.zip</span></a> and placed on /opt/shibboleth-idp/edit-webapp/WEB-INF/lib and a /bin/build.sh was performed.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">On the /idp/status page we get the following error:<o:p></o:p></span></p>
<pre><span lang="GA" style="font-size:12.0pt;font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></pre>
<pre><span lang="GA" style="font-size:12.0pt;font-family:"Calibri",sans-serif;color:black">service: shibboleth.NameIdentifierGenerationService<o:p></o:p></span></pre>
<pre><span lang="GA" style="font-size:12.0pt;font-family:"Calibri",sans-serif;color:black">last reload attempt: 2017-03-14T09:07:59Z<o:p></o:p></span></pre>
<pre><span lang="GA" style="font-size:12.0pt;font-family:"Calibri",sans-serif;color:black">last failure cause: net.shibboleth.utilities.java.support.service.ServiceException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shibboleth.SAML2NameIDGenerators': Cannot resolve reference to bean 'shibboleth.SAML2PersistentGenerator' while setting bean property 'sourceList' with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shibboleth.SAML2PersistentGenerator' defined in file [/opt/shibboleth-idp/system/conf/saml-nameid-system.xml]: Cannot resolve reference to bean '#{'shibboleth.StoredPersistentIdGenerator'.trim()}' while setting bean property 'persistentIdGenerator'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shibboleth.StoredPersistentIdGenerator' defined in file [/opt/shibboleth-idp/system/conf/saml-nameid-system.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'MyPersistentIdStore' defined in file [/opt/shibboleth-idp/conf/saml-nameid.xml]: Cannot resolve reference to bean 'PersistentIdStore' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'PersistentIdStore' defined in file [/opt/shibboleth-idp/conf/saml-nameid.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.commons.dbcp2.BasicDataSource]: <b><u>No default constructor found; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool2/PooledObjectFactory<o:p></o:p></u></b></span></pre>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Kind Regards,<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p> </o:p></span></p>
<p class="MsoNormal" style="background:white"><b><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Luiz Fernando Cotta Martins</span></b><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><i><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">IT Systems Administrator</span></i><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> <o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Wellington Building <o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Griffith College<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">South Circular Road, Dublin 8, Ireland<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> <o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Phone: + 353 1 416 3365<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Website: <a href="http://www.griffith.ie"><span style="color:#0563C1">http://www.griffith.ie</span></a><o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> <o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">Disclaimer:<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">This E-mail is from Griffith College Dublin.<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">The E-mail and any files transmitted with it are confidential and may be privileged and are intended solely for the use of the individual
or entity to whom they are addressed.<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">If you are not the addressee you are prohibited from disclosing its content, copying it or distributing it otherwise than to the addressee.
If you have received this e-mail in error,<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">please immediately notify the sender by replying to this e-mail and delete the e-mail from your computer. Griffith College is a trading
name of Bellerophon Ltd, <o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">(registered in Ireland No. 60469) with its registered address as Griffith College Campus,South Circular Road, Dublin 8, Ireland.<o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> <o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"> <o:p></o:p></span></p>
<p class="MsoNormal" style="background:white"><b><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE">P Think before you print!</span></b><span lang="GA" style="font-size:12.0pt;color:black;mso-fareast-language:EN-IE"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>