TextMessage handling added.
[umurmur.git] / src / messages.c
index 3014f88ca34f19b882f1776b080cf891ec95803e..9cd4dc775f191bb2fc54e8a39857f22d93953e6a 100644 (file)
@@ -75,6 +75,8 @@ int Msg_messageToNetwork(message_t *msg, uint8_t *buffer)
                        break;
                }
                Msg_addPreamble(buffer, msg->messageType, len);
+               Log_debug("To net: Version->release: %s Version->os: %s",
+                                 msg->payload.version->release, msg->payload.version->os);
                mumble_proto__version__pack(msg->payload.version, bufptr);
                break;
        case UDPTunnel:
@@ -294,12 +296,17 @@ void Msg_free(message_t *msg)
        if (msg->refcount > 0)
                return;
 
-       /* XXX - add free for locally generated messages too */
        switch (msg->messageType) {
        case Version:
                if (msg->unpacked)
                        mumble_proto__version__free_unpacked(msg->payload.version, NULL);
                else {
+                       if (msg->payload.version->release)
+                               free(msg->payload.version->release);
+                       if (msg->payload.version->os)
+                               free(msg->payload.version->os);
+                       if (msg->payload.version->os_version)
+                               free(msg->payload.version->os_version);
                        free(msg->payload.version);
                }
                break;
@@ -534,6 +541,13 @@ message_t *Msg_networkToMessage(uint8_t *data, int size)
                msg->payload.codecVersion = mumble_proto__codec_version__unpack(NULL, msgLen, msgData);
                break;
        }
+       case PermissionQuery:
+       {
+               msg = Msg_create(PermissionQuery);
+               msg->unpacked = true;
+               msg->payload.permissionQuery = mumble_proto__permission_query__unpack(NULL, msgLen, msgData);
+               break;
+       }
 
        default:
                Log_warn("Unsupported message %d", messageType);