<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 3/3/11 3:34 PM, peter williams wrote:
    <blockquote cite="mid:SNT143-ds18978D58A8F3D48503B8D092C30@phx.gbl"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1482384696;
        mso-list-type:hybrid;
        mso-list-template-ids:-78204426 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">Take a look at the related to code in <a
              moz-do-not-send="true"
              href="http://www.fabrikamshipping.com/">http://www.fabrikamshipping.com/</a><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">It all best practice type code. Some if its boot
            tools are more interesting than the showcase code though. <o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoListParagraph" style="text-indent: -0.25in;"><!--[if !supportLists]--><span
            style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><span style="">1.<span style="font: 7pt
                &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span
            style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">There is a selfSTS project, that mints certs. Its
            all a window that sits there being a server, acting as an
            IDP. It&#8217;s fundamentally a wrapper around std command line
            tools in windows-land that make (self-signed) certs, .p12
            files etc - using tools in the std windows programmer SDK
            tool chain. <o:p></o:p></span></p>
        <p class="MsoListParagraph" style="text-indent: -0.25in;"><!--[if !supportLists]--><span
            style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><span style="">2.<span style="font: 7pt
                &quot;Times New Roman&quot;;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><!--[endif]--><span
            style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">How to secure ODATA using sso flows and
            interceptors in the server.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">Now that IDP is a bridge&nbsp; - that delegates to an
            upstream bridge in the Azure cloud (ACS) - that turns out to
            be a further bridge to the usual IDP suspects, including
            google, facebook, yahoo etc. (But not openid in wordpress;
            peter sobbing&#8230;).<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">Its already use to authorize the ODATA, where
            odata has the enforcement point but the decision point is
            punted to that first IDP (that then talks upstream&#8230;)<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">Seems no reason why it cannot ping a sparql
            server, since its in the middle of the chain (and it&#8217;s the
            last signoff entity&#8230;).</span></p>
      </div>
    </blockquote>
    Yes, or simply via virtual graph traversal simply find the public
    key that matches the handshake public key. This is where lots of fun
    and games can happen via courtesy of reasoning and co-reference. As
    all WebID ACLs tests seemed to have stalled, I've put a lot of these
    demos on the back-burner.<br>
    <br>
    Basically, "You" have control of where that public key resides in
    the graph, you can even control addition of pings to other spaces
    via OAuth. Even opt to hide public key in a place only accessible
    via OAuth :-) The great thing is that a SPARQL query endows the
    whole public key lookup with immense sophistication. <br>
    <blockquote cite="mid:SNT143-ds18978D58A8F3D48503B8D092C30@phx.gbl"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">Perhaps the entire fabrikamshipping demo (how to
            do websso-based SAAS in the cloud) could be made webid
            aware. Why not? </span></p>
      </div>
    </blockquote>
    <br>
    Why not? I'd even have that done now as a WebID showcase if I could
    prioritize it or be commercially induced :-)<br>
    <br>
    <blockquote cite="mid:SNT143-ds18978D58A8F3D48503B8D092C30@phx.gbl"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">After all, they have centralized the enforcement
            point, implemented it in a window IDP, which can be changed
            to ping your sparql server for a SAN URI in the cert!<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">Of course, its not https and client certs. Its
            client certs supporting signed websso messages. But does
            webid care? </span></p>
      </div>
    </blockquote>
    It shouldn't .<br>
    <br>
    <blockquote cite="mid:SNT143-ds18978D58A8F3D48503B8D092C30@phx.gbl"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);">Surely what matters is that foaf and the
            deferencing process is what controls validity, and then foaf
            groups, foaf following get to impact the authorization
            logic.</span></p>
      </div>
    </blockquote>
    <br>
    Yep!<br>
    <br>
    Kingsley<br>
    <blockquote cite="mid:SNT143-ds18978D58A8F3D48503B8D092C30@phx.gbl"
      type="cite">
      <div class="WordSection1">
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;; color: rgb(31,
            73, 125);"><o:p>&nbsp;</o:p></span></p>
        <div>
          <div style="border-right: medium none; border-width: 1pt
            medium medium; border-style: solid none none; border-color:
            rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color;
            padding: 3pt 0in 0in;">
            <p class="MsoNormal"><b><span style="font-size: 10pt;
                  font-family:
                  &quot;Tahoma&quot;,&quot;sans-serif&quot;; color:
                  windowtext;">From:</span></b><span style="font-size:
                10pt; font-family:
                &quot;Tahoma&quot;,&quot;sans-serif&quot;; color:
                windowtext;"> Kingsley Idehen
                [<a class="moz-txt-link-freetext" href="mailto:kidehen@openlinksw.com">mailto:kidehen@openlinksw.com</a>] <br>
                <b>Sent:</b> Tuesday, March 01, 2011 2:53 PM<br>
                <b>To:</b> peter williams<br>
                <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:foaf-protocols@lists.foaf-project.org">foaf-protocols@lists.foaf-project.org</a><br>
                <b>Subject:</b> Re: [foaf-protocols] msft azure endpoint
                certs, including self-signed support<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
        <p class="MsoNormal">On 3/1/11 5:48 PM, peter williams wrote: <o:p></o:p></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">Yes. The ODATA
            service in their data mart is excellent &#8211; being essentially
            the same think with linq as we in realty do with something
            calls rets. But, obviously their query model is a wee bit
            more powerful, and has full metadata, full caching, full
            everthing. Also, it has a provisioning model (and pricing,
            selection&#8230;)</span><o:p></o:p></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">&nbsp;</span><o:p></o:p></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">Being ODATA
            over https, it can take a client cert&#8230;.</span><o:p></o:p></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">&nbsp;</span><o:p></o:p></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">Ive no doubt
            the odata server-side interceptor exists, and can be made to
            ping your sparql server.</span><o:p></o:p></p>
        <p class="MsoNormal"><br>
          We've had OData cartridges (drives, providers, transformers)
          since inception :-) Only gripe is OData is weak on the
          metadata side (leaky abstraction due to lock-in tendencies of
          MSFT). They're gradually sorting this out.<br>
          <br>
          <br>
          <o:p></o:p></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">Don&#8217;t believe
            it would even need MSFT engineers. Feels like an
            authorization attribute on the dispatcher&nbsp; class&#8230;, invoking
            the claims authorization class that insists in the sparql
            call.</span><o:p></o:p></p>
        <p class="MsoNormal"><br>
          Yes, this issue is only a hurdle due to its platform
          agnosticism. Trouble is, that is still instinctive heresy at
          MSFT :-(<br>
          <br>
          <br>
          Kingsley <br>
          <br>
          <o:p></o:p></p>
        <p class="MsoNormal"><span style="font-size: 11pt; font-family:
            &quot;Calibri&quot;,&quot;sans-serif&quot;;">&nbsp;</span><o:p></o:p></p>
        <div>
          <div style="border-right: medium none; border-width: 1pt
            medium medium; border-style: solid none none; padding: 3pt
            0in 0in; border-color: -moz-use-text-color;">
            <p class="MsoNormal"><b><span style="font-size: 10pt;
                  font-family:
                  &quot;Tahoma&quot;,&quot;sans-serif&quot;; color:
                  windowtext;">From:</span></b><span style="font-size:
                10pt; font-family:
                &quot;Tahoma&quot;,&quot;sans-serif&quot;; color:
                windowtext;"> <a moz-do-not-send="true"
                  href="mailto:foaf-protocols-bounces@lists.foaf-project.org">foaf-protocols-bounces@lists.foaf-project.org</a>
                [<a moz-do-not-send="true"
                  href="mailto:foaf-protocols-bounces@lists.foaf-project.org">mailto:foaf-protocols-bounces@lists.foaf-project.org</a>]
                <b>On Behalf Of </b>Kingsley Idehen<br>
                <b>Sent:</b> Tuesday, March 01, 2011 2:31 PM<br>
                <b>To:</b> <a moz-do-not-send="true"
                  href="mailto:foaf-protocols@lists.foaf-project.org">foaf-protocols@lists.foaf-project.org</a><br>
                <b>Subject:</b> Re: [foaf-protocols] msft azure endpoint
                certs, including self-signed support</span><o:p></o:p></p>
          </div>
        </div>
        <p class="MsoNormal">&nbsp;<o:p></o:p></p>
        <p class="MsoNormal">On 3/1/11 3:35 PM, Peter Williams wrote: <o:p></o:p></p>
        <p class="MsoNormal">excellent "how to" article<br>
          &nbsp;<br>
          <a moz-do-not-send="true"
href="http://azurefeeds.com/post/906/Installing_Certificates_in_Windows_Azure_VMs.aspx">http://azurefeeds.com/post/906/Installing_Certificates_in_Windows_Azure_VMs.aspx</a><br>
          &nbsp;<br>
          one could have a million tenants with self-signed https
          endpoints,&nbsp; if one wants. One just uploads the .p12 file...<br>
          &nbsp;<br>
          well done microsoft.<br>
          &nbsp;<br>
          this article hints at but doesnt go into details that the
          azure tenants has multiple cert stores (think tagged lists of
          cert:identity in the foaf card) - some of which impact how
          client certs are addressed.<br>
          &nbsp;<br>
          This is actually my mission - to get the azure endpoint to
          request and consume a (self-signed) client cert via client
          authn. One can probably guess why...<br>
          <br>
          <br>
          <o:p></o:p></p>
        <pre>&nbsp;<o:p></o:p></pre>
        <pre>&nbsp;<o:p></o:p></pre>
        <pre>_______________________________________________<o:p></o:p></pre>
        <pre>foaf-protocols mailing list<o:p></o:p></pre>
        <pre><a moz-do-not-send="true" href="mailto:foaf-protocols@lists.foaf-project.org">foaf-protocols@lists.foaf-project.org</a><o:p></o:p></pre>
        <pre><a moz-do-not-send="true" href="http://lists.foaf-project.org/mailman/listinfo/foaf-protocols">http://lists.foaf-project.org/mailman/listinfo/foaf-protocols</a><o:p></o:p></pre>
        <p class="MsoNormal"><span style="font-size: 13.5pt;"><br>
            Microsoft groks the Data as a Service (DaaS) model as
            demonstrated via Azure! Only issue is now,&nbsp; is getting them
            to grok the power of WebID which is a zero cost it -- bar
            platform lock-in obsession -- when it comes to enhancing
            their DaaS offerings esp. the Data Market.<br>
            <br>
            WebIDs render API keys obsolete too!<br>
          </span><br>
          <br>
          <br>
          <o:p></o:p></p>
        <pre>-- <o:p></o:p></pre>
        <pre>&nbsp;<o:p></o:p></pre>
        <pre>Regards,<o:p></o:p></pre>
        <pre>&nbsp;<o:p></o:p></pre>
        <pre>Kingsley Idehen &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></pre>
        <pre>President &amp; CEO <o:p></o:p></pre>
        <pre>OpenLink Software&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></pre>
        <pre>Web: <a moz-do-not-send="true" href="http://www.openlinksw.com">http://www.openlinksw.com</a><o:p></o:p></pre>
        <pre>Weblog: <a moz-do-not-send="true" href="http://www.openlinksw.com/blog/%7Ekidehen">http://www.openlinksw.com/blog/~kidehen</a><o:p></o:p></pre>
        <pre>Twitter/Identi.ca: kidehen <o:p></o:p></pre>
        <pre>&nbsp;<o:p></o:p></pre>
        <pre>&nbsp;<o:p></o:p></pre>
        <pre>&nbsp;<o:p></o:p></pre>
        <pre>&nbsp;<o:p></o:p></pre>
        <p class="MsoNormal"><br>
          <br>
          <br>
          <o:p></o:p></p>
        <pre>-- <o:p></o:p></pre>
        <pre><o:p>&nbsp;</o:p></pre>
        <pre>Regards,<o:p></o:p></pre>
        <pre><o:p>&nbsp;</o:p></pre>
        <pre>Kingsley Idehen &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></pre>
        <pre>President &amp; CEO <o:p></o:p></pre>
        <pre>OpenLink Software&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></pre>
        <pre>Web: <a moz-do-not-send="true" href="http://www.openlinksw.com">http://www.openlinksw.com</a><o:p></o:p></pre>
        <pre>Weblog: <a moz-do-not-send="true" href="http://www.openlinksw.com/blog/%7Ekidehen">http://www.openlinksw.com/blog/~kidehen</a><o:p></o:p></pre>
        <pre>Twitter/Identi.ca: kidehen <o:p></o:p></pre>
        <pre><o:p>&nbsp;</o:p></pre>
        <pre><o:p>&nbsp;</o:p></pre>
        <pre><o:p>&nbsp;</o:p></pre>
        <pre><o:p>&nbsp;</o:p></pre>
      </div>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 

Regards,

Kingsley Idehen              
President &amp; CEO 
OpenLink Software     
Web: <a class="moz-txt-link-freetext" href="http://www.openlinksw.com">http://www.openlinksw.com</a>
Weblog: <a class="moz-txt-link-freetext" href="http://www.openlinksw.com/blog/~kidehen">http://www.openlinksw.com/blog/~kidehen</a>
Twitter/Identi.ca: kidehen 




</pre>
  </body>
</html>