[webkit-changes] [WebKit/WebKit] 5a716d: STDIN and STDOUT of Perl CGI scripts should be bin...

Fujii Hironori noreply at github.com
Thu Oct 26 22:31:01 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5a716d72adac16a24a5fa865b2ed6a7a454d6d64
      https://github.com/WebKit/WebKit/commit/5a716d72adac16a24a5fa865b2ed6a7a454d6d64
  Author: Fujii Hironori <Hironori.Fujii at sony.com>
  Date:   2023-10-26 (Thu, 26 Oct 2023)

  Changed paths:
    M LayoutTests/http/tests/cache/resources/current-time.cgi
    M LayoutTests/http/tests/cache/resources/echo-cacheable.cgi
    M LayoutTests/http/tests/cache/resources/echo-no-store.cgi
    M LayoutTests/http/tests/cache/resources/random-cached-iframe.cgi
    M LayoutTests/http/tests/cache/resources/random-cached.cgi
    M LayoutTests/http/tests/cache/resources/random-max-age.cgi
    M LayoutTests/http/tests/cache/resources/random.cgi
    M LayoutTests/http/tests/cache/resources/subresource-failover-to-network.cgi
    M LayoutTests/http/tests/cookies/resources/clearCookies.cgi
    M LayoutTests/http/tests/cookies/resources/getCookies.cgi
    M LayoutTests/http/tests/cookies/resources/setCookies.cgi
    M LayoutTests/http/tests/history/redirect-200-refresh-0-seconds.pl
    M LayoutTests/http/tests/history/redirect-200-refresh-2-seconds.pl
    M LayoutTests/http/tests/history/resources/redirect-helper.pl
    M LayoutTests/http/tests/incremental/pause-in-script-element.pl
    M LayoutTests/http/tests/incremental/resources/slow-utf8-css.pl
    M LayoutTests/http/tests/incremental/slow-utf8-html.pl
    M LayoutTests/http/tests/incremental/slow-utf8-text.pl
    M LayoutTests/http/tests/incremental/split-hex-entities.pl
    M LayoutTests/http/tests/inspector/network/resources/cors-data.pl
    M LayoutTests/http/tests/links/resources/redirect-helper.pl
    M LayoutTests/http/tests/loading/onload-vs-immediate-refresh.pl
    M LayoutTests/http/tests/loading/resources/404-with-empty-body-no-content-type.cgi
    M LayoutTests/http/tests/loading/resources/404-with-empty-body.cgi
    M LayoutTests/http/tests/local/slow-css-pass.cgi
    M LayoutTests/http/tests/mime/resources/style-with-empty-content-type.cgi
    M LayoutTests/http/tests/misc/BOM-override.pl
    M LayoutTests/http/tests/misc/error404.pl
    M LayoutTests/http/tests/misc/nph-non-utf8-header-name.pl
    M LayoutTests/http/tests/misc/resources/BOM-override-2.pl
    M LayoutTests/http/tests/misc/resources/BOM-override-3.pl
    M LayoutTests/http/tests/misc/resources/image-slow.pl
    M LayoutTests/http/tests/misc/resources/intrinsic-ratio-slow.pl
    M LayoutTests/http/tests/misc/resources/percent-sign-in-form-data-field-name.cgi
    M LayoutTests/http/tests/misc/resources/post-echo-and-notify-done.cgi
    M LayoutTests/http/tests/misc/resources/post-echo.cgi
    M LayoutTests/http/tests/misc/resources/script-slow1.pl
    M LayoutTests/http/tests/misc/resources/script-slow2.pl
    M LayoutTests/http/tests/misc/resources/slow-async-script.cgi
    M LayoutTests/http/tests/misc/resources/slow-defer-script.cgi
    M LayoutTests/http/tests/misc/resources/slow-stylesheet.cgi
    M LayoutTests/http/tests/misc/resources/svg-slow.pl
    M LayoutTests/http/tests/misc/resources/text-refresh.pl
    M LayoutTests/http/tests/misc/resources/uncacheable-script.cgi
    M LayoutTests/http/tests/misc/xmltokenizer-do-not-crash.pl
    M LayoutTests/http/tests/navigation/resources/error404.pl
    M LayoutTests/http/tests/navigation/resources/redirect-cycle-1.pl
    M LayoutTests/http/tests/navigation/resources/redirect-cycle-2.pl
    M LayoutTests/http/tests/navigation/resources/redirect-to-referrer-check.pl
    M LayoutTests/http/tests/navigation/resources/redirect302-metaredirect.pl
    M LayoutTests/http/tests/navigation/resources/redirect302.pl
    M LayoutTests/http/tests/navigation/resources/reload-subframe-content.pl
    M LayoutTests/http/tests/navigation/resources/reload-subframe.pl
    M LayoutTests/http/tests/navigation/resources/response204.pl
    M LayoutTests/http/tests/navigation/resources/slow-resource-1-sec.pl
    M LayoutTests/http/tests/plugins/resources/mock-plugin-cacheable.pl
    M LayoutTests/http/tests/plugins/resources/mock-plugin-unknown-type.pl
    M LayoutTests/http/tests/plugins/resources/mock-plugin.pl
    M LayoutTests/http/tests/plugins/resources/plugin-document-has-focus.pl
    M LayoutTests/http/tests/plugins/resources/slow-resource.pl
    M LayoutTests/http/tests/preload/resources/nph-invalid_resources_from_header.pl
    M LayoutTests/http/tests/resources/post-and-verify-hybrid.cgi
    M LayoutTests/http/tests/resources/post-and-verify.cgi
    M LayoutTests/http/tests/security/XFrameOptions/resources/nph-cached-xfo.pl
    M LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-allowall.cgi
    M LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-deny.cgi
    M LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-frame-ancestors-same-origin-allow.cgi
    M LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-frame-ancestors-same-origin-deny.cgi
    M LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-invalid.cgi
    M LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-multiple-headers-conflict.cgi
    M LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-multiple-headers-sameorigin.cgi
    M LayoutTests/http/tests/security/contentSecurityPolicy/resources/frame-ancestors-self-x-frame-options-deny.pl
    M LayoutTests/http/tests/security/contentSecurityPolicy/resources/nph-cached-csp.pl
    M LayoutTests/http/tests/security/contentSecurityPolicy/resources/test-csp-header.pl
    M LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/check-https-header.pl
    M LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/echo-https-header.pl
    M LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/post-https-header.pl
    M LayoutTests/http/tests/security/http-0.9/resources/nph-alert-fail.pl
    M LayoutTests/http/tests/security/http-0.9/resources/nph-fail.pl
    M LayoutTests/http/tests/security/http-0.9/resources/nph-image-on-HTTP-0.9-default-port-page-allowed.pl
    M LayoutTests/http/tests/security/http-0.9/resources/nph-image-on-HTTP-0.9-page-blocked.pl
    M LayoutTests/http/tests/security/http-0.9/resources/nph-image.pl
    M LayoutTests/http/tests/security/http-0.9/resources/nph-sandbox-should-not-persist-on-navigation.pl
    M LayoutTests/http/tests/security/http-0.9/resources/nph-worker-fail.pl
    M LayoutTests/http/tests/security/originHeader/resources/print-origin.cgi
    M LayoutTests/http/tests/security/resources/escape-form-data-field-names.cgi
    M LayoutTests/http/tests/ssl/resources/no-http-referer.cgi
    M LayoutTests/http/tests/webfont/slow-ahem-loading.cgi
    M LayoutTests/http/tests/websocket/tests/hybi/httponly-cookie.pl
    M LayoutTests/http/tests/websocket/tests/hybi/secure-cookie-insecure-connection.pl
    M LayoutTests/http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl
    M LayoutTests/http/tests/xmlhttprequest/hello-world.cgi
    M LayoutTests/http/tests/xmlhttprequest/interactive-state.cgi
    M LayoutTests/http/tests/xmlhttprequest/methods.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/304.pl
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allow-access-control-origin-header.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allow-no-credentials.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allow-star.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allow.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allowlist-request-headers.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allowlist-response-headers.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-denied.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-get-fail-non-simple.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-non-get-allow.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-options-not-supported.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-post-fail-non-simple.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow-origin-null.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-denied-without-wildcard.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-denied.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/cross-site-progress-events.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/get-set-cookie.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/get-utf-8.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/get-windows-1251.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/noContentLength.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/post-echo-as-ascii.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/post-echo-as-utf-8.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/post-echo.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/print-cache-control-header.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/print-headers.cgi
    M LayoutTests/http/tests/xmlhttprequest/resources/small-chunks.cgi
    M LayoutTests/http/tests/xmlhttprequest/web-apps/001-test.cgi
    M LayoutTests/http/tests/xmlhttprequest/web-apps/003-test.cgi
    M LayoutTests/http/tests/xmlhttprequest/web-apps/004-test.cgi
    M LayoutTests/http/tests/xmlhttprequest/web-apps/005-test.cgi
    M LayoutTests/http/tests/xmlhttprequest/web-apps/010-test.cgi
    M LayoutTests/http/tests/xmlhttprequest/web-apps/013-test.cgi
    M LayoutTests/http/tests/xmlhttprequest/web-apps/015-test.cgi
    M LayoutTests/http/tests/xmlhttprequest/workers/resources/methods.cgi
    M LayoutTests/platform/wincairo/TestExpectations

  Log Message:
  -----------
  STDIN and STDOUT of Perl CGI scripts should be binary mode for Windows Perl
