1. 15 Nov, 2012 1 commit
  2. 27 Feb, 2012 1 commit
    • David Gibson's avatar
      slirp: Fix assertion failure on rejected DHCP requests · 90d7416a
      David Gibson authored
      The guest network stack might DHCPREQUEST an address that the slirp built
      in dhcp server can't let it have - for example if the guest has an old
      leases file from another network configuration.  In this case the dhcp
      server should and does reject the request and prepares to send a DHCPNAK
      to the client.
      
      However, in this case the daddr variable in bootp_reply() is set to
      0.0.0.0.  Shortly afterwards, it unconditionally attempts to pre-insert the
      new client address into the ARP table.  This causes an assertion failure in
      arp_address_add() because of the 0.0.0.0 address.
      
      According to RFC2131, DHCPNAK messages for clients on the same subnet
      must be sent to the broadcast address (S3.2, subpoint 2).
      
      Cc: Jan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarJan Kiszka <jan.kiszka@siemens.com>
      90d7416a
  3. 03 Aug, 2011 1 commit
  4. 05 Mar, 2011 1 commit
  5. 10 Jan, 2011 1 commit
    • Aurelien Jarno's avatar
      slirp: fix unaligned access in bootp code · 8aaf42ed
      Aurelien Jarno authored
      Slirp code tries to be smart an avoid data copy by using pointer to
      the data. This solution leads to unaligned access, in this case
      preq_addr, which is a 32-bit long structure. There is no real point
      of avoiding data copy in a such case, as the value itself is smaller
      or the same size as a pointer.
      
      The patch replaces pointers to the preq_addr structure by the strcture
      itself, and use the address 0.0.0.0 if no address has been requested
      (this is not a valid address in such a request). It compares it with
      htonl(0L) for correctness reasons, in case a code checker look for such
      mistakes. It also uses memcpy() for copying the data, which takes care
      of alignement issues.
      
      This fixes an unaligned access on IA64 host while requesting a DHCP
      address.
      Signed-off-by: default avatarAurelien Jarno <aurelien@aurel32.net>
      8aaf42ed
  6. 04 Sep, 2010 1 commit
  7. 07 Mar, 2010 1 commit
  8. 06 Feb, 2010 1 commit
  9. 29 Jun, 2009 4 commits
  10. 22 May, 2009 1 commit
  11. 13 May, 2009 1 commit
  12. 21 Apr, 2009 1 commit
  13. 24 Jan, 2009 1 commit
  14. 08 Jan, 2009 1 commit
  15. 01 Oct, 2008 1 commit
  16. 20 Sep, 2008 1 commit
  17. 26 Oct, 2007 1 commit
  18. 17 Sep, 2007 1 commit
  19. 16 Sep, 2007 1 commit
  20. 19 Feb, 2007 1 commit
  21. 16 Apr, 2006 1 commit
  22. 05 Jun, 2005 1 commit
  23. 03 Oct, 2004 1 commit
  24. 30 Sep, 2004 2 commits
  25. 04 Jun, 2004 1 commit
  26. 03 May, 2004 1 commit
  27. 21 Apr, 2004 1 commit