Luiz Capitulino <lcapitul...@redhat.com> writes:

> On Wed, 02 Jun 2010 09:39:26 +0200
> Markus Armbruster <arm...@redhat.com> wrote:
>
>> Luiz Capitulino <lcapitul...@redhat.com> writes:
>> 
>> > This is similar to qmp_check_client_args(), but checks if
>> > the input object follows the specification (QMP/qmp-spec.txt
>> > section 2.3).
>> >
>> > As we're limited to three keys, the work here is quite simple:
>> > we iterate over the input object, each time checking if the
>> > given argument complies to the specification.
>> >
>> > Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com>
>> > ---
>> >  monitor.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
>> >  1 files changed, 45 insertions(+), 0 deletions(-)
>> >
>> > diff --git a/monitor.c b/monitor.c
>> > index 1875731..654b193 100644
>> > --- a/monitor.c
>> > +++ b/monitor.c
>> > @@ -4271,6 +4271,45 @@ static int qmp_check_client_args(const mon_cmd_t 
>> > *cmd, QDict *client_args)
>> >      return res.result;
>> >  }
>> >  
>> > +/*
>> > + * Input object checking rules
>> > + *
>> > + * 1. "execute" key must exist (not checked here)
>> > + * 2. "execute" key must be a string
>> > + * 3. "arguments" key must be a dict
>> > + * 4. "id" key can be anything (ie. json-value)
>> 
>> Really?  Checking qmp-spec.txt... yes, really.  Is it a good idea to
>> permit objects and arrays?
>
>  It was Avi's suggestion to allow anything, maybe arrays don't make sense
> but objects do.

If we permit objects, we can just as well permit anything.

Reply via email to