Make WordPress Core


Ignore:
Timestamp:
05/11/2021 07:40:41 PM (4 years ago)
Author:
desrosj
Message:

External Libraries: Update the Requests library to version 1.8.0.

While some of the changes in the 1.8.0 release have already been copied to WordPress Core in earlier releases (see [38727], [46258], [47902] and [49382]), this release contains additional improvements, including:

  • A significant performance fix when using cURL.
  • Improved compliance with RFC2616.

The library has also been moved under the WordPress project’s GitHub organization and can now be found at https://github.com/WordPress/Requests.

Props jrf, dd32, rmccue, justinahinon, netweb, schlessera, TimothyBJacobs, soulseekah, ozh, skithund, carlalexander, travisnorthcutt, desrosj.
Fixes #53101.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/Requests/IDNAEncoder.php

    r46586 r50842  
    142142        $strlen = strlen($input);
    143143
     144        // phpcs:ignore Generic.CodeAnalysis.JumbledIncrementer -- This is a deliberate choice.
    144145        for ($position = 0; $position < $strlen; $position++) {
    145146            $value = ord($input[$position]);
     
    148149            if ((~$value & 0x80) === 0x80) {
    149150                $character = $value;
    150                 $length = 1;
     151                $length    = 1;
    151152                $remaining = 0;
    152153            }
     
    154155            elseif (($value & 0xE0) === 0xC0) {
    155156                $character = ($value & 0x1F) << 6;
    156                 $length = 2;
     157                $length    = 2;
    157158                $remaining = 1;
    158159            }
     
    160161            elseif (($value & 0xF0) === 0xE0) {
    161162                $character = ($value & 0x0F) << 12;
    162                 $length = 3;
     163                $length    = 3;
    163164                $remaining = 2;
    164165            }
     
    166167            elseif (($value & 0xF8) === 0xF0) {
    167168                $character = ($value & 0x07) << 18;
    168                 $length = 4;
     169                $length    = 4;
    169170                $remaining = 3;
    170171            }
     
    186187                    }
    187188
    188                     $character |= ($value & 0x3F) << (--$remaining * 6);
     189                    --$remaining;
     190                    $character |= ($value & 0x3F) << ($remaining * 6);
    189191                }
    190192                $position--;
    191193            }
    192194
    193             if (
    194                 // Non-shortest form sequences are invalid
    195                    $length > 1 && $character <= 0x7F
     195            if (// Non-shortest form sequences are invalid
     196                $length > 1 && $character <= 0x7F
    196197                || $length > 2 && $character <= 0x7FF
    197198                || $length > 3 && $character <= 0xFFFF
     
    202203                || (
    203204                    // Everything else not in ucschar
    204                        $character > 0xD7FF && $character < 0xF900
     205                    $character > 0xD7FF && $character < 0xF900
    205206                    || $character < 0x20
    206207                    || $character > 0x7E && $character < 0xA0
     
    228229    public static function punycode_encode($input) {
    229230        $output = '';
    230 #       let n = initial_n
     231        // let n = initial_n
    231232        $n = self::BOOTSTRAP_INITIAL_N;
    232 #       let delta = 0
     233        // let delta = 0
    233234        $delta = 0;
    234 #       let bias = initial_bias
     235        // let bias = initial_bias
    235236        $bias = self::BOOTSTRAP_INITIAL_BIAS;
    236 #       let h = b = the number of basic code points in the input
    237         $h = $b = 0; // see loop
    238 #       copy them to the output in order
     237        // let h = b = the number of basic code points in the input
     238        $h = 0;
     239        $b = 0; // see loop
     240        // copy them to the output in order
    239241        $codepoints = self::utf8_to_codepoints($input);
    240         $extended = array();
     242        $extended   = array();
    241243
    242244        foreach ($codepoints as $char) {
     
    261263        sort($extended);
    262264        $b = $h;
    263 #       [copy them] followed by a delimiter if b > 0
     265        // [copy them] followed by a delimiter if b > 0
    264266        if (strlen($output) > 0) {
    265267            $output .= '-';
    266268        }
    267 #       {if the input contains a non-basic code point < n then fail}
    268 #       while h < length(input) do begin
    269         while ($h < count($codepoints)) {
    270 #           let m = the minimum code point >= n in the input
     269        // {if the input contains a non-basic code point < n then fail}
     270        // while h < length(input) do begin
     271        $codepointcount = count($codepoints);
     272        while ($h < $codepointcount) {
     273            // let m = the minimum code point >= n in the input
    271274            $m = array_shift($extended);
    272275            //printf('next code point to insert is %s' . PHP_EOL, dechex($m));
    273 #           let delta = delta + (m - n) * (h + 1), fail on overflow
     276            // let delta = delta + (m - n) * (h + 1), fail on overflow
    274277            $delta += ($m - $n) * ($h + 1);
    275 #           let n = m
     278            // let n = m
    276279            $n = $m;
    277 #           for each code point c in the input (in order) do begin
    278             for ($num = 0; $num < count($codepoints); $num++) {
     280            // for each code point c in the input (in order) do begin
     281            for ($num = 0; $num < $codepointcount; $num++) {
    279282                $c = $codepoints[$num];
    280 #               if c < n then increment delta, fail on overflow
     283                // if c < n then increment delta, fail on overflow
    281284                if ($c < $n) {
    282285                    $delta++;
    283286                }
    284 #               if c == n then begin
     287                // if c == n then begin
    285288                elseif ($c === $n) {
    286 #                   let q = delta
     289                    // let q = delta
    287290                    $q = $delta;
    288 #                   for k = base to infinity in steps of base do begin
     291                    // for k = base to infinity in steps of base do begin
    289292                    for ($k = self::BOOTSTRAP_BASE; ; $k += self::BOOTSTRAP_BASE) {
    290 #                       let t = tmin if k <= bias {+ tmin}, or
    291 #                               tmax if k >= bias + tmax, or k - bias otherwise
     293                        // let t = tmin if k <= bias {+ tmin}, or
     294                        //     tmax if k >= bias + tmax, or k - bias otherwise
    292295                        if ($k <= ($bias + self::BOOTSTRAP_TMIN)) {
    293296                            $t = self::BOOTSTRAP_TMIN;
     
    299302                            $t = $k - $bias;
    300303                        }
    301 #                       if q < t then break
     304                        // if q < t then break
    302305                        if ($q < $t) {
    303306                            break;
    304307                        }
    305 #                       output the code point for digit t + ((q - t) mod (base - t))
    306                         $digit = $t + (($q - $t) % (self::BOOTSTRAP_BASE - $t));
     308                        // output the code point for digit t + ((q - t) mod (base - t))
     309                        $digit   = $t + (($q - $t) % (self::BOOTSTRAP_BASE - $t));
    307310                        $output .= self::digit_to_char($digit);
    308 #                       let q = (q - t) div (base - t)
     311                        // let q = (q - t) div (base - t)
    309312                        $q = floor(($q - $t) / (self::BOOTSTRAP_BASE - $t));
    310 #                   end
    311                     }
    312 #                   output the code point for digit q
     313                    } // end
     314                    // output the code point for digit q
    313315                    $output .= self::digit_to_char($q);
    314 #                   let bias = adapt(delta, h + 1, test h equals b?)
     316                    // let bias = adapt(delta, h + 1, test h equals b?)
    315317                    $bias = self::adapt($delta, $h + 1, $h === $b);
    316 #                   let delta = 0
     318                    // let delta = 0
    317319                    $delta = 0;
    318 #                   increment h
     320                    // increment h
    319321                    $h++;
    320 #               end
    321                 }
    322 #           end
    323             }
    324 #           increment delta and n
     322                } // end
     323            } // end
     324            // increment delta and n
    325325            $delta++;
    326326            $n++;
    327 #       end
    328         }
     327        } // end
    329328
    330329        return $output;
     
    359358     * @param bool $firsttime
    360359     * @return int New bias
     360     *
     361     * function adapt(delta,numpoints,firsttime):
    361362     */
    362363    protected static function adapt($delta, $numpoints, $firsttime) {
    363 #   function adapt(delta,numpoints,firsttime):
    364 #       if firsttime then let delta = delta div damp
     364        // if firsttime then let delta = delta div damp
    365365        if ($firsttime) {
    366366            $delta = floor($delta / self::BOOTSTRAP_DAMP);
    367367        }
    368 #       else let delta = delta div 2
     368        // else let delta = delta div 2
    369369        else {
    370370            $delta = floor($delta / 2);
    371371        }
    372 #       let delta = delta + (delta div numpoints)
     372        // let delta = delta + (delta div numpoints)
    373373        $delta += floor($delta / $numpoints);
    374 #       let k = 0
     374        // let k = 0
    375375        $k = 0;
    376 #       while delta > ((base - tmin) * tmax) div 2 do begin
     376        // while delta > ((base - tmin) * tmax) div 2 do begin
    377377        $max = floor(((self::BOOTSTRAP_BASE - self::BOOTSTRAP_TMIN) * self::BOOTSTRAP_TMAX) / 2);
    378378        while ($delta > $max) {
    379 #           let delta = delta div (base - tmin)
     379            // let delta = delta div (base - tmin)
    380380            $delta = floor($delta / (self::BOOTSTRAP_BASE - self::BOOTSTRAP_TMIN));
    381 #           let k = k + base
     381            // let k = k + base
    382382            $k += self::BOOTSTRAP_BASE;
    383 #       end
    384         }
    385 #       return k + (((base - tmin + 1) * delta) div (delta + skew))
     383        } // end
     384        // return k + (((base - tmin + 1) * delta) div (delta + skew))
    386385        return $k + floor(((self::BOOTSTRAP_BASE - self::BOOTSTRAP_TMIN + 1) * $delta) / ($delta + self::BOOTSTRAP_SKEW));
    387386    }
Note: See TracChangeset for help on using the changeset viewer.