The protocol says;
"Arguments given in the data part are separated by a NULL byte, and
the last argument is determined by the size of data after the last
NULL byte separator. All job handle arguments must not be longer than
64 bytes, including NULL terminator."
This adds a check to ensure that all arguments, but the last, do
not contain \0.
I do not check the args pass encode('ascii'). It would make sense,
since it's not known what will happen inside the bowels of gearmand.
It uses memcmp for the most part, and we have to assume the
queue storage can handle utf8, as long as it does not contain
\0.
The protocol says; "Arguments given in the data part are separated by a NULL byte, and the last argument is determined by the size of data after the last NULL byte separator. All job handle arguments must not be longer than 64 bytes, including NULL terminator."
This adds a check to ensure that all arguments, but the last, do not contain \0.
I do not check the args pass encode('ascii'). It would make sense, since it's not known what will happen inside the bowels of gearmand. It uses memcmp for the most part, and we have to assume the queue storage can handle utf8, as long as it does not contain \0.