diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-12-20 11:54:26 +0100 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-12-20 11:54:35 +0100 |
commit | 57d871ad46bfaed44e556cb872f4bfab1004d9e1 (patch) | |
tree | 05aba4c451f5d6a7025db633d22c556f55d9f351 /lib | |
parent | 06366c172c487b3038b52e8fe640747b4092a544 (diff) | |
parent | 95b9dfb393232f384ccfc671971a0a9387e138d4 (diff) |
Merge branch 'master' of git://dev.medozas.de/ipset into ipset-5
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/data.c | 92 | ||||
-rw-r--r-- | lib/mnl.c | 2 | ||||
-rw-r--r-- | lib/parse.c | 10 | ||||
-rw-r--r-- | lib/print.c | 2 | ||||
-rw-r--r-- | lib/session.c | 24 | ||||
-rw-r--r-- | lib/types.c | 10 |
6 files changed, 70 insertions, 70 deletions
@@ -72,20 +72,20 @@ struct ipset_data { char name[IPSET_MAXNAMELEN]; char nameref[IPSET_MAXNAMELEN]; } adt; - } u; + }; }; static void copy_addr(uint8_t family, union nf_inet_addr *ip, const void *value) { if (family == AF_INET) - in4cpy(&ip->in, (const struct in_addr *)value); + in4cpy(&ip->in, value); else - in6cpy(&ip->in6, (const struct in6_addr *)value); + in6cpy(&ip->in6, value); } /** - * ipset_strncpy - copy the string from src to dst + * ipset_strlcpy - copy the string from src to dst * @dst: the target string buffer * @src: the source string buffer * @len: the length of bytes to copy, including the terminating null byte. @@ -94,7 +94,7 @@ copy_addr(uint8_t family, union nf_inet_addr *ip, const void *value) * copied. The target is unconditionally terminated by the null byte. */ void -ipset_strncpy(char *dst, const char *src, size_t len) +ipset_strlcpy(char *dst, const char *src, size_t len) { assert(dst); assert(src); @@ -199,7 +199,7 @@ ipset_data_set(struct ipset_data *data, enum ipset_opt opt, const void *value) switch (opt) { /* Common ones */ case IPSET_SETNAME: - ipset_strncpy(data->setname, value, IPSET_MAXNAMELEN); + ipset_strlcpy(data->setname, value, IPSET_MAXNAMELEN); break; case IPSET_OPT_TYPE: data->type = value; @@ -233,71 +233,71 @@ ipset_data_set(struct ipset_data *data, enum ipset_opt opt, const void *value) break; /* Create-specific options */ case IPSET_OPT_GC: - data->u.create.gc = *(const uint32_t *) value; + data->create.gc = *(const uint32_t *) value; break; case IPSET_OPT_HASHSIZE: - data->u.create.hashsize = *(const uint32_t *) value; + data->create.hashsize = *(const uint32_t *) value; break; case IPSET_OPT_MAXELEM: - data->u.create.maxelem = *(const uint32_t *) value; + data->create.maxelem = *(const uint32_t *) value; break; case IPSET_OPT_NETMASK: - data->u.create.netmask = *(const uint8_t *) value; + data->create.netmask = *(const uint8_t *) value; break; case IPSET_OPT_PROBES: - data->u.create.probes = *(const uint8_t *) value; + data->create.probes = *(const uint8_t *) value; break; case IPSET_OPT_RESIZE: - data->u.create.resize = *(const uint8_t *) value; + data->create.resize = *(const uint8_t *) value; break; case IPSET_OPT_SIZE: - data->u.create.size = *(const uint32_t *) value; + data->create.size = *(const uint32_t *) value; break; /* Create-specific options, filled out by the kernel */ case IPSET_OPT_ELEMENTS: - data->u.create.elements = *(const uint32_t *) value; + data->create.elements = *(const uint32_t *) value; break; case IPSET_OPT_REFERENCES: - data->u.create.references = *(const uint32_t *) value; + data->create.references = *(const uint32_t *) value; break; case IPSET_OPT_MEMSIZE: - data->u.create.memsize = *(const uint32_t *) value; + data->create.memsize = *(const uint32_t *) value; break; /* Create-specific options, type */ case IPSET_OPT_TYPENAME: - ipset_strncpy(data->u.create.typename, value, + ipset_strlcpy(data->create.typename, value, IPSET_MAXNAMELEN); break; case IPSET_OPT_REVISION: - data->u.create.revision = *(const uint8_t *) value; + data->create.revision = *(const uint8_t *) value; break; case IPSET_OPT_REVISION_MIN: - data->u.create.revision_min = *(const uint8_t *) value; + data->create.revision_min = *(const uint8_t *) value; break; /* ADT-specific options */ case IPSET_OPT_ETHER: - memcpy(data->u.adt.ether, value, ETH_ALEN); + memcpy(data->adt.ether, value, ETH_ALEN); break; case IPSET_OPT_NAME: - ipset_strncpy(data->u.adt.name, value, IPSET_MAXNAMELEN); + ipset_strlcpy(data->adt.name, value, IPSET_MAXNAMELEN); break; case IPSET_OPT_NAMEREF: - ipset_strncpy(data->u.adt.nameref, value, IPSET_MAXNAMELEN); + ipset_strlcpy(data->adt.nameref, value, IPSET_MAXNAMELEN); break; case IPSET_OPT_IP2: if (!(data->family == AF_INET || data->family == AF_INET6)) return -1; - copy_addr(data->family, &data->u.adt.ip2, value); + copy_addr(data->family, &data->adt.ip2, value); break; case IPSET_OPT_CIDR2: - data->u.adt.cidr2 = *(const uint8_t *) value; + data->adt.cidr2 = *(const uint8_t *) value; break; case IPSET_OPT_PROTO: - data->u.adt.proto = *(const uint8_t *) value; + data->adt.proto = *(const uint8_t *) value; break; /* Swap/rename */ case IPSET_OPT_SETNAME2: - ipset_strncpy(data->u.setname2, value, IPSET_MAXNAMELEN); + ipset_strlcpy(data->setname2, value, IPSET_MAXNAMELEN); break; /* flags */ case IPSET_OPT_EXIST: @@ -348,7 +348,7 @@ ipset_data_get(const struct ipset_data *data, enum ipset_opt opt) if (ipset_data_test(data, IPSET_OPT_TYPE)) return data->type->name; else if (ipset_data_test(data, IPSET_OPT_TYPENAME)) - return data->u.create.typename; + return data->create.typename; return NULL; case IPSET_OPT_FAMILY: return &data->family; @@ -367,47 +367,47 @@ ipset_data_get(const struct ipset_data *data, enum ipset_opt opt) return &data->timeout; /* Create-specific options */ case IPSET_OPT_GC: - return &data->u.create.gc; + return &data->create.gc; case IPSET_OPT_HASHSIZE: - return &data->u.create.hashsize; + return &data->create.hashsize; case IPSET_OPT_MAXELEM: - return &data->u.create.maxelem; + return &data->create.maxelem; case IPSET_OPT_NETMASK: - return &data->u.create.netmask; + return &data->create.netmask; case IPSET_OPT_PROBES: - return &data->u.create.probes; + return &data->create.probes; case IPSET_OPT_RESIZE: - return &data->u.create.resize; + return &data->create.resize; case IPSET_OPT_SIZE: - return &data->u.create.size; + return &data->create.size; /* Create-specific options, filled out by the kernel */ case IPSET_OPT_ELEMENTS: - return &data->u.create.elements; + return &data->create.elements; case IPSET_OPT_REFERENCES: - return &data->u.create.references; + return &data->create.references; case IPSET_OPT_MEMSIZE: - return &data->u.create.memsize; + return &data->create.memsize; /* Create-specific options, TYPE */ case IPSET_OPT_REVISION: - return &data->u.create.revision; + return &data->create.revision; case IPSET_OPT_REVISION_MIN: - return &data->u.create.revision_min; + return &data->create.revision_min; /* ADT-specific options */ case IPSET_OPT_ETHER: - return data->u.adt.ether; + return data->adt.ether; case IPSET_OPT_NAME: - return data->u.adt.name; + return data->adt.name; case IPSET_OPT_NAMEREF: - return data->u.adt.nameref; + return data->adt.nameref; case IPSET_OPT_IP2: - return &data->u.adt.ip2; + return &data->adt.ip2; case IPSET_OPT_CIDR2: - return &data->u.adt.cidr2; + return &data->adt.cidr2; case IPSET_OPT_PROTO: - return &data->u.adt.proto; + return &data->adt.proto; /* Swap/rename */ case IPSET_OPT_SETNAME2: - return data->u.setname2; + return data->setname2; /* flags */ case IPSET_OPT_FLAGS: case IPSET_OPT_EXIST: @@ -31,7 +31,7 @@ struct ipset_handle { }; /* Netlink flags of the commands */ -static uint16_t cmdflags[] = { +static const uint16_t cmdflags[] = { [IPSET_CMD_CREATE-1] = NLM_F_REQUEST|NLM_F_ACK|NLM_F_CREATE|NLM_F_EXCL, [IPSET_CMD_DESTROY-1] = NLM_F_REQUEST|NLM_F_ACK, [IPSET_CMD_FLUSH-1] = NLM_F_REQUEST|NLM_F_ACK, diff --git a/lib/parse.c b/lib/parse.c index 01b0ccf..169d2e0 100644 --- a/lib/parse.c +++ b/lib/parse.c @@ -48,7 +48,7 @@ ipset_strchr(const char *str, const char *sep) assert(sep); for (; *sep != '\0'; sep++) - if ((match = strchr(str, (int)sep[0])) != NULL + if ((match = strchr(str, sep[0])) != NULL && str[0] != sep[0] && str[strlen(str)-1] != sep[0]) return match; @@ -103,7 +103,7 @@ string_to_u8(struct ipset_session *session, unsigned long long num = 0; err = string_to_number_ll(session, str, 0, 255, &num); - *ret = (uint8_t) num; + *ret = num; return err; } @@ -129,7 +129,7 @@ string_to_u16(struct ipset_session *session, unsigned long long num = 0; err = string_to_number_ll(session, str, 0, USHRT_MAX, &num); - *ret = (uint16_t) num; + *ret = num; return err; } @@ -142,7 +142,7 @@ string_to_u32(struct ipset_session *session, unsigned long long num = 0; err = string_to_number_ll(session, str, 0, UINT_MAX, &num); - *ret = (uint32_t) num; + *ret = num; return err; } @@ -345,7 +345,7 @@ int ipset_parse_proto(struct ipset_session *session, enum ipset_opt opt, const char *str) { - struct protoent *protoent; + const struct protoent *protoent; uint8_t proto = 0; assert(session); diff --git a/lib/print.c b/lib/print.c index 87a9f2b..767fd04 100644 --- a/lib/print.c +++ b/lib/print.c @@ -454,7 +454,7 @@ ipset_print_proto(char *buf, unsigned int len, const struct ipset_data *data, enum ipset_opt opt, uint8_t env UNUSED) { - struct protoent *protoent; + const struct protoent *protoent; uint8_t proto; assert(buf); diff --git a/lib/session.c b/lib/session.c index babd881..5d341ab 100644 --- a/lib/session.c +++ b/lib/session.c @@ -273,7 +273,7 @@ struct ipset_attr_policy { }; /* Attribute policies and mapping to options */ -const struct ipset_attr_policy cmd_attrs[] = { +static const struct ipset_attr_policy cmd_attrs[] = { [IPSET_ATTR_PROTOCOL] = { .type = MNL_TYPE_U8, }, @@ -317,7 +317,7 @@ const struct ipset_attr_policy cmd_attrs[] = { }, }; -const struct ipset_attr_policy create_attrs[] = { +static const struct ipset_attr_policy create_attrs[] = { [IPSET_ATTR_IP] = { .type = MNL_TYPE_NESTED, .opt = IPSET_OPT_IP, @@ -392,7 +392,7 @@ const struct ipset_attr_policy create_attrs[] = { }, }; -const struct ipset_attr_policy adt_attrs[] = { +static const struct ipset_attr_policy adt_attrs[] = { [IPSET_ATTR_IP] = { .type = MNL_TYPE_NESTED, .opt = IPSET_OPT_IP, @@ -454,7 +454,7 @@ const struct ipset_attr_policy adt_attrs[] = { }, }; -const struct ipset_attr_policy ipaddr_attrs[] = { +static const struct ipset_attr_policy ipaddr_attrs[] = { [IPSET_ATTR_IPADDR_IPV4] = { .type = MNL_TYPE_U32, }, @@ -468,7 +468,7 @@ static int generic_data_attr_cb(const struct nlattr *attr, void *data, int attr_max, const struct ipset_attr_policy *policy) { - const struct nlattr **tb = (const struct nlattr **)data; + const struct nlattr **tb = data; int type = mnl_attr_get_type(attr); D("attr type: %u, len %u", type, attr->nla_len); @@ -690,7 +690,7 @@ retry: static int list_adt(struct ipset_session *session, struct nlattr *nla[]) { - struct ipset_data *data = session->data; + const struct ipset_data *data = session->data; const struct ipset_type *type; const struct ipset_arg *arg; uint8_t family; @@ -774,7 +774,7 @@ list_adt(struct ipset_session *session, struct nlattr *nla[]) static int list_create(struct ipset_session *session, struct nlattr *nla[]) { - struct ipset_data *data = session->data; + const struct ipset_data *data = session->data; const struct ipset_type *type; const struct ipset_arg *arg; uint8_t family; @@ -1016,7 +1016,7 @@ static int callback_header(struct ipset_session *session, struct nlattr *nla[]) { const char *setname; - struct ipset_data *data = session->data; + const struct ipset_data *data = session->data; if (!nla[IPSET_ATTR_SETNAME]) FAILURE("Broken HEADER kernel message: missing setname!"); @@ -1047,7 +1047,7 @@ callback_header(struct ipset_session *session, struct nlattr *nla[]) static int callback_type(struct ipset_session *session, struct nlattr *nla[]) { - struct ipset_data *data = session->data; + const struct ipset_data *data = session->data; const char *typename, *orig; if (!(nla[IPSET_ATTR_TYPENAME] @@ -1464,7 +1464,7 @@ static int build_send_private_msg(struct ipset_session *session, enum ipset_cmd cmd) { char buffer[PRIVATE_MSG_BUFLEN] __attribute__ ((aligned)); - struct nlmsghdr *nlh = (struct nlmsghdr *) (void *) buffer; + struct nlmsghdr *nlh = (void *)buffer; struct ipset_data *data = session->data; int len = PRIVATE_MSG_BUFLEN, ret; enum ipset_cmd saved = session->cmd; @@ -1521,7 +1521,7 @@ may_aggregate_ad(struct ipset_session *session, struct ipset_data *data, static int build_msg(struct ipset_session *session, bool aggregate) { - struct nlmsghdr *nlh = (struct nlmsghdr *) session->buffer; + struct nlmsghdr *nlh = session->buffer; struct ipset_data *data = session->data; /* Public commands */ @@ -1678,7 +1678,7 @@ ipset_commit(struct ipset_session *session) assert(session); - nlh = (struct nlmsghdr *) session->buffer; + nlh = session->buffer; D("send buffer: len %u, cmd %s", nlh->nlmsg_len, cmd2name[session->cmd]); if (nlh->nlmsg_len == 0) /* Nothing to do */ diff --git a/lib/types.c b/lib/types.c index 3034477..1bd4274 100644 --- a/lib/types.c +++ b/lib/types.c @@ -54,7 +54,7 @@ ipset_cache_add(const char *name, const struct ipset_type *type, if (n == NULL) return -ENOMEM; - ipset_strncpy(n->name, name, IPSET_MAXNAMELEN); + ipset_strlcpy(n->name, name, IPSET_MAXNAMELEN); n->type = type; n->family = family; n->next = NULL; @@ -133,7 +133,7 @@ ipset_cache_rename(const char *from, const char *to) for (s = setlist; s != NULL; s = s->next) { if (STREQ(s->name, from)) { - ipset_strncpy(s->name, to, IPSET_MAXNAMELEN); + ipset_strlcpy(s->name, to, IPSET_MAXNAMELEN); return 0; } } @@ -164,8 +164,8 @@ ipset_cache_swap(const char *from, const char *to) b = s; } if (a != NULL && b != NULL) { - ipset_strncpy(a->name, to, IPSET_MAXNAMELEN); - ipset_strncpy(b->name, from, IPSET_MAXNAMELEN); + ipset_strlcpy(a->name, to, IPSET_MAXNAMELEN); + ipset_strlcpy(b->name, from, IPSET_MAXNAMELEN); return 0; } @@ -393,7 +393,7 @@ ipset_type_get(struct ipset_session *session, enum ipset_cmd cmd) const struct ipset_type * ipset_type_check(struct ipset_session *session) { - struct ipset_type *t, *match = NULL; + const struct ipset_type *t, *match = NULL; struct ipset_data *data; const char *typename; uint8_t family, revision; |