Skip to content

Commit ed73059

Browse files
committed
fix ssl import on windows
1 parent 231487a commit ed73059

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/SSLModuleBuiltins.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
package com.oracle.graal.python.builtins.modules;
4242

4343
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.NotImplementedError;
44+
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.PermissionError;
4445
import static com.oracle.graal.python.nodes.BuiltinNames.J__SSL;
4546
import static com.oracle.graal.python.nodes.BuiltinNames.T__SSL;
4647
import static com.oracle.graal.python.nodes.ErrorMessages.SSL_CANT_OPEN_FILE_S;
@@ -66,6 +67,8 @@
6667
import javax.net.ssl.SSLContext;
6768
import javax.net.ssl.SSLEngine;
6869

70+
import com.oracle.graal.python.builtins.PythonOS;
71+
import com.oracle.graal.python.nodes.PRaiseNode;
6972
import org.bouncycastle.util.encoders.DecoderException;
7073
import org.graalvm.nativeimage.ImageInfo;
7174

@@ -92,6 +95,7 @@
9295
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
9396
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryClinicBuiltinNode;
9497
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
98+
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryClinicBuiltinNode;
9599
import com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentClinicProvider;
96100
import com.oracle.graal.python.runtime.exception.PException;
97101
import com.oracle.graal.python.runtime.object.PythonObjectFactory;
@@ -382,6 +386,23 @@ Object getDefaultPaths() {
382386
}
383387
}
384388

389+
@Builtin(name = "enum_certificates", minNumOfPositionalArgs = 1, parameterNames = {"store_name"}, os = PythonOS.PLATFORM_WIN32)
390+
@Builtin(name = "enum_crls", minNumOfPositionalArgs = 1, parameterNames = {"store_name"}, os = PythonOS.PLATFORM_WIN32)
391+
@ArgumentClinic(name = "store_name", conversion = ArgumentClinic.ClinicConversion.TString)
392+
@GenerateNodeFactory
393+
abstract static class EnumCertificatesNode extends PythonUnaryClinicBuiltinNode {
394+
@Override
395+
protected ArgumentClinicProvider getArgumentClinic() {
396+
return SSLModuleBuiltinsClinicProviders.EnumCertificatesNodeClinicProviderGen.INSTANCE;
397+
}
398+
399+
@Specialization
400+
static Object fail(TruffleString argument,
401+
@Cached PRaiseNode raiseNode) {
402+
throw raiseNode.raise(PermissionError);
403+
}
404+
}
405+
385406
@Builtin(name = "_test_decode_cert", minNumOfPositionalArgs = 1, numOfPositionalOnlyArgs = 1, parameterNames = {"path"})
386407
@GenerateNodeFactory
387408
abstract static class DecodeCertNode extends PythonUnaryBuiltinNode {

0 commit comments

Comments
 (0)