|
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); |