From f22e8e5426e02c2f5cf451cbc1b722713c744358 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Fri, 22 Nov 2013 02:22:51 +0100 Subject: Issue #18147: Add missing documentation for SSLContext.get_ca_certs(). Also change the argument name to the same name as getpeercert() --- Doc/library/ssl.rst | 12 ++++++++++++ Modules/_ssl.c | 10 ++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst index 7685ade..4d87586 100644 --- a/Doc/library/ssl.rst +++ b/Doc/library/ssl.rst @@ -1093,6 +1093,18 @@ to speed up repeated connections from the same clients. >>> stats['hits'], stats['misses'] (0, 0) +.. method:: SSLContext.get_ca_certs(binary_form=False) + + Returns a list of dicts with information of loaded CA certs. If the + optional argument is True, returns a DER-encoded copy of the CA + certificate. + + .. note:: + Certificates in a capath directory aren't loaded unless they have + been used at least once. + + .. versionadded:: 3.4 + .. attribute:: SSLContext.options An integer representing the set of SSL options enabled on this context. diff --git a/Modules/_ssl.c b/Modules/_ssl.c index 4768e44..f32d180 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -3023,7 +3023,7 @@ cert_store_stats(PySSLContext *self) } PyDoc_STRVAR(PySSL_get_ca_certs_doc, -"get_ca_certs([der=False]) -> list of loaded certificate\n\ +"get_ca_certs(binary_form=False) -> list of loaded certificate\n\ \n\ Returns a list of dicts with information of loaded CA certs. If the\n\ optional argument is True, returns a DER-encoded copy of the CA certificate.\n\ @@ -3031,14 +3031,16 @@ NOTE: Certificates in a capath directory aren't loaded unless they have\n\ been used at least once."); static PyObject * -get_ca_certs(PySSLContext *self, PyObject *args) +get_ca_certs(PySSLContext *self, PyObject *args, PyObject *kwds) { + char *kwlist[] = {"binary_form", NULL}; X509_STORE *store; PyObject *ci = NULL, *rlist = NULL; int i; int binary_mode = 0; - if (!PyArg_ParseTuple(args, "|p:get_ca_certs", &binary_mode)) { + if (!PyArg_ParseTupleAndKeywords(args, kwds, "|p:get_ca_certs", + kwlist, &binary_mode)) { return NULL; } @@ -3119,7 +3121,7 @@ static struct PyMethodDef context_methods[] = { {"cert_store_stats", (PyCFunction) cert_store_stats, METH_NOARGS, PySSL_get_stats_doc}, {"get_ca_certs", (PyCFunction) get_ca_certs, - METH_VARARGS, PySSL_get_ca_certs_doc}, + METH_VARARGS | METH_KEYWORDS, PySSL_get_ca_certs_doc}, {NULL, NULL} /* sentinel */ }; -- cgit v0.12