|
Packit Service |
6d40f9 |
/*
|
|
Packit Service |
6d40f9 |
* adcli
|
|
Packit Service |
6d40f9 |
*
|
|
Packit Service |
6d40f9 |
* Copyright (C) 2012 Red Hat Inc.
|
|
Packit Service |
6d40f9 |
*
|
|
Packit Service |
6d40f9 |
* This program is free software; you can redistribute it and/or modify
|
|
Packit Service |
6d40f9 |
* it under the terms of the GNU Lesser General Public License as
|
|
Packit Service |
6d40f9 |
* published by the Free Software Foundation; either version 2.1 of
|
|
Packit Service |
6d40f9 |
* the License, or (at your option) any later version.
|
|
Packit Service |
6d40f9 |
*
|
|
Packit Service |
6d40f9 |
* This program is distributed in the hope that it will be useful, but
|
|
Packit Service |
6d40f9 |
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
6d40f9 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
6d40f9 |
* Lesser General Public License for more details.
|
|
Packit Service |
6d40f9 |
*
|
|
Packit Service |
6d40f9 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit Service |
6d40f9 |
* License along with this program; if not, write to the Free Software
|
|
Packit Service |
6d40f9 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
|
Packit Service |
6d40f9 |
* MA 02110-1301 USA
|
|
Packit Service |
6d40f9 |
*
|
|
Packit Service |
6d40f9 |
* Author: Stef Walter <stefw@gnome.org>
|
|
Packit Service |
6d40f9 |
*/
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
#ifndef ADCONN_H_
|
|
Packit Service |
6d40f9 |
#define ADCONN_H_
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
#include "adutil.h"
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
#include <krb5/krb5.h>
|
|
Packit Service |
6d40f9 |
#include <ldap.h>
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
typedef enum {
|
|
Packit Service |
6d40f9 |
ADCLI_LOGIN_UNKNOWN = 0,
|
|
Packit Service |
6d40f9 |
ADCLI_LOGIN_COMPUTER_ACCOUNT = 1 << 1,
|
|
Packit Service |
6d40f9 |
ADCLI_LOGIN_USER_ACCOUNT = 1 << 2,
|
|
Packit Service |
6d40f9 |
} adcli_login_type;
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_OID "1.2.840.113556.1.4.800"
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_LDAP_INTEG_OID "1.2.840.113556.1.4.1791"
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_V51_OID "1.2.840.113556.1.4.1670"
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_ADAM_DIGEST "1.2.840.113556.1.4.1880"
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_ADAM_OID "1.2.840.113556.1.4.1851"
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_PARTIAL_SECRETS_OID "1.2.840.113556.1.4.1920"
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_V60_OID "1.2.840.113556.1.4.1935"
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_V61_R2_OID "1.2.840.113556.1.4.2080"
|
|
Packit Service |
6d40f9 |
#define ADCLI_CAP_W8_OID "1.2.840.113556.1.4.2237"
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
typedef char * (* adcli_password_func) (adcli_login_type type,
|
|
Packit Service |
6d40f9 |
const char *name,
|
|
Packit Service |
6d40f9 |
int flags,
|
|
Packit Service |
6d40f9 |
void *data);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
typedef void (* adcli_destroy_func) (void *data);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
typedef struct _adcli_conn_ctx adcli_conn;
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
adcli_result adcli_conn_discover (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
adcli_result adcli_conn_connect (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
adcli_conn * adcli_conn_new (const char *domain);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
adcli_conn * adcli_conn_ref (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_unref (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_password_func (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
adcli_password_func password_func,
|
|
Packit Service |
6d40f9 |
void *data,
|
|
Packit Service |
6d40f9 |
adcli_destroy_func destroy_data);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_host_fqdn (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_host_fqdn (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *value);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_domain_name (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_domain_name (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *value);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_domain_realm (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_domain_realm (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *value);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_domain_controller (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_domain_controller (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *value);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
27f436 |
bool adcli_conn_get_use_ldaps (adcli_conn *conn);
|
|
Packit Service |
27f436 |
void adcli_conn_set_use_ldaps (adcli_conn *conn,
|
|
Packit Service |
27f436 |
bool value);
|
|
Packit Service |
27f436 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_domain_short (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
9338d0 |
const char * adcli_conn_get_domain_sid (adcli_conn *conn);
|
|
Packit Service |
9338d0 |
|
|
Packit Service |
6d40f9 |
LDAP * adcli_conn_get_ldap_connection (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
krb5_context adcli_conn_get_krb5_context (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
0a2f60 |
void adcli_conn_set_krb5_context (adcli_conn *conn,
|
|
Packit Service |
0a2f60 |
krb5_context k5);
|
|
Packit Service |
0a2f60 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_computer_name (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_computer_name (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *value);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_computer_password (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_computer_password (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *password);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_login_user (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_login_user (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *value);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_user_password (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_user_password (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *value);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
adcli_login_type adcli_conn_get_login_type (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
adcli_login_type adcli_conn_get_allowed_login_types (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_allowed_login_types (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
adcli_login_type types);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
krb5_ccache adcli_conn_get_login_ccache (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_login_ccache_name (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_login_ccache_name (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *ccname);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_login_keytab_name (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_login_keytab_name (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *ktname);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_default_naming_context (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
const char * adcli_conn_get_krb5_conf_dir (adcli_conn *conn);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
void adcli_conn_set_krb5_conf_dir (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *value);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
6d40f9 |
int adcli_conn_server_has_capability (adcli_conn *conn,
|
|
Packit Service |
6d40f9 |
const char *capability);
|
|
Packit Service |
6d40f9 |
|
|
Packit Service |
ef9e0c |
bool adcli_conn_server_has_sasl_mech (adcli_conn *conn,
|
|
Packit Service |
ef9e0c |
const char *mech);
|
|
Packit Service |
ef9e0c |
|
|
Packit Service |
74437d |
bool adcli_conn_is_writeable (adcli_conn *conn);
|
|
Packit Service |
74437d |
|
|
Packit Service |
6d40f9 |
#endif /* ADCONN_H_ */
|