Example #1
0
static PyObject *authGSSServerClean(PyObject *self, PyObject *args)
{
    gss_server_state *state;
    PyObject *pystate;
    int result = 0;

    if (! PyArg_ParseTuple(args, "O", &pystate)) {
        return NULL;
    }

    if (! PyCObject_Check(pystate)) {
        PyErr_SetString(PyExc_TypeError, "Expected a context object");
        return NULL;
    }

    state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);

    if (state != NULL) {
        result = authenticate_gss_server_clean(state);

        free(state);
        PyCObject_SetVoidPtr(pystate, NULL);
    }

    return Py_BuildValue("i", result);
}
Example #2
0
void destruct_server(PyObject* o) {
    gss_server_state *state;
    state = PyCapsule_GetPointer(o, NULL);
#else
void destruct_server(void* o) {
    gss_server_state *state;
    state = (gss_server_state *)o;
#endif

    if (state != NULL) {
        authenticate_gss_server_clean(state);
        free(state);
    }
}