<font color="#000000">
<font color="#0000BB">&lt;?&nbsp;</font><font color="#007700">if&nbsp;(</font><font color="#0000BB">$server</font><font color="#007700">)&nbsp;{&nbsp;</font><font color="#0000BB">$pgpserver</font><font color="#007700">=</font><font color="#0000BB">$server</font><font color="#007700">;&nbsp;}<br>&nbsp;&nbsp;&nbsp;else&nbsp;{&nbsp;</font><font color="#0000BB">$pgpserver</font><font color="#007700">=</font><font color="#DD0000">"dmzs.com"</font><font color="#007700">;&nbsp;}<br>&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$port</font><font color="#007700">=</font><font color="#DD0000">"11371"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$pgplookup</font><font color="#007700">=</font><font color="#DD0000">"/pks/lookup"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$pgpadd</font><font color="#007700">=</font><font color="#DD0000">"/pks/add"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$webserver</font><font color="#007700">=</font><font color="#DD0000">"http://www.dmzs.com/"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$url</font><font color="#007700">=</font><font color="#DD0000">"~dmz/projects/pks-commands.php"</font><font color="#007700">;<br></font><font color="#0000BB">?&gt;<br>&lt;?php&nbsp;</font><font color="#007700">if&nbsp;(!</font><font color="#0000BB">$docmd</font><font color="#007700">):</font><font color="#0000BB">?&gt;<br></font>&lt;title&gt;Public&nbsp;Key&nbsp;Server&nbsp;Commands&lt;/title&gt;<br>&lt;h1&gt;Public&nbsp;Key&nbsp;Server&nbsp;Commands&lt;/h1&gt;<br>&lt;b&gt;HTML&nbsp;Forms&nbsp;support&nbsp;required!&lt;/b&gt;&lt;p&gt;<br>&lt;h2&gt;&lt;a&nbsp;href="#extract"&gt;Extract&nbsp;a&nbsp;key&nbsp;from&nbsp;the&nbsp;server&lt;/a&gt;&lt;/h2&gt;<br>&lt;h2&gt;&lt;a&nbsp;href="#submit"&gt;Submit&nbsp;a&nbsp;key&nbsp;to&nbsp;the&nbsp;server&lt;/a&gt;&lt;/h2&gt;<br>&lt;hr&gt;<br><br>&lt;h2&gt;&lt;a&nbsp;name="extract"&gt;Extracting&nbsp;a&nbsp;key&lt;/a&gt;&lt;/h2&gt;<br><br>Here's&nbsp;how&nbsp;to&nbsp;extract&nbsp;a&nbsp;key:<br><br>&lt;ol&gt;<br>&nbsp;&lt;li&gt;&nbsp;Select&nbsp;either&nbsp;the&nbsp;``Index''&nbsp;or&nbsp;``Verbose&nbsp;Index''&nbsp;check&nbsp;box.&nbsp;&nbsp;The<br>``Verbose''&nbsp;option&nbsp;also&nbsp;displays&nbsp;all&nbsp;signatures&nbsp;on&nbsp;displayed&nbsp;keys.<br>&nbsp;&lt;li&gt;&nbsp;Type&nbsp;ID&nbsp;you&nbsp;want&nbsp;to&nbsp;search&nbsp;for&nbsp;in&nbsp;the&nbsp;``Search&nbsp;String''&nbsp;box.<br>&nbsp;&lt;li&gt;&nbsp;Press&nbsp;the&nbsp;``Do&nbsp;the&nbsp;search!''&nbsp;key.<br>&nbsp;&lt;li&gt;&nbsp;The&nbsp;server&nbsp;will&nbsp;return&nbsp;a&nbsp;(verbose)&nbsp;list&nbsp;of&nbsp;keys&nbsp;on&nbsp;the&nbsp;server<br>matching&nbsp;the&nbsp;given&nbsp;ID.&nbsp;&nbsp;(The&nbsp;ID&nbsp;can&nbsp;be&nbsp;any&nbsp;valid&nbsp;argument&nbsp;to&nbsp;a&nbsp;pgp<br>-kv(v)&nbsp;command.&nbsp;If&nbsp;you&nbsp;want&nbsp;to&nbsp;look&nbsp;up&nbsp;a&nbsp;key&nbsp;by&nbsp;its&nbsp;hexadecimal&nbsp;KeyID,<br>remember&nbsp;to&nbsp;prefix&nbsp;the&nbsp;ID&nbsp;with&nbsp;&lt;tt&gt;0x&lt;/tt&gt;.)<br>&nbsp;&lt;li&gt;&nbsp;The&nbsp;returned&nbsp;index&nbsp;will&nbsp;have&nbsp;hypertext&nbsp;links&nbsp;for&nbsp;every&nbsp;KeyID,<br>and&nbsp;every&nbsp;bracket-delimited&nbsp;identifier&nbsp;(i.e.&nbsp;&amp;lt;&lt;a<br>href="<font color="#0000BB">&lt;?</font><font color="#007700">echo&nbsp;</font><font color="#0000BB">$webserver&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$url&nbsp;?&gt;</font>?docmd=lookup&amp;op=get&amp;exact=on&amp;search=dmz@dmzs.com"&gt;<br>&lt;i&gt;dmz@dmzs.com&lt;/i&gt;&lt;/a&gt;&amp;gt;).&nbsp;&nbsp;Clicking&nbsp;on&nbsp;the&nbsp;hypertext&nbsp;link&nbsp;will<br>display&nbsp;an&nbsp;ASCII-armored&nbsp;version&nbsp;of&nbsp;the&nbsp;listed&nbsp;public&nbsp;key.<br>&nbsp;&lt;/ol&gt;<br><br>&lt;hr&gt;<br>&lt;form&nbsp;action="<font color="#0000BB">&lt;?</font><font color="#007700">echo&nbsp;</font><font color="#0000BB">$webserver&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$url&nbsp;?&gt;</font>"&nbsp;method="GET"&gt;<br>&lt;input&nbsp;type="hidden"&nbsp;name="docmd"&nbsp;value="lookup"&gt;<br>Server:&nbsp;&lt;select&nbsp;name="server"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="dmzs.com"&nbsp;selected;&gt;DMZ&nbsp;Services&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="keys.pgp.com"&gt;NAI&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="pgp5.ai.mit.edu"&gt;BAL&nbsp;MIT&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="pgp.cc.gatech.edu"&gt;GA&nbsp;Tech&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="pgp.es.net"&gt;ESnet&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;<br>Index:&nbsp;&lt;input&nbsp;type="radio"&nbsp;name="op"&nbsp;value="index"&nbsp;checked&gt;<br>Verbose&nbsp;Index:&nbsp;&lt;input&nbsp;type="radio"&nbsp;name="op"&nbsp;value="vindex"&gt;<br>&lt;p&gt;<br>Search&nbsp;String:&nbsp;&lt;input&nbsp;name="search"&nbsp;size=40&gt;&lt;p&gt;<br>&lt;input&nbsp;type="checkbox"&nbsp;name="fingerprint"&gt;&nbsp;Show&nbsp;PGP&nbsp;"fingerprints"<br>for&nbsp;keys&nbsp;&lt;p&gt;<br>&lt;input&nbsp;type="checkbox"&nbsp;name="exact"&gt;&nbsp;Only&nbsp;return&nbsp;exact&nbsp;matches&nbsp;&lt;p&gt;<br>&lt;input&nbsp;type="reset"&nbsp;value="Reset"&gt;<br>&lt;input&nbsp;type="submit"&nbsp;value="Do&nbsp;the&nbsp;search!"&gt;<br>&lt;/form&gt;<br>&lt;hr&gt;<br><br>&lt;b&gt;Extract&nbsp;caveats:&lt;/b&gt;<br><br>&lt;ul&gt;<br>&nbsp;&lt;li&gt;Currently,&nbsp;hypertext&nbsp;links&nbsp;are&nbsp;only&nbsp;generated&nbsp;for&nbsp;the&nbsp;KeyID&nbsp;and<br>for&nbsp;text&nbsp;found&nbsp;between&nbsp;matching&nbsp;brackets.&nbsp;&nbsp;(It's&nbsp;a&nbsp;common&nbsp;convention<br>to&nbsp;put&nbsp;your&nbsp;e-mail&nbsp;address&nbsp;inside&nbsp;brackets&nbsp;somewhere&nbsp;in&nbsp;the&nbsp;key&nbsp;ID<br>string.)<br>&nbsp;&lt;li&gt;The&nbsp;search&nbsp;engine&nbsp;is&nbsp;not&nbsp;the&nbsp;same&nbsp;as&nbsp;that&nbsp;used&nbsp;by&nbsp;the&nbsp;pgp<br>program.&nbsp;&nbsp;It&nbsp;will&nbsp;return&nbsp;information&nbsp;for&nbsp;all&nbsp;keys&nbsp;which&nbsp;contain&nbsp;all<br>the&nbsp;words&nbsp;in&nbsp;the&nbsp;search&nbsp;string.&nbsp;&nbsp;A&nbsp;``word''&nbsp;in&nbsp;this&nbsp;context&nbsp;is&nbsp;a<br>string&nbsp;of&nbsp;consecutive&nbsp;alphabetic&nbsp;characters.&nbsp;&nbsp;For&nbsp;example,&nbsp;in&nbsp;the<br>string&nbsp;&lt;tt&gt;marc@mit.edu&lt;/tt&gt;,&nbsp;the&nbsp;words&nbsp;are&nbsp;&lt;tt&gt;marc&lt;/tt&gt;,<br>&lt;tt&gt;mit&lt;/tt&gt;,&nbsp;and&nbsp;&lt;tt&gt;edu&lt;/tt&gt;.&nbsp;&lt;p&gt;<br>&nbsp;This&nbsp;means&nbsp;that&nbsp;some&nbsp;keys&nbsp;you&nbsp;might&nbsp;not&nbsp;expect&nbsp;will&nbsp;be&nbsp;returned.&nbsp;&nbsp;If<br>there&nbsp;was&nbsp;a&nbsp;key&nbsp;in&nbsp;the&nbsp;database&nbsp;for&nbsp;&lt;tt&gt;Marc&nbsp;Edu<br>&amp;lt;mit.foo.com&amp;gt;&lt;/tt&gt;,&nbsp;this&nbsp;would&nbsp;be&nbsp;returned&nbsp;for&nbsp;by&nbsp;the&nbsp;above<br>query.&nbsp;&nbsp;If&nbsp;you&nbsp;don't&nbsp;want&nbsp;to&nbsp;see&nbsp;all&nbsp;these&nbsp;extra&nbsp;matches,&nbsp;you&nbsp;can<br>select&nbsp;``Only&nbsp;return&nbsp;exact&nbsp;matches'',&nbsp;and&nbsp;only&nbsp;keys&nbsp;containing&nbsp;the<br>specified&nbsp;search&nbsp;string&nbsp;will&nbsp;be&nbsp;returned.&lt;p&gt;<br>&nbsp;This&nbsp;algorithm&nbsp;does&nbsp;&lt;i&gt;not&lt;/i&gt;&nbsp;match&nbsp;partial&nbsp;words&nbsp;in&nbsp;any&nbsp;case.&nbsp;&nbsp;So,<br>if&nbsp;you&nbsp;are&nbsp;used&nbsp;to&nbsp;specifying&nbsp;only&nbsp;part&nbsp;of&nbsp;a&nbsp;long&nbsp;name,&nbsp;this&nbsp;will&nbsp;no<br>longer&nbsp;work.&nbsp;&lt;p&gt;<br><br>&nbsp;&lt;/ul&gt;<br><br>&lt;hr&gt;<br><br>&lt;h2&gt;&lt;a&nbsp;name="submit"&gt;Submitting&nbsp;a&nbsp;new&nbsp;key&nbsp;to&nbsp;the&nbsp;server&lt;/a&gt;&lt;/h2&gt;<br><br>Here's&nbsp;how&nbsp;to&nbsp;add&nbsp;a&nbsp;key&nbsp;to&nbsp;the&nbsp;server's&nbsp;keyring:<br><br>&lt;ol&gt;<br>&lt;li&gt;&nbsp;Cut-and-paste&nbsp;an&nbsp;ASCII-armored&nbsp;version&nbsp;of&nbsp;your&nbsp;public&nbsp;key&nbsp;into<br>the&nbsp;text&nbsp;box.<br>&lt;li&gt;&nbsp;Press&nbsp;"Submit".<br>&lt;/ol&gt;<br><br>That's&nbsp;it!&nbsp;&nbsp;The&nbsp;keyserver&nbsp;will&nbsp;process&nbsp;your&nbsp;request&nbsp;immediately.&nbsp;&nbsp;If<br>you&nbsp;like,&nbsp;you&nbsp;can&nbsp;check&nbsp;that&nbsp;your&nbsp;key&nbsp;exists&nbsp;using&nbsp;the&nbsp;&lt;a<br>href="#extract"&gt;extract&lt;/a&gt;&nbsp;procedure&nbsp;above.<br><br>&lt;hr&gt;<br><br>&lt;form&nbsp;action="<font color="#0000BB">&lt;?</font><font color="#007700">echo&nbsp;</font><font color="#0000BB">$webserver&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$url&nbsp;?&gt;</font>"&nbsp;method="POST"&gt;<br>&lt;input&nbsp;type="hidden"&nbsp;name="docmd"&nbsp;value="add"&gt;<br>Server:&nbsp;&lt;select&nbsp;name="server"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="dmzs.com"&nbsp;selected;&gt;DMZ&nbsp;Services&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="keys.pgp.com"&gt;NAI&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="pgp5.ai.mit.edu"&gt;BAL&nbsp;MIT&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="pgp.cc.gatech.edu"&gt;GA&nbsp;Tech&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option&nbsp;value="pgp.es.net"&gt;ESnet&lt;/option&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;&lt;br&gt;<br>Enter&nbsp;ASCII-armored&nbsp;PGP&nbsp;key&nbsp;here:&nbsp;&lt;p&gt;<br>&lt;textarea&nbsp;name="keytext"&nbsp;rows=20&nbsp;cols=66&gt;&lt;/textarea&gt;&lt;p&gt;<br><br>&lt;input&nbsp;type="reset"&nbsp;value="Reset"&gt;<br>&lt;input&nbsp;type="submit"&nbsp;value="Submit&nbsp;this&nbsp;key&nbsp;to&nbsp;the&nbsp;keyserver!"&gt;&lt;p&gt;<br>&lt;/form&gt;<br><br>&lt;hr&gt;<br><br>&lt;address&gt;<br>(Thanks&nbsp;to&nbsp;&lt;a&nbsp;href="http://www-swiss.ai.mit.edu/~bal"&gt;Brian&nbsp;LaMacchia&lt;/a&gt;,<br>from&nbsp;whom&nbsp;much&nbsp;of&nbsp;this&nbsp;page&nbsp;is&nbsp;cribbed)&lt;p&gt;<br>Marc&nbsp;Horowitz&nbsp;&lt;a&nbsp;href="mailto:marc@mit.edu"&gt;&amp;lt;marc@mit.edu&amp;gt;&lt;/a&gt;&nbsp;&lt;br&gt;<br>&lt;a&nbsp;href="http://www.mit.edu:8001/sipb/sipb.html"&gt;<br>Student&nbsp;Information&nbsp;Processing&nbsp;Board&lt;/a&gt;<br>&lt;/address&gt;<br><font color="#0000BB">&lt;?&nbsp;</font><font color="#007700">endif;</font><font color="#0000BB">?&gt;<br>&lt;?php&nbsp;</font><font color="#007700">if&nbsp;(</font><font color="#0000BB">$docmd</font><font color="#007700">):</font><font color="#0000BB">?&gt;<br></font>&lt;title&gt;Public&nbsp;Key&nbsp;Server&nbsp;<font color="#0000BB">&lt;?&nbsp;</font><font color="#007700">if&nbsp;(</font><font color="#0000BB">$docmd</font><font color="#007700">==</font><font color="#DD0000">"lookup"</font><font color="#007700">)&nbsp;{echo&nbsp;</font><font color="#DD0000">"Lookup"</font><font color="#007700">;}&nbsp;else&nbsp;{echo&nbsp;</font><font color="#DD0000">"Add"</font><font color="#007700">;}</font><font color="#0000BB">?&gt;</font>&lt;/title&gt;<br>&lt;h1&gt;Public&nbsp;Key&nbsp;Server&nbsp;<font color="#0000BB">&lt;?&nbsp;</font><font color="#007700">if&nbsp;(</font><font color="#0000BB">$docmd</font><font color="#007700">==</font><font color="#DD0000">"lookup"</font><font color="#007700">)&nbsp;{echo&nbsp;</font><font color="#DD0000">"Lookup"</font><font color="#007700">;}&nbsp;else&nbsp;{echo&nbsp;</font><font color="#DD0000">"Add"</font><font color="#007700">;}</font><font color="#0000BB">?&gt;</font>&lt;/h1&gt;<br><font color="#0000BB">&lt;?&nbsp;<br>&nbsp;&nbsp;</font><font color="#007700">if&nbsp;(!</font><font color="#0000BB">$fingerprint</font><font color="#007700">)&nbsp;{&nbsp;</font><font color="#0000BB">$fingerprint&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#DD0000">"off"</font><font color="#007700">;}<br>&nbsp;&nbsp;if&nbsp;(!</font><font color="#0000BB">$exact</font><font color="#007700">)&nbsp;{&nbsp;</font><font color="#0000BB">$exact&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#DD0000">"off"</font><font color="#007700">;}<br>&nbsp;&nbsp;if&nbsp;(</font><font color="#0000BB">$docmd&nbsp;</font><font color="#007700">==&nbsp;</font><font color="#DD0000">"lookup"</font><font color="#007700">)&nbsp;{&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#DD0000">"GET&nbsp;$pgplookup?op=$op&amp;exact=$exact&amp;fingerprint=$fingerprint&amp;search=$search&nbsp;HTTP/1.0</font><font color="#007700">\n\n</font><font color="#DD0000">"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$regexstr&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#DD0000">"/pks\/lookup\?/"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$replacestr&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#0000BB">$url&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#DD0000">"?docmd=lookup&amp;"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</font><font color="#0000BB">$server</font><font color="#007700">)&nbsp;{&nbsp;</font><font color="#0000BB">$replacestr&nbsp;</font><font color="#007700">.=&nbsp;</font><font color="#DD0000">"server="&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$server&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#DD0000">"&amp;"</font><font color="#007700">;&nbsp;}<br>&nbsp;&nbsp;}&nbsp;else&nbsp;if&nbsp;(</font><font color="#0000BB">$docmd&nbsp;</font><font color="#007700">==&nbsp;</font><font color="#DD0000">"add"</font><font color="#007700">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$newkey</font><font color="#007700">=</font><font color="#DD0000">"keytext="</font><font color="#007700">.</font><font color="#0000BB">rawurlencode</font><font color="#007700">(</font><font color="#0000BB">$keytext</font><font color="#007700">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$keylen</font><font color="#007700">=</font><font color="#0000BB">strlen</font><font color="#007700">(</font><font color="#0000BB">$newkey</font><font color="#007700">);<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#DD0000">""</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">.=&nbsp;</font><font color="#DD0000">"POST&nbsp;$pgpadd&nbsp;HTTP/1.0&nbsp;</font><font color="#007700">\r\n</font><font color="#DD0000">"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">.=&nbsp;</font><font color="#DD0000">"Referer:&nbsp;\r\n"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">.=&nbsp;</font><font color="#DD0000">"User-Agent:&nbsp;php-pkscommands/0.1&nbsp;\r\n"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">.=&nbsp;</font><font color="#DD0000">"Host:&nbsp;"&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$webserver&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#DD0000">"\r\n"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">.=&nbsp;</font><font color="#DD0000">"Content-type:&nbsp;application/x-www-form-urlencoded\r\n"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">.=&nbsp;</font><font color="#DD0000">"Content-length:&nbsp;"&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$keylen&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#DD0000">"\r\n\r\n"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$servercommand&nbsp;</font><font color="#007700">.=&nbsp;</font><font color="#0000BB">$newkey</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$regexstr&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#DD0000">"/pks\/add\?/"</font><font color="#007700">;<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$replacestr&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#0000BB">$url&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#DD0000">"?docmd=add&amp;"</font><font color="#007700">;<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;</font><font color="#0000BB">$fp&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#0000BB">fsockopen</font><font color="#007700">(</font><font color="#0000BB">$pgpserver</font><font color="#007700">,&nbsp;</font><font color="#0000BB">$port</font><font color="#007700">,&nbsp;&amp;</font><font color="#0000BB">$errno</font><font color="#007700">,&nbsp;&amp;</font><font color="#0000BB">$errstr</font><font color="#007700">,&nbsp;</font><font color="#0000BB">30</font><font color="#007700">);<br>&nbsp;&nbsp;if&nbsp;(!</font><font color="#0000BB">$fp</font><font color="#007700">)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</font><font color="#DD0000">"Error&nbsp;with&nbsp;PGP&nbsp;Server.&nbsp;"&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$errstr&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#DD0000">"("&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$errno&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#DD0000">")&lt;br&gt;\n"</font><font color="#007700">;<br>&nbsp;&nbsp;}&nbsp;else&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">fputs</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">,&nbsp;</font><font color="#0000BB">$servercommand</font><font color="#007700">);<br>&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(!</font><font color="#0000BB">feof</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font color="#0000BB">$line&nbsp;</font><font color="#007700">=&nbsp;</font><font color="#0000BB">fgets</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">,&nbsp;</font><font color="#0000BB">80</font><font color="#007700">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</font><font color="#0000BB">strstr</font><font color="#007700">(</font><font color="#0000BB">$line</font><font color="#007700">,&nbsp;</font><font color="#DD0000">"HTTP"</font><font color="#007700">)&nbsp;&amp;&amp;&nbsp;!</font><font color="#0000BB">strstr</font><font color="#007700">(</font><font color="#0000BB">$line</font><font color="#007700">,&nbsp;</font><font color="#DD0000">"Server:&nbsp;pks_www"</font><font color="#007700">)&nbsp;&amp;&amp;&nbsp;!</font><font color="#0000BB">strstr</font><font color="#007700">(</font><font color="#0000BB">$line</font><font color="#007700">,&nbsp;</font><font color="#DD0000">"Content-type:&nbsp;text/html"</font><font color="#007700">))&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</font><font color="#0000BB">preg_replace</font><font color="#007700">(</font><font color="#0000BB">$regexstr</font><font color="#007700">,</font><font color="#0000BB">$replacestr</font><font color="#007700">,</font><font color="#0000BB">$line</font><font color="#007700">);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;}<br>&nbsp;&nbsp;</font><font color="#0000BB">fclose</font><font color="#007700">(</font><font color="#0000BB">$fp</font><font color="#007700">);<br>&nbsp;&nbsp;echo&nbsp;</font><font color="#DD0000">"&lt;hr&gt;&lt;a&nbsp;href=\""&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$webserver&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#0000BB">$url&nbsp;</font><font color="#007700">.&nbsp;</font><font color="#DD0000">"\"&gt;Back&lt;/a&gt;"</font><font color="#007700">;<br></font><font color="#0000BB">?&gt;<br>&lt;?&nbsp;</font><font color="#007700">endif;</font><font color="#0000BB">?&gt;<br></font>
</font>
