737 lines
29 KiB
Diff
737 lines
29 KiB
Diff
|
|
||
|
<!DOCTYPE html>
|
||
|
<html lang='en'>
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||
|
<title>Tree - rpms/java-11-openjdk - src.fedoraproject.org</title>
|
||
|
<link rel="shortcut icon" type="image/vnd.microsoft.icon"
|
||
|
href="/theme/static/favicon.ico?version=5.8.1"/>
|
||
|
<link href="/theme/static/fedora-bootstrap-1.3.0/fedora-bootstrap.min.css?version=5.8.1"
|
||
|
type="text/css" rel="stylesheet" />
|
||
|
<link href="/theme/static/fonts/fonts.css?version=5.8.1"
|
||
|
rel="stylesheet" type="text/css" />
|
||
|
<link href="/theme/static/fonts/hack_fonts/css/hack-extended.min.css?version=5.8.1"
|
||
|
type="text/css" rel="stylesheet" />
|
||
|
<link href="/theme/static/theme.css?version=5.8.1"
|
||
|
type="text/css" rel="stylesheet" />
|
||
|
|
||
|
<link type="text/css" rel="stylesheet" nonce="nxj3waVrXu0uApedibTzBvT7F" href="/static/vendor/font-awesome/font-awesome.css?version=5.8.1"/>
|
||
|
<link type="text/css" rel="stylesheet" nonce="nxj3waVrXu0uApedibTzBvT7F" href="/static/pagure.css?version=5.8.1"/>
|
||
|
<link nonce="nxj3waVrXu0uApedibTzBvT7F" rel="stylesheet" href="/static/vendor/highlight.js/styles/github.css?version=5.8.1"/>
|
||
|
<link nonce="nxj3waVrXu0uApedibTzBvT7F" rel="stylesheet" href="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.css?version=5.8.1"/>
|
||
|
<style nonce="nxj3waVrXu0uApedibTzBvT7F">
|
||
|
.hljs {
|
||
|
background: #fff;
|
||
|
}
|
||
|
</style>
|
||
|
</head>
|
||
|
<body id="home">
|
||
|
|
||
|
<!-- start masthead -->
|
||
|
<nav class="navbar navbar-light masthead p-0 navbar-expand">
|
||
|
<div class="container">
|
||
|
<a href="/" class="navbar-brand">
|
||
|
<img height=40px src="/theme/static/pagure-logo.png?version=5.8.1"
|
||
|
alt="pagure Logo" id="pagureLogo"/>
|
||
|
</a>
|
||
|
<ul class="navbar-nav ml-auto">
|
||
|
<li class="nav-item">
|
||
|
<a class="btn btn-primary" href="/login/?next=https://src.fedoraproject.org/rpms/java-11-openjdk/blob/master/f/jdk8236039-status_request_extension.patch">Log In</a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</nav>
|
||
|
<!-- close masthead-->
|
||
|
|
||
|
<div class="bodycontent">
|
||
|
|
||
|
|
||
|
<div class="bg-light border border-bottom pt-3">
|
||
|
<div class="container">
|
||
|
<div class="row mb-3">
|
||
|
<div class="col-6">
|
||
|
<div class="row">
|
||
|
<div class="col-auto pr-0">
|
||
|
<h3>
|
||
|
<i class="fa fa-archive text-muted"></i></h3>
|
||
|
</div>
|
||
|
<div class="col-auto pl-2">
|
||
|
<h3 class="mb-0">
|
||
|
<a href="/projects/rpms/%2A">rpms</a> / <a href="/rpms/java-11-openjdk"><strong>java-11-openjdk</strong></a>
|
||
|
</h3>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="col-6 text-right">
|
||
|
<div class="btn-group">
|
||
|
<div class="btn-group">
|
||
|
<a href="#"
|
||
|
class="btn btn-sm dropdown-toggle btn-outline-primary"
|
||
|
data-toggle="dropdown" id="watch-button">
|
||
|
<i class="fa fa-clone fa-fw"></i>
|
||
|
<span>Clone</span>
|
||
|
</a>
|
||
|
<div class="dropdown-menu dropdown-menu-right">
|
||
|
<div class="m-3" id="source-dropdown" class="pointer">
|
||
|
<div>
|
||
|
<h5><strong>Source Code</strong></h5>
|
||
|
|
||
|
<div class="form-group">
|
||
|
<div class="input-group input-group-sm">
|
||
|
<div class="input-group-prepend"><span class="input-group-text">GIT</span></div>
|
||
|
<input class="form-control bg-white select-on-focus" type="text" value="https://src.fedoraproject.org/rpms/java-11-openjdk.git" readonly>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<ul class="nav nav-tabs nav-small border-bottom-0">
|
||
|
<li class="nav-item mr-2 text-dark">
|
||
|
<a class="nav-link active" href="/rpms/java-11-openjdk">
|
||
|
<i class="fa fa-code fa-fw text-muted"></i>
|
||
|
<span class="d-none d-md-inline">Source</span>
|
||
|
</a>
|
||
|
</li>
|
||
|
|
||
|
<li class="nav-item mr-2 text-dark">
|
||
|
<a class="nav-link" href="https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&classification=Fedora&product=Fedora&component=java-11-openjdk">
|
||
|
<i class="fa fa-fw text-muted fa-exclamation-circle"></i>
|
||
|
<span class="d-none d-md-inline">Issues </span>
|
||
|
<span class="fa fa-external-link"></span>
|
||
|
</a>
|
||
|
</li>
|
||
|
|
||
|
<li class="nav-item mr-2 text-dark">
|
||
|
<a class="nav-link" href="/rpms/java-11-openjdk/pull-requests">
|
||
|
<i class="fa fa-fw text-muted fa-arrow-circle-down"></i>
|
||
|
<span class="d-none d-md-inline">Pull Requests </span>
|
||
|
<span class="badge badge-secondary py-0 d-none d-md-inline">
|
||
|
3
|
||
|
</span>
|
||
|
</a>
|
||
|
</li>
|
||
|
|
||
|
|
||
|
<li class="nav-item mr-2 text-dark">
|
||
|
<a class="nav-link" href="/rpms/java-11-openjdk/stats">
|
||
|
<i class="fa fa-line-chart fa-fw text-muted"></i>
|
||
|
<span class="d-none d-md-inline">Stats</span>
|
||
|
</a>
|
||
|
</li>
|
||
|
|
||
|
|
||
|
</ul>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="container pt-5 repo-body-container">
|
||
|
<div class="row">
|
||
|
<div class="col-2">
|
||
|
<nav class="nav nav-tabs nav-sidetabs flex-column">
|
||
|
<a class=
|
||
|
"nav-link nowrap
|
||
|
"
|
||
|
href="/rpms/java-11-openjdk">
|
||
|
<i class="fa fa-home text-muted fa-fw"></i> <span class="d-none d-md-inline">Overview</span>
|
||
|
</a>
|
||
|
<a class=
|
||
|
"nav-link nowrap
|
||
|
active"
|
||
|
href="/rpms/java-11-openjdk/tree/master">
|
||
|
<i class="fa fa-file-code-o text-muted fa-fw"></i> Files
|
||
|
</a>
|
||
|
<a class=
|
||
|
"nav-link nowrap
|
||
|
"
|
||
|
href="/rpms/java-11-openjdk/commits/master">
|
||
|
<i class="fa fa-list-alt text-muted fa-fw" data-glyph="spreadsheet"></i> Commits
|
||
|
</a>
|
||
|
<a class=
|
||
|
"nav-link nowrap
|
||
|
"
|
||
|
href="/rpms/java-11-openjdk/branches?branchname=master">
|
||
|
<i class="fa fa-random text-muted fa-fw"></i> Branches
|
||
|
</a>
|
||
|
<a class=
|
||
|
"nav-link nowrap
|
||
|
"
|
||
|
href="/rpms/java-11-openjdk/forks">
|
||
|
<i class="fa fa-code-fork text-muted fa-fw"></i> Forks
|
||
|
</a>
|
||
|
<a class=
|
||
|
"nav-link nowrap
|
||
|
"
|
||
|
href="/rpms/java-11-openjdk/releases">
|
||
|
<i class="fa fa-tags text-muted fa-fw"></i> Releases
|
||
|
</a>
|
||
|
|
||
|
<div class="col-xs-2 line-height-1"></div>
|
||
|
<p>Monitoring status:</p>
|
||
|
<div class="btn-group">
|
||
|
<button title="Monitoring status" class="btn btn-sm btn-outline-primary disabled"
|
||
|
id="monitoring-button">
|
||
|
<i id="monitoring-icon" class="fa fa-fw fa-eye"></i>
|
||
|
<span id="monitoring-label" class="fa fa-circle-o-notch fa-spin fa-1x fa-fw"></span>
|
||
|
</button>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
|
||
|
window.addEventListener('load', function() {
|
||
|
|
||
|
set_up_monitoring = function(status){
|
||
|
var _label = "Disabled"
|
||
|
if (status === "monitoring") {
|
||
|
_label = "Monitoring";
|
||
|
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
|
||
|
} else if (status === "monitoring-with-scratch") {
|
||
|
_label = "Scratch builds"
|
||
|
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye")
|
||
|
} else {
|
||
|
$("#monitoring-icon").attr("class", "fa fa-fw fa-eye-slash")
|
||
|
}
|
||
|
|
||
|
$("#monitoring-label").text(_label);
|
||
|
$("#monitoring-label").removeClass("fa fa-circle-o-notch fa-spin fa-1x fa-fw");
|
||
|
}
|
||
|
|
||
|
$.ajax({
|
||
|
url: "/_dg/anitya/rpms/java-11-openjdk",
|
||
|
type: 'GET',
|
||
|
dataType: 'json',
|
||
|
success: function(res) {
|
||
|
console.log(res);
|
||
|
set_up_monitoring(res.monitoring)
|
||
|
}
|
||
|
});
|
||
|
|
||
|
|
||
|
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
</nav> </div>
|
||
|
<div class="col-10">
|
||
|
<div class="row mb-1">
|
||
|
<div class="col-sm-6">
|
||
|
<h3>
|
||
|
Files
|
||
|
</h3>
|
||
|
</div>
|
||
|
|
||
|
<div class="col-sm-6">
|
||
|
<div class="float-right">
|
||
|
<div class="btn-group">
|
||
|
<a href="#" class="btn btn-outline-light border-secondary text-dark btn-sm dropdown-toggle"
|
||
|
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||
|
<span class="fa fa-random fa-fw"></span> Branch: <span class="font-weight-bold">master</span>
|
||
|
</a>
|
||
|
<div class="dropdown-menu dropdown-menu-right">
|
||
|
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/cups-libs">
|
||
|
<span class="fa fa-random fa-fw"></span> <span class="">cups-libs</span>
|
||
|
</a>
|
||
|
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f27">
|
||
|
<span class="fa fa-random fa-fw"></span> <span class="">f27</span>
|
||
|
</a>
|
||
|
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f28">
|
||
|
<span class="fa fa-random fa-fw"></span> <span class="">f28</span>
|
||
|
</a>
|
||
|
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f29">
|
||
|
<span class="fa fa-random fa-fw"></span> <span class="">f29</span>
|
||
|
</a>
|
||
|
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f30">
|
||
|
<span class="fa fa-random fa-fw"></span> <span class="">f30</span>
|
||
|
</a>
|
||
|
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f31">
|
||
|
<span class="fa fa-random fa-fw"></span> <span class="">f31</span>
|
||
|
</a>
|
||
|
<a class="dropdown-item pl-1 " href="/rpms/java-11-openjdk/tree/f32">
|
||
|
<span class="fa fa-random fa-fw"></span> <span class="">f32</span>
|
||
|
</a>
|
||
|
<a class="dropdown-item pl-1 active" href="/rpms/java-11-openjdk/tree/master">
|
||
|
<span class="fa fa-random fa-fw"></span> <span class="font-weight-bold">master</span>
|
||
|
</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="card mb-3">
|
||
|
<div class="card-header">
|
||
|
<ol class="breadcrumb p-0 bg-transparent mb-0">
|
||
|
<li class="breadcrumb-item">
|
||
|
<a href="/rpms/java-11-openjdk/tree/master">
|
||
|
<span class="fa fa-random">
|
||
|
</span> master
|
||
|
</a>
|
||
|
</li>
|
||
|
<li class="active breadcrumb-item">
|
||
|
<span class="fa fa-file" data-glyph="">
|
||
|
</span> jdk8236039-status_request_extension.patch
|
||
|
</li>
|
||
|
</ol>
|
||
|
</div>
|
||
|
|
||
|
<div class="card-body p-0">
|
||
|
<div class="bg-light border text-right pr-2">
|
||
|
<form class="btn btn-sm" method="POST" name="fork_project"
|
||
|
action="/fork_edit/rpms/java-11-openjdk/edit/master/f/jdk8236039-status_request_extension.patch">
|
||
|
<button class="btn btn-sm btn-secondary fork_project_btn">
|
||
|
Fork and Edit
|
||
|
</button>
|
||
|
|
||
|
</form>
|
||
|
|
||
|
<a class="btn btn-secondary btn-sm" href="/rpms/java-11-openjdk/blob/master/f/jdk8236039-status_request_extension.patch" title="View as blob">Blob</a>
|
||
|
|
||
|
<a class="btn btn-secondary btn-sm" href="/rpms/java-11-openjdk/blame/jdk8236039-status_request_extension.patch?identifier=master" title="View git blame">Blame</a>
|
||
|
|
||
|
<a class="btn btn-secondary btn-sm" href="/rpms/java-11-openjdk/raw/master/f/jdk8236039-status_request_extension.patch" title="View as raw">Raw</a>
|
||
|
</div>
|
||
|
|
||
|
<pre class="syntaxhighlightblock"><code class="lang-diff"># HG changeset patch
|
||
|
# User jnimeh
|
||
|
# Date 1578287079 28800
|
||
|
# Sun Jan 05 21:04:39 2020 -0800
|
||
|
# Node ID b9d1ce20dd4b2ce34e74c8fa2d784335231abcd1
|
||
|
# Parent 3782f295811625b65d57f1aef15daa10d82a58a7
|
||
|
8236039: JSSE Client does not accept status_request extension in CertificateRequest messages for TLS 1.3
|
||
|
Reviewed-by: xuelei
|
||
|
|
||
|
diff --git a/src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java b/src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
|
||
|
--- a/src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
|
||
|
+++ b/src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
|
||
|
@@ -1,5 +1,5 @@
|
||
|
/*
|
||
|
- * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
|
||
|
+ * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||
|
*
|
||
|
* This code is free software; you can redistribute it and/or modify it
|
||
|
@@ -39,11 +39,7 @@
|
||
|
import javax.net.ssl.SSLProtocolException;
|
||
|
import sun.security.provider.certpath.OCSPResponse;
|
||
|
import sun.security.provider.certpath.ResponderId;
|
||
|
-import static sun.security.ssl.SSLExtension.CH_STATUS_REQUEST;
|
||
|
-import static sun.security.ssl.SSLExtension.CH_STATUS_REQUEST_V2;
|
||
|
import sun.security.ssl.SSLExtension.ExtensionConsumer;
|
||
|
-import static sun.security.ssl.SSLExtension.SH_STATUS_REQUEST;
|
||
|
-import static sun.security.ssl.SSLExtension.SH_STATUS_REQUEST_V2;
|
||
|
import sun.security.ssl.SSLExtension.SSLExtensionSpec;
|
||
|
import sun.security.ssl.SSLHandshake.HandshakeMessage;
|
||
|
import sun.security.util.DerInputStream;
|
||
|
@@ -434,8 +430,9 @@
|
||
|
} else {
|
||
|
extBuilder.append(",\n");
|
||
|
}
|
||
|
- extBuilder.append(
|
||
|
- "{\n" + Utilities.indent(ext.toString()) + "}");
|
||
|
+ extBuilder.append("{\n").
|
||
|
+ append(Utilities.indent(ext.toString())).
|
||
|
+ append("}");
|
||
|
}
|
||
|
|
||
|
extsStr = extBuilder.toString();
|
||
|
@@ -552,11 +549,11 @@
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
- if (!chc.sslConfig.isAvailable(CH_STATUS_REQUEST)) {
|
||
|
+ if (!chc.sslConfig.isAvailable(SSLExtension.CH_STATUS_REQUEST)) {
|
||
|
if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
|
||
|
SSLLogger.fine(
|
||
|
"Ignore unavailable extension: " +
|
||
|
- CH_STATUS_REQUEST.name);
|
||
|
+ SSLExtension.CH_STATUS_REQUEST.name);
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
@@ -568,8 +565,8 @@
|
||
|
byte[] extData = new byte[] {0x01, 0x00, 0x00, 0x00, 0x00};
|
||
|
|
||
|
// Update the context.
|
||
|
- chc.handshakeExtensions.put(
|
||
|
- CH_STATUS_REQUEST, CertStatusRequestSpec.DEFAULT);
|
||
|
+ chc.handshakeExtensions.put(SSLExtension.CH_STATUS_REQUEST,
|
||
|
+ CertStatusRequestSpec.DEFAULT);
|
||
|
|
||
|
return extData;
|
||
|
}
|
||
|
@@ -593,10 +590,10 @@
|
||
|
// The consuming happens in server side only.
|
||
|
ServerHandshakeContext shc = (ServerHandshakeContext)context;
|
||
|
|
||
|
- if (!shc.sslConfig.isAvailable(CH_STATUS_REQUEST)) {
|
||
|
+ if (!shc.sslConfig.isAvailable(SSLExtension.CH_STATUS_REQUEST)) {
|
||
|
if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
|
||
|
SSLLogger.fine("Ignore unavailable extension: " +
|
||
|
- CH_STATUS_REQUEST.name);
|
||
|
+ SSLExtension.CH_STATUS_REQUEST.name);
|
||
|
}
|
||
|
return; // ignore the extension
|
||
|
}
|
||
|
@@ -610,7 +607,7 @@
|
||
|
}
|
||
|
|
||
|
// Update the context.
|
||
|
- shc.handshakeExtensions.put(CH_STATUS_REQUEST, spec);
|
||
|
+ shc.handshakeExtensions.put(SSLExtension.CH_STATUS_REQUEST, spec);
|
||
|
if (!shc.isResumption &&
|
||
|
!shc.negotiatedProtocol.useTLS13PlusSpec()) {
|
||
|
shc.handshakeProducers.put(SSLHandshake.CERTIFICATE_STATUS.id,
|
||
|
@@ -654,13 +651,12 @@
|
||
|
|
||
|
// In response to "status_request" extension request only.
|
||
|
CertStatusRequestSpec spec = (CertStatusRequestSpec)
|
||
|
- shc.handshakeExtensions.get(CH_STATUS_REQUEST);
|
||
|
+ shc.handshakeExtensions.get(SSLExtension.CH_STATUS_REQUEST);
|
||
|
if (spec == null) {
|
||
|
// Ignore, no status_request extension requested.
|
||
|
if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
|
||
|
- SSLLogger.finest(
|
||
|
- "Ignore unavailable extension: " +
|
||
|
- CH_STATUS_REQUEST.name);
|
||
|
+ SSLLogger.finest("Ignore unavailable extension: " +
|
||
|
+ SSLExtension.CH_STATUS_REQUEST.name);
|
||
|
}
|
||
|
|
||
|
return null; // ignore the extension
|
||
|
@@ -681,8 +677,8 @@
|
||
|
byte[] extData = new byte[0];
|
||
|
|
||
|
// Update the context.
|
||
|
- shc.handshakeExtensions.put(
|
||
|
- SH_STATUS_REQUEST, CertStatusRequestSpec.DEFAULT);
|
||
|
+ shc.handshakeExtensions.put(SSLExtension.SH_STATUS_REQUEST,
|
||
|
+ CertStatusRequestSpec.DEFAULT);
|
||
|
|
||
|
return extData;
|
||
|
}
|
||
|
@@ -708,7 +704,7 @@
|
||
|
|
||
|
// In response to "status_request" extension request only.
|
||
|
CertStatusRequestSpec requestedCsr = (CertStatusRequestSpec)
|
||
|
- chc.handshakeExtensions.get(CH_STATUS_REQUEST);
|
||
|
+ chc.handshakeExtensions.get(SSLExtension.CH_STATUS_REQUEST);
|
||
|
if (requestedCsr == null) {
|
||
|
throw chc.conContext.fatal(Alert.UNEXPECTED_MESSAGE,
|
||
|
"Unexpected status_request extension in ServerHello");
|
||
|
@@ -722,8 +718,8 @@
|
||
|
}
|
||
|
|
||
|
// Update the context.
|
||
|
- chc.handshakeExtensions.put(
|
||
|
- SH_STATUS_REQUEST, CertStatusRequestSpec.DEFAULT);
|
||
|
+ chc.handshakeExtensions.put(SSLExtension.SH_STATUS_REQUEST,
|
||
|
+ CertStatusRequestSpec.DEFAULT);
|
||
|
|
||
|
// Since we've received a legitimate status_request in the
|
||
|
// ServerHello, stapling is active if it's been enabled.
|
||
|
@@ -909,7 +905,7 @@
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
- if (!chc.sslConfig.isAvailable(CH_STATUS_REQUEST_V2)) {
|
||
|
+ if (!chc.sslConfig.isAvailable(SSLExtension.CH_STATUS_REQUEST_V2)) {
|
||
|
if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
|
||
|
SSLLogger.finest(
|
||
|
"Ignore unavailable status_request_v2 extension");
|
||
|
@@ -926,8 +922,8 @@
|
||
|
0x00, 0x07, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00};
|
||
|
|
||
|
// Update the context.
|
||
|
- chc.handshakeExtensions.put(
|
||
|
- CH_STATUS_REQUEST_V2, CertStatusRequestV2Spec.DEFAULT);
|
||
|
+ chc.handshakeExtensions.put(SSLExtension.CH_STATUS_REQUEST_V2,
|
||
|
+ CertStatusRequestV2Spec.DEFAULT);
|
||
|
|
||
|
return extData;
|
||
|
}
|
||
|
@@ -951,7 +947,7 @@
|
||
|
// The consuming happens in server side only.
|
||
|
ServerHandshakeContext shc = (ServerHandshakeContext)context;
|
||
|
|
||
|
- if (!shc.sslConfig.isAvailable(CH_STATUS_REQUEST_V2)) {
|
||
|
+ if (!shc.sslConfig.isAvailable(SSLExtension.CH_STATUS_REQUEST_V2)) {
|
||
|
if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
|
||
|
SSLLogger.finest(
|
||
|
"Ignore unavailable status_request_v2 extension");
|
||
|
@@ -969,7 +965,8 @@
|
||
|
}
|
||
|
|
||
|
// Update the context.
|
||
|
- shc.handshakeExtensions.put(CH_STATUS_REQUEST_V2, spec);
|
||
|
+ shc.handshakeExtensions.put(SSLExtension.CH_STATUS_REQUEST_V2,
|
||
|
+ spec);
|
||
|
if (!shc.isResumption) {
|
||
|
shc.handshakeProducers.putIfAbsent(
|
||
|
SSLHandshake.CERTIFICATE_STATUS.id,
|
||
|
@@ -1013,7 +1010,7 @@
|
||
|
|
||
|
// In response to "status_request_v2" extension request only
|
||
|
CertStatusRequestV2Spec spec = (CertStatusRequestV2Spec)
|
||
|
- shc.handshakeExtensions.get(CH_STATUS_REQUEST_V2);
|
||
|
+ shc.handshakeExtensions.get(SSLExtension.CH_STATUS_REQUEST_V2);
|
||
|
if (spec == null) {
|
||
|
// Ignore, no status_request_v2 extension requested.
|
||
|
if (SSLLogger.isOn && SSLLogger.isOn("ssl,handshake")) {
|
||
|
@@ -1038,8 +1035,8 @@
|
||
|
byte[] extData = new byte[0];
|
||
|
|
||
|
// Update the context.
|
||
|
- shc.handshakeExtensions.put(
|
||
|
- SH_STATUS_REQUEST_V2, CertStatusRequestV2Spec.DEFAULT);
|
||
|
+ shc.handshakeExtensions.put(SSLExtension.SH_STATUS_REQUEST_V2,
|
||
|
+ CertStatusRequestV2Spec.DEFAULT);
|
||
|
|
||
|
return extData;
|
||
|
}
|
||
|
@@ -1065,7 +1062,7 @@
|
||
|
|
||
|
// In response to "status_request" extension request only
|
||
|
CertStatusRequestV2Spec requestedCsr = (CertStatusRequestV2Spec)
|
||
|
- chc.handshakeExtensions.get(CH_STATUS_REQUEST_V2);
|
||
|
+ chc.handshakeExtensions.get(SSLExtension.CH_STATUS_REQUEST_V2);
|
||
|
if (requestedCsr == null) {
|
||
|
throw chc.conContext.fatal(Alert.UNEXPECTED_MESSAGE,
|
||
|
"Unexpected status_request_v2 extension in ServerHello");
|
||
|
@@ -1079,8 +1076,8 @@
|
||
|
}
|
||
|
|
||
|
// Update the context.
|
||
|
- chc.handshakeExtensions.put(
|
||
|
- SH_STATUS_REQUEST_V2, CertStatusRequestV2Spec.DEFAULT);
|
||
|
+ chc.handshakeExtensions.put(SSLExtension.SH_STATUS_REQUEST_V2,
|
||
|
+ CertStatusRequestV2Spec.DEFAULT);
|
||
|
|
||
|
// Since we've received a legitimate status_request in the
|
||
|
// ServerHello, stapling is active if it's been enabled. If it
|
||
|
diff --git a/src/java.base/share/classes/sun/security/ssl/SSLExtension.java b/src/java.base/share/classes/sun/security/ssl/SSLExtension.java
|
||
|
--- a/src/java.base/share/classes/sun/security/ssl/SSLExtension.java
|
||
|
+++ b/src/java.base/share/classes/sun/security/ssl/SSLExtension.java
|
||
|
@@ -1,5 +1,5 @@
|
||
|
/*
|
||
|
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
||
|
+ * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
|
||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||
|
*
|
||
|
* This code is free software; you can redistribute it and/or modify it
|
||
|
@@ -113,7 +113,6 @@
|
||
|
null,
|
||
|
null,
|
||
|
CertStatusExtension.certStatusReqStringizer),
|
||
|
-
|
||
|
CR_STATUS_REQUEST (0x0005, "status_request"),
|
||
|
CT_STATUS_REQUEST (0x0005, "status_request",
|
||
|
SSLHandshake.CERTIFICATE,
|
||
|
@@ -124,6 +123,7 @@
|
||
|
null,
|
||
|
null,
|
||
|
CertStatusExtension.certStatusRespStringizer),
|
||
|
+
|
||
|
// extensions defined in RFC 4681
|
||
|
USER_MAPPING (0x0006, "user_mapping"),
|
||
|
|
||
|
@@ -515,6 +515,16 @@
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
+ static String nameOf(int extensionType) {
|
||
|
+ for (SSLExtension ext : SSLExtension.values()) {
|
||
|
+ if (ext.id == extensionType) {
|
||
|
+ return ext.name;
|
||
|
+ }
|
||
|
+ }
|
||
|
+
|
||
|
+ return "unknown extension";
|
||
|
+ }
|
||
|
+
|
||
|
static boolean isConsumable(int extensionType) {
|
||
|
for (SSLExtension ext : SSLExtension.values()) {
|
||
|
if (ext.id == extensionType &&
|
||
|
diff --git a/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java b/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
|
||
|
--- a/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
|
||
|
+++ b/src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
|
||
|
@@ -1,5 +1,5 @@
|
||
|
/*
|
||
|
- * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
|
||
|
+ * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
|
||
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||
|
*
|
||
|
* This code is free software; you can redistribute it and/or modify it
|
||
|
@@ -86,11 +86,14 @@
|
||
|
"Received buggy supported_groups extension " +
|
||
|
"in the ServerHello handshake message");
|
||
|
}
|
||
|
- } else {
|
||
|
+ } else if (handshakeType == SSLHandshake.SERVER_HELLO) {
|
||
|
throw hm.handshakeContext.conContext.fatal(
|
||
|
- Alert.UNSUPPORTED_EXTENSION,
|
||
|
- "extension (" + extId +
|
||
|
- ") should not be presented in " + handshakeType.name);
|
||
|
+ Alert.UNSUPPORTED_EXTENSION, "extension (" +
|
||
|
+ extId + ") should not be presented in " +
|
||
|
+ handshakeType.name);
|
||
|
+ } else {
|
||
|
+ isSupported = false;
|
||
|
+ // debug log to ignore unknown extension for handshakeType
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@@ -365,9 +368,10 @@
|
||
|
}
|
||
|
|
||
|
private static String toString(int extId, byte[] extData) {
|
||
|
+ String extName = SSLExtension.nameOf(extId);
|
||
|
MessageFormat messageFormat = new MessageFormat(
|
||
|
- "\"unknown extension ({0})\": '{'\n" +
|
||
|
- "{1}\n" +
|
||
|
+ "\"{0} ({1})\": '{'\n" +
|
||
|
+ "{2}\n" +
|
||
|
"'}'",
|
||
|
Locale.ENGLISH);
|
||
|
|
||
|
@@ -375,6 +379,7 @@
|
||
|
String encoded = hexEncoder.encodeBuffer(extData);
|
||
|
|
||
|
Object[] messageFields = {
|
||
|
+ extName,
|
||
|
extId,
|
||
|
Utilities.indent(encoded)
|
||
|
};
|
||
|
</code></pre>
|
||
|
</div>
|
||
|
</div> <!-- end .card-->
|
||
|
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<div class="footer pt-4 text-white">
|
||
|
<div class="container">
|
||
|
<div class="d-flex align-items-center">
|
||
|
<div>
|
||
|
<div>Powered by <a href="https://pagure.io/pagure" class="notblue">Pagure</a> 5.8.1</div>
|
||
|
<div>
|
||
|
<a href="https://docs.pagure.org/pagure/usage/index.html" class="notblue">Documentation</a> •
|
||
|
<a href="https://pagure.io/pagure/new_issue" class="notblue">File an Issue</a> •
|
||
|
<a href="/about">About this Instance</a> •
|
||
|
<a href="/ssh_info" class="notblue">SSH Hostkey/Fingerprint</a>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="ml-auto text-right">
|
||
|
<div>© 2014-2019 Red Hat, Inc. and others.</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/jquery/jquery.min.js?version=5.8.1"></script>
|
||
|
|
||
|
<script src="/static/vendor/bootstrap/bootstrap.bundle.min.js?version=5.8.1"></script>
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
|
||
|
$('[data-toggle="tooltip"]').tooltip({placement : 'bottom'});
|
||
|
$(".cancel_btn").click(function() {
|
||
|
history.back();
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/lazyload/lazyload.min.js?version=5.8.1"></script>
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
|
||
|
window.addEventListener("load", function(event) {
|
||
|
lazyload();
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
|
||
|
$("#giturl-toggle").on('click', function(event){
|
||
|
event.stopPropagation();
|
||
|
$("#giturl-more").toggle();
|
||
|
$("#giturl-toggle").hide();
|
||
|
})
|
||
|
|
||
|
$(".fork_project_btn").click(function() {
|
||
|
$('#fork_project').submit();
|
||
|
});
|
||
|
|
||
|
$(".select-on-focus").on("focus", function() {
|
||
|
$(this).select();
|
||
|
});
|
||
|
|
||
|
</script>
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/highlight.js/highlight.pack.js?version=5.8.1"></script>
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/highlightjs-line-numbers/highlightjs-line-numbers.min.js?version=5.8.1"></script>
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F" src="/static/vendor/highlight.js/spec.js?version=5.8.1"></script>
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
|
||
|
$(document).ready(function() {
|
||
|
$('.fork_project_btn').click($("[name=fork_project]").submit);
|
||
|
|
||
|
$('pre.syntaxhighlightblock code').each(function(i, block) {
|
||
|
hljs.highlightBlock(block);
|
||
|
hljs.lineNumbersBlock(block);
|
||
|
});
|
||
|
|
||
|
var cls = "highlighted-line";
|
||
|
var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
|
||
|
if (! isNaN(lines[0]))
|
||
|
{
|
||
|
for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
|
||
|
$('#_' + i).parent().parent().addClass(cls);
|
||
|
}
|
||
|
setTimeout(function(){
|
||
|
$("#_" + lines[0]).get(0).scrollIntoView({behavior: "instant", block: "start", inline: "nearest"});
|
||
|
}, 50);
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<script type="text/javascript" nonce="nxj3waVrXu0uApedibTzBvT7F">
|
||
|
|
||
|
function updateHighlight() {
|
||
|
var cls = "highlighted-line";
|
||
|
$('.' + cls).removeClass(cls)
|
||
|
if (location.hash !== '') {
|
||
|
var lines = location.hash.substr(2).split('-').map(function (x) { return parseInt(x, 10) });
|
||
|
for (var i = lines[lines.length - 1]; i >= lines[0]; i--) {
|
||
|
$('[data-line-number=' + i + ']').closest('tr').addClass(cls);
|
||
|
}
|
||
|
return lines;
|
||
|
}
|
||
|
return [];
|
||
|
}
|
||
|
$(window).on('hashchange', updateHighlight);
|
||
|
var selected = [];
|
||
|
$("[data-line-number]").click(function (ev) {
|
||
|
var line = $(this).attr('data-line-number');
|
||
|
if (ev.shiftKey) {
|
||
|
selected = selected.slice(-1).concat(line);
|
||
|
} else {
|
||
|
selected = [line];
|
||
|
}
|
||
|
|
||
|
var hash = '_' + selected[0];
|
||
|
if (selected.length === 2) {
|
||
|
hash = '_' + Math.min(selected[0], selected[1]) + '-' + Math.max(selected[0], selected[1]);
|
||
|
}
|
||
|
window.location.hash = hash;
|
||
|
return false;
|
||
|
});
|
||
|
|
||
|
</script>
|
||
|
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|