Re: Re : help about read the content of a search query

[email protected] Sun, 6 Jun 2010 06:42:51 +0000 (UTC)
Newsgroups gmane.network.gnutella.devel
Organization Home, Grenoble, France
Message-ID <[email protected]>
--RhK9rSVZUVRZWFqzlYO4UmDBZ5Y4LGTusImEZen
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Quoting Bou Aek <[email protected]> from ml.gnutella.dev-forum:
:I am trying to use this method to read the content of QueryHit message, 
:But it never gives me the correct result. 

Of course, your parsing is incorrect.  The 0.4 protocol specified that each
filename is ended by two NUL characters.  It was extended to allow further
data to optionally be put between the two NUL, so in effect the first NUL
terminates the filename and the second NUL terminates the extension block.

To parse the extension block, you'll have to read the HUGE document and
the GGEP document.  Modern servent use GGEP now for extensions, but there
may still be some legacy HUGE data in extensions sent by "dead" servents
(i.e. unmaintained old code still in use somewhere).

For now you can just ignore the extension until you get something that works.

Raphael

--RhK9rSVZUVRZWFqzlYO4UmDBZ5Y4LGTusImEZen
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>







<body style="background-color: #fff;">
<span style="display:none">&nbsp;</span>

<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="position:relative;">
  <div id="ygrp-msg" style="z-index: 1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->

    <div id="ygrp-text" >
      
      
      <p>Quoting Bou Aek &lt;<a href="mailto:abtialg%40yahoo.fr">[email protected]</a>&gt; from ml.gnutella.dev-forum:<br>
:I am trying to use this method to read the content of QueryHit message, <br>
:But it never gives me the correct result. <br>
<br>
Of course, your parsing is incorrect.  The 0.4 protocol specified that each<br>
filename is ended by two NUL characters.  It was extended to allow further<br>
data to optionally be put between the two NUL, so in effect the first NUL<br>
terminates the filename and the second NUL terminates the extension block.<br>
<br>
To parse the extension block, you'll have to read the HUGE document and<br>
the GGEP document.  Modern servent use GGEP now for extensions, but there<br>
may still be some legacy HUGE data in extensions sent by &quot;dead&quot; servents<br>
(i.e. unmaintained old code still in use somewhere).<br>
<br>
For now you can just ignore the extension until you get something that works.<br>
<br>
Raphael<br>
</p>

    </div>
     

    <!--~-|**|PrettyHtmlStart|**|-~-->
    <div style="color: #fff; height: 0;">__._,_.___</div>

        
  
   
    <div id="ygrp-actbar" style="clear: both; margin-bottom: 10px; white-space: nowrap; color: #666; padding-top: 15px;">
      <div>
        <a href="mailto:[email protected]?subject=Re: Re : help about read the content of a search query" style="margin-right: 0; padding-right: 0;">
	  Reply to <span style="font-weight: 700;">sender</span></a> |
        <a href="mailto:[email protected]?subject=Re: Re : help about read the content of a search query">
	  Reply to <span style="font-weight: 700;">group</span></a> |
        	  <a href="http://groups.yahoo.com/group/the_gdf/post;_ylc=X3oDMTJxNTU4MThoBF9TAzk3MzU5NzE0BGdycElkAzI2ODQyNTMEZ3Jwc3BJZAMxNzA1MDE2MDYxBG1zZ0lkAzIzNzQxBHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTI3NTgwNjU5MA--?act=reply&messageNum=23741">Reply <span style="font-weight: 700;">via web post</span></a> |
            	<a href="http://groups.yahoo.com/group/the_gdf/post;_ylc=X3oDMTJlYXRtcnY3BF9TAzk3MzU5NzE0BGdycElkAzI2ODQyNTMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTI3NTgwNjU5MA--" style="font-weight: 700;">Start a New Topic</a>
      </div>

                <a href="http://groups.yahoo.com/group/the_gdf/message/23731;_ylc=X3oDMTM2ODZyMXJmBF9TAzk3MzU5NzE0BGdycElkAzI2ODQyNTMEZ3Jwc3BJZAMxNzA1MDE2MDYxBG1zZ0lkAzIzNzQxBHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTI3NTgwNjU5MAR0cGNJZAMyMzczMQ--">Messages in this topic</a>
          (<span style="font-weight: 700;">10</span>)
          </div> 
