(* HCoop Domtool (http://hcoop.sourceforge.net/)
* Copyright (c) 2006, Adam Chlipala
+ * Copyright (c) 2011,2014 Clinton Ebadi <clinton@unknownlamer.org>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
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))
| 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
| 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
| 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