Lines 179-185
static PyObject * PyPAM_authenticate(PyObject *self, PyObject *args)
|
Link Here
|
---|
|
179 |
return NULL; |
179 |
return NULL; |
180 |
} |
180 |
} |
181 |
|
181 |
|
|
|
182 |
Py_BEGIN_ALLOW_THREADS |
182 |
result = pam_authenticate(_self->pamh, flags); |
183 |
result = pam_authenticate(_self->pamh, flags); |
|
|
184 |
Py_END_ALLOW_THREADS |
183 |
|
185 |
|
184 |
if (result != PAM_SUCCESS) { |
186 |
if (result != PAM_SUCCESS) { |
185 |
PyPAM_Err(_self, result); |
187 |
PyPAM_Err(_self, result); |
Lines 223-229
static PyObject * PyPAM_acct_mgmt(PyObject *self, PyObject *args)
|
Link Here
|
---|
|
223 |
return NULL; |
225 |
return NULL; |
224 |
} |
226 |
} |
225 |
|
227 |
|
|
|
228 |
Py_BEGIN_ALLOW_THREADS |
226 |
result = pam_acct_mgmt(_self->pamh, flags); |
229 |
result = pam_acct_mgmt(_self->pamh, flags); |
|
|
230 |
Py_END_ALLOW_THREADS |
227 |
|
231 |
|
228 |
if (result != PAM_SUCCESS) { |
232 |
if (result != PAM_SUCCESS) { |
229 |
PyPAM_Err(_self, result); |
233 |
PyPAM_Err(_self, result); |
Lines 308-313
static PyObject * PyPAM_set_item(PyObject *self, PyObject *args)
|
Link Here
|
---|
|
308 |
PyObject *o_val; |
312 |
PyObject *o_val; |
309 |
PyPAMObject *_self = (PyPAMObject *) self; |
313 |
PyPAMObject *_self = (PyPAMObject *) self; |
310 |
|
314 |
|
|
|
315 |
Py_BEGIN_ALLOW_THREADS |
311 |
if (PyArg_ParseTuple(args, "is", &item, &s_val)) { |
316 |
if (PyArg_ParseTuple(args, "is", &item, &s_val)) { |
312 |
n_val = strdup(s_val); |
317 |
n_val = strdup(s_val); |
313 |
if (item == PAM_USER) _self->user = n_val; |
318 |
if (item == PAM_USER) _self->user = n_val; |
Lines 332-337
static PyObject * PyPAM_set_item(PyObject *self, PyObject *args)
|
Link Here
|
---|
|
332 |
return NULL; |
337 |
return NULL; |
333 |
} |
338 |
} |
334 |
} |
339 |
} |
|
|
340 |
Py_END_ALLOW_THREADS |
335 |
|
341 |
|
336 |
if (result != PAM_SUCCESS) { |
342 |
if (result != PAM_SUCCESS) { |
337 |
PyPAM_Err(_self, result); |
343 |
PyPAM_Err(_self, result); |