<!------- Start Nav Bar ------>

<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vital" style="background-color: #e0ecee; font-family: Verdana; font-size: 10px; margin-bottom: 10px; padding: 10px;">
      <span id="vithd" style="font-weight: bold; color: #333; text-transform: uppercase; ">Recent Activity:</span>

    <ul style="list-style-type: none; margin: 0; padding: 0; display: inline;">
                                                    </ul>
    
  <div style="clear: both; padding-top: 2px; color: #1e66ae;">
    <a href="http://groups.yahoo.com/group/the_gdf;_ylc=X3oDMTJlMDVzdmM5BF9TAzk3MzU5NzE0BGdycElkAzI2ODQyNTMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTI3NTgwNjU5MA--" style="text-decoration: none;">Visit Your Group</a>
  </div>
</div>

              <div id="ygrp-mkp" style="border: 1px solid #d8d8d8; clear: both; float: left; font-family: Arial; margin: 5px 0 10px 0; padding: 0 10px;">
      <div id="hd" style="color: #628c2a; font-size: 85%; font-weight: 700; line-height: 122%; margin: 10px 0;">MARKETPLACE</div>
      <div id="ads" style="margin-bottom: 10px;">
                  <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
            <p><a href="http://us.ard.yahoo.com/SIG=15ojc8b1o/M=493064.13983314.14041046.13298430/D=groups/S=1705016061:MKP1/Y=YAHOO/EXP=1275813790/L=c6091cea-7136-11df-9fcb-ff721a404734/B=ztZSVWKImmQ-/J=1275806590914144/K=Z0lrOQiVzeqUeWIpLfp7_Q/A=6060255/R=0/SIG=1194m4keh/*http://us.toolbar.yahoo.com/?.cpdl=grpj">Stay on top of your group activity without leaving the page you're on - Get the Yahoo! Toolbar now.</a></p> <script language=javascript>
if(window.yzq_d==null)window.yzq_d=new Object();
window.yzq_d['ztZSVWKImmQ-']='&U=13c5vuopq%2fN%3dztZSVWKImmQ-%2fC%3d493064.13983314.14041046.13298430%2fD%3dMKP1%2fB%3d6060255%2fV%3d1';
</script><noscript><img width=1 height=1 alt="" src="http://us.bc.yahoo.com/b?P=c6091cea-7136-11df-9fcb-ff721a404734&T=1d9gmb1o4%2fX%3d1275806590%2fE%3d1705016061%2fR%3dgroups%2fK%3d5%2fV%3d2.1%2fW%3dH%2fY%3dYAHOO%2fF%3d3317248074%2fH%3dY29udGVudD0iR3JvdXBzO1dlYnNpdGVfU2VydmljZXM7UG9sbHM7QnJpZWZjYXNlO0ZsaWNrcjtHZW9jaXRpZXM7UGhvdG9zO1lhaG9vX1RlY2g7TWVtYmVyX0RpcmVjdG9yeTtQb2RjYXN0czsiIGRpc2FibGVzaHVmZmxpbmc9IjEiIHNlcnZlSWQ9ImM2MDkxY2VhLTcxMzYtMTFkZi05ZmNiLWZmNzIxYTQwNDczNCIgc2l0ZUlkPSIyNzk2MDUxIiB0U3RtcD0iMTI3NTgwNjU5MDkwNjUzMyIg%2fQ%3d-1%2fS%3d1%2fJ%3d3B5EC442&U=13c5vuopq%2fN%3dztZSVWKImmQ-%2fC%3d493064.13983314.14041046.13298430%2fD%3dMKP1%2fB%3d6060255%2fV%3d1"></noscript>          </div>
                          <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
                          <hr style="border: 1px solid #d8d8d8;">
                        <p><a href="http://us.ard.yahoo.com/SIG=15oosfbqe/M=493064.13814537.14041040.10835568/D=groups/S=1705016061:MKP1/Y=YAHOO/EXP=1275813790/L=c6091cea-7136-11df-9fcb-ff721a404734/B=z9ZSVWKImmQ-/J=1275806590914144/K=Z0lrOQiVzeqUeWIpLfp7_Q/A=6078812/R=0/SIG=114ae4ln1/*http://dogandcatanswers.yahoo.com/">Get great advice about dogs and cats.  Visit the Dog & Cat Answers Center.</a></p><script language=javascript>
