Programmer error! Bad Admin server handle

Torsten Kurbad torsten at
Fri Feb 15 03:53:45 EST 2008

Hi folks,

thanks for all the help!

My new snippet:

--- snip ---

static PyObject *getPrincipals(PyObject *self, PyObject *args)
    char *client;
    char *pass;
    char *realm;
    void *handle;

    char **princs;
    PyObject *pyprincs;
    int count, i;

    char *format_string = "";

    krb5_context ctx;
    krb5_error_code code = 0;

    code = krb5_init_context(&ctx);
    RETURN_ON_ERROR("krb5_init_context()", code);

    if (!PyArg_ParseTuple(args, "sss", &client, &pass, &realm))
      return NULL;

    code = kadm5_init_with_password(client, pass, KADM5_ADMIN_SERVICE,
RETURN_ON_ERROR("kadm5_init_with_password()", code);

    if (handle == NULL)
      return Py_BuildValue("");

    code = kadm5_get_principals(handle, "*", &princs, &count);
    RETURN_ON_ERROR("kadm5_get_principals()", code);

    if (princs == NULL)
      return Py_BuildValue("");

    pyprincs = PyList_New(count);

    i = 0;
    while (i < count)
      code = PyList_SetItem(pyprincs, i,
PyString_FromString(princs[i])); if (code != 0)
        return NULL;

    return Py_BuildValue("O", pyprincs);

--- snap ---

Finally does what it should!
By working faithfully eight hours a day, you may eventually get to be
boss and work twelve.
		-- Robert Frost

More information about the krbdev mailing list