mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
c823b191ab
We really need idmap_ldap to have a good solution with ldapsam, porting
it from the prvious code is beeing made, the code is really simple to do
so I am confident it is not a problem to commit this code in.
Not committing it would have been worst.
I really would have been able to finish also the group code, maybe we can
put it into a followin release after 3.0.0 even if it may be an upgrade
problem.
The code has been tested and seem to work right, more testing is needed for
corner cases.
Currently winbind pdc (working only for users and not for groups) is
disabled as I was not able to make a complete group code replacement that
works somewhat in a week (I have a complete patch, but there are bugs)
Simo.
(This used to be commit 0e58085978
)
52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
/*
|
|
Unix SMB/CIFS implementation.
|
|
|
|
Idmap headers
|
|
|
|
Copyright (C) Anthony Liguori 2003
|
|
Copyright (C) Simo Sorce 2003
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library 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
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
License along with this library; if not, write to the
|
|
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
#define ID_EMPTY 0x00
|
|
#define ID_USERID 0x01
|
|
#define ID_GROUPID 0x02
|
|
#define ID_OTHER 0x04
|
|
|
|
#define ID_TYPEMASK 0x0f
|
|
|
|
#define ID_NOMAP 0x10
|
|
#define ID_CACHE 0x20
|
|
|
|
/* Filled out by IDMAP backends */
|
|
struct idmap_methods {
|
|
|
|
/* Called when backend is first loaded */
|
|
NTSTATUS (*init)(void);
|
|
|
|
NTSTATUS (*get_sid_from_id)(DOM_SID *sid, unid_t id, int id_type);
|
|
NTSTATUS (*get_id_from_sid)(unid_t *id, int *id_type, const DOM_SID *sid);
|
|
NTSTATUS (*set_mapping)(const DOM_SID *sid, unid_t id, int id_type);
|
|
|
|
/* Called when backend is unloaded */
|
|
NTSTATUS (*close)(void);
|
|
|
|
/* Called to dump backend status */
|
|
void (*status)(void);
|
|
};
|
|
|