if(window.yzq_d==null)window.yzq_d=new Object();
window.yzq_d['z9ZSVWKImmQ-']='&U=13cqamjbh%2fN%3dz9ZSVWKImmQ-%2fC%3d493064.13814537.14041040.10835568%2fD%3dMKP1%2fB%3d6078812%2fV%3d1';
</script><noscript><img width=1 height=1 alt="" src="http://us.bc.yahoo.com/b?P=c6091cea-7136-11df-9fcb-ff721a404734&T=1d8ddb0t1%2fX%3d1275806590%2fE%3d1705016061%2fR%3dgroups%2fK%3d5%2fV%3d2.1%2fW%3dH%2fY%3dYAHOO%2fF%3d625899080%2fH%3dY29udGVudD0iR3JvdXBzO1dlYnNpdGVfU2VydmljZXM7UG9sbHM7QnJpZWZjYXNlO0ZsaWNrcjtHZW9jaXRpZXM7UGhvdG9zO1lhaG9vX1RlY2g7TWVtYmVyX0RpcmVjdG9yeTtQb2RjYXN0czsiIGRpc2FibGVzaHVmZmxpbmc9IjEiIHNlcnZlSWQ9ImM2MDkxY2VhLTcxMzYtMTFkZi05ZmNiLWZmNzIxYTQwNDczNCIgc2l0ZUlkPSIyNzk2MDUxIiB0U3RtcD0iMTI3NTgwNjU5MDkwNjUzMyIg%2fQ%3d-1%2fS%3d1%2fJ%3d3B5EC442&U=13cqamjbh%2fN%3dz9ZSVWKImmQ-%2fC%3d493064.13814537.14041040.10835568%2fD%3dMKP1%2fB%3d6078812%2fV%3d1"></noscript>          </div>
                          <div class="ad" style="color: #628C2A; font-family: Arial; font-weight: 700; padding: 0 0;">
                          <hr style="border: 1px solid #d8d8d8;">
                        <p><a href="http://us.ard.yahoo.com/SIG=15or48fb7/M=493064.14012770.13963757.13298430/D=groups/S=1705016061:MKP1/Y=YAHOO/EXP=1275813790/L=c6091cea-7136-11df-9fcb-ff721a404734/B=0NZSVWKImmQ-/J=1275806590914144/K=Z0lrOQiVzeqUeWIpLfp7_Q/A=6093983/R=0/*http://us.lrd.yahoo.com/_ylc=X3oDMTFnaW51Y3EyBHRtX2RtZWNoA1RleHQgTGluawR0bV9sbmsDVTExMjc3MDUEdG1fbmV0A1lhaG9vIQ--/SIG=1219e5kan/**http%3A//toolbar.yahoo.com/tour%3Ftab=wc%26.intl=us%26.cpdl=wc">Get real-time World Cup coverage on the Yahoo! Toolbar.  Download now to win a signed team jersey!</a></p> <script language=javascript>
if(window.yzq_d==null)window.yzq_d=new Object();
window.yzq_d['0NZSVWKImmQ-']='&U=13cfl3d6r%2fN%3d0NZSVWKImmQ-%2fC%3d493064.14012770.13963757.13298430%2fD%3dMKP1%2fB%3d6093983%2fV%3d1';
</script><noscript><img width=1 height=1 alt="" src="http://us.bc.yahoo.com/b?P=c6091cea-7136-11df-9fcb-ff721a404734&T=1d95jij2i%2fX%3d1275806590%2fE%3d1705016061%2fR%3dgroups%2fK%3d5%2fV%3d2.1%2fW%3dH%2fY%3dYAHOO%2fF%3d2837131392%2fH%3dY29udGVudD0iR3JvdXBzO1dlYnNpdGVfU2VydmljZXM7UG9sbHM7QnJpZWZjYXNlO0ZsaWNrcjtHZW9jaXRpZXM7UGhvdG9zO1lhaG9vX1RlY2g7TWVtYmVyX0RpcmVjdG9yeTtQb2RjYXN0czsiIGRpc2FibGVzaHVmZmxpbmc9IjEiIHNlcnZlSWQ9ImM2MDkxY2VhLTcxMzYtMTFkZi05ZmNiLWZmNzIxYTQwNDczNCIgc2l0ZUlkPSIyNzk2MDUxIiB0U3RtcD0iMTI3NTgwNjU5MDkwNjUzMyIg%2fQ%3d-1%2fS%3d1%2fJ%3d3B5EC442&U=13cfl3d6r%2fN%3d0NZSVWKImmQ-%2fC%3d493064.14012770.13963757.13298430%2fD%3dMKP1%2fB%3d6093983%2fV%3d1"></noscript>          </div>
              </div>
    </div>
  
