<feed xmlns='http://www.w3.org/2005/Atom'>
<title>nginx.git/src/core/ngx_core.h, branch release-1.28.3</title>
<subtitle>nginx</subtitle>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/'/>
<entry>
<title>Upstream: fixed --with-compat build without SSL, broken by 454ad0e.</title>
<updated>2025-01-23T18:50:13+00:00</updated>
<author>
<name>Pavel Pautov</name>
<email>p.pautov@f5.com</email>
</author>
<published>2025-01-22T02:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=5ab4f32e9de1d0c8523d3a22fc20a3067e20b68d'/>
<id>5ab4f32e9de1d0c8523d3a22fc20a3067e20b68d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed NGX_OPENSSL_QUIC macro, NGX_QUIC is enough.</title>
<updated>2021-09-14T09:09:13+00:00</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@nginx.com</email>
</author>
<published>2021-09-14T09:09:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=bd89c448b7e7beb15409e2abe2f174a36a7a0823'/>
<id>bd89c448b7e7beb15409e2abe2f174a36a7a0823</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: added interface to linux bpf() system call.</title>
<updated>2020-12-15T12:23:07+00:00</updated>
<author>
<name>Vladimir Homutov</name>
<email>vl@nginx.com</email>
</author>
<published>2020-12-15T12:23:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=b20b58ca7d1323664c5e8f91231ade0edf0d0f31'/>
<id>b20b58ca7d1323664c5e8f91231ade0edf0d0f31</id>
<content type='text'>
It contains wrappers for operations with BPF maps and for loading BPF programs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It contains wrappers for operations with BPF maps and for loading BPF programs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Core: hide "struct ngx_quic_connection_s" and further reduce diffs.</title>
<updated>2020-11-13T15:11:29+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2020-11-13T15:11:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=7046a10134a8b15c0c769197502663bfe67ed63b'/>
<id>7046a10134a8b15c0c769197502663bfe67ed63b</id>
<content type='text'>
As with the previous change, it became feasible with feec2cc762f6
that removes ngx_quic_connection_t from ngx_connection_s.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As with the previous change, it became feasible with feec2cc762f6
that removes ngx_quic_connection_t from ngx_connection_s.
</pre>
</div>
</content>
</entry>
<entry>
<title>QUIC: fixed bulding perl module by reducing header pollution.</title>
<updated>2020-07-22T11:48:49+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2020-07-22T11:48:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=ca0b9871bc74d7d4548d76eb4d4c2a3a5ebb22ec'/>
<id>ca0b9871bc74d7d4548d76eb4d4c2a3a5ebb22ec</id>
<content type='text'>
The ngx_http_perl_module module doesn't have a notion of including additional
search paths through --with-cc-opt, which results in compile error incomplete
type 'enum ssl_encryption_level_t' when building nginx without QUIC support.
The enum is visible from quic event headers and eventually pollutes ngx_core.h.

The fix is to limit including headers to compile units that are real consumers.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ngx_http_perl_module module doesn't have a notion of including additional
search paths through --with-cc-opt, which results in compile error incomplete
type 'enum ssl_encryption_level_t' when building nginx without QUIC support.
The enum is visible from quic event headers and eventually pollutes ngx_core.h.

The fix is to limit including headers to compile units that are real consumers.
</pre>
</div>
</content>
</entry>
<entry>
<title>Configure: unbreak with old OpenSSL, --with-http_v3_module added.</title>
<updated>2020-04-30T12:47:43+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2020-04-30T12:47:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=b7b3aca7040a0c734a555efd8775249a29b5ac5d'/>
<id>b7b3aca7040a0c734a555efd8775249a29b5ac5d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Extracted transport part of the code into separate file.</title>
<updated>2020-03-18T09:58:27+00:00</updated>
<author>
<name>Vladimir Homutov</name>
<email>vl@nginx.com</email>
</author>
<published>2020-03-18T09:58:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=23dc6a68a4c94300896c76e2161d18d11d89d3ee'/>
<id>23dc6a68a4c94300896c76e2161d18d11d89d3ee</id>
<content type='text'>
All code dealing with serializing/deserializing
is moved int srv/event/ngx_event_quic_transport.c/h file.

