diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-11-21 11:56:41 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2007-12-21 05:45:52 +0100 |
commit | f6322e4b96c589b968c18953cd454dd12bde2c18 (patch) | |
tree | 5b572fdb825557238f039ddf292525f29f76e2e6 /source4/auth/credentials/credentials.i | |
parent | ea851658411e3ff03a906f7ae6afc7e9319d6f90 (diff) | |
download | samba-f6322e4b96c589b968c18953cd454dd12bde2c18.tar.gz samba-f6322e4b96c589b968c18953cd454dd12bde2c18.tar.bz2 samba-f6322e4b96c589b968c18953cd454dd12bde2c18.zip |
r26069: Import python bindings for credentials.
(This used to be commit 97bb235cc8c2855a0903bbd9dee53f0e03c4adc0)
Diffstat (limited to 'source4/auth/credentials/credentials.i')
-rw-r--r-- | source4/auth/credentials/credentials.i | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/source4/auth/credentials/credentials.i b/source4/auth/credentials/credentials.i new file mode 100644 index 0000000000..2edda111b4 --- /dev/null +++ b/source4/auth/credentials/credentials.i @@ -0,0 +1,93 @@ +/* + Unix SMB/CIFS implementation. + Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +%module(package="samba.credentials") credentials + +%{ + +/* Include headers */ +#include <stdint.h> +#include <stdbool.h> + +#include "includes.h" +#include "auth/credentials/credentials.h" +typedef struct cli_credentials cli_credentials; +%} + +%include "carrays.i" +%include "typemaps.i" + +%typemap(default) struct cli_credentials * { + $1 = NULL; +} + +%{ +#include "librpc/gen_ndr/samr.h" /* for struct samr_Password */ +%} + +%typemap(out) struct samr_Password * { + $result = PyString_FromStringAndSize($1->hash, 16); +} + +%rename(Credentials) cli_credentials; +typedef struct cli_credentials { + %extend { + cli_credentials() { + return cli_credentials_init(NULL); + } + ~cli_credentials() { + talloc_free($self); + } + /* username */ + const char *get_username(void); + bool set_username(const char *value, + enum credentials_obtained=CRED_SPECIFIED); + + /* password */ + const char *get_password(void); + bool set_password(const char *val, + enum credentials_obtained=CRED_SPECIFIED); + + /* domain */ + const char *get_domain(void); + bool set_domain(const char *val, + enum credentials_obtained=CRED_SPECIFIED); + + /* realm */ + const char *get_realm(void); + bool set_realm(const char *val, + enum credentials_obtained=CRED_SPECIFIED); + + void parse_string(const char *text, + enum credentials_obtained=CRED_SPECIFIED); + + /* bind dn */ + const char *get_bind_dn(void); + bool set_bind_dn(const char *bind_dn); + + /* workstation name */ + const char *get_workstation(void); + bool set_workstation(const char *workstation, + enum credentials_obtained obtained=CRED_SPECIFIED); + + void guess(void); + bool is_anonymous(void); + + const struct samr_Password *get_nt_hash(TALLOC_CTX *mem_ctx); + } +} cli_credentials; |