Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare the release #151

Merged
merged 5 commits into from Jun 10, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 12 additions & 0 deletions CHANGES
@@ -1,3 +1,15 @@
2.5.0 (2015-06-10)
* The test runs now produce `.pcap` files (#141, by @MagnusS)
* Strip trailing bytes from network packets (#145, by @talex5)
* Add tests for uniform packet loss (#147, by @MagnusS)
* fixed bug where in case of out of order packets the ack and window were set
incorrectly (#140, #146)
* Properly handle RST packets (#107, #148)
* Add a `Log` module to control at runtime the debug statements which are
displayed (#142)
* Writing in a PCB which does not have the right state now returns an error
instead of blocking (#150)

2.4.3 (2015-05-05)
* Fix infinite loop in `Channel.read_line` when the line does not contain a CRLF
sequence (#131)
Expand Down
4 changes: 4 additions & 0 deletions README.md
Expand Up @@ -4,3 +4,7 @@ system that supports IPv4, IPv6, ARPv4, DHCPv4 and TCP/IP.
* WWW: <http://openmirage.org>
* E-mail: <mirageos-devel@lists.xenproject.org>
* Issues: <https://github.com/mirage/mirage-tcpip/issues>

### License

`mirage-tcpip` is distributed under the ISC license.
2 changes: 1 addition & 1 deletion _oasis
@@ -1,6 +1,6 @@
OASISFormat: 0.4
Name: tcpip
Version: 2.4.3
Version: 2.5.0
Synopsis: Ethernet, TCP/IPv4 and DHCPv4 library
Authors: Anil Madhavapeddy, Balraj Singh, Richard Mortier,
Nicolas Ojeda Bar, Thomas Gazagnaire
Expand Down
48 changes: 24 additions & 24 deletions lib/META
@@ -1,6 +1,6 @@
# OASIS_START
# DO NOT EDIT (digest: 8744f03c92c9b635c7a66256a0357ddf)
version = "2.4.3"
# DO NOT EDIT (digest: 4f1a93373e1ba24925bb6be770472878)
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "io-page mirage-types ipaddr cstruct mirage-profile bytes"
archive(byte) = "tcpip.cma"
Expand All @@ -10,7 +10,7 @@ archive(native, plugin) = "tcpip.cmxs"
xen_linkopts = "-ltcpip_xen_stubs"
exists_if = "tcpip.cma"
package "xen" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
archive(byte) = "tcpip_xen.cma"
archive(byte, plugin) = "tcpip_xen.cma"
Expand All @@ -20,7 +20,7 @@ package "xen" (
)

package "udpv6-unix" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires =
"tcpip.udp tcpip.ipv6-unix lwt lwt.unix ipaddr.unix cstruct.lwt io-page.unix"
Expand All @@ -32,7 +32,7 @@ package "udpv6-unix" (
)

package "udpv6-socket" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "tcpip.udp lwt lwt.unix ipaddr.unix cstruct.lwt io-page.unix"
archive(byte) = "udpv6-socket.cma"
Expand All @@ -43,7 +43,7 @@ package "udpv6-socket" (
)

package "udpv4-unix" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires =
"tcpip.udp tcpip.ipv4-unix lwt lwt.unix ipaddr.unix cstruct.lwt io-page.unix"
Expand All @@ -55,7 +55,7 @@ package "udpv4-unix" (
)

package "udpv4-socket" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "tcpip.udp lwt lwt.unix ipaddr.unix cstruct.lwt io-page.unix"
archive(byte) = "udpv4-socket.cma"
Expand All @@ -66,7 +66,7 @@ package "udpv4-socket" (
)

package "udp" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "io-page mirage-types ipaddr cstruct lwt tcpip"
archive(byte) = "udp.cma"
Expand All @@ -77,7 +77,7 @@ package "udp" (
)

package "tcpv6-unix" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires =
"tcpip.tcp tcpip.ipv6-unix tcpip.channel lwt lwt.unix mirage-unix mirage-clock-unix ipaddr.unix cstruct.lwt io-page.unix"
Expand All @@ -89,7 +89,7 @@ package "tcpv6-unix" (
)

package "tcpv6-socket" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "lwt lwt.unix ipaddr.unix cstruct.lwt io-page.unix"
archive(byte) = "tcpv6-socket.cma"
Expand All @@ -100,7 +100,7 @@ package "tcpv6-socket" (
)

package "tcpv4-unix" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires =
"tcpip.tcp tcpip.ipv4-unix tcpip.channel lwt lwt.unix mirage-unix mirage-clock-unix ipaddr.unix cstruct.lwt io-page.unix"
Expand All @@ -112,7 +112,7 @@ package "tcpv4-unix" (
)

package "tcpv4-socket" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "lwt lwt.unix ipaddr.unix cstruct.lwt io-page.unix"
archive(byte) = "tcpv4-socket.cma"
Expand All @@ -123,7 +123,7 @@ package "tcpv4-socket" (
)

package "tcp" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires =
"io-page mirage-types ipaddr cstruct lwt tcpip tcpip.ipv4 tcpip.ipv6"
Expand All @@ -135,7 +135,7 @@ package "tcp" (
)

package "stack-unix" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires =
"tcpip.udpv4-unix tcpip.tcpv4-unix tcpip.udpv6-unix tcpip.tcpv6-unix tcpip.stack-direct lwt lwt.unix ipaddr.unix mirage-unix mirage-clock-unix mirage-console.unix mirage-types.lwt io-page.unix"
Expand All @@ -147,7 +147,7 @@ package "stack-unix" (
)

package "stack-socket" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires =
"tcpip.udpv4-socket tcpip.udpv6-socket tcpip.tcpv4-socket tcpip.tcpv6-socket lwt lwt.unix ipaddr.unix io-page.unix"
Expand All @@ -159,7 +159,7 @@ package "stack-socket" (
)

package "stack-direct" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires =
"io-page mirage-types ipaddr cstruct lwt tcpip.ethif tcpip.udp tcpip.tcp tcpip.dhcpv4"
Expand All @@ -171,7 +171,7 @@ package "stack-direct" (
)

package "ipv6-unix" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "tcpip.ethif-unix tcpip.ipv6 lwt lwt.unix"
archive(byte) = "ipv6-unix.cma"
Expand All @@ -182,7 +182,7 @@ package "ipv6-unix" (
)

package "ipv6" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "io-page mirage-types ipaddr cstruct lwt tcpip"
archive(byte) = "ipv6.cma"
Expand All @@ -193,7 +193,7 @@ package "ipv6" (
)

package "ipv4-unix" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "tcpip.ethif-unix tcpip.ipv4 lwt lwt.unix"
archive(byte) = "ipv4-unix.cma"
Expand All @@ -204,7 +204,7 @@ package "ipv4-unix" (
)

package "ipv4" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "io-page mirage-types ipaddr cstruct lwt tcpip"
archive(byte) = "ipv4.cma"
Expand All @@ -215,7 +215,7 @@ package "ipv4" (
)

package "ethif-unix" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "tcpip.ethif mirage-net-unix lwt lwt.unix"
archive(byte) = "ethif-unix.cma"
Expand All @@ -226,7 +226,7 @@ package "ethif-unix" (
)

package "ethif" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "tcpip io-page mirage-types ipaddr cstruct lwt"
archive(byte) = "ethif.cma"
Expand All @@ -237,7 +237,7 @@ package "ethif" (
)

package "dhcpv4" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "io-page bytes mirage-types ipaddr cstruct lwt tcpip.udp"
archive(byte) = "dhcpv4.cma"
Expand All @@ -248,7 +248,7 @@ package "dhcpv4" (
)

package "channel" (
version = "2.4.3"
version = "2.5.0"
description = "Ethernet, TCP/IPv4 and DHCPv4 library"
requires = "io-page mirage-types ipaddr cstruct lwt"
archive(byte) = "channel.cma"
Expand Down
6 changes: 3 additions & 3 deletions setup.ml
@@ -1,7 +1,7 @@
(* setup.ml generated for the first time by OASIS v0.4.5 *)

(* OASIS_START *)
(* DO NOT EDIT (digest: 38cb04279f0430b7792c79e11b16913d) *)
(* DO NOT EDIT (digest: c22b6c554e5652dbbbdb5a8726f537c0) *)
(*
Regenerated by OASIS v0.4.5
Visit http://oasis.forge.ocamlcore.org for more information and
Expand Down Expand Up @@ -6851,7 +6851,7 @@ let setup_t =
alpha_features = [];
beta_features = [];
name = "tcpip";
version = "2.4.3";
version = "2.5.0";
license =
OASISLicense.DEP5License
(OASISLicense.DEP5Unit
Expand Down Expand Up @@ -7906,7 +7906,7 @@ let setup_t =
};
oasis_fn = Some "_oasis";
oasis_version = "0.4.5";
oasis_digest = Some "\016�\017l�\015\019�S\146��d���";
oasis_digest = Some "k\136����\127\140}�_\029�\012\017$";
oasis_exec = None;
oasis_setup_args = [];
setup_update = false
Expand Down
4 changes: 2 additions & 2 deletions tcp/flow.ml
Expand Up @@ -18,7 +18,7 @@ open Lwt.Infix

(* TODO: modify V1.TCP to have a proper return type *)

exception Bad_state of State.tcpstate
exception Refused

let debug = Log.create "Flow"

Expand Down Expand Up @@ -65,7 +65,7 @@ module Make(IP:V1_LWT.IP)(TM:V1_LWT.TIME)(C:V1.CLOCK)(R:V1.RANDOM) = struct
| `Ok () as x -> x

let err_raise = function
| `Error (`Bad_state s) -> Lwt.fail (Bad_state s)
| `Error (`Bad_state _) -> Lwt.fail Refused
| `Ok () -> Lwt.return_unit

let id = Pcb.ip
Expand Down
4 changes: 3 additions & 1 deletion tcp/flow.mli
Expand Up @@ -16,7 +16,9 @@

val debug: Log.t

exception Bad_state of State.tcpstate
exception Refused
(** {b NOTE}: to be removed in favor of a proper result type in
V1.write_nodelay and V1.writev_nodelay.*)

module Make (IP:V1_LWT.IP)(TM:V1_LWT.TIME)(C:V1.CLOCK)(R:V1.RANDOM) : sig
include V1_LWT.TCP
Expand Down
2 changes: 1 addition & 1 deletion tcp/pcb.ml
Expand Up @@ -89,7 +89,7 @@ struct
}

let pp_stats fmt t =
Log.pf fmt "[channels=%d listens=%d connects=%d]"
Log.pf fmt "[channels=%d listens=%d connects=%d]"
(Hashtbl.length t.channels)
(Hashtbl.length t.listens)
(Hashtbl.length t.connects)
Expand Down