summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorSergey Kandaurov <pluknet@nginx.com>2026-02-20 19:01:20 +0400
committerSergey Kandaurov <s.kandaurov@f5.com>2026-02-26 18:05:07 +0400
commit578c91818f1d68797323d6029e17a441a7438506 (patch)
tree504d71584d394a7b8d72c1a4c7cc4706fc64767d /src
parent4037746c8058cc8b02295e1a4f6f1c1db38b772e (diff)
downloadnginx-578c91818f1d68797323d6029e17a441a7438506.tar.gz
nginx-578c91818f1d68797323d6029e17a441a7438506.tar.bz2
QUIC: moved ngx_quic_address_hash().
Diffstat (limited to 'src')
-rw-r--r--src/event/quic/ngx_event_quic.c46
-rw-r--r--src/event/quic/ngx_event_quic_connection.h2
-rw-r--r--src/event/quic/ngx_event_quic_tokens.c49
3 files changed, 48 insertions, 49 deletions
diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c
index 6a59aaf93..096e8327f 100644
--- a/src/event/quic/ngx_event_quic.c
+++ b/src/event/quic/ngx_event_quic.c
@@ -7,6 +7,7 @@
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
+#include <ngx_sha1.h>
#include <ngx_event_quic_connection.h>
@@ -1470,3 +1471,48 @@ ngx_quic_shutdown_quic(ngx_connection_t *c)
ngx_quic_finalize_connection(c, qc->shutdown_code, qc->shutdown_reason);
}
}
+
+
+void
+ngx_quic_address_hash(struct sockaddr *sockaddr, socklen_t socklen,
+ ngx_uint_t no_port, u_char buf[20])
+{
+ size_t len;
+ u_char *data;
+ ngx_sha1_t sha1;
+ struct sockaddr_in *sin;
+#if (NGX_HAVE_INET6)
+ struct sockaddr_in6 *sin6;
+#endif
+
+ len = (size_t) socklen;
+ data = (u_char *) sockaddr;
+
+ if (no_port) {
+ switch (sockaddr->sa_family) {
+
+#if (NGX_HAVE_INET6)
+ case AF_INET6:
+ sin6 = (struct sockaddr_in6 *) sockaddr;
+
+ len = sizeof(struct in6_addr);
+ data = sin6->sin6_addr.s6_addr;
+
+ break;
+#endif
+
+ case AF_INET:
+ sin = (struct sockaddr_in *) sockaddr;
+
+ len = sizeof(in_addr_t);
+ data = (u_char *) &sin->sin_addr;
+
+ break;
+ }
+ }
+
+ ngx_sha1_init(&sha1);
+ ngx_sha1_update(&sha1, data, len);
+
+ ngx_sha1_final(buf, &sha1);
+}
diff --git a/src/event/quic/ngx_event_quic_connection.h b/src/event/quic/ngx_event_quic_connection.h
index 33922cf80..e84e754d8 100644
--- a/src/event/quic/ngx_event_quic_connection.h
+++ b/src/event/quic/ngx_event_quic_connection.h
@@ -314,6 +314,8 @@ ngx_int_t ngx_quic_apply_transport_params(ngx_connection_t *c,
void ngx_quic_discard_ctx(ngx_connection_t *c, ngx_uint_t level);
void ngx_quic_close_connection(ngx_connection_t *c, ngx_int_t rc);
void ngx_quic_shutdown_quic(ngx_connection_t *c);
+void ngx_quic_address_hash(struct sockaddr *sockaddr, socklen_t socklen,
+ ngx_uint_t no_port, u_char buf[20]);
#if (NGX_DEBUG)
void ngx_quic_connstate_dbg(ngx_connection_t *c);
diff --git a/src/event/quic/ngx_event_quic_tokens.c b/src/event/quic/ngx_event_quic_tokens.c
index c1da0d472..89d318157 100644
--- a/src/event/quic/ngx_event_quic_tokens.c
+++ b/src/event/quic/ngx_event_quic_tokens.c
@@ -7,14 +7,9 @@
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
-#include <ngx_sha1.h>
#include <ngx_event_quic_connection.h>
-static void ngx_quic_address_hash(struct sockaddr *sockaddr, socklen_t socklen,
- ngx_uint_t no_port, u_char buf[20]);
-
-
ngx_int_t
ngx_quic_new_sr_token(ngx_connection_t *c, ngx_str_t *cid, u_char *secret,
u_char *token)
@@ -129,50 +124,6 @@ ngx_quic_new_token(ngx_log_t *log, struct sockaddr *sockaddr,
}
-static void
-ngx_quic_address_hash(struct sockaddr *sockaddr, socklen_t socklen,
- ngx_uint_t no_port, u_char buf[20])
-{
- size_t len;
- u_char *data;
- ngx_sha1_t sha1;
- struct sockaddr_in *sin;
-#if (NGX_HAVE_INET6)
- struct sockaddr_in6 *sin6;
-#endif
-
- len = (size_t) socklen;
- data = (u_char *) sockaddr;
-
- if (no_port) {
- switch (sockaddr->sa_family) {
-
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- sin6 = (struct sockaddr_in6 *) sockaddr;
-
- len = sizeof(struct in6_addr);
- data = sin6->sin6_addr.s6_addr;
-
- break;
-#endif
-
- case AF_INET:
- sin = (struct sockaddr_in *) sockaddr;
-
- len = sizeof(in_addr_t);
- data = (u_char *) &sin->sin_addr;
-
- break;
- }
- }
-
- ngx_sha1_init(&sha1);
- ngx_sha1_update(&sha1, data, len);
- ngx_sha1_final(buf, &sha1);
-}
-
-
ngx_int_t
ngx_quic_validate_token(ngx_connection_t *c, u_char *key,
ngx_quic_header_t *pkt)