From 7ba714ad7fe8256edfaad7d9a0f09aeb9611ca44 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Thu, 30 Jan 2003 04:20:44 +0000 Subject: 2003-01-30 Havoc Pennington * dbus/dbus-message.c: use message->byte_order instead of DBUS_COMPILER_BYTE_ORDER throughout. (dbus_message_create_header): pad header to align the start of the body of the message to 8-byte boundary * dbus/dbus-marshal.h: make all the demarshalers take const DBusString arguments. * dbus/dbus-message.c (_dbus_message_loader_return_buffer): validate message args here, so we don't have to do slow validation later, and so we catch bad messages as they are incoming. Also add better checks on header_len and body_len. Also fill in message->byte_order * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not implemented properly) (_dbus_string_validate_nul): new function to check all-nul * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename get_arg_end_pos and remove all validation (_dbus_marshal_validate_arg): actually do validation here. --- test/data/valid-messages/opposite-endian.message | 3 ++- test/data/valid-messages/simplest-manual.message | 1 + test/data/valid-messages/simplest.message | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/data/valid-messages/opposite-endian.message b/test/data/valid-messages/opposite-endian.message index 864795bd..fb65d1d7 100644 --- a/test/data/valid-messages/opposite-endian.message +++ b/test/data/valid-messages/opposite-endian.message @@ -5,7 +5,7 @@ OPPOSITE_ENDIAN ## VALID_HEADER includes a LENGTH Header and LENGTH Body VALID_HEADER -FIELD_NAME repl +FIELD_NAME rply TYPE INT32 INT32 10000 @@ -17,6 +17,7 @@ FIELD_NAME unkn TYPE INT32 INT32 0xfeeb +ALIGN 8 END_LENGTH Header START_LENGTH Body diff --git a/test/data/valid-messages/simplest-manual.message b/test/data/valid-messages/simplest-manual.message index bf5ddc5b..11dce5cc 100644 --- a/test/data/valid-messages/simplest-manual.message +++ b/test/data/valid-messages/simplest-manual.message @@ -9,6 +9,7 @@ LENGTH Header LENGTH Body ## client serial INT32 7 +ALIGN 8 END_LENGTH Header START_LENGTH Body END_LENGTH Body diff --git a/test/data/valid-messages/simplest.message b/test/data/valid-messages/simplest.message index 872a58a6..a0283aa2 100644 --- a/test/data/valid-messages/simplest.message +++ b/test/data/valid-messages/simplest.message @@ -2,6 +2,7 @@ ## VALID_HEADER includes a LENGTH Header and LENGTH Body VALID_HEADER +ALIGN 8 END_LENGTH Header START_LENGTH Body END_LENGTH Body -- cgit