37 static bool rdonly =
TRUE;
53 memset(dbpath, 0,
sizeof (dbpath));
56 if (cfdir == NULL || strlen(cfdir) == 0)
71 zeDb_Open(&hdb, NULL, dbpath, (rdonly ? 0444 : 0644), rdonly,
TRUE, 0);
94 res =
zeDb_Open(&hdb, NULL, path, (rdonly ? 0444 : 0644), rdonly,
TRUE, 0);
153 bool is_email =
FALSE;
165 if (strlen(key) == 0)
175 if ((domain =
strchr(key,
'@')) != NULL) {
178 if ((email = strdup(key)) != NULL)
195 snprintf(k,
sizeof (k),
"%s:%s", prefix, email);
199 if ((bufout != NULL) && (size > 0))
224 snprintf(k,
sizeof (k),
"%s:%s", prefix, domain);
230 while (strlen(k) > 0) {
233 if ((bufout != NULL) && (size > 0))
239 if ((p =
strrchr(k,
'.')) != NULL)
251 snprintf(k,
sizeof (k),
"%s:%s", prefix, domain);
254 if ((bufout != NULL) && (size > 0))
269 snprintf(k,
sizeof (k),
"%s:%s", prefix, buf);
272 if ((bufout != NULL) && (size > 0))
290 snprintf(k,
sizeof (k),
"%s:%s", prefix, buf);
293 if ((bufout != NULL) && (size > 0))
313 while (p != NULL && strlen(p) > 0) {
314 snprintf(k,
sizeof (k),
"%s:%s", prefix, p);
318 if ((bufout != NULL) && (size > 0))
340 snprintf(k,
sizeof (k),
"%s:%s", prefix, email);
349 if ((bufout != NULL) && (size > 0))
390 if (key == NULL || strlen(key) == 0)
399 snprintf(k,
sizeof (k),
"%s:%s", prefix, key);
403 if ((bufout != NULL) && (size > 0))
413 if (getenv(
"SHOWLOOKUP") != NULL)
bool zeDb_Unlock(ZEDB_T *h)
Database unlock.
bool db_policy_lookup(char *prefix, char *key, char *bufout, size_t size)
#define ZE_LogMsgError(level,...)
#define ADJUST_FILENAME(path, fname, cfdir, defval)
bool zeStrRegex(char *, char *, long *, long *, bool)
char * extract_email_address(char *, char *, size_t)
void ipv6_set_prefix(ipv6_T *addr, int prefix)
bool zeDb_Open(ZEDB_T *h, ZEDB_ENV_T *, char *, int, bool, bool, size_t)
bool ipv6_str2rec(ipv6_T *ipv6, char *sin)
bool zeDb_Close(ZEDB_T *h)
bool db_policy_check(char *prefix, char *key, char *bufout, size_t size)
#define ZE_MessageInfo(level,...)
bool db_policy_open(bool rd)
bool zeDb_GetRec(ZEDB_T *h, char *, void *, size_t)
#define ZE_LogSysError(...)
char * cf_get_str(int id)
char * zeStr2Lower(char *)
void ipv6_subnet(ipv6_T *net, ipv6_T *addr)
void ipv6_prefix_str(ipv6_T *addr, char *buf, size_t size, int n)
void ipv6_rec2str(char *sout, ipv6_T *ipv6, size_t sz)
bool zeDb_Lock(ZEDB_T *h)
Database lock.