X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/314ce7bdcb5f54a7d1763e8b6d405dc66cb65d2b..291eacbf162d2823f4667cbb3f9330528c4acf99:/src/msg.sml diff --git a/src/msg.sml b/src/msg.sml index 5940bbe..ab79885 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}) = @@ -171,9 +173,10 @@ fun send (bio, m) = | MsgCreateDbUser {dbtype, passwd} => (OpenSSL.writeInt (bio, 16); OpenSSL.writeString (bio, dbtype); sendOption OpenSSL.writeString (bio, passwd)) - | MsgCreateDb {dbtype, dbname} => (OpenSSL.writeInt (bio, 17); - OpenSSL.writeString (bio, dbtype); - OpenSSL.writeString (bio, dbname)) + | MsgCreateDb {dbtype, dbname, encoding} => (OpenSSL.writeInt (bio, 17); + OpenSSL.writeString (bio, dbtype); + OpenSSL.writeString (bio, dbname); + sendOption OpenSSL.writeString (bio, encoding)) | MsgNewMailbox {domain, user, passwd, mailbox} => (OpenSSL.writeInt (bio, 18); OpenSSL.writeString (bio, domain); @@ -233,6 +236,9 @@ fun send (bio, m) = OpenSSL.writeString (bio, dom)) | MsgDescription s => (OpenSSL.writeInt (bio, 40); OpenSSL.writeString (bio, s)) + | MsgReUsers => OpenSSL.writeInt (bio, 41) + | MsgVmailChanged => OpenSSL.writeInt (bio, 42) + | MsgFirewallRegen => OpenSSL.writeInt (bio, 43) fun checkIt v = case v of @@ -287,9 +293,9 @@ fun recv bio = (SOME dbtype, SOME passwd) => SOME (MsgCreateDbUser {dbtype = dbtype, passwd = passwd}) | _ => NONE) - | 17 => (case (OpenSSL.readString bio, OpenSSL.readString bio) of - (SOME dbtype, SOME dbname) => - SOME (MsgCreateDb {dbtype = dbtype, dbname = dbname}) + | 17 => (case (OpenSSL.readString bio, OpenSSL.readString bio, recvOption OpenSSL.readString bio) of + (SOME dbtype, SOME dbname, SOME encoding) => + SOME (MsgCreateDb {dbtype = dbtype, dbname = dbname, encoding = encoding}) | _ => NONE) | 18 => (case (OpenSSL.readString bio, OpenSSL.readString bio, OpenSSL.readString bio, OpenSSL.readString bio) of @@ -345,6 +351,9 @@ fun recv bio = | 38 => SOME MsgMysqlFixperms | 39 => Option.map MsgDescribe (OpenSSL.readString bio) | 40 => Option.map MsgDescription (OpenSSL.readString bio) + | 41 => SOME MsgReUsers + | 42 => SOME MsgVmailChanged + | 43 => SOME MsgFirewallRegen | _ => NONE) end