summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-06-10 11:48:18 -0400
committerNalin Dahyabhai <nalin.dahyabhai@pobox.com>2008-06-10 11:48:18 -0400
commit73b11bbda74ef0f6cfef9dc90a7ec3695ce0addb (patch)
tree574bd4ff69e635c66a81266964ea245be3b4f925 /src
parent5b4f160b9440172108e3806cdc30fa080a6c3c7e (diff)
downloadslapi-nis-73b11bbda74ef0f6cfef9dc90a7ec3695ce0addb.tar.gz
slapi-nis-73b11bbda74ef0f6cfef9dc90a7ec3695ce0addb.tar.xz
slapi-nis-73b11bbda74ef0f6cfef9dc90a7ec3695ce0addb.zip
- add a "secure" default field
Diffstat (limited to 'src')
-rw-r--r--src/defaults.c26
-rw-r--r--src/defaults.h1
2 files changed, 20 insertions, 7 deletions
diff --git a/src/defaults.c b/src/defaults.c
index 0ca56c2..7a399b9 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -23,6 +23,7 @@
#include "../config.h"
#endif
+#include <rpc/xdr.h>
#include <fnmatch.h>
#include <string.h>
@@ -31,34 +32,35 @@
#define DEFAULT_ENTRY_FILTER "(&(nisMapName=%m)(objectClass=nisObject))"
#define DEFAULT_KEY_FORMAT "%{cn}"
#define DEFAULT_VALUE_FORMAT "%{nisMapEntry}"
-#define DEFAULT_REFERRED NULL
+#define DEFAULT_MAP_SECURE FALSE
static struct configuration {
char *map;
enum { config_exact, config_glob } config_match;
+ bool_t secure;
char *filter, *key_format, *value_format;
} config[] = {
- {"passwd.byname", config_exact,
+ {"passwd.byname", config_exact, FALSE,
"(objectClass=posixAccount)",
"%{uid}",
"%{uid}:%regsub(\"userPassword\",\"^\\\\{CRYPT\\\\}(..*)\",\"%1\",\"*\"):%{uidNumber}:%{gidNumber}:%{gecos:-%{cn}}:%{homeDirectory:-/}:%{loginShell:-}"},
- {"passwd.bynumber", config_exact,
+ {"passwd.bynumber", config_exact, FALSE,
"(objectClass=posixAccount)",
"%{uidNumber}",
"%{uid}:%regsub(\"userPassword\",\"^\\\\{CRYPT\\\\}(..*)\",\"%1\",\"*\"):%{uidNumber}:%{gidNumber}:%{gecos:-%{cn}}:%{homeDirectory:-/}:%{loginShell:-}"},
- {"group.byname", config_exact,
+ {"group.byname", config_exact, FALSE,
"(objectClass=posixGroup)",
"%{cn}",
"%{cn}:%regsub(\"userPassword\",\"^\\\\{CRYPT\\\\}(..*)\",\"%1\",\"*\"):%{gidNumber}:%merge(\",\",\"%list(\\\",\\\",\\\"memberUid\\\")\",\"%deref(\\\",\\\",\\\"member\\\",\\\"uid\\\")\",\"%deref(\\\",\\\",\\\"uniqueMember\\\",\\\"uid\\\")\",\"%referred(\\\",\\\",\\\"passwd.byname\\\",\\\"memberOf\\\",\\\"uid\\\")\")"},
- {"group.bynumber", config_exact,
+ {"group.bynumber", config_exact, FALSE,
"(objectClass=posixGroup)",
"%{gidNumber}",
"%{cn}:%regsub(\"userPassword\",\"^\\\\{CRYPT\\\\}(..*)\",\"%1\",\"*\"):%{gidNumber}:%merge(\",\",\"%list(\\\",\\\",\\\"memberUid\\\")\",\"%deref(\\\",\\\",\\\"member\\\",\\\"uid\\\")\",\"%deref(\\\",\\\",\\\"uniqueMember\\\",\\\"uid\\\")\",\"%referred(\\\",\\\",\\\"passwd.bynumber\\\",\\\"memberOf\\\",\\\"uid\\\")\")"},
- {"netgroup", config_exact,
+ {"netgroup", config_exact, FALSE,
"(objectClass=nisNetgroup)",
"%{cn}",
"%list(\" \",\"nisNetgroupTriple\",\"memberNisNetgroup\")"},
- {"auto.*", config_glob,
+ {"auto.*", config_glob, FALSE,
"(objectClass=automount)",
"%{automountKey}",
"%{automountInformation}"},
@@ -66,6 +68,7 @@ static struct configuration {
void
defaults_get_map_config(const char *mapname,
+ bool_t *secure,
const char **filter,
const char **key_format,
const char **value_format)
@@ -74,6 +77,9 @@ defaults_get_map_config(const char *mapname,
if (filter) {
*filter = DEFAULT_ENTRY_FILTER;
}
+ if (secure) {
+ *secure = DEFAULT_MAP_SECURE;
+ }
if (key_format) {
*key_format = DEFAULT_KEY_FORMAT;
}
@@ -84,6 +90,9 @@ defaults_get_map_config(const char *mapname,
switch (config[i].config_match) {
case config_exact:
if (strcmp(config[i].map, mapname) == 0) {
+ if (secure) {
+ *secure = config[i].secure;
+ }
if (filter) {
*filter = config[i].filter;
}
@@ -98,6 +107,9 @@ defaults_get_map_config(const char *mapname,
case config_glob:
if (fnmatch(config[i].map, mapname,
FNM_NOESCAPE) == 0) {
+ if (secure) {
+ *secure = config[i].secure;
+ }
if (filter) {
*filter = config[i].filter;
}
diff --git a/src/defaults.h b/src/defaults.h
index 29c7c4a..486b9e5 100644
--- a/src/defaults.h
+++ b/src/defaults.h
@@ -22,6 +22,7 @@
#ifndef defaults_h
#define defaults_h
void defaults_get_map_config(const char *mapname,
+ bool_t *secure,
const char **filter,
const char **key_format,
const char **value_format);