X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/41c58dafe735d17b7d3241bf248ca8806a355926..06bd821502f57dcb4ef89295b221fc2b9a4f1ae3:/src/msg.sml diff --git a/src/msg.sml b/src/msg.sml index 91cc78a..a8450dd 100644 --- a/src/msg.sml +++ b/src/msg.sml @@ -23,12 +23,14 @@ structure Msg :> MSG = struct open OpenSSL MsgTypes Slave val a2i = fn Add => 0 - | Delete => 1 + | Delete true => 1 | Modify => 2 + | Delete false => 3 val i2a = fn 0 => Add - | 1 => Delete + | 1 => Delete true | 2 => Modify + | 3 => Delete false | _ => raise OpenSSL.OpenSSL "Bad action number to deserialize" fun sendAcl (bio, {user, class, value}) = @@ -229,6 +231,10 @@ fun send (bio, m) = OpenSSL.writeString (bio, dbtype); OpenSSL.writeString (bio, dbname)) | MsgMysqlFixperms => OpenSSL.writeInt (bio, 38) + | MsgDescribe dom => (OpenSSL.writeInt (bio, 39); + OpenSSL.writeString (bio, dom)) + | MsgDescription s => (OpenSSL.writeInt (bio, 40); + OpenSSL.writeString (bio, s)) fun checkIt v = case v of @@ -339,6 +345,8 @@ fun recv bio = SOME (MsgGrantDb {dbtype = dbtype, dbname = dbname}) | _ => NONE) | 38 => SOME MsgMysqlFixperms + | 39 => Option.map MsgDescribe (OpenSSL.readString bio) + | 40 => Option.map MsgDescription (OpenSSL.readString bio) | _ => NONE) end