<div id="ft" style="font-family: Arial; font-size: 11px; margin-top: 5px; padding: 0 2px 0 0; clear: both;">
  <a href="http://groups.yahoo.com/;_ylc=X3oDMTJkcjQ2cGh0BF9TAzk3MzU5NzE0BGdycElkAzI2ODQyNTMEZ3Jwc3BJZAMxNzA1MDE2MDYxBHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjc1ODA2NTkw" style="float: left;"><img src="http://l.yimg.com/a/i/us/yg/logo/us.gif" height="15" width="137" alt="Yahoo! Groups" style="border: 0;"/></a>
  <div style="color: #747575; float: right;">Switch to: <a href="mailto:[email protected]?subject=Change Delivery Format: Traditional" style="text-decoration: none;">Text-Only</a>, <a href="mailto:[email protected]?subject=Email Delivery: Digest" class="margin-rt" style="text-decoration: none;">Daily Digest</a> &bull; <a href="mailto:[email protected]?subject=Unsubscribe" style="text-decoration: none;">Unsubscribe</a> &bull; <a href="http://docs.yahoo.com/info/terms/" style="text-decoration: none;">Terms of Use</a></div>
</div>

<!-- |**|end egp html banner|**| -->

  </div> <!-- ygrp-msg -->

  <!-- Sponsor -->
  <!-- |**|begin egp html banner|**| -->
  <div id="ygrp-sponsor" style="width:160px; float:right; clear:none; margin:0 0 25px 0; background: #fff;">

<!-- Start Recommendations -->
<div id="ygrp-reco">
     </div>
<!-- End Recommendations -->



  </div>   <!-- |**|end egp html banner|**| -->

  <div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div>

  <img src="http://geo.yahoo.com/serv?s=97359714/grpId=2684253/grpspId=1705016061/msgId=23741/stime=1275806590/nc1=6083913/nc2=4836043/nc3=5733757" width="1" height="1"> <br>

<div style="color: #fff; height: 0;">__,_._,___</div>
<!--~-|**|PrettyHtmlEnd|**|-~-->

</body>

<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
  <style type="text/css">
  <!--
  #ygrp-mkp {
  border: 1px solid #d8d8d8;
  font-family: Arial;
  margin: 10px 0;
  padding: 0 10px;
}

#ygrp-mkp hr {
  border: 1px solid #d8d8d8;
}

#ygrp-mkp #hd {
  color: #628c2a;
  font-size: 85%;
  font-weight: 700;
  line-height: 122%;
  margin: 10px 0;
}

#ygrp-mkp #ads {
  margin-bottom: 10px;
}

#ygrp-mkp .ad {
  padding: 0 0;
}

#ygrp-mkp .ad a {
  color: #0000ff;
  text-decoration: none;
}
  #ygrp-sponsor #ygrp-lc {
  font-family: Arial;
}

#ygrp-sponsor #ygrp-lc #hd {
  margin: 10px 0px;
  font-weight: 700;
  font-size: 78%;
  line-height: 122%;
}

