Lines Matching refs:ah

644 	smb_ads_handle_t *ah;
664 ah = (smb_ads_handle_t *)malloc(sizeof (smb_ads_handle_t));
665 if (ah == NULL) {
670 (void) memset(ah, 0, sizeof (smb_ads_handle_t));
675 free(ah);
683 free(ah);
690 ah->ld = ld;
691 ah->domain = strdup(domain);
693 if (ah->domain == NULL) {
694 smb_ads_close(ah);
700 * ah->domain is often used for generating service principal name.
703 (void) smb_strlwr(ah->domain);
704 ah->domain_dn = smb_ads_convert_domain(domain);
705 if (ah->domain_dn == NULL) {
706 smb_ads_close(ah);
711 ah->hostname = strdup(ads_host->name);
712 if (ah->hostname == NULL) {
713 smb_ads_close(ah);
719 if ((ah->site = strdup(smb_ads_cfg.c_site)) == NULL) {
720 smb_ads_close(ah);
726 ah->site = NULL;
730 rc = ldap_sasl_interactive_bind_s(ah->ld, "", "GSSAPI", NULL, NULL,
735 smb_ads_close(ah);
741 *hp = ah;
751 * ah: handle to ADS server
756 smb_ads_close(smb_ads_handle_t *ah)
758 if (ah == NULL)
761 if (ah->ld)
762 (void) ldap_unbind(ah->ld);
764 free(ah->domain);
765 free(ah->domain_dn);
766 free(ah->hostname);
767 free(ah->site);
768 free(ah);
861 * ah : handle to ADS server
871 smb_ads_add_share(smb_ads_handle_t *ah, const char *adsShareName,
881 ah->domain_dn)) == NULL)
897 if ((ret = ldap_add_s(ah->ld, share_dn, attrs)) != LDAP_SUCCESS) {
924 * ah : handle to ADS server
932 smb_ads_del_share(smb_ads_handle_t *ah, const char *adsShareName,
939 ah->domain_dn)) == NULL)
942 if ((ret = ldap_delete_s(ah->ld, share_dn)) != LDAP_SUCCESS) {
1012 * ah : handle to ADS server
1021 smb_ads_lookup_share(smb_ads_handle_t *ah, const char *adsShareName,
1034 ah->domain_dn)) == NULL)
1051 if ((ret = ldap_search_s(ah->ld, share_dn,
1065 if (ldap_count_entries(ah->ld, res) == 0) {
1082 * ah : handle return from smb_ads_open
1095 smb_ads_publish_share(smb_ads_handle_t *ah, const char *adsShareName,
1111 ret = smb_ads_lookup_share(ah, adsShareName, adsContainer, unc_name);
1115 (void) smb_ads_del_share(ah, adsShareName, adsContainer);
1116 ret = smb_ads_add_share(ah, adsShareName, unc_name,
1121 ret = smb_ads_add_share(ah, adsShareName, unc_name,
1142 * ah : handle return from smb_ads_open
1151 smb_ads_remove_share(smb_ads_handle_t *ah, const char *adsShareName,
1166 ret = smb_ads_lookup_share(ah, adsShareName, adsContainer, unc_name);
1172 return (smb_ads_del_share(ah, adsShareName, adsContainer));
1182 smb_ads_get_default_comp_container_dn(smb_ads_handle_t *ah, char *buf,
1186 ah->domain_dn);
1195 smb_ads_get_default_comp_dn(smb_ads_handle_t *ah, char *buf, size_t buflen)
1201 smb_ads_get_default_comp_container_dn(ah, container_dn, SMB_ADS_DN_MAX);
1211 smb_ads_add_computer(smb_ads_handle_t *ah, int dclevel, char *dn)
1213 return (smb_ads_computer_op(ah, LDAP_MOD_ADD, dclevel, dn));
1222 smb_ads_modify_computer(smb_ads_handle_t *ah, int dclevel, char *dn)
1224 return (smb_ads_computer_op(ah, LDAP_MOD_REPLACE, dclevel, dn));
1234 smb_ads_get_dc_level(smb_ads_handle_t *ah)
1244 if (ldap_search_s(ah->ld, "", LDAP_SCOPE_BASE, NULL, attr,
1251 if (ldap_count_entries(ah->ld, res) == 0) {
1256 entry = ldap_first_entry(ah->ld, res);
1258 if ((vals = ldap_get_values(ah->ld, entry,
1284 smb_ads_getfqhostname(smb_ads_handle_t *ah, char *fqhost, int len)
1290 ah->domain);
1296 smb_ads_computer_op(smb_ads_handle_t *ah, int op, int dclevel, char *dn)
1314 if (smb_ads_getfqhostname(ah, fqhost, MAXHOSTNAMELEN))
1318 if (smb_krb5_get_pn_set(&spn, SMB_PN_SPN_ATTR, ah->domain) == 0)
1322 if (smb_krb5_get_pn_set(&upn, SMB_PN_UPN_ATTR, ah->domain) != 1) {
1388 if ((ret = ldap_add_s(ah->ld, dn, attrs)) != LDAP_SUCCESS) {
1396 if ((ret = ldap_modify_s(ah->ld, dn, attrs)) != LDAP_SUCCESS) {
1419 smb_ads_del_computer(smb_ads_handle_t *ah, char *dn)
1423 if ((rc = ldap_delete_s(ah->ld, dn)) != LDAP_SUCCESS)
1459 smb_ads_get_qstat(smb_ads_handle_t *ah, LDAPMessage *res,
1467 if (smb_ads_getfqhostname(ah, fqhost, MAXHOSTNAMELEN))
1470 if (ldap_count_entries(ah->ld, res) == 0)
1473 if ((entry = ldap_first_entry(ah->ld, res)) == NULL)
1477 rc = smb_ads_getattr(ah->ld, entry, &dnshost_avp);
1513 rc = smb_ads_getattr(ah->ld, entry, avpair);
1538 smb_ads_lookup_computer_n_attr(smb_ads_handle_t *ah, smb_ads_avpair_t *avpair,
1568 if (ldap_search_s(ah->ld, dn, scope, filter, attrs, 0,
1574 rc = smb_ads_get_qstat(ah, res, avpair);
1589 smb_ads_find_computer(smb_ads_handle_t *ah, char *dn)
1595 smb_ads_get_default_comp_container_dn(ah, dn, SMB_ADS_DN_MAX);
1596 stat = smb_ads_lookup_computer_n_attr(ah, &avpair, LDAP_SCOPE_ONELEVEL,
1600 (void) strlcpy(dn, ah->domain_dn, SMB_ADS_DN_MAX);
1601 stat = smb_ads_lookup_computer_n_attr(ah, &avpair,
1622 smb_ads_update_computer_cntrl_attr(smb_ads_handle_t *ah, int flags, char *dn)
1639 if ((ret = ldap_modify_s(ah->ld, dn, attrs)) != LDAP_SUCCESS) {
1654 smb_ads_lookup_computer_attr_kvno(smb_ads_handle_t *ah, char *dn)
1660 if (smb_ads_lookup_computer_n_attr(ah, &avpair,
1697 smb_ads_handle_t *ah = NULL;
1712 rc = smb_ads_open_main(&ah, domain, user, usr_passwd);
1718 if ((dclevel = smb_ads_get_dc_level(ah)) == -1) {
1719 smb_ads_close(ah);
1724 qstat = smb_ads_find_computer(ah, dn);
1728 if (smb_ads_modify_computer(ah, dclevel, dn) != 0) {
1729 smb_ads_close(ah);
1737 smb_ads_get_default_comp_dn(ah, dn, SMB_ADS_DN_MAX);
1738 if (smb_ads_add_computer(ah, dclevel, dn) != 0) {
1739 smb_ads_close(ah);
1750 smb_ads_close(ah);
1760 if (smb_krb5_get_pn_set(&spns, SMB_PN_KEYTAB_ENTRY, ah->domain) == 0) {
1776 if (smb_krb5_setpwd(ctx, ah->domain, machine_passwd) != 0) {
1781 kvno = smb_ads_lookup_computer_attr_kvno(ah, dn);
1794 x = smb_ads_update_computer_cntrl_attr(ah, usrctl_flags, dn);
1816 if (smb_krb5_kt_populate(ctx, ah->domain, krb5princs, cnt,
1827 smb_ads_del_computer(ah, dn);
1845 smb_ads_close(ah);