+int make_challenge(const char *id, const char *pass, const char *nonce,
+ unsigned char *challenge, int *challengesize)
+{
+ serializer_t srl;
+
+ serial_init(&srl, challenge, *challengesize);
+ if (serial_put(&srl, id, strlen(id)) != strlen(id))
+ return aoe_serial;
+ if (serial_put(&srl, pass, strlen(pass)) != strlen(pass))
+ return aoe_serial;
+ if (serial_put(&srl, nonce, strlen(nonce)) != strlen(nonce))
+ return aoe_serial;
+ if (serial_put(&srl, NULL, 0) != 0)
+ return aoe_serial;
+ *challengesize = serial_size(&srl);
+ return 0;
+}
+