BUG/MINOR: http: url32+src should use the big endian version of url32

This is similar to the commit 5ad6e1dc ("BUG/MINOR: http: base32+src
should use the big endian version of base32"). Now we convert url32 to big
endian when building the binary block.

This patch needs to be backported to 1.6 and 1.5.
This commit is contained in:
Dragan Dosen 2016-06-16 11:08:08 +02:00 committed by Willy Tarreau
parent 72a8a18e89
commit e5f4133b19

View File

@ -11653,17 +11653,13 @@ smp_fetch_url32_src(const struct arg *args, struct sample *smp, const char *kw,
{
struct chunk *temp;
struct connection *cli_conn = objt_conn(smp->sess->origin);
unsigned int hash;
if (!smp_fetch_url32(args, smp, kw, private))
return 0;
/* The returned hash is a 32 bytes integer. */
hash = smp->data.u.sint;
temp = get_trash_chunk();
memcpy(temp->str + temp->len, &hash, sizeof(hash));
temp->len += sizeof(hash);
*(unsigned int *)temp->str = htonl(smp->data.u.sint);
temp->len += sizeof(unsigned int);
switch (cli_conn->addr.from.ss_family) {
case AF_INET: