[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MirageOS-devel] ANN: Cstruct 1.3.0

By popular request, Cstruct 1.3.0 is now in OPAM [1], and supports Sexplib by 
default!  It also includes extra bounds checks within Cstruct sub-views, thanks 
to Mindy discovering this while attacking our TCP stack with dodgy packets 
(interesting discussion in [2]).

# #require "cstruct";;
# #require "sexplib.top";;
# Cstruct.sexp_of_t (Cstruct.create 5);;
- : Sexplib.Type.t = ((buffer \y886%m.) (off 0) (len 5)) 

The sexplib addition makes it much easier to decorate upstream libraries (like 
TCP/IP) with a `sexp` serializer to obtain a stable serialisation.

* Add bounds checks for Cstruct.BE/LE functions that violate a view. 
Previously, only bounds errors on the underlying buffers would raise. Bug #25, 
reported by Mindy Preston inmirage/mirage-tcpip#56.

* Add 'Lwt_cstruct.complete' to ensure that read/write operations run to 

* Add Sexplib conversion functions to Cstruct.t values (#27 #22).

[1] https://github.com/mirage/ocaml-cstruct/releases/tag/v1.3.0
[2] https://github.com/mirage/mirage-tcpip/issues/56

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.