X-Git-Url: https://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/fe789bea628b15229156c8a4272c2b6063c9b1a0..085b569a10dad4197a57f633b3d2b5d6d97db109:/src/msg.sml diff --git a/src/msg.sml b/src/msg.sml index 5eacaa2..eb04648 100644 --- a/src/msg.sml +++ b/src/msg.sml @@ -1,5 +1,6 @@ (* HCoop Domtool (http://hcoop.sourceforge.net/) * Copyright (c) 2006, Adam Chlipala + * Copyright (c) 2011,2014 Clinton Ebadi * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -117,8 +118,11 @@ fun sendQuery (bio, q) = OpenSSL.writeString (bio, s)) | QSocket s => (OpenSSL.writeInt (bio, 4); OpenSSL.writeString (bio, s)) - | QFirewall s => (OpenSSL.writeInt (bio, 5); - OpenSSL.writeString (bio, s)) + | QFirewall {node, user} => (OpenSSL.writeInt (bio, 5); + OpenSSL.writeString (bio, node); + OpenSSL.writeString (bio, user)) + | QAptExists s => (OpenSSL.writeInt (bio, 6); + OpenSSL.writeString (bio, s)) fun recvQuery bio = case OpenSSL.readInt bio of @@ -129,7 +133,10 @@ fun recvQuery bio = | 2 => Option.map QFtp (OpenSSL.readString bio) | 3 => Option.map QTrustedPath (OpenSSL.readString bio) | 4 => Option.map QSocket (OpenSSL.readString bio) - | 5 => Option.map QFirewall (OpenSSL.readString bio) + | 5 => (case ((OpenSSL.readString bio), (OpenSSL.readString bio)) of + (SOME node, SOME user) => SOME (QFirewall { node = node, user = user }) + | _ => NONE) + | 6 => Option.map QAptExists (OpenSSL.readString bio) | _ => NONE) | NONE => NONE @@ -236,6 +243,19 @@ 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) + | MsgAptQuery {section, description} => (OpenSSL.writeInt (bio, 44); + OpenSSL.writeString (bio, section); + OpenSSL.writeString (bio, description)) + | MsgSaChanged => OpenSSL.writeInt (bio, 45) + | MsgPortalPasswdMailbox {domain : string, user : string, oldpasswd : string, newpasswd : string} => + (OpenSSL.writeInt (bio, 46); + OpenSSL.writeString (bio, domain); + OpenSSL.writeString (bio, user); + OpenSSL.writeString (bio, oldpasswd); + OpenSSL.writeString (bio, newpasswd)) fun checkIt v = case v of @@ -348,6 +368,17 @@ 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 + | 44 => (case (OpenSSL.readString bio, OpenSSL.readString bio) of + (SOME section, SOME description) => SOME (MsgAptQuery {section = section, description = description}) + | _ => NONE) + | 45 => SOME MsgSaChanged + | 46 => (case (OpenSSL.readString bio, OpenSSL.readString bio, OpenSSL.readString bio, OpenSSL.readString bio) of + (SOME domain, SOME user, SOME oldpasswd, SOME newpasswd) => + SOME (MsgPortalPasswdMailbox {domain = domain, user = user, oldpasswd = oldpasswd, newpasswd = newpasswd}) + | _ => NONE) | _ => NONE) end