svn commit: r330706 - user/markj/netdump/sys/netinet/netdump
Mark Johnston
markj at FreeBSD.org
Fri Mar 9 22:34:44 UTC 2018
Author: markj
Date: Fri Mar 9 22:34:43 2018
New Revision: 330706
URL: https://svnweb.freebsd.org/changeset/base/330706
Log:
Add a new packet type for the symmetric key used in encrypted dumps.
Modified:
user/markj/netdump/sys/netinet/netdump/netdump.h
user/markj/netdump/sys/netinet/netdump/netdump_client.c
Modified: user/markj/netdump/sys/netinet/netdump/netdump.h
==============================================================================
--- user/markj/netdump/sys/netinet/netdump/netdump.h Fri Mar 9 21:32:07 2018 (r330705)
+++ user/markj/netdump/sys/netinet/netdump/netdump.h Fri Mar 9 22:34:43 2018 (r330706)
@@ -44,6 +44,7 @@
#define NETDUMP_FINISHED 2 /* Send after finishing a dump. */
#define NETDUMP_VMCORE 3 /* Contains dump data. */
#define NETDUMP_KDH 4 /* Contains kernel dump header. */
+#define NETDUMP_EKCD_KEY 5 /* Contains kernel dump key. */
#define NETDUMP_DATASIZE 4096 /* Arbitrary packet size limit. */
Modified: user/markj/netdump/sys/netinet/netdump/netdump_client.c
==============================================================================
--- user/markj/netdump/sys/netinet/netdump/netdump_client.c Fri Mar 9 21:32:07 2018 (r330705)
+++ user/markj/netdump/sys/netinet/netdump/netdump_client.c Fri Mar 9 22:34:43 2018 (r330706)
@@ -1006,14 +1006,17 @@ static int
netdump_write_headers(struct dumperinfo *di, struct kerneldumpheader *kdh,
void *key, uint32_t keysize)
{
+ int error;
- if (sizeof(*kdh) + keysize > sizeof(nd_buf))
- return (EINVAL);
-
memcpy(nd_buf, kdh, sizeof(*kdh));
- if (key != NULL)
- memcpy(nd_buf + sizeof(*kdh), key, keysize);
- return (netdump_send(NETDUMP_KDH, 0, nd_buf, sizeof(*kdh) + keysize));
+ error = netdump_send(NETDUMP_KDH, 0, nd_buf, sizeof(*kdh));
+ if (error == 0 && keysize > 0) {
+ if (keysize > sizeof(nd_buf))
+ return (EINVAL);
+ memcpy(nd_buf, key, keysize);
+ error = netdump_send(NETDUMP_EKCD_KEY, 0, nd_buf, keysize);
+ }
+ return (error);
}
/*
More information about the svn-src-user
mailing list