В Fri, 31 Jan 2014 13:35:11 -0200
Paulo Flabiano Smorigo <pfsmor...@linux.vnet.ibm.com> пишет:

> * grub-core/net/arp.c (grub_net_arp_receive): Trim arp packets with abnormal 
> size.
> 
> GRUB uses arp request to create the arp response. If the incoming packet is
> foobared, GRUB needs to trim the arp response packet before sending it.
> 
> This is just a fix in time for 2.02. I'm planning to rewrite the arp response 
> code
> after the release.
> 
> diff --git a/ChangeLog b/ChangeLog
> index cfa9c83..10e9c3d 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,3 +1,11 @@
> +2014-01-31  Paulo Flabiano Smorigo  <pfsmor...@br.ibm.com>
> +
> +     * grub-core/net/arp.c (grub_net_arp_receive): Trim arp packets with
> +     abnormal size.
> +
> +     GRUB uses arp request to create the arp response. If the incoming 
> packet is
> +     foobared, GRUB needs to trim the arp response packet before sending it.
> +
>  2014-01-29  Vladimir Serbinenko  <phco...@gmail.com>
>  
>       * grub-core/disk/ahci.c: Increase timeout. Some SSDs take up to
> diff --git a/grub-core/net/arp.c b/grub-core/net/arp.c
> index d62d0cc..77581f4 100644
> --- a/grub-core/net/arp.c
> +++ b/grub-core/net/arp.c
> @@ -162,6 +162,12 @@ grub_net_arp_receive (struct grub_net_buff *nb,
>      if (grub_net_addr_cmp (&inf->address, &target_addr) == 0
>       && grub_be_to_cpu16 (arp_header->op) == ARP_REQUEST)
>        {
> +        if ((nb->tail - nb->data) > 50)

Using large ping size is quite common during network troubleshooting.
This looks like rather arbitrary restriction. I'd say - if we were able
to receive packet we should be able to also send packet of the same
size; what problem does it fix?

> +          {
> +            grub_dprintf ("net", "arp packet with abnormal size (%ld 
> bytes).\n",
> +                         nb->tail - nb->data);
> +            nb->tail = nb->data + 50;
> +          }
>       grub_net_link_level_address_t target;
>       /* We've already checked that pln is either 4 or 16.  */
>       char tmp[16];
> 


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to