rilascio del ramo principale , nel quale continua lo sviluppo di nuove funzionalità (nella stabilità sostenuta parallelamente sono apportate solo modifiche relative alla correzione di errori gravi e vulnerabilità).
Principali :
- È vietato specificare più righe «Host» in
l'intestazione della richiesta; - Corretto un errore in cui nginx ignorava le righe aggiuntive
«Transfer-Encoding» nell'intestazione della richiesta; - Apportate correzioni per prevenire perdite di socket durante l'uso del protocollo HTTP/2;
- Eliminato un crash (segmentation fault) del processo di lavoro, che si manifestava durante l'uso di OCSP stapling;
- Corrette le funzionalità del modulo ngx_http_mp4_module;
- Risolta un problema nei casi in cui, durante il reindirizzamento degli errori con codice 494 tramite la direttiva ‘error_page’, si poteva restituire una risposta con codice 494 invece di 400;
- Eliminate perdite di socket durante l'uso di sottoricheste nel modulo njs e nella direttiva aio.
In aggiunta, si può notare , interprete del linguaggio JavaScript per il server web nginx. L'interprete njs implementa gli standard ECMAScript e consente di estendere le funzionalità di nginx nella gestione delle richieste tramite script nella configurazione. Gli script possono essere utilizzati nel file di configurazione per definire logiche avanzate di elaborazione delle richieste, generazione di configurazioni, generazione dinamica delle risposte, modifica di richieste/risposte o creazione rapida di stub per risolvere problemi nelle web-applicazioni.
In questa nuova versione del modulo njs è stata aggiunta la supporto per la modalità di sottoricheste scollegate in r.subrequest(). Le risposte alle sottoricheste scollegate vengono ignorate. A differenza delle normali sottoricheste, una sottorichesta scollegata può essere creata all'interno di un gestore di variabili. Inoltre:
- Aggiunto API Promises per il modulo «fs»;
- Nel modulo «fs» sono state aggiunte le funzioni access(), symlink(), unlink(),
realpath() e simili; - Introdotti array normali efficienti in termini di utilizzo della memoria;
- Miglioramenti apportati al lexer;
- Corretta la corrispondenza delle funzioni native negli stack trace (backtraces).
tracce; - Corrette le chiamate di callback nel modulo «fs»;
- Corrette le funzionalità di Object.getOwnPropertySymbols();
- Eliminato il buffer overflow di memoria dinamica in njs_json_append_string();
- Corretto encodeURI() e decodeURI() secondo le specifiche;
- Corretto Number.prototype.toPrecision();
- Corretto il trattamento dell'argomento spazi in JSON.stringify();
- Corretto JSON.stringify() con oggetti Number() e String();
- Assicurato l'escaping dei caratteri Unicode in JSON.stringify() secondo
le specifiche; - Corretto l'importazione di moduli non nativi;
- Corretto njs.dump() con un'istanza Date() all'interno del contenitore.
Fonte: opennet.ru
