py3: Make sure to specify METH_VARARGS together with METH_KEYWORDS
authorAlexander Bokovoy <ab@samba.org>
Thu, 13 Jul 2017 12:37:47 +0000 (15:37 +0300)
committerAlexander Bokovoy <ab@samba.org>
Fri, 14 Jul 2017 05:10:24 +0000 (07:10 +0200)
A Python 3 bug https://bugs.python.org/issue15657 explains that one should
always use METH_VARARGS|METH_KEYWORDS when defining a function rather
than a lonely METH_KEYWORDS. We had only one definition like this in
Samba and it was the one that affects FreeIPA when running in Python 3
mode.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12905

Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/libnet/py_net.c

index 78e60f6d6a6d2d1bc50892b9cc96bb00991aba4c..7ddee2df92c6ef5b84f4bcecb272f1ee10342fc7 100644 (file)
@@ -745,7 +745,7 @@ static PyMethodDef net_obj_methods[] = {
        {"replicate_init", (PyCFunction)py_net_replicate_init, METH_VARARGS|METH_KEYWORDS, py_net_replicate_init_doc},
        {"replicate_chunk", (PyCFunction)py_net_replicate_chunk, METH_VARARGS|METH_KEYWORDS, py_net_replicate_chunk_doc},
        {"replicate_decrypt", (PyCFunction)py_net_replicate_decrypt, METH_VARARGS|METH_KEYWORDS, py_net_replicate_decrypt_doc},
-       {"finddc", (PyCFunction)py_net_finddc, METH_KEYWORDS, py_net_finddc_doc},
+       {"finddc", (PyCFunction)py_net_finddc, METH_VARARGS|METH_KEYWORDS, py_net_finddc_doc},
        { NULL }
 };