Commits

Anonymous committed 87a8823

Warn about auth blocks after a *@* auth and duplicate auth blocks.

  • Participants
  • Parent commits effa508

Comments (0)

Files changed (1)

 	collapse(yy_aconf->user);
 	collapse(yy_aconf->host);
 	conf_add_class_to_conf(yy_aconf);
-	add_conf_by_address(yy_aconf->host, CONF_CLIENT, yy_aconf->user, yy_aconf->spasswd, yy_aconf);
+	if (find_exact_conf_by_address("*", CONF_CLIENT, "*"))
+		conf_report_error("Ignoring redundant auth block (after *@*)");
+	else if (find_exact_conf_by_address(yy_aconf->host, CONF_CLIENT, yy_aconf->user))
+		conf_report_error("Ignoring duplicate auth block for %s@%s",
+				yy_aconf->user, yy_aconf->host);
+	else
+		add_conf_by_address(yy_aconf->host, CONF_CLIENT, yy_aconf->user, yy_aconf->spasswd, yy_aconf);
 
 	RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_aconf_list.head)
 	{
 
 		conf_add_class_to_conf(yy_tmp);
 
-		add_conf_by_address(yy_tmp->host, CONF_CLIENT, yy_tmp->user, yy_tmp->spasswd, yy_tmp);
+		if (find_exact_conf_by_address("*", CONF_CLIENT, "*"))
+			conf_report_error("Ignoring redundant auth block (after *@*)");
+		else if (find_exact_conf_by_address(yy_tmp->host, CONF_CLIENT, yy_tmp->user))
+			conf_report_error("Ignoring duplicate auth block for %s@%s",
+					yy_tmp->user, yy_tmp->host);
+		else
+			add_conf_by_address(yy_tmp->host, CONF_CLIENT, yy_tmp->user, yy_tmp->spasswd, yy_tmp);
 		rb_dlinkDestroy(ptr, &yy_aconf_list);
 	}