else if (line[0] == '-') {
if (strcmp(line+1, "NOUSER") == 0)
dsync_callback(client, "", DSYNC_REPLY_NOUSER);
+ else if (strcmp(line+1, "NOREPLICATE") == 0)
+ dsync_callback(client, "", DSYNC_REPLY_NOREPLICATE);
else
dsync_callback(client, "", DSYNC_REPLY_FAIL);
} else {
if (!replicator_user_unref(&user)) {
/* user was already removed */
- } else if (reply == DSYNC_REPLY_NOUSER) {
- /* user no longer exists, remove from replication */
+ } else if (reply == DSYNC_REPLY_NOUSER ||
+ reply == DSYNC_REPLY_NOREPLICATE) {
+ /* user no longer exists, or is not wanted for replication,
+ remove from replication */
replicator_queue_remove(ctx->brain->queue, &ctx->user);
} else {
i_free(ctx->user->state);