Skip to content

Commit 84ee434

Browse files
committed
Add getter for post_handshake_auth
1 parent a8bb1c5 commit 84ee434

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/ssl/SSLContextBuiltins.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.NotImplementedError;
4444
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.TypeError;
4545
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.ValueError;
46+
import static com.oracle.graal.python.builtins.modules.SSLModuleBuiltins.LOGGER;
4647
import static com.oracle.graal.python.builtins.objects.ssl.CertUtils.getCertificates;
4748

4849
import java.io.BufferedReader;
@@ -65,6 +66,7 @@
6566
import java.util.Collections;
6667
import java.util.Enumeration;
6768
import java.util.List;
69+
import java.util.logging.Level;
6870

6971
import javax.net.ssl.SNIHostName;
7072
import javax.net.ssl.SSLContext;
@@ -77,7 +79,6 @@
7779
import com.oracle.graal.python.builtins.PythonBuiltinClassType;
7880
import com.oracle.graal.python.builtins.PythonBuiltins;
7981
import com.oracle.graal.python.builtins.modules.SSLModuleBuiltins;
80-
import static com.oracle.graal.python.builtins.modules.SSLModuleBuiltins.LOGGER;
8182
import com.oracle.graal.python.builtins.objects.PNone;
8283
import com.oracle.graal.python.builtins.objects.bytes.PBytes;
8384
import com.oracle.graal.python.builtins.objects.bytes.PBytesLike;
@@ -100,7 +101,6 @@
100101
import com.oracle.graal.python.nodes.PNodeWithRaise;
101102
import com.oracle.graal.python.nodes.attributes.GetAttributeNode;
102103
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
103-
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
104104
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
105105
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryClinicBuiltinNode;
106106
import com.oracle.graal.python.nodes.function.builtins.PythonClinicBuiltinNode;
@@ -125,7 +125,6 @@
125125
import com.oracle.truffle.api.frame.VirtualFrame;
126126
import com.oracle.truffle.api.interop.UnsupportedMessageException;
127127
import com.oracle.truffle.api.library.CachedLibrary;
128-
import java.util.logging.Level;
129128

130129
@CoreFunctions(extendClasses = PythonBuiltinClassType.PSSLContext)
131130
public class SSLContextBuiltins extends PythonBuiltins {
@@ -508,7 +507,7 @@ protected ArgumentClinicProvider getArgumentClinic() {
508507
@Builtin(name = "num_tickets", minNumOfPositionalArgs = 1, maxNumOfPositionalArgs = 2, isGetter = true, isSetter = true)
509508
@GenerateNodeFactory
510509
@TypeSystemReference(PythonArithmeticTypes.class)
511-
abstract static class NumTicketsNode extends PythonBuiltinNode {
510+
abstract static class NumTicketsNode extends PythonBinaryBuiltinNode {
512511
@SuppressWarnings("unused")
513512
@Specialization(guards = "isNoValue(value)")
514513
int get(PSSLContext self, PNone value) {
@@ -540,16 +539,27 @@ Object set(VirtualFrame frame, PSSLContext self, Object value) {
540539

541540
@Builtin(name = "sni_callback", minNumOfPositionalArgs = 1, maxNumOfPositionalArgs = 2, isGetter = true, isSetter = true)
542541
@GenerateNodeFactory
543-
abstract static class SNICallbackNode extends PythonBuiltinNode {
542+
abstract static class SNICallbackNode extends PythonBinaryBuiltinNode {
544543
@Specialization
545544
Object notImplemented(@SuppressWarnings("unused") PSSLContext self, @SuppressWarnings("unused") Object value) {
546545
throw raise(NotImplementedError);
547546
}
548547
}
549548

549+
@Builtin(name = "post_handshake_auth", minNumOfPositionalArgs = 1, isGetter = true)
550+
@GenerateNodeFactory
551+
abstract static class PostHandshakeAuthNode extends PythonUnaryBuiltinNode {
552+
@Specialization
553+
static Object pha(@SuppressWarnings("unused") PSSLContext self) {
554+
// JDK doesn't implement post handshake auth. CPython returns None when it's not
555+
// available
556+
return PNone.NONE;
557+
}
558+
}
559+
550560
@Builtin(name = "set_default_verify_paths", minNumOfPositionalArgs = 1)
551561
@GenerateNodeFactory
552-
abstract static class SetDefaultVerifyPathsNode extends PythonBuiltinNode {
562+
abstract static class SetDefaultVerifyPathsNode extends PythonUnaryBuiltinNode {
553563
@Specialization
554564
Object set(VirtualFrame frame, PSSLContext self,
555565
@CachedLibrary(limit = "1") PythonObjectLibrary lib,
@@ -612,7 +622,7 @@ private TruffleFile toTruffleFile(PythonObjectLibrary lib, Object path) throws P
612622

613623
@Builtin(name = "cert_store_stats", minNumOfPositionalArgs = 1)
614624
@GenerateNodeFactory
615-
abstract static class CertStoreStatsNode extends PythonBuiltinNode {
625+
abstract static class CertStoreStatsNode extends PythonUnaryBuiltinNode {
616626
@TruffleBoundary
617627
@Specialization
618628
Object storeStats(PSSLContext self) {

0 commit comments

Comments
 (0)