Module Name:    src
Committed By:   christos
Date:           Wed Jun 29 21:40:20 UTC 2016

Modified Files:
        src/usr.sbin/npf/npfctl: npfctl.c

Log Message:
use sha1 from libc


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/usr.sbin/npf/npfctl/npfctl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.sbin/npf/npfctl/npfctl.c
diff -u src/usr.sbin/npf/npfctl/npfctl.c:1.46 src/usr.sbin/npf/npfctl/npfctl.c:1.47
--- src/usr.sbin/npf/npfctl/npfctl.c:1.46	Sun Jan  4 15:02:15 2015
+++ src/usr.sbin/npf/npfctl/npfctl.c	Wed Jun 29 17:40:20 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: npfctl.c,v 1.46 2015/01/04 20:02:15 christos Exp $	*/
+/*	$NetBSD: npfctl.c,v 1.47 2016/06/29 21:40:20 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009-2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: npfctl.c,v 1.46 2015/01/04 20:02:15 christos Exp $");
+__RCSID("$NetBSD: npfctl.c,v 1.47 2016/06/29 21:40:20 christos Exp $");
 
 #include <sys/ioctl.h>
 #include <sys/stat.h>
@@ -44,8 +44,7 @@ __RCSID("$NetBSD: npfctl.c,v 1.46 2015/0
 #include <fcntl.h>
 #include <unistd.h>
 #include <errno.h>
-
-#include <openssl/sha.h>
+#include <sha1.h>
 
 #include "npfctl.h"
 
@@ -386,6 +385,17 @@ npfctl_parse_rule(int argc, char **argv)
 }
 
 static void
+SHA1(const uint8_t *d, unsigned int n, uint8_t *md)
+{
+    SHA1_CTX c;
+
+    SHA1Init(&c);
+    SHA1Update(&c, d, n);
+    SHA1Final(md, &c);
+    memset(&c, 0, sizeof(c));
+}
+
+static void
 npfctl_generate_key(nl_rule_t *rl, void *key)
 {
 	void *meta;
@@ -394,9 +404,9 @@ npfctl_generate_key(nl_rule_t *rl, void 
 	if ((meta = npf_rule_export(rl, &len)) == NULL) {
 		errx(EXIT_FAILURE, "error generating rule key");
 	}
-	__CTASSERT(NPF_RULE_MAXKEYLEN >= SHA_DIGEST_LENGTH);
+	__CTASSERT(NPF_RULE_MAXKEYLEN >= SHA1_DIGEST_LENGTH);
 	memset(key, 0, NPF_RULE_MAXKEYLEN);
-	SHA1(meta, len, key);
+	SHA1(meta, (unsigned int)len, key);
 	free(meta);
 }
 

Reply via email to