All macros for dealing with data are internal to source file.

The header file exposes frame types and error codes.

The exported functions are currently packet header parsers and writers
and frames parser/writer.

The ngx_quic_header_t structure is updated with 'log' member. This avoids
passing extra argument to parsing functions that need to report errors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All code dealing with serializing/deserializing
is moved int srv/event/ngx_event_quic_transport.c/h file.

All macros for dealing with data are internal to source file.

The header file exposes frame types and error codes.

The exported functions are currently packet header parsers and writers
and frames parser/writer.

The ngx_quic_header_t structure is updated with 'log' member. This avoids
passing extra argument to parsing functions that need to report errors.
</pre>
</div>
</content>
</entry>
<entry>
<title>Split transport and crypto parts into separate files.</title>
<updated>2020-03-16T16:00:47+00:00</updated>
<author>
<name>Vladimir Homutov</name>
<email>vl@nginx.com</email>
</author>
<published>2020-03-16T16:00:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=d0ebfa4cb97dc212aac4cde740286bc4e4cde30e'/>
<id>d0ebfa4cb97dc212aac4cde740286bc4e4cde30e</id>
<content type='text'>
New files:
    src/event/ngx_event_quic_protection.h
    src/event/ngx_event_quic_protection.c

The protection.h header provides interface to the crypto part of the QUIC:

2 functions to initialize corresponding secrets:

ngx_quic_set_initial_secret()
ngx_quic_set_encryption_secret()

and 2 functions to deal with packet processing:

ngx_quic_encrypt()
ngx_quic_decrypt()

Also, structures representing secrets are defined there.

All functions require SSL connection and a pool, only crypto operations
inside, no access to nginx connections or events.

Currently pool-&gt;log is used for the logging (instead of original c-&gt;log).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New files:
    src/event/ngx_event_quic_protection.h
    src/event/ngx_event_quic_protection.c

The protection.h header provides interface to the crypto part of the QUIC:

2 functions to initialize corresponding secrets:

ngx_quic_set_initial_secret()
ngx_quic_set_encryption_secret()

and 2 functions to deal with packet processing:

ngx_quic_encrypt()
ngx_quic_decrypt()

Also, structures representing secrets are defined there.

All functions require SSL connection and a pool, only crypto operations
inside, no access to nginx connections or events.

Currently pool-&gt;log is used for the logging (instead of original c-&gt;log).
</pre>
</div>
</content>
</entry>
<entry>
<title>HTTP/QUIC interface reworked.</title>
<updated>2020-03-12T13:54:43+00:00</updated>
<author>
<name>Vladimir Homutov</name>
<email>vl@nginx.com</email>
</author>
<published>2020-03-12T13:54:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=4f4f56f013eb0dbe5eb66bb2f22584aec26b13e6'/>
<id>4f4f56f013eb0dbe5eb66bb2f22584aec26b13e6</id>
<content type='text'>
 - events handling moved into src/event/ngx_event_quic.c
 - http invokes once ngx_quic_run() and passes stream callback
 (diff to original http_request.c is now minimal)

 - streams are stored in rbtree using ID as a key
 - when a new stream is registered, appropriate callback is called

 - ngx_quic_stream_t type represents STREAM and stored in c-&gt;qs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - events handling moved into src/event/ngx_event_quic.c
 - http invokes once ngx_quic_run() and passes stream callback
 (diff to original http_request.c is now minimal)

 - streams are stored in rbtree using ID as a key
 - when a new stream is registered, appropriate callback is called

 - ngx_quic_stream_t type represents STREAM and stored in c-&gt;qs
</pre>
</div>
</content>
</entry>
<entry>
<title>Initial QUIC support in http.</title>
<updated>2020-02-28T10:09:51+00:00</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@nginx.com</email>
</author>
<published>2020-02-28T10:09:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.sigsegv.uk/nginx.git/commit/?id=26ac1c73f0fe90c77cbad84a6b4ef5712e35ba52'/>
<id>26ac1c73f0fe90c77cbad84a6b4ef5712e35ba52</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
