Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/ldap.h')
-rw-r--r--winsup/cygwin/ldap.h80
1 files changed, 0 insertions, 80 deletions
diff --git a/winsup/cygwin/ldap.h b/winsup/cygwin/ldap.h
deleted file mode 100644
index 7f90a3821..000000000
--- a/winsup/cygwin/ldap.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* ldap.h.
-
- Copyright 2014 Red Hat, Inc.
-
-This file is part of Cygwin.
-
-This software is a copyrighted work licensed under the terms of the
-Cygwin license. Please consult the file "CYGWIN_LICENSE" for
-details. */
-
-#pragma once
-
-#pragma push_macro ("DECLSPEC_IMPORT")
-#undef DECLSPEC_IMPORT
-#define DECLSPEC_IMPORT
-#include <winldap.h>
-#include <ntldap.h>
-#pragma pop_macro ("DECLSPEC_IMPORT")
-
-#define LDAP_USER_PGRP_ATTR 0
-#define LDAP_USER_GECOS_ATTR 1
-#define LDAP_USER_HOME_ATTR 2
-#define LDAP_USER_SHELL_ATTR 3
-#define LDAP_USER_UID_ATTR 4
-
-#define LDAP_GROUP_NAME_ATTR 0
-#define LDAP_GROUP_GID_ATTR 1
-
-class cyg_ldap {
- PLDAP lh;
- PWCHAR rootdse;
- PLDAPMessage msg, entry;
- PWCHAR *val;
- PWCHAR *attr;
- bool isAD;
- PLDAPSearch srch_id;
- PLDAPMessage srch_msg, srch_entry;
-
- inline int map_ldaperr_to_errno (ULONG lerr);
- inline int wait (cygthread *thr);
- inline int connect (PCWSTR domain);
- inline int search (PWCHAR base, PWCHAR filter, PWCHAR *attrs);
- inline int next_page ();
- bool fetch_unix_sid_from_ad (uint32_t id, cygsid &sid, bool group);
- PWCHAR fetch_unix_name_from_rfc2307 (uint32_t id, bool group);
- PWCHAR get_string_attribute (int idx);
- uint32_t get_num_attribute (int idx);
-
-public:
- cyg_ldap () : lh (NULL), rootdse (NULL), msg (NULL), entry (NULL), val (NULL),
- isAD (false), srch_id (NULL), srch_msg (NULL), srch_entry (NULL)
- {}
- ~cyg_ldap () { close (); }
-
- ULONG connect_ssl (PCWSTR domain);
- ULONG connect_non_ssl (PCWSTR domain);
- ULONG search_s (PWCHAR base, PWCHAR filter, PWCHAR *attrs);
- ULONG next_page_s ();
-
- operator PLDAP () const { return lh; }
- int open (PCWSTR in_domain);
- void close ();
- bool fetch_ad_account (PSID sid, bool group, PCWSTR domain = NULL);
- int enumerate_ad_accounts (PCWSTR domain, bool group);
- int next_account (cygsid &sid);
- uint32_t fetch_posix_offset_for_domain (PCWSTR domain);
- uid_t remap_uid (uid_t uid);
- gid_t remap_gid (gid_t gid);
- /* User only */
- gid_t get_primary_gid () { return get_num_attribute (LDAP_USER_PGRP_ATTR); }
- PWCHAR get_gecos () { return get_string_attribute (LDAP_USER_GECOS_ATTR); }
- PWCHAR get_home ()
- { return get_string_attribute (LDAP_USER_HOME_ATTR); }
- PWCHAR get_shell () { return get_string_attribute (LDAP_USER_SHELL_ATTR); }
- gid_t get_unix_uid () { return get_num_attribute (LDAP_USER_UID_ATTR); }
- /* group only */
- PWCHAR get_group_name ()
- { return get_string_attribute (LDAP_GROUP_NAME_ATTR); }
- gid_t get_unix_gid () { return get_num_attribute (LDAP_GROUP_GID_ATTR); }
-};