--- a/bindings/openwsman.i 2025-01-23 10:23:52.000000000 +0100 +++ b/bindings/openwsman.i 2026-10-16 23:33:17.760473599 +0200 @@ -12,9 +12,9 @@ #define Target_Null Py_None #define Target_Type PyObject* #define Target_Bool(x) PyBool_FromLong(x) -#define Target_Char16(x) PyInt_FromLong(x) -#define Target_Int(x) PyInt_FromLong(x) -#define Target_String(x) PyString_FromString(x) +#define Target_Char16(x) PyLong_FromLong(x) +#define Target_Int(x) PyLong_FromLong(x) +#define Target_String(x) PyUnicode_FromString(x) #define Target_Real(x) Py_None #define Target_Array() PyList_New(0) #define Target_SizedArray(len) PyList_New(len) --- a/bindings/python/helpers.h 2025-01-23 10:23:52.000000000 +0100 +++ b/bindings/python/helpers.h 2026-10-16 23:33:17.760884606 +0200 @@ -102,10 +102,10 @@ auth_request_callback( WsManClient *clie } puser = PyTuple_GetItem(prv, 0); ppass = PyTuple_GetItem(prv, 0); - if (PyString_Check(puser) && PyString_Check(ppass)) + if (PyUnicode_Check(puser) && PyUnicode_Check(ppass)) { - *username = strdup(PyString_AsString(puser)); - *password = strdup(PyString_AsString(ppass)); + *username = strdup(PyUnicode_AsUTF8(puser)); + *password = strdup(PyUnicode_AsUTF8(ppass)); } cleanup: