/[inetutils]/inetutils/libicmp/libping.c
ViewVC logotype

Diff of /inetutils/libicmp/libping.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by gray, Sat Aug 11 08:32:20 2001 UTC revision 1.6 by gray, Mon Apr 21 14:18:27 2003 UTC
# Line 175  ping_xmit (PING *p) Line 175  ping_xmit (PING *p)
175        icmp_echo_encode (p->ping_buffer, buflen, p->ping_ident,        icmp_echo_encode (p->ping_buffer, buflen, p->ping_ident,
176                         p->ping_num_xmit);                         p->ping_num_xmit);
177        break;        break;
178          
179      case ICMP_TIMESTAMP:      case ICMP_TIMESTAMP:
180        icmp_timestamp_encode (p->ping_buffer, buflen, p->ping_ident,        icmp_timestamp_encode (p->ping_buffer, buflen, p->ping_ident,
181                              p->ping_num_xmit);                              p->ping_num_xmit);
182        break;        break;
183          
184      case ICMP_ADDRESS:      case ICMP_ADDRESS:
185        icmp_address_encode (p->ping_buffer, buflen, p->ping_ident,        icmp_address_encode (p->ping_buffer, buflen, p->ping_ident,
186                            p->ping_num_xmit);                            p->ping_num_xmit);
187        break;        break;
188          
189      default:      default:
190        icmp_generic_encode (p->ping_buffer, buflen, p->ping_type, p->ping_ident,        icmp_generic_encode (p->ping_buffer, buflen, p->ping_type, p->ping_ident,
191                            p->ping_num_xmit);                            p->ping_num_xmit);
# Line 230  ping_recv (PING *p) Line 233  ping_recv (PING *p)
233        return -1;        return -1;
234      }      }
235    
236      if (icmp->icmp_id != p->ping_ident)
237        return -1;
238      if (rc)
239        {
240          fprintf (stderr, "checksum mismatch from %s\n",
241                   inet_ntoa (p->ping_from.sin_addr));
242        }
243    
244    switch (icmp->icmp_type)    switch (icmp->icmp_type)
245      {      {
246      case ICMP_ECHOREPLY:      case ICMP_ECHOREPLY:
247      case ICMP_TIMESTAMPREPLY:      case ICMP_TIMESTAMPREPLY:
248      case ICMP_ADDRESSREPLY:      case ICMP_ADDRESSREPLY:
249        /*    case ICMP_ROUTERADV:*/        /*    case ICMP_ROUTERADV:*/
       if (icmp->icmp_id != p->ping_ident)  
         return -1;  
       if (rc)  
         {  
           fprintf (stderr, "checksum mismatch from %s\n",  
                   inet_ntoa (p->ping_from.sin_addr));  
         }  
   
250        p->ping_num_recv++;        p->ping_num_recv++;
251        if (_PING_TST (p, icmp->icmp_seq % p->ping_cktab_size))        if (_PING_TST (p, icmp->icmp_seq % p->ping_cktab_size))
252          {          {
# Line 265  ping_recv (PING *p) Line 268  ping_recv (PING *p)
268                           ip, icmp, n);                           ip, icmp, n);
269        break;        break;
270    
271        case ICMP_ECHO:
272        case ICMP_TIMESTAMP:
273        case ICMP_ADDRESS:
274          return -1;
275    
276      default:      default:
277        if (p->ping_event)        if (p->ping_event)
278          (*p->ping_event)(PEV_NOECHO,          (*p->ping_event)(PEV_NOECHO,

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26