diff options
Diffstat (limited to 'src/3rd_party/dbus-1.7.8/dbus/dbus-marshal-validate.h')
-rw-r--r-- | src/3rd_party/dbus-1.7.8/dbus/dbus-marshal-validate.h | 206 |
1 files changed, 0 insertions, 206 deletions
diff --git a/src/3rd_party/dbus-1.7.8/dbus/dbus-marshal-validate.h b/src/3rd_party/dbus-1.7.8/dbus/dbus-marshal-validate.h deleted file mode 100644 index 06434201a2..0000000000 --- a/src/3rd_party/dbus-1.7.8/dbus/dbus-marshal-validate.h +++ /dev/null @@ -1,206 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ -/* dbus-marshal-validate.h Validation routines for marshaled data - * - * Copyright (C) 2005 Red Hat, Inc. - * - * Licensed under the Academic Free License version 2.1 - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - */ - -#ifndef DBUS_MARSHAL_VALIDATE_H -#define DBUS_MARSHAL_VALIDATE_H - -/** - * @addtogroup DBusMarshal - * - * @{ - */ - -/** - * This is used rather than a bool for high visibility - */ -typedef enum -{ - DBUS_VALIDATION_MODE_WE_TRUST_THIS_DATA_ABSOLUTELY, - DBUS_VALIDATION_MODE_DATA_IS_UNTRUSTED -} DBusValidationMode; - -/** - * This is primarily used in unit testing, so we can verify that each - * invalid message is invalid for the expected reasons. Thus we really - * want a distinct enum value for every codepath leaving the validator - * functions. Enum values are specified manually for ease of debugging - * (so you can see the enum value given a printf) - */ -typedef enum -{ -#define _DBUS_NEGATIVE_VALIDITY_COUNT 4 - DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4, /**< can't determine validity due to OOM */ - DBUS_INVALID_FOR_UNKNOWN_REASON = -3, - DBUS_VALID_BUT_INCOMPLETE = -2, - DBUS_VALIDITY_UNKNOWN = -1, - DBUS_VALID = 0, /**< the data is valid */ - DBUS_INVALID_UNKNOWN_TYPECODE = 1, - DBUS_INVALID_MISSING_ARRAY_ELEMENT_TYPE = 2, - DBUS_INVALID_SIGNATURE_TOO_LONG = 3, /* this one is impossible right now since - * you can't put a too-long value in a byte - */ - DBUS_INVALID_EXCEEDED_MAXIMUM_ARRAY_RECURSION = 4, - DBUS_INVALID_EXCEEDED_MAXIMUM_STRUCT_RECURSION = 5, - DBUS_INVALID_STRUCT_ENDED_BUT_NOT_STARTED = 6, - DBUS_INVALID_STRUCT_STARTED_BUT_NOT_ENDED = 7, - DBUS_INVALID_STRUCT_HAS_NO_FIELDS = 8, - DBUS_INVALID_ALIGNMENT_PADDING_NOT_NUL = 9, - DBUS_INVALID_BOOLEAN_NOT_ZERO_OR_ONE = 10, - DBUS_INVALID_NOT_ENOUGH_DATA = 11, - DBUS_INVALID_TOO_MUCH_DATA = 12, /**< trailing junk makes it invalid */ - DBUS_INVALID_BAD_BYTE_ORDER = 13, - DBUS_INVALID_BAD_PROTOCOL_VERSION = 14, - DBUS_INVALID_BAD_MESSAGE_TYPE = 15, - DBUS_INVALID_BAD_SERIAL = 16, - DBUS_INVALID_INSANE_FIELDS_ARRAY_LENGTH = 17, - DBUS_INVALID_INSANE_BODY_LENGTH = 18, - DBUS_INVALID_MESSAGE_TOO_LONG = 19, - DBUS_INVALID_HEADER_FIELD_CODE = 20, - DBUS_INVALID_HEADER_FIELD_HAS_WRONG_TYPE = 21, - DBUS_INVALID_USES_LOCAL_INTERFACE = 22, - DBUS_INVALID_USES_LOCAL_PATH = 23, - DBUS_INVALID_HEADER_FIELD_APPEARS_TWICE = 24, - DBUS_INVALID_BAD_DESTINATION = 25, - DBUS_INVALID_BAD_INTERFACE = 26, - DBUS_INVALID_BAD_MEMBER = 27, - DBUS_INVALID_BAD_ERROR_NAME = 28, - DBUS_INVALID_BAD_SENDER = 29, - DBUS_INVALID_MISSING_PATH = 30, - DBUS_INVALID_MISSING_INTERFACE = 31, - DBUS_INVALID_MISSING_MEMBER = 32, - DBUS_INVALID_MISSING_ERROR_NAME = 33, - DBUS_INVALID_MISSING_REPLY_SERIAL = 34, - DBUS_INVALID_LENGTH_OUT_OF_BOUNDS = 35, - DBUS_INVALID_ARRAY_LENGTH_EXCEEDS_MAXIMUM = 36, - DBUS_INVALID_BAD_PATH = 37, - DBUS_INVALID_SIGNATURE_LENGTH_OUT_OF_BOUNDS = 38, - DBUS_INVALID_BAD_UTF8_IN_STRING = 39, - DBUS_INVALID_ARRAY_LENGTH_INCORRECT = 40, - DBUS_INVALID_VARIANT_SIGNATURE_LENGTH_OUT_OF_BOUNDS = 41, - DBUS_INVALID_VARIANT_SIGNATURE_BAD = 42, - DBUS_INVALID_VARIANT_SIGNATURE_EMPTY = 43, - DBUS_INVALID_VARIANT_SIGNATURE_SPECIFIES_MULTIPLE_VALUES = 44, - DBUS_INVALID_VARIANT_SIGNATURE_MISSING_NUL = 45, - DBUS_INVALID_STRING_MISSING_NUL = 46, - DBUS_INVALID_SIGNATURE_MISSING_NUL = 47, - DBUS_INVALID_EXCEEDED_MAXIMUM_DICT_ENTRY_RECURSION = 48, - DBUS_INVALID_DICT_ENTRY_ENDED_BUT_NOT_STARTED = 49, - DBUS_INVALID_DICT_ENTRY_STARTED_BUT_NOT_ENDED = 50, - DBUS_INVALID_DICT_ENTRY_HAS_NO_FIELDS = 51, - DBUS_INVALID_DICT_ENTRY_HAS_ONLY_ONE_FIELD = 52, - DBUS_INVALID_DICT_ENTRY_HAS_TOO_MANY_FIELDS = 53, - DBUS_INVALID_DICT_ENTRY_NOT_INSIDE_ARRAY = 54, - DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE = 55, - DBUS_INVALID_MISSING_UNIX_FDS = 56, - DBUS_INVALID_NESTED_TOO_DEEPLY = 57, - DBUS_VALIDITY_LAST -} DBusValidity; - -DBusValidity _dbus_validate_signature_with_reason (const DBusString *type_str, - int type_pos, - int len); -DBusValidity _dbus_validate_body_with_reason (const DBusString *expected_signature, - int expected_signature_start, - int byte_order, - int *bytes_remaining, - const DBusString *value_str, - int value_pos, - int len); - -const char *_dbus_validity_to_error_message (DBusValidity validity); - -dbus_bool_t _dbus_validate_path (const DBusString *str, - int start, - int len); -dbus_bool_t _dbus_validate_interface (const DBusString *str, - int start, - int len); -dbus_bool_t _dbus_validate_member (const DBusString *str, - int start, - int len); -dbus_bool_t _dbus_validate_error_name (const DBusString *str, - int start, - int len); -dbus_bool_t _dbus_validate_bus_name (const DBusString *str, - int start, - int len); -dbus_bool_t _dbus_validate_bus_namespace (const DBusString *str, - int start, - int len); -dbus_bool_t _dbus_validate_signature (const DBusString *str, - int start, - int len); -/* just to have a name consistent with the above: */ -#define _dbus_validate_utf8(s,b,e) _dbus_string_validate_utf8 (s, b, e) - -#ifdef DBUS_DISABLE_CHECKS - -/* Be sure they don't exist, since we don't want to use them outside of checks - * and so we want the compile failure. - */ -#define DECLARE_DBUS_NAME_CHECK(what) -#define DEFINE_DBUS_NAME_CHECK(what) - -#else /* !DBUS_DISABLE_CHECKS */ - -/** A name check is used in _dbus_return_if_fail(), it's not suitable - * for validating untrusted data. use _dbus_validate_whatever for that. - */ -#define DECLARE_DBUS_NAME_CHECK(what) \ -dbus_bool_t _dbus_check_is_valid_##what (const char *name) - -/** Define a name check to be used in _dbus_return_if_fail() statements. - */ -#define DEFINE_DBUS_NAME_CHECK(what) \ -dbus_bool_t \ -_dbus_check_is_valid_##what (const char *name) \ -{ \ - DBusString str; \ - \ - if (name == NULL) \ - return FALSE; \ - \ - _dbus_string_init_const (&str, name); \ - return _dbus_validate_##what (&str, 0, \ - _dbus_string_get_length (&str)); \ -} -#endif /* !DBUS_DISABLE_CHECKS */ - -/** defines _dbus_check_is_valid_path() */ -DECLARE_DBUS_NAME_CHECK(path); -/** defines _dbus_check_is_valid_interface() */ -DECLARE_DBUS_NAME_CHECK(interface); -/** defines _dbus_check_is_valid_member() */ -DECLARE_DBUS_NAME_CHECK(member); -/** defines _dbus_check_is_valid_error_name() */ -DECLARE_DBUS_NAME_CHECK(error_name); -/** defines _dbus_check_is_valid_bus_name() */ -DECLARE_DBUS_NAME_CHECK(bus_name); -/** defines _dbus_check_is_valid_signature() */ -DECLARE_DBUS_NAME_CHECK(signature); -/** defines _dbus_check_is_valid_utf8() */ -DECLARE_DBUS_NAME_CHECK(utf8); - -/** @} */ - -#endif /* DBUS_MARSHAL_VALIDATE_H */ |