Mercurial > hg > nginx-quic
view src/os/win32/ngx_process_cycle.h @ 9049:a10210a45c8b
Core: stricter UTF-8 handling in ngx_utf8_decode().
An UTF-8 octet sequence cannot start with a 11111xxx byte (above 0xf8),
see https://datatracker.ietf.org/doc/html/rfc3629#section-3. Previously,
such bytes were accepted by ngx_utf8_decode() and misinterpreted as 11110xxx
bytes (as in a 4-byte sequence). While unlikely, this can potentially cause
issues.
Fix is to explicitly reject such bytes in ngx_utf8_decode().
author | Yugo Horie <u5.horie@gmail.com> |
---|---|
date | Thu, 23 Feb 2023 08:09:50 +0900 |
parents | b4cc553aafeb |
children |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_PROCESS_CYCLE_H_INCLUDED_ #define _NGX_PROCESS_CYCLE_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #define NGX_PROCESS_SINGLE 0 #define NGX_PROCESS_MASTER 1 #define NGX_PROCESS_SIGNALLER 2 #define NGX_PROCESS_WORKER 3 void ngx_master_process_cycle(ngx_cycle_t *cycle); void ngx_single_process_cycle(ngx_cycle_t *cycle); void ngx_close_handle(HANDLE h); extern ngx_uint_t ngx_process; extern ngx_uint_t ngx_worker; extern ngx_pid_t ngx_pid; extern ngx_uint_t ngx_exiting; extern sig_atomic_t ngx_quit; extern sig_atomic_t ngx_terminate; extern sig_atomic_t ngx_reopen; extern ngx_uint_t ngx_inherited; extern ngx_pid_t ngx_new_binary; extern HANDLE ngx_master_process_event; extern char ngx_master_process_event_name[]; #endif /* _NGX_PROCESS_CYCLE_H_INCLUDED_ */