summaryrefslogtreecommitdiffstats
path: root/avahi-core/entry.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2005-11-08 23:37:05 +0000
committerLennart Poettering <lennart@poettering.net>2005-11-08 23:37:05 +0000
commit82244abd57cf04d554b3ab0fa92642d73d80b5c1 (patch)
tree380cf9fd565268ac593ea2997fc2624f018d94f7 /avahi-core/entry.c
parent55357e3c75438ce83553d1c43d47e53eb7919d74 (diff)
* Do not allow adding RRs to entry groups that are already commited
* Reword some misleading log messages git-svn-id: file:///home/lennart/svn/public/avahi/trunk@939 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'avahi-core/entry.c')
-rw-r--r--avahi-core/entry.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/avahi-core/entry.c b/avahi-core/entry.c
index f65f7b1..d294647 100644
--- a/avahi-core/entry.c
+++ b/avahi-core/entry.c
@@ -187,6 +187,7 @@ static AvahiEntry * server_add_internal(
assert(s);
assert(r);
+ AVAHI_CHECK_VALIDITY_RETURN_NULL(s, s->state != AVAHI_SERVER_FAILURE && s->state != AVAHI_SERVER_INVALID, AVAHI_ERR_BAD_STATE);
AVAHI_CHECK_VALIDITY_RETURN_NULL(s, AVAHI_IF_VALID(interface), AVAHI_ERR_INVALID_INTERFACE);
AVAHI_CHECK_VALIDITY_RETURN_NULL(s, AVAHI_PROTO_VALID(protocol), AVAHI_ERR_INVALID_PROTOCOL);
AVAHI_CHECK_VALIDITY_RETURN_NULL(s, AVAHI_FLAGS_VALID(
@@ -215,6 +216,7 @@ static AvahiEntry * server_add_internal(
transport_flags_from_domain(s, &flags, r->key->name);
AVAHI_CHECK_VALIDITY_RETURN_NULL(s, flags & AVAHI_PUBLISH_USE_MULTICAST, AVAHI_ERR_NOT_SUPPORTED);
AVAHI_CHECK_VALIDITY_RETURN_NULL(s, !s->config.disable_publishing, AVAHI_ERR_NOT_PERMITTED);
+ AVAHI_CHECK_VALIDITY_RETURN_NULL(s, !g || (g->state != AVAHI_ENTRY_GROUP_ESTABLISHED && g->state != AVAHI_ENTRY_GROUP_REGISTERING), AVAHI_ERR_BAD_STATE);
if (flags & AVAHI_PUBLISH_UPDATE) {
AvahiRecord *old_record;