diff options
author | Tim Potter <tpot@samba.org> | 2002-04-14 00:59:50 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2002-04-14 00:59:50 +0000 |
commit | 54bda76922cb14579bb363135da8862982d22925 (patch) | |
tree | 66cb57378177f94199226ed5973abb43b06ed003 /source3/python/py_spoolss.c | |
parent | 8d994f432d34a7e81335c3be05aa40f1e227636c (diff) | |
download | samba-54bda76922cb14579bb363135da8862982d22925.tar.gz samba-54bda76922cb14579bb363135da8862982d22925.tar.bz2 samba-54bda76922cb14579bb363135da8862982d22925.zip |
More open_pipe_creds() refactoring.
(This used to be commit 7f2c814237f1df7008c9a91b7cf3b1de01e6ed87)
Diffstat (limited to 'source3/python/py_spoolss.c')
-rw-r--r-- | source3/python/py_spoolss.c | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/source3/python/py_spoolss.c b/source3/python/py_spoolss.c index ead54febda..450abbd6dc 100644 --- a/source3/python/py_spoolss.c +++ b/source3/python/py_spoolss.c @@ -28,76 +28,6 @@ PyObject *spoolss_error, *spoolss_werror; * Routines to convert from python hashes to Samba structures */ -struct cli_state *open_pipe_creds(char *system_name, PyObject *creds, - cli_pipe_fn *connect_fn, - struct cli_state *cli) -{ - struct ntuser_creds nt_creds; - - if (!cli) { - cli = (struct cli_state *)malloc(sizeof(struct cli_state)); - if (!cli) - return NULL; - } - - ZERO_STRUCTP(cli); - - /* Extract credentials from the python dictionary and initialise - the ntuser_creds struct from them. */ - - ZERO_STRUCT(nt_creds); - nt_creds.pwd.null_pwd = True; - - if (creds && PyDict_Size(creds) > 0) { - char *username, *password, *domain; - PyObject *username_obj, *password_obj, *domain_obj; - - /* Check credentials passed are valid. This means the - username, domain and password keys must exist and be - string objects. */ - - username_obj = PyDict_GetItemString(creds, "username"); - domain_obj = PyDict_GetItemString(creds, "domain"); - password_obj = PyDict_GetItemString(creds, "password"); - - if (!username_obj || !domain_obj || !password_obj) { - error: - PyErr_SetString(spoolss_error, "invalid credentials"); - return NULL; - } - - if (!PyString_Check(username_obj) || - !PyString_Check(domain_obj) || - !PyString_Check(password_obj)) - goto error; - - username = PyString_AsString(username_obj); - domain = PyString_AsString(domain_obj); - password = PyString_AsString(password_obj); - - if (!username || !domain || !password) - goto error; - - /* Initialise nt_creds structure with passed creds */ - - fstrcpy(nt_creds.user_name, username); - fstrcpy(nt_creds.domain, domain); - - if (lp_encrypted_passwords()) - pwd_make_lm_nt_16(&nt_creds.pwd, password); - else - pwd_set_cleartext(&nt_creds.pwd, password); - - nt_creds.pwd.null_pwd = False; - } - - /* Now try to connect */ - - connect_fn(cli, system_name, &nt_creds); - - return cli; -} - PyObject *new_policy_hnd_object(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol) { |