1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

pyglue: Add function to generate a random byte string

Adds a function to generate a random byte string using the samba random
routines.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Gary Lockyer 2017-11-02 10:15:29 +13:00 committed by Andrew Bartlett
parent 7fa91fc479
commit e5ce0a4d73
2 changed files with 22 additions and 0 deletions

View File

@ -89,6 +89,22 @@ static PyObject *py_check_password_quality(PyObject *self, PyObject *args)
return PyBool_FromLong(check_password_quality(pass));
}
static PyObject *py_generate_random_bytes(PyObject *self, PyObject *args)
{
int len;
PyObject *ret;
uint8_t *bytes = NULL;
if (!PyArg_ParseTuple(args, "i", &len))
return NULL;
bytes = talloc_zero_size(NULL, len);
generate_random_buffer(bytes, len);
ret = PyBytes_FromStringAndSize((const char *)bytes, len);
talloc_free(bytes);
return ret;
}
static PyObject *py_unix2nttime(PyObject *self, PyObject *args)
{
time_t t;
@ -335,6 +351,11 @@ static PyMethodDef py_misc_methods[] = {
"is the NTVFS file server built in this installation?" },
{ "is_heimdal_built", (PyCFunction)py_is_heimdal_built, METH_NOARGS,
"is Samba built with Heimdal Kerberbos?" },
{ "generate_random_bytes",
(PyCFunction)py_generate_random_bytes,
METH_VARARGS,
"generate_random_bytes(len) -> bytes\n"
"Generate random bytes with specified length." },
{ NULL }
};

View File

@ -389,6 +389,7 @@ unix2nttime = _glue.unix2nttime
generate_random_password = _glue.generate_random_password
generate_random_machine_password = _glue.generate_random_machine_password
check_password_quality = _glue.check_password_quality
generate_random_bytes = _glue.generate_random_bytes
strcasecmp_m = _glue.strcasecmp_m
strstr_m = _glue.strstr_m
is_ntvfs_fileserver_built = _glue.is_ntvfs_fileserver_built