diff options
-rw-r--r-- | src/twister/taler-twister-service.c | 22 | ||||
-rw-r--r-- | src/twister/twister.h | 20 |
2 files changed, 20 insertions, 22 deletions
diff --git a/src/twister/taler-twister-service.c b/src/twister/taler-twister-service.c index bca3b7e..e14959d 100644 --- a/src/twister/taler-twister-service.c +++ b/src/twister/taler-twister-service.c @@ -2675,9 +2675,27 @@ handle_modify_path_ul (void *cls, const struct TWISTER_ModifyPath *src) { struct GNUNET_SERVICE_Client *c = cls; + uint16_t tailsize; + char *payload_path; + char *payload_value; + + tailsize = ntohs (src->header.size) - sizeof (*src); + + if (tailsize != GNUNET_STRINGS_buffer_tokenize + ((const char *) &src[1], + tailsize, + 2, + &payload_path, + &payload_value)) + { + GNUNET_break_op (0); + GNUNET_SERVICE_client_drop (c); + return; + } + + modify_path_dl = GNUNET_strdup (payload_path); + modify_value = GNUNET_strdup (payload_value); - strcpy (modify_path_ul, src->path); - strcpy (modify_value, src->value); send_acknowledgement (c); } diff --git a/src/twister/twister.h b/src/twister/twister.h index 01f9363..3c00e7c 100644 --- a/src/twister/twister.h +++ b/src/twister/twister.h @@ -29,16 +29,6 @@ #include <gnunet/gnunet_common.h> -/** - * Max length for a JSON path. - */ -#define TWISTER_PATH_LENGTH 100 - -/** - * Max lenght for JSON values to use in place of the originals. - */ -#define TWISTER_VALUE_LENGTH 100 - #define TWISTER_MESSAGE_TYPE_ACKNOWLEDGEMENT 1 #define TWISTER_MESSAGE_TYPE_SET_RESPONSE_CODE 2 @@ -75,16 +65,6 @@ struct TWISTER_ModifyPath * Type: #TWISTER_MESSAGE_TYPE_DELETE_PATH */ struct GNUNET_MessageHeader header; - - /** - * Path to the object to modify. - */ - char path[TWISTER_PATH_LENGTH]; - - /** - * New value to use. - */ - char value[TWISTER_VALUE_LENGTH]; }; GNUNET_NETWORK_STRUCT_END |