summaryrefslogtreecommitdiff
path: root/source4/lib/socket/access.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-10-05 18:03:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 15:07:47 -0500
commit719a4ae0d32ab9ba817fd01f2b8f4cba220a8c60 (patch)
tree5235b8d927cdb765432398df1af8ce9ca9ddf4bf /source4/lib/socket/access.c
parent42bdfc3f6ce61fcd4f0d31c48dee470b62a9d59b (diff)
downloadsamba-719a4ae0d32ab9ba817fd01f2b8f4cba220a8c60.tar.gz
samba-719a4ae0d32ab9ba817fd01f2b8f4cba220a8c60.tar.bz2
samba-719a4ae0d32ab9ba817fd01f2b8f4cba220a8c60.zip
r25522: Convert to standard bool types.
(This used to be commit 5e814287ba475e12f8cc934fdd09b199dcdfdb86)
Diffstat (limited to 'source4/lib/socket/access.c')
-rw-r--r--source4/lib/socket/access.c96
1 files changed, 48 insertions, 48 deletions
diff --git a/source4/lib/socket/access.c b/source4/lib/socket/access.c
index 2d228c7474..42c42db365 100644
--- a/source4/lib/socket/access.c
+++ b/source4/lib/socket/access.c
@@ -39,7 +39,7 @@
#define ALLONES ((uint32_t)0xFFFFFFFF)
/* masked_match - match address against netnumber/netmask */
-static BOOL masked_match(TALLOC_CTX *mem_ctx, const char *tok, const char *slash, const char *s)
+static bool masked_match(TALLOC_CTX *mem_ctx, const char *tok, const char *slash, const char *s)
{
uint32_t net;
uint32_t mask;
@@ -47,7 +47,7 @@ static BOOL masked_match(TALLOC_CTX *mem_ctx, const char *tok, const char *slash
char *tok_cpy;
if ((addr = interpret_addr(s)) == INADDR_NONE)
- return False;
+ return false;
tok_cpy = talloc_strdup(mem_ctx, tok);
tok_cpy[PTR_DIFF(slash,tok)] = '\0';
@@ -64,14 +64,14 @@ static BOOL masked_match(TALLOC_CTX *mem_ctx, const char *tok, const char *slash
if (net == INADDR_NONE || mask == INADDR_NONE) {
DEBUG(0,("access: bad net/mask access control: %s\n", tok));
- return False;
+ return false;
}
return (addr & mask) == (net & mask);
}
/* string_match - match string against token */
-static BOOL string_match(TALLOC_CTX *mem_ctx, const char *tok,const char *s, char *invalid_char)
+static bool string_match(TALLOC_CTX *mem_ctx, const char *tok,const char *s, char *invalid_char)
{
size_t tok_len;
size_t str_len;
@@ -79,50 +79,50 @@ static BOOL string_match(TALLOC_CTX *mem_ctx, const char *tok,const char *s, cha
*invalid_char = '\0';
- /* Return True if a token has the magic value "ALL". Return
+ /* Return true if a token has the magic value "ALL". Return
* FAIL if the token is "FAIL". If the token starts with a "."
- * (domain name), return True if it matches the last fields of
+ * (domain name), return true if it matches the last fields of
* the string. If the token has the magic value "LOCAL",
- * return True if the string does not contain a "."
+ * return true if the string does not contain a "."
* character. If the token ends on a "." (network number),
- * return True if it matches the first fields of the
+ * return true if it matches the first fields of the
* string. If the token begins with a "@" (netgroup name),
- * return True if the string is a (host) member of the
- * netgroup. Return True if the token fully matches the
+ * return true if the string is a (host) member of the
+ * netgroup. Return true if the token fully matches the
* string. If the token is a netnumber/netmask pair, return
- * True if the address is a member of the specified subnet.
+ * true if the address is a member of the specified subnet.
*/
if (tok[0] == '.') { /* domain: match last fields */
if ((str_len = strlen(s)) > (tok_len = strlen(tok))
&& strcasecmp(tok, s + str_len - tok_len)==0) {
- return True;
+ return true;
}
} else if (tok[0] == '@') { /* netgroup: look it up */
DEBUG(0,("access: netgroup support is not available\n"));
- return False;
+ return false;
} else if (strcmp(tok, "ALL")==0) { /* all: match any */
- return True;
+ return true;
} else if (strcmp(tok, "FAIL")==0) { /* fail: match any */
return FAIL;
} else if (strcmp(tok, "LOCAL")==0) { /* local: no dots */
if (strchr(s, '.') == 0 && strcasecmp(s, "unknown") != 0) {
- return True;
+ return true;
}
} else if (strcasecmp(tok, s)==0) { /* match host name or address */
- return True;
+ return true;
} else if (tok[(tok_len = strlen(tok)) - 1] == '.') { /* network */
if (strncmp(tok, s, tok_len) == 0)
- return True;
+ return true;
} else if ((cut = strchr(tok, '/')) != 0) { /* netnumber/netmask */
if (isdigit((int)s[0]) && masked_match(mem_ctx, tok, cut, s))
- return True;
+ return true;
} else if (strchr(tok, '*') != 0) {
*invalid_char = '*';
} else if (strchr(tok, '?') != 0) {
*invalid_char = '?';
}
- return False;
+ return false;
}
struct client_addr {
@@ -131,9 +131,9 @@ struct client_addr {
};
/* client_match - match host name and address against token */
-static BOOL client_match(TALLOC_CTX *mem_ctx, const char *tok, struct client_addr *client)
+static bool client_match(TALLOC_CTX *mem_ctx, const char *tok, struct client_addr *client)
{
- BOOL match;
+ bool match;
char invalid_char = '\0';
/*
@@ -158,12 +158,12 @@ token '%s' in an allow/deny hosts line.\n", invalid_char, tok ));
}
/* list_match - match an item against a list of tokens with exceptions */
-static BOOL list_match(TALLOC_CTX *mem_ctx, const char **list, struct client_addr *client)
+static bool list_match(TALLOC_CTX *mem_ctx, const char **list, struct client_addr *client)
{
- BOOL match = False;
+ bool match = false;
if (!list)
- return False;
+ return false;
/*
* Process tokens one at a time. We have exhausted all possible matches
@@ -175,18 +175,18 @@ static BOOL list_match(TALLOC_CTX *mem_ctx, const char **list, struct client_add
for (; *list ; list++) {
if (strcmp(*list, "EXCEPT")==0) /* EXCEPT: give up */
break;
- if ((match = client_match(mem_ctx, *list, client))) /* True or FAIL */
+ if ((match = client_match(mem_ctx, *list, client))) /* true or FAIL */
break;
}
- /* Process exceptions to True or FAIL matches. */
- if (match != False) {
+ /* Process exceptions to true or FAIL matches. */
+ if (match != false) {
while (*list && strcmp(*list, "EXCEPT")!=0)
list++;
for (; *list; list++) {
if (client_match(mem_ctx, *list, client)) /* Exception Found */
- return False;
+ return false;
}
}
@@ -194,7 +194,7 @@ static BOOL list_match(TALLOC_CTX *mem_ctx, const char **list, struct client_add
}
/* return true if access should be allowed */
-static BOOL allow_access_internal(TALLOC_CTX *mem_ctx,
+static bool allow_access_internal(TALLOC_CTX *mem_ctx,
const char **deny_list,const char **allow_list,
const char *cname, const char *caddr)
{
@@ -213,15 +213,15 @@ static BOOL allow_access_internal(TALLOC_CTX *mem_ctx,
list_match(mem_ctx, deny_list, &client) &&
(!allow_list ||
!list_match(mem_ctx, allow_list, &client))) {
- return False;
+ return false;
}
- return True;
+ return true;
}
/* if theres no deny list and no allow list then allow access */
if ((!deny_list || *deny_list == 0) &&
(!allow_list || *allow_list == 0)) {
- return True;
+ return true;
}
/* if there is an allow list but no deny list then allow only hosts
@@ -237,27 +237,27 @@ static BOOL allow_access_internal(TALLOC_CTX *mem_ctx,
/* if there are both types of list then allow all hosts on the
allow list */
if (list_match(mem_ctx, allow_list, &client))
- return True;
+ return true;
/* if there are both types of list and it's not on the allow then
allow it if its not on the deny */
if (list_match(mem_ctx, deny_list, &client))
- return False;
+ return false;
- return True;
+ return true;
}
/* return true if access should be allowed */
-BOOL allow_access(TALLOC_CTX *mem_ctx,
+bool allow_access(TALLOC_CTX *mem_ctx,
const char **deny_list, const char **allow_list,
const char *cname, const char *caddr)
{
- BOOL ret;
+ bool ret;
char *nc_cname = talloc_strdup(mem_ctx, cname);
char *nc_caddr = talloc_strdup(mem_ctx, caddr);
if (!nc_cname || !nc_caddr) {
- return False;
+ return false;
}
ret = allow_access_internal(mem_ctx, deny_list, allow_list, nc_cname, nc_caddr);
@@ -271,12 +271,12 @@ BOOL allow_access(TALLOC_CTX *mem_ctx,
/* return true if the char* contains ip addrs only. Used to avoid
gethostbyaddr() calls */
-static BOOL only_ipaddrs_in_list(const char** list)
+static bool only_ipaddrs_in_list(const char** list)
{
- BOOL only_ip = True;
+ bool only_ip = true;
if (!list)
- return True;
+ return true;
for (; *list ; list++) {
/* factor out the special strings */
@@ -293,7 +293,7 @@ static BOOL only_ipaddrs_in_list(const char** list)
* have a '/' in them
*/
if ((strchr(*list, '/')) == NULL) {
- only_ip = False;
+ only_ip = false;
DEBUG(3,("only_ipaddrs_in_list: list has non-ip address (%s)\n", *list));
break;
}
@@ -304,30 +304,30 @@ static BOOL only_ipaddrs_in_list(const char** list)
}
/* return true if access should be allowed to a service for a socket */
-BOOL socket_check_access(struct socket_context *sock,
+bool socket_check_access(struct socket_context *sock,
const char *service_name,
const char **allow_list, const char **deny_list)
{
- BOOL ret;
+ bool ret;
const char *name="";
struct socket_address *addr;
TALLOC_CTX *mem_ctx;
if ((!deny_list || *deny_list==0) &&
(!allow_list || *allow_list==0)) {
- return True;
+ return true;
}
mem_ctx = talloc_init("socket_check_access");
if (!mem_ctx) {
- return False;
+ return false;
}
addr = socket_get_peer_addr(sock, mem_ctx);
if (!addr) {
DEBUG(0,("socket_check_access: Denied connection from unknown host: could not get peer address from kernel\n"));
talloc_free(mem_ctx);
- return False;
+ return false;
}
/* bypass gethostbyaddr() calls if the lists only contain IP addrs */
@@ -342,7 +342,7 @@ BOOL socket_check_access(struct socket_context *sock,
if (!addr) {
DEBUG(0,("socket_check_access: Denied connection from unknown host\n"));
talloc_free(mem_ctx);
- return False;
+ return false;
}
ret = allow_access(mem_ctx, deny_list, allow_list, name, addr->addr);