1. uranium
  2. shadowircd

Commits

William Pitcock  committed be4de15

Add certfp check to challenge too.

  • Participants
  • Parent commits 817df01
  • Branches trunk

Comments (0)

Files changed (1)

File modules/m_challenge.c

View file
 		return 0;
 	}
 
+	if (oper_p->certfp != NULL)
+	{
+		if (source_p->certfp == NULL || strcasecmp(source_p->certfp, oper_p->certfp))
+		{
+			sendto_one_numeric(source_p, ERR_NOOPERHOST, form_str(ERR_NOOPERHOST));
+			ilog(L_FOPER, "FAILED OPER (%s) by (%s!%s@%s) (%s) -- client certificate fingerprint mismatch",
+			     name, source_p->name,
+			     source_p->username, source_p->host, source_p->sockhost);
+
+			if(ConfigFileEntry.failed_oper_notice)
+			{
+				sendto_realops_snomask(SNO_GENERAL, L_ALL,
+						     "Failed OPER attempt - client certificate fingerprint mismatch by %s (%s@%s)",
+						     source_p->name, source_p->username, source_p->host);
+			}
+			return 0;
+		}
+	}
+
 	if(!generate_challenge(&challenge, &(source_p->localClient->challenge), oper_p->rsa_pubkey))
 	{
 		char *chal = challenge;