Skip to content

v0.11.0

Latest
Compare
Choose a tag to compare
@Dirbaio Dirbaio released this 23 Dec 19:34
· 162 commits to main since this release

Additions

  • wire/ipsec: add basic IPsec parsing/emitting (#821).
  • phy: add support for TUNSETIFF on MIPS, PPC and SPARC (#839).
  • socket/tcp: accept FIN on zero window (#845).
  • wire/ipv6: add is_unique_local() to IPv6 addresses (#862).
  • wire/ipv6: add is_global_unicast() to IPv6 addresses (#864).
  • iface/neigh: add fill_with_expiration (#871).

Fixes

  • icmpv6: truncate packet to MTU (#807, #808).
  • wire/rpl: DAO-ACK DODAG ID was wrongly read (#824).
  • socket/tcp: don't panic when calling listen again on the same local endpoint (#841).
  • wire/dhcpv4: don't panic when parsing addresses with incorrect amount of bytes (#843).
  • iface/ndisc: prevent ndisc when the medium is IP (#865).
  • wire/ieee802154: better parsing of security fields. Correctly parse frame type (3 bits instead of 2 bits) (#868).
  • wire/ieee802154: better handle address fields for new frame version (#870).
  • iface/tcp: don't send TCP RST with unspecified addresses (#867).
  • iface: don't handle empty packets (this would panic when reading the IP version) (#866).
  • socket/dhcp: Add an upper bound to the renew/rebind timeout in RetryConfig (#835).

Changes

  • iface: rewrite IpPacket such that IPv6 packets can contain owned extension headers (#802).
  • iface: remove generic T: [u8] in functions. This reduced the server example by 10KB (#810).
  • SocketSet: add comment about using static lifetime for SocketSets with owned storage (#813).
  • phy/RawSocket: open raw socket with O_NONBLOCK (#817).
  • tests/rstest: use rstest for fixture based testing (#823).
  • docs/readme: update readme about IEEE802.15.4 and 6LoWPAN (#826).
  • wire/ipv6-hbh: IPv6 HBH has owned options instead of references (#827).
  • wire/sixlowpan: 6LoWPAN is split into multiple modules (#828).
  • sockets: match the behaviour of peek_slice and recv_slice (#834).
  • dependencies: update to headpless v0.8 (#853).
  • config: make config constants public (#855).
  • phy/ieee802154: clarify mtu+=2 for IEEE802.15.4 (#857).
  • sockets: recv_slice returns RcvError::Truncated when the length of the slice is smaller than the data received by the socket (#859).
  • iface/ipv6: get_source_address uses RFC 6724 for address selection (#864).
  • pcap: use IEEE 802.15.4 without FCS for PCAP link types (#874).
  • iface: rename IpPacket/Ipv4Packet/Ipv6Packet to Pacet/PacketV4/PacketV4. This is to remove the ambiguity with IpPacket in src/wire/ (#873).
  • wire/ndisc: rewrite parse function (3.1KiB -> 1.9KiB) (#878)
  • iface: Check IPv6 address after processing HBH (#861)