Mercurial > hg > nginx-quic
view src/core/ngx_md5.h @ 4192:61e4af19df9f
Autoindex: escape '?' in file names.
For files with '?' in their names autoindex generated links with '?' not
escaped. This resulted in effectively truncated links as '?' indicates
query string start.
This is an updated version of the patch originally posted at [1]. It
introduces generic NGX_ESCAPE_URI_COMPONENT which escapes everything but
unreserved characters as per RFC 3986. This approach also renders unneeded
special colon processing (as colon is percent-encoded now), it's dropped
accordingly.
[1] http://nginx.org/pipermail/nginx-devel/2010-February/000112.html
Reported by Konstantin Leonov.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Tue, 11 Oct 2011 17:56:51 +0000 |
parents | 38e6f45c5e3d |
children | d620f497c50f |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev */ #ifndef _NGX_MD5_H_INCLUDED_ #define _NGX_MD5_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #if (NGX_HAVE_MD5) #if (NGX_HAVE_OPENSSL_MD5_H) #include <openssl/md5.h> #else #include <md5.h> #endif typedef MD5_CTX ngx_md5_t; #if (NGX_OPENSSL_MD5) #define ngx_md5_init MD5_Init #define ngx_md5_update MD5_Update #define ngx_md5_final MD5_Final #else #define ngx_md5_init MD5Init #define ngx_md5_update MD5Update #define ngx_md5_final MD5Final #endif #else /* !NGX_HAVE_MD5 */ 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 #endif /* _NGX_MD5_H_INCLUDED_ */