Skip to content

Commit 60fa3f0

Browse files
bbaylesanonrig
authored andcommitted
Upgrade ada C library to 2.4.2
1 parent eb8f596 commit 60fa3f0

File tree

2 files changed

+19
-34
lines changed

2 files changed

+19
-34
lines changed

ada_url/ada.cpp

Lines changed: 13 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* auto-generated on 2023-05-16 13:48:47 -0400. Do not edit! */
1+
/* auto-generated on 2023-05-19 00:02:33 -0400. Do not edit! */
22
/* begin file src/ada.cpp */
33
#include "ada.h"
44
/* begin file src/checkers.cpp */
@@ -10001,8 +10001,9 @@ static_assert(sizeof(is_forbidden_domain_code_point_table_or_upper) == 256);
1000110001
static_assert(is_forbidden_domain_code_point_table_or_upper[uint8_t('A')] == 2);
1000210002
static_assert(is_forbidden_domain_code_point_table_or_upper[uint8_t('Z')] == 2);
1000310003

10004-
ada_really_inline constexpr bool contains_forbidden_domain_code_point_or_upper(
10005-
const char* input, size_t length) noexcept {
10004+
ada_really_inline constexpr uint8_t
10005+
contains_forbidden_domain_code_point_or_upper(const char* input,
10006+
size_t length) noexcept {
1000610007
size_t i = 0;
1000710008
uint8_t accumulator{};
1000810009
for (; i + 4 <= length; i += 4) {
@@ -10677,7 +10678,7 @@ ada_really_inline size_t find_next_host_delimiter_special(
1067710678
has_zero_byte(xor3) | has_zero_byte(xor4) |
1067810679
has_zero_byte(xor5);
1067910680
if (is_match) {
10680-
return i + index_of_first_set_byte(is_match);
10681+
return size_t(i + index_of_first_set_byte(is_match));
1068110682
}
1068210683
}
1068310684
if (i < view.size()) {
@@ -10695,7 +10696,7 @@ ada_really_inline size_t find_next_host_delimiter_special(
1069510696
has_zero_byte(xor3) | has_zero_byte(xor4) |
1069610697
has_zero_byte(xor5);
1069710698
if (is_match) {
10698-
return i + index_of_first_set_byte(is_match);
10699+
return size_t(i + index_of_first_set_byte(is_match));
1069910700
}
1070010701
}
1070110702
return view.size();
@@ -10739,7 +10740,7 @@ ada_really_inline size_t find_next_host_delimiter(std::string_view view,
1073910740
uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) |
1074010741
has_zero_byte(xor4) | has_zero_byte(xor5);
1074110742
if (is_match) {
10742-
return i + index_of_first_set_byte(is_match);
10743+
return size_t(i + index_of_first_set_byte(is_match));
1074310744
}
1074410745
}
1074510746
if (i < view.size()) {
@@ -10757,7 +10758,7 @@ ada_really_inline size_t find_next_host_delimiter(std::string_view view,
1075710758
uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) |
1075810759
has_zero_byte(xor4) | has_zero_byte(xor5);
1075910760
if (is_match) {
10760-
return i + index_of_first_set_byte(is_match);
10761+
return size_t(i + index_of_first_set_byte(is_match));
1076110762
}
1076210763
}
1076310764
return view.size();
@@ -11064,7 +11065,7 @@ find_authority_delimiter_special(std::string_view view) noexcept {
1106411065
uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) |
1106511066
has_zero_byte(xor3) | has_zero_byte(xor4);
1106611067
if (is_match) {
11067-
return i + index_of_first_set_byte(is_match);
11068+
return size_t(i + index_of_first_set_byte(is_match));
1106811069
}
1106911070
}
1107011071

@@ -11079,7 +11080,7 @@ find_authority_delimiter_special(std::string_view view) noexcept {
1107911080
uint64_t is_match = has_zero_byte(xor1) | has_zero_byte(xor2) |
1108011081
has_zero_byte(xor3) | has_zero_byte(xor4);
1108111082
if (is_match) {
11082-
return i + index_of_first_set_byte(is_match);
11083+
return size_t(i + index_of_first_set_byte(is_match));
1108311084
}
1108411085
}
1108511086

@@ -11112,7 +11113,7 @@ find_authority_delimiter(std::string_view view) noexcept {
1111211113
uint64_t is_match =
1111311114
has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor3);
1111411115
if (is_match) {
11115-
return i + index_of_first_set_byte(is_match);
11116+
return size_t(i + index_of_first_set_byte(is_match));
1111611117
}
1111711118
}
1111811119

@@ -11126,7 +11127,7 @@ find_authority_delimiter(std::string_view view) noexcept {
1112611127
uint64_t is_match =
1112711128
has_zero_byte(xor1) | has_zero_byte(xor2) | has_zero_byte(xor3);
1112811129
if (is_match) {
11129-
return i + index_of_first_set_byte(is_match);
11130+
return size_t(i + index_of_first_set_byte(is_match));
1113011131
}
1113111132
}
1113211133

@@ -12088,8 +12089,7 @@ result_type parse_url(std::string_view user_input,
1208812089

1208912090
// We refuse to parse URL strings that exceed 4GB. Such strings are almost
1209012091
// surely the result of a bug or are otherwise a security concern.
12091-
if (user_input.size() >=
12092-
std::string_view::size_type(std::numeric_limits<uint32_t>::max)) {
12092+
if (user_input.size() > std::numeric_limits<uint32_t>::max()) {
1209312093
url.is_valid = false;
1209412094
}
1209512095
// Going forward, user_input.size() is in [0,
@@ -13565,22 +13565,6 @@ ada_really_inline bool url_aggregator::parse_host(std::string_view input) {
1356513565
}
1356613566
ada_log("parse_host fast path ", get_hostname());
1356713567
return true;
13568-
} else if (is_forbidden_or_upper == 2) {
13569-
// We have encountered at least one upper case ASCII letter, let us
13570-
// try to convert it to lower case. If there is no 'xn-' in the result,
13571-
// we can then use a secondary fast path.
13572-
std::string _buffer = std::string(input);
13573-
unicode::to_lower_ascii(_buffer.data(), _buffer.size());
13574-
if (input.find("xn-") == std::string_view::npos) {
13575-
// secondary fast path when input is not all lower case
13576-
update_base_hostname(input);
13577-
if (checkers::is_ipv4(get_hostname())) {
13578-
ada_log("parse_host fast path ipv4");
13579-
return parse_ipv4(get_hostname());
13580-
}
13581-
ada_log("parse_host fast path ", get_hostname());
13582-
return true;
13583-
}
1358413568
}
1358513569
// We have encountered at least one forbidden code point or the input contains
1358613570
// 'xn-' (case insensitive), so we need to call 'to_ascii' to perform the full

ada_url/ada.h

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* auto-generated on 2023-05-16 13:48:47 -0400. Do not edit! */
1+
/* auto-generated on 2023-05-19 00:02:33 -0400. Do not edit! */
22
/* begin file include/ada.h */
33
/**
44
* @file ada.h
@@ -4354,8 +4354,9 @@ ada_really_inline constexpr bool contains_forbidden_domain_code_point(
43544354
* then the second bit is set to 1.
43554355
* @see https://url.spec.whatwg.org/#forbidden-domain-code-point
43564356
*/
4357-
ada_really_inline constexpr bool contains_forbidden_domain_code_point_or_upper(
4358-
const char* input, size_t length) noexcept;
4357+
ada_really_inline constexpr uint8_t
4358+
contains_forbidden_domain_code_point_or_upper(const char* input,
4359+
size_t length) noexcept;
43594360

43604361
/**
43614362
* Checks if the input is a forbidden doamin code point.
@@ -6484,14 +6485,14 @@ inline std::ostream &operator<<(std::ostream &out,
64846485
#ifndef ADA_ADA_VERSION_H
64856486
#define ADA_ADA_VERSION_H
64866487

6487-
#define ADA_VERSION "2.4.1"
6488+
#define ADA_VERSION "2.4.2"
64886489

64896490
namespace ada {
64906491

64916492
enum {
64926493
ADA_VERSION_MAJOR = 2,
64936494
ADA_VERSION_MINOR = 4,
6494-
ADA_VERSION_REVISION = 1,
6495+
ADA_VERSION_REVISION = 2,
64956496
};
64966497

64976498
} // namespace ada

0 commit comments

Comments
 (0)