int key_type;
u_int digest_len;
#ifdef OPENSSL /* --*-- OpenSSL code --*-- */
+ const u_long max_digest_len = MAX_MAC_LEN - sizeof(keyid_t);
char * upcased;
char * pch;
EVP_MD const * md;
used to select the program, defaulting to <samp><span class="file">more</span></samp>. Both will exit
with a status code of 0.
-<pre class="example">ntpd - NTP daemon program - Ver. 4.2.8p10-x
+<pre class="example">ntpd - NTP daemon program - Ver. 4.2.8p10
Usage: ntpd [ -<flag> [<val>] | --<name>[{=| }<val>] ]... \
[ <server1> ... <serverN> ]
Flg Arg Option-Name Description
size_t len, n, digest_len;
const char *name, **seen;
struct hstate *hstate = arg;
+ char *cp;
/* m is MD obj, from is name or alias, to is base name for alias */
if (!m || !from || to) {
used to select the program, defaulting to <samp><span class="file">more</span></samp>. Both will exit
with a status code of 0.
-<pre class="example">ntpq - standard NTP query program - Ver. 4.2.8p10-x
+<pre class="example">ntpq - standard NTP query program - Ver. 4.2.8p10
Usage: ntpq [ -<flag> [<val>] | --<name>[{=| }<val>] ]... [ host ...]
Flg Arg Option-Name Description
-4 no ipv4 Force IPv4 name resolution
return 0;
INIT_SSL();
- key_type = keytype_from_text(cmp_key->type, NULL);
+ key_type = keytype_from_text(cmp_key->typen, NULL);
#ifdef OPENSSL
/* Check if CMAC key type specific code required */
if (!(ctx = EVP_MD_CTX_new())) {
fprintf(stderr, "make_mac: MAC %s Digest CTX new failed.\n",
- cmp_key->type);
+ cmp_key->typen);
msyslog(LOG_ERR, "make_mac: MAC %s Digest CTX new failed.",
- cmp_key->type);
+ cmp_key->typen);
len = 0;
}
#ifdef OPENSSL /* OpenSSL 1 supports return codes 0 fail, 1 okay */
else
if (!EVP_DigestInit(ctx, EVP_get_digestbynid(key_type))) {
fprintf(stderr, "make_mac: MAC %s Digest Init failed.\n",
- cmp_key->type);
+ cmp_key->typen);
msyslog(LOG_ERR, "make_mac: MAC %s Digest Init failed.",
- cmp_key->type);
+ cmp_key->typen);
len = 0;
} else
if (!EVP_DigestUpdate(ctx, (const u_char *)cmp_key->key_seq,
(u_int)cmp_key->key_len)) {
fprintf(stderr, "make_mac: MAC %s Digest Update key failed.\n",
- cmp_key->type);
+ cmp_key->typen);
msyslog(LOG_ERR, "make_mac: MAC %s Digest Update key failed.",
- cmp_key->type);
+ cmp_key->typen);
len = 0;
} else
if (!EVP_DigestUpdate(ctx, pkt_data, (u_int)pkt_size)) {
fprintf(stderr, "make_mac: MAC %s Digest Update data failed.\n",
- cmp_key->type);
+ cmp_key->typen);
msyslog(LOG_ERR, "make_mac: MAC %s Digest Update data failed.",
- cmp_key->type);
+ cmp_key->typen);
len = 0;
} else
if (!EVP_DigestFinal(ctx, digest, &len)) {
fprintf(stderr, "make_mac: MAC %s Digest Final failed.\n",
- cmp_key->type);
+ cmp_key->typen);
msyslog(LOG_ERR, "make_mac: MAC %s Digest Final failed.",
- cmp_key->type);
+ cmp_key->typen);
len = 0;
}
#else /* !OPENSSL */
if (octothorpe)
*octothorpe = '\0';
act = emalloc(sizeof(*act));
- /* keep width 15 = sizeof struct key.type - 1 synced */
+ /* keep width 15 = sizeof struct key.typen - 1 synced */
scan_cnt = sscanf(kbuf, "%d %15s %128s",
- &act->key_id, act->type, keystring);
+ &act->key_id, act->typen, keystring);
if (scan_cnt == 3) {
int len = strlen(keystring);
goodline = 1; /* assume best for now */
struct key * next;
int key_id;
int key_len;
- char type[16];
+ int typei;
+ char typen[20];
char key_seq[64];
};
cmac.key_id = 30;
cmac.key_len = CMAC_LENGTH;
memcpy(&cmac.key_seq, "aes-128-cmac-seq", cmac.key_len);
- memcpy(&cmac.type, CMAC, strlen(CMAC) + 1);
+ memcpy(&cmac.typen, CMAC, strlen(CMAC) + 1);
TEST_ASSERT_EQUAL(CMAC_LENGTH,
make_mac(PKT_DATA, PKT_LEN, CMAC_LENGTH, &cmac, actual));
cmac.key_id = 0;
cmac.key_len = CMAC_LENGTH;
memcpy(&cmac.key_seq, "aes-128-cmac-key", cmac.key_len);
- memcpy(&cmac.type, CMAC, strlen(CMAC) + 1);
+ memcpy(&cmac.typen, CMAC, strlen(CMAC) + 1);
TEST_ASSERT_TRUE(auth_md5(PKT_DATA, PKT_LEN, CMAC_LENGTH, &cmac));
key_ptr->next = NULL;
key_ptr->key_id = key_id;
key_ptr->key_len = key_len;
- memcpy(key_ptr->type, type, strlen(type) + 1);
+ memcpy(key_ptr->typen, type, strlen(type) + 1);
TEST_ASSERT_TRUE(key_len < sizeof(key_ptr->key_seq));
extern void tearDown(void);
extern void test_MakeMd5Mac(void);
extern void test_MakeSHA1Mac(void);
+extern void test_MakeCMac(void);
extern void test_VerifyCorrectMD5(void);
extern void test_VerifySHA1(void);
+extern void test_VerifyCMAC(void);
extern void test_VerifyFailure(void);
extern void test_PacketSizeNotMultipleOfFourBytes(void);
{
progname = argv[0];
UnityBegin("crypto.c");
- RUN_TEST(test_MakeMd5Mac, 12);
- RUN_TEST(test_MakeSHA1Mac, 13);
- RUN_TEST(test_VerifyCorrectMD5, 14);
- RUN_TEST(test_VerifySHA1, 15);
- RUN_TEST(test_VerifyFailure, 16);
- RUN_TEST(test_PacketSizeNotMultipleOfFourBytes, 17);
+ RUN_TEST(test_MakeMd5Mac, 15);
+ RUN_TEST(test_MakeSHA1Mac, 16);
+ RUN_TEST(test_MakeCMac, 17);
+ RUN_TEST(test_VerifyCorrectMD5, 18);
+ RUN_TEST(test_VerifySHA1, 19);
+ RUN_TEST(test_VerifyCMAC, 20);
+ RUN_TEST(test_VerifyFailure, 21);
+ RUN_TEST(test_PacketSizeNotMultipleOfFourBytes, 22);
return (UnityEnd());
}
extern void test_CorrectUnauthenticatedPacket(void);
extern void test_CorrectAuthenticatedPacketMD5(void);
extern void test_CorrectAuthenticatedPacketSHA1(void);
+extern void test_CorrectAuthenticatedPacketCMAC(void);
//=======Test Reset Option=====
{
progname = argv[0];
UnityBegin("packetProcessing.c");
- RUN_TEST(test_TooShortLength, 20);
- RUN_TEST(test_LengthNotMultipleOfFour, 21);
- RUN_TEST(test_TooShortExtensionFieldLength, 22);
- RUN_TEST(test_UnauthenticatedPacketReject, 23);
- RUN_TEST(test_CryptoNAKPacketReject, 24);
- RUN_TEST(test_AuthenticatedPacketInvalid, 25);
- RUN_TEST(test_AuthenticatedPacketUnknownKey, 26);
- RUN_TEST(test_ServerVersionTooOld, 27);
- RUN_TEST(test_ServerVersionTooNew, 28);
- RUN_TEST(test_NonWantedMode, 29);
- RUN_TEST(test_KoDRate, 30);
- RUN_TEST(test_KoDDeny, 31);
- RUN_TEST(test_RejectUnsyncedServer, 32);
- RUN_TEST(test_RejectWrongResponseServerMode, 33);
- RUN_TEST(test_AcceptNoSentPacketBroadcastMode, 34);
- RUN_TEST(test_CorrectUnauthenticatedPacket, 35);
- RUN_TEST(test_CorrectAuthenticatedPacketMD5, 36);
- RUN_TEST(test_CorrectAuthenticatedPacketSHA1, 37);
+ RUN_TEST(test_TooShortLength, 23);
+ RUN_TEST(test_LengthNotMultipleOfFour, 24);
+ RUN_TEST(test_TooShortExtensionFieldLength, 25);
+ RUN_TEST(test_UnauthenticatedPacketReject, 26);
+ RUN_TEST(test_CryptoNAKPacketReject, 27);
+ RUN_TEST(test_AuthenticatedPacketInvalid, 28);
+ RUN_TEST(test_AuthenticatedPacketUnknownKey, 29);
+ RUN_TEST(test_ServerVersionTooOld, 30);
+ RUN_TEST(test_ServerVersionTooNew, 31);
+ RUN_TEST(test_NonWantedMode, 32);
+ RUN_TEST(test_KoDRate, 33);
+ RUN_TEST(test_KoDDeny, 34);
+ RUN_TEST(test_RejectUnsyncedServer, 35);
+ RUN_TEST(test_RejectWrongResponseServerMode, 36);
+ RUN_TEST(test_AcceptNoSentPacketBroadcastMode, 37);
+ RUN_TEST(test_CorrectUnauthenticatedPacket, 38);
+ RUN_TEST(test_CorrectAuthenticatedPacketMD5, 39);
+ RUN_TEST(test_CorrectAuthenticatedPacketSHA1, 40);
+ RUN_TEST(test_CorrectAuthenticatedPacketCMAC, 41);
return (UnityEnd());
}