Welcome! Log In Create A New Profile

Advanced

[nginx] Perl: all known input headers are handled identically.

Sergey Kandaurov
May 30, 2022 06:34PM
details: https://hg.nginx.org/nginx/rev/8b3860b52bb3
branches:
changeset: 8026:8b3860b52bb3
user: Maxim Dounin <mdounin@mdounin.ru>
date: Mon May 30 21:25:36 2022 +0300
description:
Perl: all known input headers are handled identically.

As all known input headers are now linked lists, these are now handled
identically. In particular, this makes it possible to access properly
combined values of headers not specifically handled previously, such
as "Via" or "Connection".

diffstat:

src/http/modules/perl/nginx.xs | 22 ++--------------------
1 files changed, 2 insertions(+), 20 deletions(-)

diffs (34 lines):

diff -r c263f9ffa1fd -r 8b3860b52bb3 src/http/modules/perl/nginx.xs
--- a/src/http/modules/perl/nginx.xs Mon May 30 21:25:35 2022 +0300
+++ b/src/http/modules/perl/nginx.xs Mon May 30 21:25:36 2022 +0300
@@ -304,28 +304,10 @@ header_in(r, key)

if (hh->offset == offsetof(ngx_http_headers_in_t, cookie)) {
sep = ';';
- goto multi;
- }
-#if (NGX_HTTP_X_FORWARDED_FOR)
- if (hh->offset == offsetof(ngx_http_headers_in_t, x_forwarded_for)) {
+
+ } else {
sep = ',';
- goto multi;
}
-#endif
-
- ph = (ngx_table_elt_t **) ((char *) &r->headers_in + hh->offset);
-
- if (*ph) {
- ngx_http_perl_set_targ((*ph)->value.data, (*ph)->value.len);
-
- goto done;
- }
-
- XSRETURN_UNDEF;
-
- multi:
-
- /* Cookie, X-Forwarded-For */

ph = (ngx_table_elt_t **) ((char *) &r->headers_in + hh->offset);

_______________________________________________
nginx-devel mailing list -- nginx-devel@nginx.org
To unsubscribe send an email to nginx-devel-leave@nginx.org
Subject Author Views Posted

[nginx] Perl: all known input headers are handled identically.

Sergey Kandaurov 142 May 30, 2022 06:34PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 58
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready