From 799a3ff443f5357ae7857ebe989a7f92f7bd84df Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Mon, 10 Mar 2003 00:13:55 +0000 Subject: 2003-03-10 Anders Carlsson * dbus/dbus-marshal.c: (_dbus_marshal_set_string): Take a length argument so we can marshal the correct string length. (_dbus_marshal_dict), (_dbus_demarshal_dict), (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg), (_dbus_marshal_test): * dbus/dbus-marshal.h: Add support for marshalling and demarshalling dicts. * dbus/dbus-message-builder.c: (_dbus_message_data_load): Add support for TYPE DICT. * dbus/dbus-message.c: (set_string_field): Adjust header padding. (dbus_message_append_args_valist), (dbus_message_append_dict), (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type), (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer), (check_message_handling), (check_have_valid_message): * dbus/dbus-message.h: Add functions for setting and getting dicts. * dbus/dbus-protocol.h: Add DBUS_TYPE_DICT. * dbus/dbus.h: Add dbus-dict.h * doc/dbus-specification.sgml: Add information about how dicts are marshalled. * test/data/invalid-messages/dict-with-nil-value.message: * test/data/invalid-messages/too-short-dict.message: * test/data/valid-messages/dict-simple.message: * test/data/valid-messages/dict.message: Add sample messages containing dicts. --- test/data/invalid-messages/dict-with-nil-value.message | 12 ++++++++++++ test/data/invalid-messages/too-short-dict.message | 11 +++++++++++ 2 files changed, 23 insertions(+) create mode 100644 test/data/invalid-messages/dict-with-nil-value.message create mode 100644 test/data/invalid-messages/too-short-dict.message (limited to 'test/data/invalid-messages') diff --git a/test/data/invalid-messages/dict-with-nil-value.message b/test/data/invalid-messages/dict-with-nil-value.message new file mode 100644 index 00000000..8f899605 --- /dev/null +++ b/test/data/invalid-messages/dict-with-nil-value.message @@ -0,0 +1,12 @@ +# Message with lots of different argument types + +VALID_HEADER +END_LENGTH Header +ALIGN 8 +START_LENGTH Body +TYPE DICT +STRING_ARRAY { 'nil', 'uint32' } +TYPE NIL +TYPE UINT32 +UINT32 0x8765432 +END_LENGTH Body diff --git a/test/data/invalid-messages/too-short-dict.message b/test/data/invalid-messages/too-short-dict.message new file mode 100644 index 00000000..6df40b33 --- /dev/null +++ b/test/data/invalid-messages/too-short-dict.message @@ -0,0 +1,11 @@ +# Message with lots of different argument types + +VALID_HEADER +END_LENGTH Header +ALIGN 8 +START_LENGTH Body +TYPE DICT +STRING_ARRAY { 'int32', 'uint32' } +TYPE UINT32 +UINT32 0x8765432 +END_LENGTH Body -- cgit