view src/core/ngx_murmurhash.c @ 9229:28fbf78841dc

MIME: changed type for bmp to image/bmp. At least Chrome, Safari, and Edge do no show image/x-ms-bmp when requested directly (and instead show a download dialog), but do so for IANA-registered MIME type image/bmp. Mozilla considers doing the same (https://bugzilla.mozilla.org/show_bug.cgi?id=1422725). Further, Apache uses image/bmp since the bmp extension was added to mime.types in Apache 1.3.6 (and also used it at least since 1.3.0 in magic-based type detection). The bmp extensions with the image/x-ms-bmp type was added in 863:57cb2052dcc6 (nginx 0.4.14), as a part of a large mime.types change, and it is not clear why image/x-ms-bmp was used instead of image/bmp. As such, changed MIME type for bmp files to image/bmp. Requested by Yuriy Izorkin.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 21 Mar 2024 22:50:11 +0300
parents f38647c651a8
children
line wrap: on
line source


/*
 * Copyright (C) Austin Appleby
 */


#include <ngx_config.h>
#include <ngx_core.h>


uint32_t
ngx_murmur_hash2(u_char *data, size_t len)
{
    uint32_t  h, k;

    h = 0 ^ len;

    while (len >= 4) {
        k  = data[0];
        k |= data[1] << 8;
        k |= data[2] << 16;
        k |= data[3] << 24;

        k *= 0x5bd1e995;
        k ^= k >> 24;
        k *= 0x5bd1e995;

        h *= 0x5bd1e995;
        h ^= k;

        data += 4;
        len -= 4;
    }

    switch (len) {
    case 3:
        h ^= data[2] << 16;
        /* fall through */
    case 2:
        h ^= data[1] << 8;
        /* fall through */
    case 1:
        h ^= data[0];
        h *= 0x5bd1e995;
    }

    h ^= h >> 13;
    h *= 0x5bd1e995;
    h ^= h >> 15;

    return h;
}