sss_idmap  2.10.0-beta2
sss_idmap.h
1 /*
2  SSSD
3 
4  ID-mapping library
5 
6  Authors:
7  Sumit Bose <sbose@redhat.com>
8 
9  Copyright (C) 2012 Red Hat
10 
11  This program is free software; you can redistribute it and/or modify
12  it under the terms of the GNU General Public License as published by
13  the Free Software Foundation; either version 3 of the License, or
14  (at your option) any later version.
15 
16  This program is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  GNU General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with this program. If not, see <http://www.gnu.org/licenses/>.
23 */
24 
25 #ifndef SSS_IDMAP_H_
26 #define SSS_IDMAP_H_
27 
28 #include <stdlib.h>
29 #include <stdint.h>
30 #include <stdbool.h>
31 #include <sys/types.h>
32 
33 #define DOM_SID_PREFIX "S-1-5-21-"
34 #define DOM_SID_PREFIX_LEN (sizeof(DOM_SID_PREFIX) - 1)
35 
49 
52 
55 
58 
61 
64 
67 
70 
73 
76 
79 
82 
85 
88 
92 
95 
99 };
100 
104 typedef void *(idmap_alloc_func)(size_t size, void *pvt);
105 typedef void (idmap_free_func)(void *ptr, void *pvt);
106 
110 typedef enum idmap_error_code (*idmap_store_cb)(const char *dom_name,
111  const char *dom_sid,
112  const char *range_id,
113  uint32_t min_id,
114  uint32_t max_id,
115  uint32_t first_rid,
116  void *pvt);
117 
124  uint32_t min;
125  uint32_t max;
126 };
127 
131 struct sss_dom_sid;
132 
136 struct sss_idmap_ctx;
137 
143 struct dom_sid;
144 
159  void *alloc_pvt,
160  idmap_free_func *free_func,
161  struct sss_idmap_ctx **ctx);
162 
169 enum idmap_error_code
170 sss_idmap_ctx_set_autorid(struct sss_idmap_ctx *ctx, bool use_autorid);
171 
178 enum idmap_error_code
179 sss_idmap_ctx_set_lower(struct sss_idmap_ctx *ctx, id_t lower);
180 
187 enum idmap_error_code
188 sss_idmap_ctx_set_upper(struct sss_idmap_ctx *ctx, id_t upper);
189 
196 enum idmap_error_code
197 sss_idmap_ctx_set_rangesize(struct sss_idmap_ctx *ctx, id_t rangesize);
198 
206 enum idmap_error_code
207 sss_idmap_ctx_set_extra_slice_init(struct sss_idmap_ctx *ctx,
208  int extra_slice_init);
209 
216 enum idmap_error_code
217 sss_idmap_ctx_get_autorid(struct sss_idmap_ctx *ctx, bool *_autorid);
218 
225 enum idmap_error_code
226 sss_idmap_ctx_get_lower(struct sss_idmap_ctx *ctx, id_t *_lower);
227 
234 enum idmap_error_code
235 sss_idmap_ctx_get_upper(struct sss_idmap_ctx *ctx, id_t *_upper);
236 
243 enum idmap_error_code
244 sss_idmap_ctx_get_rangesize(struct sss_idmap_ctx *ctx, id_t *rangesize);
245 
263 enum idmap_error_code sss_idmap_calculate_range(struct sss_idmap_ctx *ctx,
264  const char *dom_sid,
265  id_t *slice_num,
266  struct sss_idmap_range *range);
267 
285 enum idmap_error_code sss_idmap_add_domain(struct sss_idmap_ctx *ctx,
286  const char *domain_name,
287  const char *domain_sid,
288  struct sss_idmap_range *range);
289 
318 enum idmap_error_code sss_idmap_add_domain_ex(struct sss_idmap_ctx *ctx,
319  const char *domain_name,
320  const char *domain_sid,
321  struct sss_idmap_range *range,
322  const char *range_id,
323  uint32_t rid,
324  bool external_mapping);
325 
358 enum idmap_error_code
359 sss_idmap_add_auto_domain_ex(struct sss_idmap_ctx *ctx,
360  const char *domain_name,
361  const char *domain_sid,
362  struct sss_idmap_range *range,
363  const char *range_id,
364  uint32_t rid,
365  bool external_mapping,
366  idmap_store_cb cb,
367  void *pvt);
368 
387 enum idmap_error_code sss_idmap_check_collision(struct sss_idmap_ctx *ctx,
388  char *n_name, char *n_sid,
389  struct sss_idmap_range *n_range,
390  uint32_t n_first_rid,
391  char *n_range_id,
392  bool n_external_mapping);
393 
421 enum idmap_error_code sss_idmap_check_collision_ex(const char *o_name,
422  const char *o_sid,
423  struct sss_idmap_range *o_range,
424  uint32_t o_first_rid,
425  const char *o_range_id,
426  bool o_external_mapping,
427  const char *n_name,
428  const char *n_sid,
429  struct sss_idmap_range *n_range,
430  uint32_t n_first_rid,
431  const char *n_range_id,
432  bool n_external_mapping);
433 
448 enum idmap_error_code sss_idmap_sid_to_unix(struct sss_idmap_ctx *ctx,
449  const char *sid,
450  uint32_t *id);
451 
466 enum idmap_error_code sss_idmap_dom_sid_to_unix(struct sss_idmap_ctx *ctx,
467  struct sss_dom_sid *dom_sid,
468  uint32_t *id);
469 
485 enum idmap_error_code sss_idmap_bin_sid_to_unix(struct sss_idmap_ctx *ctx,
486  uint8_t *bin_sid,
487  size_t length,
488  uint32_t *id);
489 
504 enum idmap_error_code sss_idmap_smb_sid_to_unix(struct sss_idmap_ctx *ctx,
505  struct dom_sid *smb_sid,
506  uint32_t *id);
507 
522 enum idmap_error_code sss_idmap_check_sid_unix(struct sss_idmap_ctx *ctx,
523  const char *sid,
524  uint32_t id);
525 
540 enum idmap_error_code sss_idmap_check_dom_sid_unix(struct sss_idmap_ctx *ctx,
541  struct sss_dom_sid *dom_sid,
542  uint32_t id);
543 
559 enum idmap_error_code sss_idmap_check_bin_sid_unix(struct sss_idmap_ctx *ctx,
560  uint8_t *bin_sid,
561  size_t length,
562  uint32_t id);
563 
579 enum idmap_error_code sss_idmap_check_smb_sid_unix(struct sss_idmap_ctx *ctx,
580  struct dom_sid *smb_sid,
581  uint32_t id);
582 
597 enum idmap_error_code sss_idmap_unix_to_sid(struct sss_idmap_ctx *ctx,
598  uint32_t id,
599  char **sid);
600 
614 enum idmap_error_code sss_idmap_unix_to_dom_sid(struct sss_idmap_ctx *ctx,
615  uint32_t id,
616  struct sss_dom_sid **dom_sid);
617 
633 enum idmap_error_code sss_idmap_unix_to_bin_sid(struct sss_idmap_ctx *ctx,
634  uint32_t id,
635  uint8_t **bin_sid,
636  size_t *length);
637 
646 enum idmap_error_code sss_idmap_free(struct sss_idmap_ctx *ctx);
647 
657 enum idmap_error_code sss_idmap_free_sid(struct sss_idmap_ctx *ctx,
658  char *sid);
659 
669 enum idmap_error_code sss_idmap_free_dom_sid(struct sss_idmap_ctx *ctx,
670  struct sss_dom_sid *dom_sid);
671 
681 enum idmap_error_code sss_idmap_free_smb_sid(struct sss_idmap_ctx *ctx,
682  struct dom_sid *smb_sid);
683 
693 enum idmap_error_code sss_idmap_free_bin_sid(struct sss_idmap_ctx *ctx,
694  uint8_t *bin_sid);
695 
704 const char *idmap_error_string(enum idmap_error_code err);
705 
715 bool is_domain_sid(const char *str);
716 
736 enum idmap_error_code
737 sss_idmap_domain_has_algorithmic_mapping(struct sss_idmap_ctx *ctx,
738  const char *dom_sid,
739  bool *has_algorithmic_mapping);
740 
759 enum idmap_error_code
760 sss_idmap_domain_by_name_has_algorithmic_mapping(struct sss_idmap_ctx *ctx,
761  const char *dom_name,
762  bool *has_algorithmic_mapping);
763 
777 enum idmap_error_code sss_idmap_bin_sid_to_dom_sid(struct sss_idmap_ctx *ctx,
778  const uint8_t *bin_sid,
779  size_t length,
780  struct sss_dom_sid **dom_sid);
781 
795 enum idmap_error_code sss_idmap_bin_sid_to_sid(struct sss_idmap_ctx *ctx,
796  const uint8_t *bin_sid,
797  size_t length,
798  char **sid);
799 
813 enum idmap_error_code sss_idmap_dom_sid_to_bin_sid(struct sss_idmap_ctx *ctx,
814  struct sss_dom_sid *dom_sid,
815  uint8_t **bin_sid,
816  size_t *length);
817 
831 enum idmap_error_code sss_idmap_sid_to_bin_sid(struct sss_idmap_ctx *ctx,
832  const char *sid,
833  uint8_t **bin_sid,
834  size_t *length);
835 
848 enum idmap_error_code sss_idmap_dom_sid_to_sid(struct sss_idmap_ctx *ctx,
849  struct sss_dom_sid *dom_sid,
850  char **sid);
851 
864 enum idmap_error_code sss_idmap_sid_to_dom_sid(struct sss_idmap_ctx *ctx,
865  const char *sid,
866  struct sss_dom_sid **dom_sid);
867 
880 enum idmap_error_code sss_idmap_sid_to_smb_sid(struct sss_idmap_ctx *ctx,
881  const char *sid,
882  struct dom_sid **smb_sid);
883 
896 enum idmap_error_code sss_idmap_smb_sid_to_sid(struct sss_idmap_ctx *ctx,
897  struct dom_sid *smb_sid,
898  char **sid);
899 
912 enum idmap_error_code sss_idmap_dom_sid_to_smb_sid(struct sss_idmap_ctx *ctx,
913  struct sss_dom_sid *dom_sid,
914  struct dom_sid **smb_sid);
915 
928 enum idmap_error_code sss_idmap_smb_sid_to_dom_sid(struct sss_idmap_ctx *ctx,
929  struct dom_sid *smb_sid,
930  struct sss_dom_sid **dom_sid);
931 
945 enum idmap_error_code sss_idmap_bin_sid_to_smb_sid(struct sss_idmap_ctx *ctx,
946  const uint8_t *bin_sid,
947  size_t length,
948  struct dom_sid **smb_sid);
949 
963 enum idmap_error_code sss_idmap_smb_sid_to_bin_sid(struct sss_idmap_ctx *ctx,
964  struct dom_sid *smb_sid,
965  uint8_t **bin_sid,
966  size_t *length);
967 
972 typedef enum idmap_error_code (idmap_offset_func)(void *pvt,
973  uint32_t range_size,
974  const char *input,
975  long long *offset);
976 
977 typedef enum idmap_error_code (idmap_rev_offset_func)(struct sss_idmap_ctx *ctx,
978  void *pvt,
979  uint32_t offset,
980  char **out);
981 
1019 enum idmap_error_code sss_idmap_add_gen_domain_ex(struct sss_idmap_ctx *ctx,
1020  const char *domain_name,
1021  const char *domain_id,
1022  struct sss_idmap_range *range,
1023  const char *range_id,
1024  idmap_offset_func *offset_func,
1025  idmap_rev_offset_func *rev_offset_func,
1026  void *offset_func_pvt,
1027  uint32_t shift,
1028  bool external_mapping);
1029 
1033 enum idmap_error_code offset_identity(void *pvt, uint32_t range_size,
1034  const char *input, long long *offset);
1035 
1040 enum idmap_error_code rev_offset_identity(struct sss_idmap_ctx *ctx, void *pvt,
1041  uint32_t id, char **_out);
1042 
1046 enum idmap_error_code offset_murmurhash3(void *pvt, uint32_t range_size,
1047  const char *input, long long *offset);
1048 
1055  uint32_t seed;
1056  bool normalize;
1057  bool casefold;
1058 };
1059 
1074 enum idmap_error_code sss_idmap_gen_to_unix(struct sss_idmap_ctx *ctx,
1075  const char *domain_id,
1076  const char *input,
1077  uint32_t *_id);
1078 
1093 enum idmap_error_code sss_idmap_unix_to_gen(struct sss_idmap_ctx *ctx,
1094  uint32_t id,
1095  char **out);
1096 
1100 #endif /* SSS_IDMAP_H_ */
enum idmap_error_code sss_idmap_sid_to_unix(struct sss_idmap_ctx *ctx, const char *sid, uint32_t *id)
Translate SID to a unix UID or GID.
enum idmap_error_code sss_idmap_gen_to_unix(struct sss_idmap_ctx *ctx, const char *domain_id, const char *input, uint32_t *_id)
Translate some input to a unix UID or GID.
enum idmap_error_code sss_idmap_smb_sid_to_dom_sid(struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, struct sss_dom_sid **dom_sid)
Convert Samba dom_sid structure to SID structure.
enum idmap_error_code sss_idmap_dom_sid_to_unix(struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, uint32_t *id)
Translate a SID stucture to a unix UID or GID.
enum idmap_error_code sss_idmap_free_dom_sid(struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid)
Free mapped domain SID.
enum idmap_error_code sss_idmap_unix_to_sid(struct sss_idmap_ctx *ctx, uint32_t id, char **sid)
Translate unix UID or GID to a SID.
enum idmap_error_code sss_idmap_ctx_get_autorid(struct sss_idmap_ctx *ctx, bool *_autorid)
Check if autorid compatibility mode is set.
enum idmap_error_code sss_idmap_calculate_range(struct sss_idmap_ctx *ctx, const char *dom_sid, id_t *slice_num, struct sss_idmap_range *range)
Calculate new range of available POSIX IDs.
enum idmap_error_code offset_identity(void *pvt, uint32_t range_size, const char *input, long long *offset)
Calculate offset from string containing only numbers.
enum idmap_error_code sss_idmap_dom_sid_to_bin_sid(struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, uint8_t **bin_sid, size_t *length)
Convert SID structure to binary SID.
enum idmap_error_code sss_idmap_ctx_set_upper(struct sss_idmap_ctx *ctx, id_t upper)
Set the upper bound of the range of POSIX IDs.
enum idmap_error_code sss_idmap_bin_sid_to_unix(struct sss_idmap_ctx *ctx, uint8_t *bin_sid, size_t length, uint32_t *id)
Translate a binary SID to a unix UID or GID.
enum idmap_error_code sss_idmap_add_domain_ex(struct sss_idmap_ctx *ctx, const char *domain_name, const char *domain_sid, struct sss_idmap_range *range, const char *range_id, uint32_t rid, bool external_mapping)
Add a domain with the first mappable RID to the idmap context.
enum idmap_error_code sss_idmap_add_domain(struct sss_idmap_ctx *ctx, const char *domain_name, const char *domain_sid, struct sss_idmap_range *range)
Add a domain to the idmap context.
enum idmap_error_code sss_idmap_ctx_set_autorid(struct sss_idmap_ctx *ctx, bool use_autorid)
Set/unset autorid compatibility mode.
enum idmap_error_code sss_idmap_unix_to_gen(struct sss_idmap_ctx *ctx, uint32_t id, char **out)
Translate some input to a unix UID or GID.
bool is_domain_sid(const char *str)
Check if given string can be used as domain SID.
enum idmap_error_code sss_idmap_add_auto_domain_ex(struct sss_idmap_ctx *ctx, const char *domain_name, const char *domain_sid, struct sss_idmap_range *range, const char *range_id, uint32_t rid, bool external_mapping, idmap_store_cb cb, void *pvt)
Add a domain with the first mappable RID to the idmap context and generate automatically secondary sl...
enum idmap_error_code sss_idmap_init(idmap_alloc_func *alloc_func, void *alloc_pvt, idmap_free_func *free_func, struct sss_idmap_ctx **ctx)
Initialize idmap context.
enum idmap_error_code sss_idmap_unix_to_bin_sid(struct sss_idmap_ctx *ctx, uint32_t id, uint8_t **bin_sid, size_t *length)
Translate unix UID or GID to a binary SID.
enum idmap_error_code(* idmap_store_cb)(const char *dom_name, const char *dom_sid, const char *range_id, uint32_t min_id, uint32_t max_id, uint32_t first_rid, void *pvt)
Typedef for storing mappings of dynamically created domains.
Definition: sss_idmap.h:110
enum idmap_error_code sss_idmap_smb_sid_to_sid(struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, char **sid)
Convert Samba dom_sid structure to SID string.
enum idmap_error_code sss_idmap_bin_sid_to_dom_sid(struct sss_idmap_ctx *ctx, const uint8_t *bin_sid, size_t length, struct sss_dom_sid **dom_sid)
Convert binary SID to SID structure.
const char * idmap_error_string(enum idmap_error_code err)
Translate error code to a string.
enum idmap_error_code sss_idmap_ctx_set_rangesize(struct sss_idmap_ctx *ctx, id_t rangesize)
Set the range size of POSIX IDs available for single domain.
enum idmap_error_code sss_idmap_add_gen_domain_ex(struct sss_idmap_ctx *ctx, const char *domain_name, const char *domain_id, struct sss_idmap_range *range, const char *range_id, idmap_offset_func *offset_func, idmap_rev_offset_func *rev_offset_func, void *offset_func_pvt, uint32_t shift, bool external_mapping)
Add a generic domain to the idmap context.
enum idmap_error_code offset_murmurhash3(void *pvt, uint32_t range_size, const char *input, long long *offset)
Calculate offset from string with the help of murmurhash3.
enum idmap_error_code sss_idmap_free(struct sss_idmap_ctx *ctx)
Free all the allocated memory of the idmap context.
enum idmap_error_code sss_idmap_bin_sid_to_sid(struct sss_idmap_ctx *ctx, const uint8_t *bin_sid, size_t length, char **sid)
Convert binary SID to SID string.
enum idmap_error_code sss_idmap_free_smb_sid(struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid)
Free mapped Samba SID.
enum idmap_error_code sss_idmap_check_collision(struct sss_idmap_ctx *ctx, char *n_name, char *n_sid, struct sss_idmap_range *n_range, uint32_t n_first_rid, char *n_range_id, bool n_external_mapping)
Check if a new range would collide with any existing one.
enum idmap_error_code sss_idmap_free_bin_sid(struct sss_idmap_ctx *ctx, uint8_t *bin_sid)
Free mapped binary SID.
idmap_error_code
Error codes used by libsss_idmap.
Definition: sss_idmap.h:46
enum idmap_error_code rev_offset_identity(struct sss_idmap_ctx *ctx, void *pvt, uint32_t id, char **_out)
Reverse of offset_identity, return a string containg only numbers representing the given offset.
enum idmap_error_code sss_idmap_bin_sid_to_smb_sid(struct sss_idmap_ctx *ctx, const uint8_t *bin_sid, size_t length, struct dom_sid **smb_sid)
Convert binary SID to Samba dom_sid structure.
enum idmap_error_code sss_idmap_check_bin_sid_unix(struct sss_idmap_ctx *ctx, uint8_t *bin_sid, size_t length, uint32_t id)
Check if a binary SID and a unix UID or GID belong to the same range.
enum idmap_error_code sss_idmap_unix_to_dom_sid(struct sss_idmap_ctx *ctx, uint32_t id, struct sss_dom_sid **dom_sid)
Translate unix UID or GID to a SID structure.
enum idmap_error_code() idmap_offset_func(void *pvt, uint32_t range_size, const char *input, long long *offset)
Typedef for functions to calculate an offset for id-mapping and, if possible, for the reverse operati...
enum idmap_error_code sss_idmap_check_sid_unix(struct sss_idmap_ctx *ctx, const char *sid, uint32_t id)
Check if a SID and a unix UID or GID belong to the same range.
enum idmap_error_code sss_idmap_sid_to_dom_sid(struct sss_idmap_ctx *ctx, const char *sid, struct sss_dom_sid **dom_sid)
Convert SID string to SID structure.
enum idmap_error_code sss_idmap_check_smb_sid_unix(struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, uint32_t id)
Check if a Samba dom_sid structure and a unix UID or GID belong to the same range.
enum idmap_error_code sss_idmap_ctx_set_lower(struct sss_idmap_ctx *ctx, id_t lower)
Set the lower bound of the range of POSIX IDs.
enum idmap_error_code sss_idmap_dom_sid_to_sid(struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, char **sid)
Convert SID structure to SID string.
enum idmap_error_code sss_idmap_ctx_get_rangesize(struct sss_idmap_ctx *ctx, id_t *rangesize)
Get the range size of POSIX IDs available for single domain.
enum idmap_error_code sss_idmap_free_sid(struct sss_idmap_ctx *ctx, char *sid)
Free mapped SID.
enum idmap_error_code sss_idmap_domain_has_algorithmic_mapping(struct sss_idmap_ctx *ctx, const char *dom_sid, bool *has_algorithmic_mapping)
Check if a domain is configured with algorithmic mapping.
enum idmap_error_code sss_idmap_check_dom_sid_unix(struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, uint32_t id)
Check if a SID structure and a unix UID or GID belong to the same range.
enum idmap_error_code sss_idmap_domain_by_name_has_algorithmic_mapping(struct sss_idmap_ctx *ctx, const char *dom_name, bool *has_algorithmic_mapping)
Check if a domain is configured with algorithmic mapping.
void *() idmap_alloc_func(size_t size, void *pvt)
Typedef for memory allocation functions.
Definition: sss_idmap.h:104
enum idmap_error_code sss_idmap_ctx_get_upper(struct sss_idmap_ctx *ctx, id_t *_upper)
Get the upper bound of the range of POSIX IDs.
enum idmap_error_code sss_idmap_sid_to_bin_sid(struct sss_idmap_ctx *ctx, const char *sid, uint8_t **bin_sid, size_t *length)
Convert SID string to binary SID.
enum idmap_error_code sss_idmap_sid_to_smb_sid(struct sss_idmap_ctx *ctx, const char *sid, struct dom_sid **smb_sid)
Convert SID string to Samba dom_sid structure.
enum idmap_error_code sss_idmap_smb_sid_to_unix(struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, uint32_t *id)
Translate a Samba dom_sid stucture to a unix UID or GID.
enum idmap_error_code sss_idmap_ctx_get_lower(struct sss_idmap_ctx *ctx, id_t *_lower)
Get the lower bound of the range of POSIX IDs.
enum idmap_error_code sss_idmap_ctx_set_extra_slice_init(struct sss_idmap_ctx *ctx, int extra_slice_init)
Set the number of secondary slices available for domain.
enum idmap_error_code sss_idmap_smb_sid_to_bin_sid(struct sss_idmap_ctx *ctx, struct dom_sid *smb_sid, uint8_t **bin_sid, size_t *length)
Convert Samba dom_sid structure to binary SID.
enum idmap_error_code sss_idmap_check_collision_ex(const char *o_name, const char *o_sid, struct sss_idmap_range *o_range, uint32_t o_first_rid, const char *o_range_id, bool o_external_mapping, const char *n_name, const char *n_sid, struct sss_idmap_range *n_range, uint32_t n_first_rid, const char *n_range_id, bool n_external_mapping)
Check if two ranges would collide.
enum idmap_error_code sss_idmap_dom_sid_to_smb_sid(struct sss_idmap_ctx *ctx, struct sss_dom_sid *dom_sid, struct dom_sid **smb_sid)
Convert SID stucture to Samba dom_sid structure.
@ IDMAP_NO_DOMAIN
No domain added.
Definition: sss_idmap.h:60
@ IDMAP_CONTEXT_INVALID
The provided idmap context is invalid.
Definition: sss_idmap.h:63
@ IDMAP_SUCCESS
Success.
Definition: sss_idmap.h:48
@ IDMAP_OUT_OF_MEMORY
Ran out of memory during processing.
Definition: sss_idmap.h:57
@ IDMAP_SID_UNKNOWN
The provided SID was not found.
Definition: sss_idmap.h:69
@ IDMAP_EXTERNAL
External source should be consulted for idmapping.
Definition: sss_idmap.h:84
@ IDMAP_BUILTIN_SID
The provided SID is a built-in one.
Definition: sss_idmap.h:75
@ IDMAP_OUT_OF_SLICES
No more free slices.
Definition: sss_idmap.h:78
@ IDMAP_NOT_IMPLEMENTED
Function is not yet implemented.
Definition: sss_idmap.h:51
@ IDMAP_NO_RANGE
The provided UID or GID could not be mapped.
Definition: sss_idmap.h:72
@ IDMAP_NAME_UNKNOWN
The provided name was not found.
Definition: sss_idmap.h:87
@ IDMAP_COLLISION
New domain collides with existing one.
Definition: sss_idmap.h:81
@ IDMAP_ERROR
General error.
Definition: sss_idmap.h:54
@ IDMAP_SID_INVALID
The provided SID is invalid.
Definition: sss_idmap.h:66
@ IDMAP_UTF8_ERROR
Error during UTF8 operation like normalization or casefolding.
Definition: sss_idmap.h:94
@ IDMAP_ERR_LAST
Sentinel to indicate the end of the error code list, not returned by any call.
Definition: sss_idmap.h:98
@ IDMAP_NO_REVERSE
It is not possible to convert an id into the original value the id was derived from.
Definition: sss_idmap.h:91
Structure for private data for offset_murmurhash3.
Definition: sss_idmap.h:1054
Structure for id ranges FIXME: this struct might change when it is clear how ranges are handled on th...
Definition: sss_idmap.h:123