Hello all, A few months ago I released an OCaml version of XenStore. It was basically just the C version but written in OCaml. Since then I''ve put a lot of work into it and am ready to release the next version. The code has been cleaned up a lot, modularised, and put into classes. I''ve improved the transaction system to use optimistic concurrency control with copy-on-write. I found that by repeatedly starting a transaction, write some data, and committing the transaction from a guest domain, it was possible to create a denial-of-service attack on XenStore (this attack is included in the release). However, this same attack run against this version of the OCaml XenStore does not prevent other transactions from committing. I''m releasing it as a patch against the current tip (18847). It replaces the C XenStore with the OCaml one. A tarball of the OCaml XenStore code is also available on my website at: http://cs.ubc.ca/~pjcolp/xenstore-ocaml.tar.bz2 Patrick _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
A few issues with this release have been brought to my attention. The most important is an include file which was linked to a file in my build config rather than the system one. The other was the way I was handling socket connection shutdown. So I''ve fixed both of these and created a new patch which is against the current xen-unstable tip (18881). Any additional comments would be greatly appreciated. Patrick Patrick Colp wrote:> Hello all, > > A few months ago I released an OCaml version of XenStore. It was > basically just the C version but written in OCaml. Since then I''ve put a > lot of work into it and am ready to release the next version. The code > has been cleaned up a lot, modularised, and put into classes. > > I''ve improved the transaction system to use optimistic concurrency > control with copy-on-write. I found that by repeatedly starting a > transaction, write some data, and committing the transaction from a > guest domain, it was possible to create a denial-of-service attack on > XenStore (this attack is included in the release). However, this same > attack run against this version of the OCaml XenStore does not prevent > other transactions from committing. > > I''m releasing it as a patch against the current tip (18847). It replaces > the C XenStore with the OCaml one. A tarball of the OCaml XenStore code > is also available on my website at: > > http://cs.ubc.ca/~pjcolp/xenstore-ocaml.tar.bz2 > > > Patrick > > > ------------------------------------------------------------------------ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
After receiving some more feedback, I''ve fixed some more issues with the build. This patch has been tested against the latest xen-unstable tip (19043). Patrick Patrick Colp wrote:> A few issues with this release have been brought to my attention. The > most important is an include file which was linked to a file in my build > config rather than the system one. The other was the way I was handling > socket connection shutdown. So I''ve fixed both of these and created a > new patch which is against the current xen-unstable tip (18881). > > Any additional comments would be greatly appreciated. > > > Patrick > > > Patrick Colp wrote: >> Hello all, >> >> A few months ago I released an OCaml version of XenStore. It was >> basically just the C version but written in OCaml. Since then I''ve put a >> lot of work into it and am ready to release the next version. The code >> has been cleaned up a lot, modularised, and put into classes. >> >> I''ve improved the transaction system to use optimistic concurrency >> control with copy-on-write. I found that by repeatedly starting a >> transaction, write some data, and committing the transaction from a >> guest domain, it was possible to create a denial-of-service attack on >> XenStore (this attack is included in the release). However, this same >> attack run against this version of the OCaml XenStore does not prevent >> other transactions from committing. >> >> I''m releasing it as a patch against the current tip (18847). It replaces >> the C XenStore with the OCaml one. A tarball of the OCaml XenStore code >> is also available on my website at: >> >> http://cs.ubc.ca/~pjcolp/xenstore-ocaml.tar.bz2 >> >> >> Patrick >> >> >> ------------------------------------------------------------------------ >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel > > > ------------------------------------------------------------------------ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel