Mercurial > hg > nginx
view src/core/ngx_md5.h @ 7090:a2f5e25d6a28
Range filter: changed type for total length to off_t.
Total length of a response with multiple ranges can be larger than a size_t
variable can hold, so type changed to off_t. Previously, an incorrect
Content-Length was returned when requesting more than 4G of ranges from
a large enough file on a 32-bit system.
An additional size_t variable introduced to calculate size of the boundary
header buffer, as off_t is not needed here and will require type casts on
win32.
Reported by Shuxin Yang,
http://mailman.nginx.org/pipermail/nginx/2017-July/054384.html.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 10 Aug 2017 22:21:23 +0300 |
parents | 9eefb38f0005 |
children |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_MD5_H_INCLUDED_ #define _NGX_MD5_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> typedef struct { uint64_t bytes; uint32_t a, b, c, d; u_char buffer[64]; } ngx_md5_t; void ngx_md5_init(ngx_md5_t *ctx); void ngx_md5_update(ngx_md5_t *ctx, const void *data, size_t size); void ngx_md5_final(u_char result[16], ngx_md5_t *ctx); #endif /* _NGX_MD5_H_INCLUDED_ */