[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r6478 - GNUnet/src/applications/chat
From: |
gnunet |
Subject: |
[GNUnet-SVN] r6478 - GNUnet/src/applications/chat |
Date: |
Wed, 27 Feb 2008 15:29:18 -0700 (MST) |
Author: nevans
Date: 2008-02-27 15:29:18 -0700 (Wed, 27 Feb 2008)
New Revision: 6478
Modified:
GNUnet/src/applications/chat/chat.h
GNUnet/src/applications/chat/clientapi.c
Log:
NOT GOOD
Modified: GNUnet/src/applications/chat/chat.h
===================================================================
--- GNUnet/src/applications/chat/chat.h 2008-02-27 22:28:57 UTC (rev 6477)
+++ GNUnet/src/applications/chat/chat.h 2008-02-27 22:29:18 UTC (rev 6478)
@@ -32,29 +32,19 @@
typedef struct
{
GNUNET_MessageHeader header;
- unsigned long nick_len;
- unsigned long msg_len;
- unsigned long room_name_len;
+ int nick_len;
+ int msg_len;
+ /*int room_name_len;*/
char nick[1];
-} P2P_chat_MESSAGE;
-
-typedef struct
-{
- GNUNET_MessageHeader header;
- unsigned long nick_len;
- unsigned long msg_len;
- unsigned long room_name_len;
- char nick[1];
-
} CS_chat_MESSAGE;
typedef struct
{
GNUNET_MessageHeader header;
- unsigned long nick_len;
- unsigned long pubkey_len;
- unsigned long room_name_len;
+ int nick_len;
+ int pubkey_len;
+ /*int room_name_len;*/
char nick[1];
} CS_chat_JOIN_MESSAGE;
Modified: GNUnet/src/applications/chat/clientapi.c
===================================================================
--- GNUnet/src/applications/chat/clientapi.c 2008-02-27 22:28:57 UTC (rev
6477)
+++ GNUnet/src/applications/chat/clientapi.c 2008-02-27 22:29:18 UTC (rev
6478)
@@ -95,22 +95,21 @@
received_msg = (CS_chat_MESSAGE *) reply;
- nick_len = ntohl (received_msg->nick_len);
- msg_len = ntohl (received_msg->msg_len);
+ nick_len = ntohs (received_msg->nick_len);
+ msg_len = ntohs (received_msg->msg_len);
/* NO NEED TO SEND ROOM! */
- room_name_len = ntohl (received_msg->room_name_len);
+ room_name_len = size - nick_len - msg_len - sizeof(CS_chat_MESSAGE) -
sizeof(GNUNET_MessageHeader);
if (size < (nick_len + msg_len + room_name_len))
{
GNUNET_GE_BREAK (NULL, 0);
- return GNUNET_SYSERR; /* invalid message */
+ return NULL; /* invalid message */
}
nick = GNUNET_malloc (nick_len + 1);
message_content = GNUNET_malloc (msg_len + 1);
room_name = GNUNET_malloc (room_name_len + 1);
- /* BUFFER OVERFLOWS! */
memcpy (nick, &received_msg->nick[0], nick_len);
memcpy (message_content, &received_msg->nick[nick_len], msg_len);
memcpy (room_name, &received_msg->nick[nick_len + msg_len],
@@ -194,9 +193,9 @@
sizeof (GNUNET_RSA_PublicKey) + strlen (room_name);
join_msg = GNUNET_malloc (size_of_join);
- join_msg->nick_len = htonl (strlen (nickname));
- join_msg->pubkey_len = htonl (sizeof (GNUNET_RSA_PublicKey));
- join_msg->room_name_len = htonl (strlen (room_name));
+ join_msg->nick_len = htons (strlen (nickname));
+ join_msg->pubkey_len = htons (sizeof (GNUNET_RSA_PublicKey));
+ //join_msg->room_name_len = htonl (strlen (room_name));
memcpy (&join_msg->nick[0], nickname, strlen (nickname));
@@ -270,9 +269,9 @@
sizeof (GNUNET_RSA_PublicKey) + strlen (chat_room->room_name);
join_msg = GNUNET_malloc (size_of_join);
- join_msg->nick_len = htonl (strlen (chat_room->nickname));
- join_msg->pubkey_len = htonl (sizeof (GNUNET_RSA_PublicKey));
- join_msg->room_name_len = htonl (strlen (chat_room->room_name));
+ join_msg->nick_len = htons (strlen (chat_room->nickname));
+ join_msg->pubkey_len = htons (sizeof (GNUNET_RSA_PublicKey));
+ //join_msg->room_name_len = htonl (strlen (chat_room->room_name));
memcpy (&join_msg->nick[0], chat_room->nickname,
@@ -340,11 +339,11 @@
strlen (room->room_name));
cs_msg_hdr.type = htons (GNUNET_CS_PROTO_CHAT_MSG);
- msg_to_send = GNUNET_malloc (ntohl (cs_msg_hdr.size));
+ msg_to_send = GNUNET_malloc (ntohs (cs_msg_hdr.size));
- msg_to_send->nick_len = htonl (strlen (room->nickname));
- msg_to_send->msg_len = htonl (strlen (message));
- msg_to_send->room_name_len = htonl (strlen (room->room_name));
+ msg_to_send->nick_len = htons (strlen (room->nickname));
+ msg_to_send->msg_len = htons (strlen (message));
+ //msg_to_send->room_name_len = htonl (strlen (room->room_name));
memcpy (&msg_to_send->nick[0], room->nickname, strlen (room->nickname));
memcpy (&msg_to_send->nick[strlen (room->nickname)], message,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6478 - GNUnet/src/applications/chat,
gnunet <=