Printing mailbox locations for vmail list
[hcoop/domtool2.git] / src / msg.sml
index 6fdda0a..747572a 100644 (file)
@@ -139,7 +139,10 @@ fun send (bio, m) =
         OpenSSL.writeString (bio, domain))
       | MsgMailboxes users =>
        (OpenSSL.writeInt (bio, 22);
         OpenSSL.writeString (bio, domain))
       | MsgMailboxes users =>
        (OpenSSL.writeInt (bio, 22);
-        sendList OpenSSL.writeString (bio, users))
+        sendList (fn (bio, {user, mailbox}) =>
+                           (OpenSSL.writeString (bio, user);
+                            OpenSSL.writeString (bio, mailbox)))
+        (bio, users))
 
 fun checkIt v =
     case v of
 
 fun checkIt v =
     case v of
@@ -215,7 +218,14 @@ fun recv bio =
                                SOME (MsgRmMailbox {domain = domain, user = user})
                              | _ => NONE)
                   | 21 => Option.map MsgListMailboxes (OpenSSL.readString bio)
                                SOME (MsgRmMailbox {domain = domain, user = user})
                              | _ => NONE)
                   | 21 => Option.map MsgListMailboxes (OpenSSL.readString bio)
-                  | 22 => Option.map MsgMailboxes (recvList OpenSSL.readString bio)
+                  | 22 => Option.map MsgMailboxes (recvList
+                                                       (fn bio =>
+                                                           case (OpenSSL.readString bio,
+                                                                 OpenSSL.readString bio) of
+                                                               (SOME user, SOME mailbox) =>
+                                                               SOME {user = user, mailbox = mailbox}
+                                                             | _ => NONE)
+                                                       bio)
                   | _ => NONE)
         
 end
                   | _ => NONE)
         
 end