https://bugs.webkit.org/show_bug.cgi?id=263701

Reviewed by Ross Kirsling.

Windows Perl converts '\n' to '\r\n' in text mode. STDIN and STDOUT of
Perl CGI scripts have to be binary mode for Windows Perl. "use CGI"
automatically does it. However, "use CGI" is not recomended nowadays,
and it's inefficient to "use CGI" just for setting binmode for them.
Added "binmode STDOUT" for Perl CGI scripts not using CGI module.
Also, added "binmode STDIN" for scripts reading STDIN.

* LayoutTests/http/tests/cache/resources/current-time.cgi:
* LayoutTests/http/tests/cache/resources/echo-cacheable.cgi:
* LayoutTests/http/tests/cache/resources/echo-no-store.cgi:
* LayoutTests/http/tests/cache/resources/random-cached-iframe.cgi:
* LayoutTests/http/tests/cache/resources/random-cached.cgi:
* LayoutTests/http/tests/cache/resources/random-max-age.cgi:
* LayoutTests/http/tests/cache/resources/random.cgi:
* LayoutTests/http/tests/cache/resources/subresource-failover-to-network.cgi:
* LayoutTests/http/tests/cookies/resources/clearCookies.cgi:
* LayoutTests/http/tests/cookies/resources/getCookies.cgi:
* LayoutTests/http/tests/cookies/resources/setCookies.cgi:
* LayoutTests/http/tests/history/redirect-200-refresh-0-seconds.pl:
* LayoutTests/http/tests/history/redirect-200-refresh-2-seconds.pl:
* LayoutTests/http/tests/history/resources/redirect-helper.pl:
* LayoutTests/http/tests/incremental/pause-in-script-element.pl:
* LayoutTests/http/tests/incremental/resources/slow-utf8-css.pl:
* LayoutTests/http/tests/incremental/slow-utf8-html.pl:
* LayoutTests/http/tests/incremental/slow-utf8-text.pl:
* LayoutTests/http/tests/incremental/split-hex-entities.pl:
* LayoutTests/http/tests/inspector/network/resources/cors-data.pl:
* LayoutTests/http/tests/links/resources/redirect-helper.pl:
* LayoutTests/http/tests/loading/onload-vs-immediate-refresh.pl:
* LayoutTests/http/tests/loading/resources/404-with-empty-body-no-content-type.cgi:
* LayoutTests/http/tests/loading/resources/404-with-empty-body.cgi:
* LayoutTests/http/tests/local/slow-css-pass.cgi:
* LayoutTests/http/tests/mime/resources/style-with-empty-content-type.cgi:
* LayoutTests/http/tests/misc/BOM-override.pl:
* LayoutTests/http/tests/misc/error404.pl:
* LayoutTests/http/tests/misc/nph-non-utf8-header-name.pl:
* LayoutTests/http/tests/misc/resources/BOM-override-2.pl:
* LayoutTests/http/tests/misc/resources/BOM-override-3.pl:
* LayoutTests/http/tests/misc/resources/image-slow.pl:
* LayoutTests/http/tests/misc/resources/intrinsic-ratio-slow.pl:
* LayoutTests/http/tests/misc/resources/percent-sign-in-form-data-field-name.cgi:
* LayoutTests/http/tests/misc/resources/post-echo-and-notify-done.cgi:
* LayoutTests/http/tests/misc/resources/post-echo.cgi:
* LayoutTests/http/tests/misc/resources/script-slow1.pl:
* LayoutTests/http/tests/misc/resources/script-slow2.pl:
* LayoutTests/http/tests/misc/resources/slow-async-script.cgi:
* LayoutTests/http/tests/misc/resources/slow-defer-script.cgi:
* LayoutTests/http/tests/misc/resources/slow-stylesheet.cgi:
* LayoutTests/http/tests/misc/resources/svg-slow.pl:
* LayoutTests/http/tests/misc/resources/text-refresh.pl:
* LayoutTests/http/tests/misc/resources/uncacheable-script.cgi:
* LayoutTests/http/tests/misc/xmltokenizer-do-not-crash.pl:
* LayoutTests/http/tests/navigation/resources/error404.pl:
* LayoutTests/http/tests/navigation/resources/redirect-cycle-1.pl:
* LayoutTests/http/tests/navigation/resources/redirect-cycle-2.pl:
* LayoutTests/http/tests/navigation/resources/redirect-to-referrer-check.pl:
* LayoutTests/http/tests/navigation/resources/redirect302-metaredirect.pl:
* LayoutTests/http/tests/navigation/resources/redirect302.pl:
* LayoutTests/http/tests/navigation/resources/reload-subframe-content.pl:
* LayoutTests/http/tests/navigation/resources/reload-subframe.pl:
* LayoutTests/http/tests/navigation/resources/response204.pl:
* LayoutTests/http/tests/navigation/resources/slow-resource-1-sec.pl:
* LayoutTests/http/tests/plugins/resources/mock-plugin-cacheable.pl:
* LayoutTests/http/tests/plugins/resources/mock-plugin-unknown-type.pl:
* LayoutTests/http/tests/plugins/resources/mock-plugin.pl:
* LayoutTests/http/tests/plugins/resources/plugin-document-has-focus.pl:
* LayoutTests/http/tests/plugins/resources/slow-resource.pl:
* LayoutTests/http/tests/preload/resources/nph-invalid_resources_from_header.pl:
* LayoutTests/http/tests/resources/post-and-verify-hybrid.cgi:
* LayoutTests/http/tests/resources/post-and-verify.cgi:
* LayoutTests/http/tests/security/XFrameOptions/resources/nph-cached-xfo.pl:
* LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-allowall.cgi:
* LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-deny.cgi:
* LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-frame-ancestors-same-origin-allow.cgi:
* LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-frame-ancestors-same-origin-deny.cgi:
* LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-invalid.cgi:
* LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-multiple-headers-conflict.cgi:
* LayoutTests/http/tests/security/XFrameOptions/resources/x-frame-options-multiple-headers-sameorigin.cgi:
* LayoutTests/http/tests/security/contentSecurityPolicy/resources/frame-ancestors-self-x-frame-options-deny.pl:
* LayoutTests/http/tests/security/contentSecurityPolicy/resources/nph-cached-csp.pl:
* LayoutTests/http/tests/security/contentSecurityPolicy/resources/test-csp-header.pl:
* LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/check-https-header.pl:
* LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/echo-https-header.pl:
* LayoutTests/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/resources/post-https-header.pl:
* LayoutTests/http/tests/security/http-0.9/resources/nph-alert-fail.pl:
* LayoutTests/http/tests/security/http-0.9/resources/nph-fail.pl:
* LayoutTests/http/tests/security/http-0.9/resources/nph-image-on-HTTP-0.9-default-port-page-allowed.pl:
* LayoutTests/http/tests/security/http-0.9/resources/nph-image-on-HTTP-0.9-page-blocked.pl:
* LayoutTests/http/tests/security/http-0.9/resources/nph-image.pl:
* LayoutTests/http/tests/security/http-0.9/resources/nph-sandbox-should-not-persist-on-navigation.pl:
* LayoutTests/http/tests/security/http-0.9/resources/nph-worker-fail.pl:
* LayoutTests/http/tests/security/originHeader/resources/print-origin.cgi:
* LayoutTests/http/tests/security/resources/escape-form-data-field-names.cgi:
* LayoutTests/http/tests/ssl/resources/no-http-referer.cgi:
* LayoutTests/http/tests/webfont/slow-ahem-loading.cgi:
* LayoutTests/http/tests/websocket/tests/hybi/httponly-cookie.pl:
* LayoutTests/http/tests/websocket/tests/hybi/secure-cookie-insecure-connection.pl:
* LayoutTests/http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl:
* LayoutTests/http/tests/xmlhttprequest/hello-world.cgi:
* LayoutTests/http/tests/xmlhttprequest/interactive-state.cgi:
* LayoutTests/http/tests/xmlhttprequest/methods.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/304.pl:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allow-access-control-origin-header.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allow-no-credentials.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allow-star.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allow.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allowlist-request-headers.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-allowlist-response-headers.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-denied.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-get-fail-non-simple.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-non-get-allow.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-options-not-supported.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-post-fail-non-simple.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow-origin-null.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-allow.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-denied-without-wildcard.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/access-control-sandboxed-iframe-denied.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/cross-site-progress-events.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/get-set-cookie.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/get-utf-8.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/get-windows-1251.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/noContentLength.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/post-echo-as-ascii.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/post-echo-as-utf-8.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/post-echo.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/print-cache-control-header.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/print-headers.cgi:
* LayoutTests/http/tests/xmlhttprequest/resources/small-chunks.cgi:
* LayoutTests/http/tests/xmlhttprequest/web-apps/001-test.cgi:
* LayoutTests/http/tests/xmlhttprequest/web-apps/003-test.cgi:
* LayoutTests/http/tests/xmlhttprequest/web-apps/004-test.cgi:
* LayoutTests/http/tests/xmlhttprequest/web-apps/005-test.cgi:
* LayoutTests/http/tests/xmlhttprequest/web-apps/010-test.cgi:
* LayoutTests/http/tests/xmlhttprequest/web-apps/013-test.cgi:
* LayoutTests/http/tests/xmlhttprequest/web-apps/015-test.cgi:
* LayoutTests/http/tests/xmlhttprequest/workers/resources/methods.cgi:
* LayoutTests/platform/wincairo/TestExpectations:

Canonical link: https://commits.webkit.org/269838@main




More information about the webkit-changes mailing list