class Adcli::AdConn

Public Class Methods

Adcli::Adconn.new("domain.com") click to toggle source

Creates and returns a new Adcli::Adconn object.

static VALUE radconn_initialize (VALUE self, VALUE domain) {
    RUBY_ADCONN* ptr;

    Check_Type(domain, T_STRING);
    
    const char *domain_name = StringValuePtr(domain);

    Data_Get_Struct (self, RUBY_ADCONN, ptr);
    
    ptr->conn = adcli_conn_new (domain_name);

    return self;
}

Public Instance Methods

Adcli::Adconn.connect click to toggle source

Connect to Active Directory and authenticate using the login username and password.

static VALUE radconn_connect (VALUE self) {
    RUBY_ADCONN* ptr;
    adcli_result result;

    Data_Get_Struct (self ,RUBY_ADCONN, ptr);

    result = adcli_conn_connect (ptr->conn);

    if (result != ADCLI_SUCCESS) {
        rb_raise(c_adconn_exception, "%s", adcli_get_last_error());
    }

    return self;
}
Adcli::Adconn.get_domain_controller #→ 'YOUR.DC.REALM.COM' click to toggle source

Get the domain controller to use.

static VALUE radconn_get_domain_controller (VALUE self) {
    RUBY_ADCONN* ptr;
    const char *domain_controller = NULL;

    Data_Get_Struct (self ,RUBY_ADCONN, ptr);

    domain_controller = adcli_conn_get_domain_controller (ptr->conn);

    return rb_str_new_cstr (domain_controller);
}
Adcli::Adconn.get_domain_realm # → 'YOUR.REALM.COM' click to toggle source

Gets the domain realm.

static VALUE radconn_get_domain_realm (VALUE self) {
    RUBY_ADCONN* ptr;
    const char *domain_realm = NULL;

    Data_Get_Struct (self ,RUBY_ADCONN, ptr);

    domain_realm  = adcli_conn_get_domain_realm(ptr->conn);

    return rb_str_new_cstr (domain_realm);
}
Adcli::Adconn.get_login_ccache_name() click to toggle source

Get the login kerberos cache name

static VALUE radconn_get_login_ccache_name (VALUE self) {
    RUBY_ADCONN* ptr;
    const char *login_ccache = NULL;

    Data_Get_Struct (self, RUBY_ADCONN, ptr);

    login_ccache = adcli_conn_get_login_ccache_name (ptr->conn); 

    return rb_str_new_cstr (login_ccache);
}
Adcli::Adconn.get_login_user # → 'user' click to toggle source

Get the login user for authentication.

static VALUE radconn_get_login_user (VALUE self) {
    RUBY_ADCONN* ptr;
    const char *login_user = NULL;

    Data_Get_Struct (self, RUBY_ADCONN, ptr);

    login_user = adcli_conn_get_login_user (ptr->conn);
    
    return rb_str_new_cstr (login_user);
}
Adcli::Adconn.get_user_password click to toggle source

Gets the login user password for authentication.

static VALUE radconn_get_user_password (VALUE self) {
    RUBY_ADCONN* ptr;
    const char *login_password = NULL;

    Data_Get_Struct (self, RUBY_ADCONN, ptr);

    login_password = adcli_conn_get_user_password(ptr->conn);

    return rb_str_new_cstr(login_password);
}
Adcli::Adconn.set_domain_controller('YOUR.DC.REALM.COM') click to toggle source

Get the domain controller to use.

static VALUE radconn_set_domain_controller (VALUE self, VALUE domain_controller) {
    RUBY_ADCONN* ptr;
    
    Check_Type(domain_controller, T_STRING);

    char *c_domain_controller = StringValuePtr (domain_controller);

    Data_Get_Struct (self, RUBY_ADCONN, ptr);

    adcli_conn_set_domain_controller (ptr->conn, c_domain_controller);

    return self;
}
Adcli::Adconn.set_domain_realm('YOUR.REALM.COM') click to toggle source

Set the domain realm.

static VALUE radconn_set_domain_realm (VALUE self, VALUE domain_realm) {
    RUBY_ADCONN* ptr;

    Check_Type(domain_realm, T_STRING);

    char *c_domain_realm = StringValuePtr(domain_realm);

    Data_Get_Struct (self, RUBY_ADCONN, ptr);

    adcli_conn_set_domain_realm (ptr->conn, c_domain_realm);

    return self;
}
Adcli::Adconn.set_login_ccache_name("") click to toggle source

Set the login kerberos cache name

static VALUE radconn_set_login_ccache_name (VALUE self, VALUE ccname) {
    RUBY_ADCONN* ptr;

    Check_Type(ccname, T_STRING);

    const char *c_ccname = StringValuePtr(ccname);

    Data_Get_Struct (self, RUBY_ADCONN, ptr);

    adcli_conn_set_login_ccache_name (ptr->conn, c_ccname);

    return self;
}
Adcli::Adconn.set_login_user("user") click to toggle source

Sets the login user that we should authenticate as.

static VALUE radconn_set_login_user (VALUE self, VALUE user) {
    RUBY_ADCONN* ptr;

    Check_Type(user, T_STRING);

    const char *c_user = StringValuePtr(user);

    Data_Get_Struct (self, RUBY_ADCONN, ptr);

    adcli_conn_set_login_user (ptr->conn, c_user);

    return self;
}
Adcli::Adconn.set_user_password click to toggle source

Sets the login user password for authentication.

static VALUE radconn_set_user_password (VALUE self, VALUE password) {
    RUBY_ADCONN* ptr;

    Check_Type(password, T_STRING);

    const char *c_password = StringValuePtr(password);

    Data_Get_Struct (self, RUBY_ADCONN, ptr);

    adcli_conn_set_user_password (ptr->conn, c_password);

    return self;
}