#ygrp-sponsor #ygrp-lc .ad {
  margin-bottom: 10px;
  padding: 0 0;
}

  a {
    color: #1e66ae;
  }

  #actions {
    font-family: Verdana;
    font-size: 11px;
    padding: 10px 0;
  }

  #activity {
    background-color: #e0ecee;
    float: left;
    font-family: Verdana;
    font-size: 10px;
    padding: 10px;
  }

  #activity span {
    font-weight: 700;
  }

  #activity span:first-child {
    text-transform: uppercase;
  }

  #activity span a {
    color: #5085b6;
    text-decoration: none;
  }

  #activity span span {
    color: #ff7900;
  }

  #activity span .underline {
    text-decoration: underline;
  }

  .attach {
    clear: both;
    display: table;
    font-family: Arial;
    font-size: 12px;
    padding: 10px 0;
    width: 400px;
  }

  .attach div a {
    text-decoration: none;
  }

  .attach img {
    border: none;
    padding-right: 5px;
  }

  .attach label {
    display: block;
    margin-bottom: 5px;
  }

  .attach label a {
    text-decoration: none;
  }
  
  blockquote {
    margin: 0 0 0 4px;
  }

  .bold {
    font-family: Arial;
    font-size: 13px;
    font-weight: 700;
  }

  .bold a {
    text-decoration: none;
  }

  dd.last p a {
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span {
    margin-right: 10px;
    font-family: Verdana;
    font-weight: 700;
  }

  dd.last p span.yshortcuts {
    margin-right: 0;
  }

  div.attach-table div div a {
    text-decoration: none;
  }

  div.attach-table {
    width: 400px;
  }

  div.file-title a, div.file-title a:active, div.file-title a:hover, div.file-title a:visited {
    text-decoration: none;
  }

  div.photo-title a, div.photo-title a:active, div.photo-title a:hover, div.photo-title a:visited {
    text-decoration: none;
  }

  div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
  }

  .green {
    color: #628c2a;
  }

  .MsoNormal {
    margin: 0 0 0 0;
  }

  o {
    font-size: 0;
  }

  #photos div {
    float: left;
    width: 72px;
  }

  #photos div div {
    border: 1px solid #666666;
    height: 62px;
    overflow: hidden;
    width: 62px;
  }

  #photos div label {
    color: #666666;
    font-size: 10px;
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    width: 64px;
  }

  #reco-category {
    font-size: 77%;
  }

  #reco-desc {
    font-size: 77%;
  }

  .replbq {
    margin: 4px;
  }

  #ygrp-actbar div a:first-child {
   /* border-right: 0px solid #000;*/
    margin-right: 2px;
    padding-right: 5px;
  }

  #ygrp-mlmsg {
    font-size: 13px;
    font-family: Arial, helvetica,clean, sans-serif;
    *font-size: small;
    *font: x-small;
  }

  #ygrp-mlmsg table {
    font-size: inherit;
    font: 100%;
  }

  #ygrp-mlmsg select, input, textarea {
    font: 99% Arial, Helvetica, clean, sans-serif;
  }

  #ygrp-mlmsg pre, code {
    font:115% monospace;
    *font-size:100%;
  }

  #ygrp-mlmsg * {
    line-height: 1.22em;
  }

  #ygrp-mlmsg #logo {
    padding-bottom: 10px;
  }

  #ygrp-mlmsg a {
    color: #1E66AE;
  }

  #ygrp-msg p a {
    font-family: Verdana;
  }

  #ygrp-msg p#attach-count span {
    color: #1E66AE;
    font-weight: 700;
  }

  #ygrp-reco #reco-head {
    color: #ff7900;
    font-weight: 700;
  }

  #ygrp-reco {
    margin-bottom: 20px;
    padding: 0px;
  }

  #ygrp-sponsor #ov li a {
    font-size: 130%;
    text-decoration: none;
  }

  #ygrp-sponsor #ov li {
    font-size: 77%;
    list-style-type: square;
    padding: 6px 0;
  } 

  #ygrp-sponsor #ov ul {
    margin: 0;
    padding: 0 0 0 8px;
  }

  #ygrp-text {
    font-family: Georgia;
  }

  #ygrp-text p {
    margin: 0 0 1em 0;
  }

  #ygrp-text tt {
    font-size: 120%;
  }

  #ygrp-vital ul li:last-child {
    border-right: none !important; 
  } 
  -->
  </style>
</head>

<!--~-|**|PrettyHtmlEnd|**|-~-->
</html>
<!-- end group email -->


--RhK9rSVZUVRZWFqzlYO4UmDBZ5Y4LGTusImEZen--