Index: generic/tlsDigest.c ================================================================== --- generic/tlsDigest.c +++ generic/tlsDigest.c @@ -53,11 +53,11 @@ } DigestState; /* *------------------------------------------------------------------- * - * Tls_DigestNew -- + * DigestStateNew -- * * This function creates a per-instance state data structure * * Returns: * Digest structure pointer @@ -65,11 +65,11 @@ * Side effects: * Creates structure * *------------------------------------------------------------------- */ -DigestState *Tls_DigestNew(Tcl_Interp *interp, int format) { +DigestState *DigestStateNew(Tcl_Interp *interp, int format) { DigestState *statePtr; statePtr = (DigestState *) ckalloc((unsigned) sizeof(DigestState)); if (statePtr != NULL) { memset(statePtr, 0, sizeof(DigestState)); @@ -89,11 +89,11 @@ } /* *------------------------------------------------------------------- * - * Tls_DigestFree -- + * DigestStateFree -- * * This function deletes a digest state structure * * Returns: * Nothing @@ -101,11 +101,11 @@ * Side effects: * Removes structure * *------------------------------------------------------------------- */ -void Tls_DigestFree(DigestState *statePtr) { +void DigestStateFree(DigestState *statePtr) { if (statePtr == (DigestState *) NULL) { return; } /* Remove pending timer */ @@ -129,11 +129,11 @@ /*******************************************************************/ /* *------------------------------------------------------------------- * - * Tls_DigestInit -- + * DigestInitialize -- * * Initialize a hash function * * Returns: * TCL_OK if successful or TCL_ERROR for failure with result set @@ -142,11 +142,11 @@ * Side effects: * No result or error message * *------------------------------------------------------------------- */ -int Tls_DigestInit(Tcl_Interp *interp, DigestState *statePtr, const EVP_MD *md, +int DigestInitialize(Tcl_Interp *interp, DigestState *statePtr, const EVP_MD *md, const EVP_CIPHER *cipher, Tcl_Obj *keyObj) { int key_len = 0, res = 0; const unsigned char *key = NULL; /* Create message digest context */ @@ -186,11 +186,11 @@ } /* *------------------------------------------------------------------- * - * Tls_DigestUpdate -- + * DigestUpdate -- * * Update a hash function with data * * Returns: * 1 if successful or 0 for failure @@ -198,11 +198,11 @@ * Side effects: * Adds buf data to hash function or sets result to error message * *------------------------------------------------------------------- */ -int Tls_DigestUpdate(DigestState *statePtr, char *buf, size_t read, int do_result) { +int DigestUpdate(DigestState *statePtr, char *buf, size_t read, int do_result) { int res = 0; if (statePtr->format & TYPE_MD) { res = EVP_DigestUpdate(statePtr->ctx, buf, read); } else if (statePtr->format & TYPE_HMAC) { @@ -218,11 +218,11 @@ } /* *------------------------------------------------------------------- * - * Tls_DigestFinialize -- + * DigestFinalize -- * * Finalize a hash function and return the message digest * * Returns: * TCL_OK if successful or TCL_ERROR for failure with result set @@ -231,11 +231,11 @@ * Side effects: * Sets result to message digest or an error message. * *------------------------------------------------------------------- */ -int Tls_DigestFinialize(Tcl_Interp *interp, DigestState *statePtr, Tcl_Obj **resultObj) { +int DigestFinalize(Tcl_Interp *interp, DigestState *statePtr, Tcl_Obj **resultObj) { unsigned char md_buf[EVP_MAX_MD_SIZE]; unsigned int md_len; int res = 0; /* Finalize hash function and calculate message digest */ @@ -350,20 +350,20 @@ if (!(statePtr->flags & CHAN_EOF)) { Tcl_Channel parent = Tcl_GetStackedChannel(statePtr->self); Tcl_Obj *resultObj; int written; - if (Digest_Finalize(statePtr->interp, statePtr, &resultObj) == TCL_OK) { + if (DigestFinalize(statePtr->interp, statePtr, &resultObj) == TCL_OK) { unsigned char *data = Tcl_GetByteArrayFromObj(resultObj, &written); Tcl_WriteRaw(parent, data, written); Tcl_DecrRefCount(resultObj); } statePtr->flags |= CHAN_EOF; } /* Clean-up */ - Tls_DigestFree(statePtr); + DigestStateFree(statePtr); return 0; } /* * Same as DigestCloseProc but with individual read and write close control @@ -409,11 +409,11 @@ read = Tcl_ReadRaw(parent, buf, toRead); /* Update hash function */ if (read > 0) { /* Have data */ - if (!Tls_DigestUpdate(statePtr, buf, (size_t) read, 0)) { + if (!DigestUpdate(statePtr, buf, (size_t) read, 0)) { Tcl_SetChannelError(statePtr->self, Tcl_ObjPrintf("Update failed: %s", REASON())); *errorCodePtr = EINVAL; return 0; } /* This is correct */ @@ -425,11 +425,11 @@ *errorCodePtr = Tcl_GetErrno(); } else if (!(statePtr->flags & CHAN_EOF)) { /* EOF */ Tcl_Obj *resultObj; - if (Tls_DigestFinialize(statePtr->interp, statePtr, &resultObj) == TCL_OK) { + if (DigestFinalize(statePtr->interp, statePtr, &resultObj) == TCL_OK) { unsigned char *data = Tcl_GetByteArrayFromObj(resultObj, &read); memcpy(buf, data, read); Tcl_DecrRefCount(resultObj); } else { @@ -467,11 +467,11 @@ if (toWrite <= 0 || statePtr->self == (Tcl_Channel) NULL) { return 0; } /* Update hash function */ - if (toWrite > 0 && !Tls_DigestUpdate(statePtr, buf, (size_t) toWrite, 0)) { + if (toWrite > 0 && !DigestUpdate(statePtr, buf, (size_t) toWrite, 0)) { Tcl_SetChannelError(statePtr->self, Tcl_ObjPrintf("Update failed: %s", REASON())); *errorCodePtr = EINVAL; return 0; } return toWrite; @@ -716,11 +716,11 @@ }; /* *---------------------------------------------------------------------- * - * Tls_DigestChannel -- + * DigestChannelHandler -- * * Create a stacked channel for a message digest transformation. * * Returns: * TCL_OK or TCL_ERROR @@ -729,11 +729,11 @@ * Adds transform to channel and sets result to channel id or error message. * *---------------------------------------------------------------------- */ static int -Tls_DigestChannel(Tcl_Interp *interp, const char *channel, const EVP_MD *md, +DigestChannelHandler(Tcl_Interp *interp, const char *channel, const EVP_MD *md, const EVP_CIPHER *cipher, int format, Tcl_Obj *keyObj) { int mode; /* OR-ed combination of TCL_READABLE and TCL_WRITABLE */ Tcl_Channel chan; DigestState *statePtr; @@ -750,19 +750,19 @@ /* Make sure to operate on the topmost channel */ chan = Tcl_GetTopChannel(chan); /* Create state data structure */ - if ((statePtr = Tls_DigestNew(interp, format)) == NULL) { + if ((statePtr = DigestStateNew(interp, format)) == NULL) { Tcl_AppendResult(interp, "Memory allocation error", (char *) NULL); return TCL_ERROR; } statePtr->self = chan; statePtr->mode = mode; /* Initialize hash function */ - if (Tls_DigestInit(interp, statePtr, md, cipher, keyObj) != TCL_OK) { + if (DigestInitialize(interp, statePtr, md, cipher, keyObj) != TCL_OK) { return TCL_ERROR; } /* Configure channel */ Tcl_SetChannelOption(interp, chan, "-translation", "binary"); @@ -771,11 +771,11 @@ } /* Stack channel, abort for error */ statePtr->self = Tcl_StackChannel(interp, &digestChannelType, (ClientData) statePtr, mode, chan); if (statePtr->self == (Tcl_Channel) NULL) { - Tls_DigestFree(statePtr); + DigestStateFree(statePtr); return TCL_ERROR; } /* Set result to channel Id */ Tcl_SetResult(interp, (char *) Tcl_GetChannelName(chan), TCL_VOLATILE); @@ -797,11 +797,11 @@ * Removes transform from channel or sets result to error message. * *---------------------------------------------------------------------- */ static int -UnstackObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { +DigestUnstackObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { Tcl_Channel chan; int mode; /* OR-ed combination of TCL_READABLE and TCL_WRITABLE */ /* Validate arg count */ if (objc != 2) { @@ -836,11 +836,11 @@ static const char *instance_fns [] = { "finalize", "update", NULL }; /* *------------------------------------------------------------------- * - * InstanceObjCmd -- + * DigestInstanceObjCmd -- * * Handler for digest command instances. Used to add data to hash * function or retrieve message digest. * * Returns: @@ -849,11 +849,11 @@ * Side effects: * Adds data to hash or returns message digest * *------------------------------------------------------------------- */ -int InstanceObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { +int DigestInstanceObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { DigestState *statePtr = (DigestState *) clientData; int fn, len = 0; char *buf = NULL; /* Validate arg count */ @@ -876,17 +876,17 @@ Tcl_WrongNumArgs(interp, 1, objv, "update data"); return TCL_ERROR; } /* Update hash function */ - if (!Tls_DigestUpdate(statePtr, buf, (size_t) len, 1)) { + if (!DigestUpdate(statePtr, buf, (size_t) len, 1)) { return TCL_ERROR; } } else { /* Finalize hash function and calculate message digest */ - if (Tls_DigestFinialize(interp, statePtr, NULL) != TCL_OK) { + if (DigestFinalize(interp, statePtr, NULL) != TCL_OK) { return TCL_ERROR; } Tcl_DeleteCommandFromToken(interp, statePtr->token); } @@ -894,11 +894,11 @@ } /* *------------------------------------------------------------------- * - * InstanceDelCallback -- + * DigestCommandDeleteHandler -- * * Callback to clean-up when digest instance command is deleted. * * Returns: * Nothing @@ -906,21 +906,21 @@ * Side effects: * Destroys state info structure * *------------------------------------------------------------------- */ -void InstanceDelCallback(ClientData clientData) { +void DigestCommandDeleteHandler(ClientData clientData) { DigestState *statePtr = (DigestState *) clientData; /* Clean-up */ - Tls_DigestFree(statePtr); + DigestStateFree(statePtr); } /* *------------------------------------------------------------------- * - * Tls_DigestInstance -- + * DigestCommandHandler -- * * Create command to allow user to add data to hash function. * * Returns: * TCL_OK or TCL_ERROR @@ -928,29 +928,29 @@ * Side effects: * Creates command or error message * *------------------------------------------------------------------- */ -int Tls_DigestInstance(Tcl_Interp *interp, Tcl_Obj *cmdObj, const EVP_MD *md, +int DigestCommandHandler(Tcl_Interp *interp, Tcl_Obj *cmdObj, const EVP_MD *md, const EVP_CIPHER *cipher, int format, Tcl_Obj *keyObj) { DigestState *statePtr; char *cmdName = Tcl_GetStringFromObj(cmdObj, NULL); /* Create state data structure */ - if ((statePtr = Tls_DigestNew(interp, format)) == NULL) { + if ((statePtr = DigestStateNew(interp, format)) == NULL) { Tcl_AppendResult(interp, "Memory allocation error", (char *) NULL); return TCL_ERROR; } /* Initialize hash function */ - if (Tls_DigestInit(interp, statePtr, md, cipher, keyObj) != TCL_OK) { + if (DigestInitialize(interp, statePtr, md, cipher, keyObj) != TCL_OK) { return TCL_ERROR; } /* Create instance command */ - statePtr->token = Tcl_CreateObjCommand(interp, cmdName, InstanceObjCmd, - (ClientData) statePtr, InstanceDelCallback); + statePtr->token = Tcl_CreateObjCommand(interp, cmdName, DigestInstanceObjCmd, + (ClientData) statePtr, DigestCommandDeleteHandler); /* Return command name */ Tcl_SetObjResult(interp, cmdObj); return TCL_OK; } @@ -959,11 +959,11 @@ /*******************************************************************/ /* *------------------------------------------------------------------- * - * Tls_DigestData -- + * DigestDataHandler -- * * Return message digest for data using user specified hash function. * * Returns: * TCL_OK or TCL_ERROR @@ -972,11 +972,11 @@ * Sets result to message digest or error message * *------------------------------------------------------------------- */ int -Tls_DigestData(Tcl_Interp *interp, Tcl_Obj *dataObj, const EVP_MD *md, +DigestDataHandler(Tcl_Interp *interp, Tcl_Obj *dataObj, const EVP_MD *md, const EVP_CIPHER *cipher, int format, Tcl_Obj *keyObj) { char *data; int data_len; DigestState *statePtr; @@ -986,34 +986,34 @@ Tcl_SetResult(interp, "No data", NULL); return TCL_ERROR; } /* Create state data structure */ - if ((statePtr = Tls_DigestNew(interp, format)) == NULL) { + if ((statePtr = DigestStateNew(interp, format)) == NULL) { Tcl_AppendResult(interp, "Memory allocation error", (char *) NULL); return TCL_ERROR; } /* Calc Digest, abort for error */ - if (Tls_DigestInit(interp, statePtr, md, cipher, keyObj) != TCL_OK || - Tls_DigestUpdate(statePtr, data, (size_t) data_len, 1) == 0 || - Tls_DigestFinialize(interp, statePtr, NULL) != TCL_OK) { - Tls_DigestFree(statePtr); + if (DigestInitialize(interp, statePtr, md, cipher, keyObj) != TCL_OK || + DigestUpdate(statePtr, data, (size_t) data_len, 1) == 0 || + DigestFinalize(interp, statePtr, NULL) != TCL_OK) { + DigestStateFree(statePtr); return TCL_ERROR; } /* Clean-up */ - Tls_DigestFree(statePtr); + DigestStateFree(statePtr); return TCL_OK; } /*******************************************************************/ /* *------------------------------------------------------------------- * - * Tls_DigestFile -- + * DigestFileHandler -- * * Return message digest for file using user specified hash function. * * Returns: * TCL_OK or TCL_ERROR @@ -1021,27 +1021,27 @@ * Side effects: * Result is message digest or error message * *------------------------------------------------------------------- */ -int Tls_DigestFile(Tcl_Interp *interp, Tcl_Obj *filename, const EVP_MD *md, +int DigestFileHandler(Tcl_Interp *interp, Tcl_Obj *filename, const EVP_MD *md, const EVP_CIPHER *cipher, int format, Tcl_Obj *keyObj) { DigestState *statePtr; Tcl_Channel chan = NULL; unsigned char buf[BUFFER_SIZE]; int res = TCL_OK, len; /* Create state data structure */ - if ((statePtr = Tls_DigestNew(interp, format)) == NULL) { + if ((statePtr = DigestStateNew(interp, format)) == NULL) { Tcl_AppendResult(interp, "Memory allocation error", (char *) NULL); return TCL_ERROR; } /* Open file channel, abort for error */ chan = Tcl_FSOpenFileChannel(interp, filename, "rb", 0444); if (chan == (Tcl_Channel) NULL) { - Tls_DigestFree(statePtr); + DigestStateFree(statePtr); return TCL_ERROR; } /* Configure channel */ if ((res = Tcl_SetChannelOption(interp, chan, "-translation", "binary")) == TCL_ERROR) { @@ -1048,36 +1048,36 @@ goto done; } Tcl_SetChannelBufferSize(chan, BUFFER_SIZE); /* Initialize hash function */ - if ((res = Tls_DigestInit(interp, statePtr, md, cipher, keyObj)) != TCL_OK) { + if ((res = DigestInitialize(interp, statePtr, md, cipher, keyObj)) != TCL_OK) { goto done; } /* Read file data and update hash function */ while (!Tcl_Eof(chan)) { len = Tcl_ReadRaw(chan, (char *) buf, BUFFER_SIZE); if (len > 0) { - if (!Tls_DigestUpdate(statePtr, &buf[0], (size_t) len, 1)) { + if (!DigestUpdate(statePtr, &buf[0], (size_t) len, 1)) { res = TCL_ERROR; goto done; } } } /* Finalize hash function and calculate message digest */ - res = Tls_DigestFinialize(interp, statePtr, NULL); + res = DigestFinalize(interp, statePtr, NULL); done: /* Close channel */ if (Tcl_Close(interp, chan) == TCL_ERROR) { res = TCL_ERROR; } /* Clean-up */ - Tls_DigestFree(statePtr); + DigestStateFree(statePtr); return res; } /*******************************************************************/ @@ -1116,11 +1116,11 @@ /* Optimal case for a digest and blob of data */ if (objc == 3 && type == TYPE_MD) { digestName = Tcl_GetStringFromObj(objv[1],NULL); if ((md = EVP_get_digestbyname(digestName)) != NULL) { - return Tls_DigestData(interp, objv[2], md, NULL, HEX_FORMAT | TYPE_MD, NULL); + return DigestDataHandler(interp, objv[2], md, NULL, HEX_FORMAT | TYPE_MD, NULL); } else { Tcl_AppendResult(interp, "Invalid digest \"", digestName, "\"", NULL); return TCL_ERROR; } } @@ -1189,17 +1189,17 @@ return TCL_ERROR; } /* Calc digest on file, stacked channel, using instance command, or data blob */ if (fileObj != NULL) { - res = Tls_DigestFile(interp, fileObj, md, cipher, format | type, keyObj); + res = DigestFileHandler(interp, fileObj, md, cipher, format | type, keyObj); } else if (channel != NULL) { - res = Tls_DigestChannel(interp, channel, md, cipher, format | type, keyObj); + res = DigestChannelHandler(interp, channel, md, cipher, format | type, keyObj); } else if (cmdObj != NULL) { - res = Tls_DigestInstance(interp, cmdObj, md, cipher, format | type, keyObj); + res = DigestCommandHandler(interp, cmdObj, md, cipher, format | type, keyObj); } else if (dataObj != NULL) { - res = Tls_DigestData(interp, dataObj, md, cipher, format | type, keyObj); + res = DigestDataHandler(interp, dataObj, md, cipher, format | type, keyObj); } return res; } /* @@ -1215,11 +1215,11 @@ * Side effects: * Sets result to message digest or error message * *------------------------------------------------------------------- */ -static int DigestObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { +static int MdObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { return DigestMain(TYPE_MD, interp, objc, objv); } static int CMACObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { return DigestMain(TYPE_CMAC, interp, objc, objv); @@ -1249,33 +1249,33 @@ Tcl_WrongNumArgs(interp, 1, objv, "data"); \ return TCL_ERROR; \ } \ } -int DigestMD4Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { - validate_argc(objc, objv); - return Tls_DigestData(interp, objv[1], EVP_md4(), NULL, HEX_FORMAT | TYPE_MD, NULL); -} - -int DigestMD5Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { - validate_argc(objc, objv); - return Tls_DigestData(interp, objv[1], EVP_md5(), NULL, HEX_FORMAT | TYPE_MD, NULL); -} - -int DigestSHA1Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { - validate_argc(objc, objv); - return Tls_DigestData(interp, objv[1], EVP_sha1(), NULL, HEX_FORMAT | TYPE_MD, NULL); -} - -int DigestSHA256Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { - validate_argc(objc, objv); - return Tls_DigestData(interp, objv[1], EVP_sha256(), NULL, HEX_FORMAT | TYPE_MD, NULL); -} - -int DigestSHA512Cmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { - validate_argc(objc, objv); - return Tls_DigestData(interp, objv[1], EVP_sha512(), NULL, HEX_FORMAT | TYPE_MD, NULL); +int MD4ObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { + validate_argc(objc, objv); + return DigestDataHandler(interp, objv[1], EVP_md4(), NULL, HEX_FORMAT | TYPE_MD, NULL); +} + +int MD5ObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { + validate_argc(objc, objv); + return DigestDataHandler(interp, objv[1], EVP_md5(), NULL, HEX_FORMAT | TYPE_MD, NULL); +} + +int SHA1ObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { + validate_argc(objc, objv); + return DigestDataHandler(interp, objv[1], EVP_sha1(), NULL, HEX_FORMAT | TYPE_MD, NULL); +} + +int SHA256ObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { + validate_argc(objc, objv); + return DigestDataHandler(interp, objv[1], EVP_sha256(), NULL, HEX_FORMAT | TYPE_MD, NULL); +} + +int SHA512ObjCmd(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *const objv[]) { + validate_argc(objc, objv); + return DigestDataHandler(interp, objv[1], EVP_sha512(), NULL, HEX_FORMAT | TYPE_MD, NULL); } /* *------------------------------------------------------------------- * @@ -1290,17 +1290,18 @@ * Creates commands * *------------------------------------------------------------------- */ int Tls_DigestCommands(Tcl_Interp *interp) { - Tcl_CreateObjCommand(interp, "tls::digest", DigestObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "tls::digest", MdObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "tls::md", MdObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); Tcl_CreateObjCommand(interp, "tls::cmac", CMACObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); Tcl_CreateObjCommand(interp, "tls::hmac", HMACObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); - Tcl_CreateObjCommand(interp, "tls::md4", DigestMD4Cmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); - Tcl_CreateObjCommand(interp, "tls::md5", DigestMD5Cmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); - Tcl_CreateObjCommand(interp, "tls::sha1", DigestSHA1Cmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); - Tcl_CreateObjCommand(interp, "tls::sha256", DigestSHA256Cmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); - Tcl_CreateObjCommand(interp, "tls::sha512", DigestSHA512Cmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); - Tcl_CreateObjCommand(interp, "tls::unstack", UnstackObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "tls::md4", MD4ObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "tls::md5", MD5ObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "tls::sha1", SHA1ObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "tls::sha256", SHA256ObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "tls::sha512", SHA512ObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); + Tcl_CreateObjCommand(interp, "tls::unstack", DigestUnstackObjCmd, (ClientData) 0, (Tcl_CmdDeleteProc *) NULL); return TCL_OK; } Index: tests/digest.csv ================================================================== --- tests/digest.csv +++ tests/digest.csv @@ -19,65 +19,65 @@ Digest Cmds,sha1 cmd,,,::tls::sha1 $test_data,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, Digest Cmds,sha256 cmd,,,::tls::sha256 $test_data,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, Digest Cmds,sha512 cmd,,,::tls::sha512 $test_data,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, ,,,,,,,,,, command,# Test digest command for channel,,,,,,,,, -Digest Chan,md4,,,read_chan ::tls::digest $test_file -digest md4,,,793399f792eca2752c6af3234ba70858,,, -Digest Chan,md5,,,read_chan ::tls::digest $test_file -digest md5,,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest Chan,sha1,,,read_chan ::tls::digest $test_file -digest sha1,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, -Digest Chan,sha256,,,read_chan ::tls::digest $test_file -digest sha256,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, -Digest Chan,sha512,,,read_chan ::tls::digest $test_file -digest sha512,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, -Digest Chan,md5 bin,,,binary encode hex [read_chan ::tls::digest $test_file -bin -digest md5],,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest Chan,md5 hex,,,read_chan ::tls::digest $test_file -hex -digest md5,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Chan,md4,,,read_chan ::tls::md $test_file -digest md4,,,793399f792eca2752c6af3234ba70858,,, +Digest Chan,md5,,,read_chan ::tls::md $test_file -digest md5,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Chan,sha1,,,read_chan ::tls::md $test_file -digest sha1,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, +Digest Chan,sha256,,,read_chan ::tls::md $test_file -digest sha256,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, +Digest Chan,sha512,,,read_chan ::tls::md $test_file -digest sha512,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, +Digest Chan,md5 bin,,,binary encode hex [read_chan ::tls::md $test_file -bin -digest md5],,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Chan,md5 hex,,,read_chan ::tls::md $test_file -hex -digest md5,,,962bf0803b4232ec23bd8427bb94ea09,,, ,,,,,,,,,, command,# Test digest command for object command,,,,,,,,, -Digest Command,md4,,,accumulate $test_data ::tls::digest -digest md4,,,793399f792eca2752c6af3234ba70858,,, -Digest Command,md5,,,accumulate $test_data ::tls::digest -digest md5,,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest Command,sha1,,,accumulate $test_data ::tls::digest -digest sha1,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, -Digest Command,sha256,,,accumulate $test_data ::tls::digest -digest sha256,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, -Digest Command,sha512,,,accumulate $test_data ::tls::digest -digest sha512,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, -Digest Command,md5 bin,,,binary encode hex [accumulate $test_data ::tls::digest -digest md5 -bin],,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest Command,md5 hex,,,accumulate $test_data ::tls::digest -digest md5 -hex,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Command,md4,,,accumulate $test_data ::tls::md -digest md4,,,793399f792eca2752c6af3234ba70858,,, +Digest Command,md5,,,accumulate $test_data ::tls::md -digest md5,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Command,sha1,,,accumulate $test_data ::tls::md -digest sha1,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, +Digest Command,sha256,,,accumulate $test_data ::tls::md -digest sha256,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, +Digest Command,sha512,,,accumulate $test_data ::tls::md -digest sha512,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, +Digest Command,md5 bin,,,binary encode hex [accumulate $test_data ::tls::md -digest md5 -bin],,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Command,md5 hex,,,accumulate $test_data ::tls::md -digest md5 -hex,,,962bf0803b4232ec23bd8427bb94ea09,,, ,,,,,,,,,, command,# Test digest command for data shortcut,,,,,,,,, -Digest Data,md4,,,::tls::digest md4 $test_data,,,793399f792eca2752c6af3234ba70858,,, -Digest Data,md5,,,::tls::digest md5 $test_data,,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest Data,sha1,,,::tls::digest sha1 $test_data,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, -Digest Data,sha256,,,::tls::digest sha256 $test_data,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, -Digest Data,sha512,,,::tls::digest sha512 $test_data,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, +Digest Data,md4,,,::tls::md md4 $test_data,,,793399f792eca2752c6af3234ba70858,,, +Digest Data,md5,,,::tls::md md5 $test_data,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Data,sha1,,,::tls::md sha1 $test_data,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, +Digest Data,sha256,,,::tls::md sha256 $test_data,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, +Digest Data,sha512,,,::tls::md sha512 $test_data,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, ,,,,,,,,,, command,# Test digest command for data,,,,,,,,, -Digest Data,md4,,,::tls::digest -digest md4 -data $test_data,,,793399f792eca2752c6af3234ba70858,,, -Digest Data,md5,,,::tls::digest -digest md5 -data $test_data,,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest Data,sha1,,,::tls::digest -digest sha1 -data $test_data,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, -Digest Data,sha256,,,::tls::digest -digest sha256 -data $test_data,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, -Digest Data,sha512,,,::tls::digest -digest sha512 -data $test_data,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, -Digest Data,md5 bin,,,binary encode hex [::tls::digest -digest md5 -data $test_data -bin],,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest Data,md5 hex,,,::tls::digest -digest md5 -data $test_data -hex,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Data,md4,,,::tls::md -digest md4 -data $test_data,,,793399f792eca2752c6af3234ba70858,,, +Digest Data,md5,,,::tls::md -digest md5 -data $test_data,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Data,sha1,,,::tls::md -digest sha1 -data $test_data,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, +Digest Data,sha256,,,::tls::md -digest sha256 -data $test_data,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, +Digest Data,sha512,,,::tls::md -digest sha512 -data $test_data,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, +Digest Data,md5 bin,,,binary encode hex [::tls::md -digest md5 -data $test_data -bin],,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest Data,md5 hex,,,::tls::md -digest md5 -data $test_data -hex,,,962bf0803b4232ec23bd8427bb94ea09,,, ,,,,,,,,,, command,# Test digest command for file,,,,,,,,, -Digest File,md4,,,::tls::digest -digest md4 -file $test_file,,,793399f792eca2752c6af3234ba70858,,, -Digest File,md5,,,::tls::digest -digest md5 -file $test_file,,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest File,sha1,,,::tls::digest -digest sha1 -file $test_file,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, -Digest File,sha256,,,::tls::digest -digest sha256 -file $test_file,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, -Digest File,sha512,,,::tls::digest -digest sha512 -file $test_file,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, -Digest File,md5 bin,,,binary encode hex [::tls::digest -digest md5 -file $test_file -bin],,,962bf0803b4232ec23bd8427bb94ea09,,, -Digest File,md5 hex,,,::tls::digest -digest md5 -file $test_file -hex,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest File,md4,,,::tls::md -digest md4 -file $test_file,,,793399f792eca2752c6af3234ba70858,,, +Digest File,md5,,,::tls::md -digest md5 -file $test_file,,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest File,sha1,,,::tls::md -digest sha1 -file $test_file,,,4fe03b7f2568551dfafb98ca6004e65c4b71aa7d,,, +Digest File,sha256,,,::tls::md -digest sha256 -file $test_file,,,9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19,,, +Digest File,sha512,,,::tls::md -digest sha512 -file $test_file,,,d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1,,, +Digest File,md5 bin,,,binary encode hex [::tls::md -digest md5 -file $test_file -bin],,,962bf0803b4232ec23bd8427bb94ea09,,, +Digest File,md5 hex,,,::tls::md -digest md5 -file $test_file -hex,,,962bf0803b4232ec23bd8427bb94ea09,,, ,,,,,,,,,, command,# Test HMAC command,,,,,,,,, HMAC,data,,,::tls::hmac -digest md5 -key $test_key -data $test_data,,,f98327ef3e20ab6d388f676c6a79d93d,,, HMAC,file,,,::tls::hmac -digest md5 -key $test_key -file $test_file,,,f98327ef3e20ab6d388f676c6a79d93d,,, HMAC,channel,,,read_chan ::tls::hmac $test_file -digest md5 -key $test_key,,,f98327ef3e20ab6d388f676c6a79d93d,,, HMAC,command,,,accumulate $test_data ::tls::hmac -digest md5 -key $test_key,,,f98327ef3e20ab6d388f676c6a79d93d,,, HMAC,data bin,,,binary encode hex [::tls::hmac -digest md5 -bin -key $test_key -data $test_data],,,f98327ef3e20ab6d388f676c6a79d93d,,, ,,,,,,,,,, command,# Test Digest HMAC,,,,,,,,, -Digest HMAC,data,,,::tls::digest -digest md5 -key $test_key -data $test_data,,,f98327ef3e20ab6d388f676c6a79d93d,,, -Digest HMAC,file,,,::tls::digest -digest md5 -key $test_key -file $test_file,,,f98327ef3e20ab6d388f676c6a79d93d,,, -Digest HMAC,channel,,,read_chan ::tls::digest $test_file -digest md5 -key $test_key,,,f98327ef3e20ab6d388f676c6a79d93d,,, -Digest HMAC,command,,,accumulate $test_data ::tls::digest -digest md5 -key $test_key,,,f98327ef3e20ab6d388f676c6a79d93d,,, -Digest HMAC,data bin,,,binary encode hex [::tls::digest -digest md5 -bin -key $test_key -data $test_data],,,f98327ef3e20ab6d388f676c6a79d93d,,, +Digest HMAC,data,,,::tls::md -digest md5 -key $test_key -data $test_data,,,f98327ef3e20ab6d388f676c6a79d93d,,, +Digest HMAC,file,,,::tls::md -digest md5 -key $test_key -file $test_file,,,f98327ef3e20ab6d388f676c6a79d93d,,, +Digest HMAC,channel,,,read_chan ::tls::md $test_file -digest md5 -key $test_key,,,f98327ef3e20ab6d388f676c6a79d93d,,, +Digest HMAC,command,,,accumulate $test_data ::tls::md -digest md5 -key $test_key,,,f98327ef3e20ab6d388f676c6a79d93d,,, +Digest HMAC,data bin,,,binary encode hex [::tls::md -digest md5 -bin -key $test_key -data $test_data],,,f98327ef3e20ab6d388f676c6a79d93d,,, ,,,,,,,,,, command,# Test CMAC command,,,,,,,,, command,"set test_cipher ""aes-128-cbc""",,,,,,,,, command,"set test_key ""Example key 1234""",,,,,,,,, CMAC,data,,,::tls::cmac -cipher $test_cipher -key $test_key -data $test_data,,,baf5c20f9973e2d606b14c7efdfe52fa,,, @@ -85,29 +85,29 @@ CMAC,channel,,,read_chan ::tls::cmac $test_file -cipher $test_cipher -key $test_key,,,baf5c20f9973e2d606b14c7efdfe52fa,,, CMAC,command,,,accumulate $test_data ::tls::cmac -cipher $test_cipher -key $test_key,,,baf5c20f9973e2d606b14c7efdfe52fa,,, CMAC,data bin,,,binary encode hex [::tls::cmac -bin -cipher $test_cipher -key $test_key -data $test_data],,,baf5c20f9973e2d606b14c7efdfe52fa,,, ,,,,,,,,,, command,# Test Digest CMAC,,,,,,,,, -Digest CMAC,data,,,::tls::digest -cipher $test_cipher -key $test_key -data $test_data,,,baf5c20f9973e2d606b14c7efdfe52fa,,, -Digest CMAC,file,,,::tls::digest -cipher $test_cipher -key $test_key -file $test_file,,,baf5c20f9973e2d606b14c7efdfe52fa,,, -Digest CMAC,channel,,,read_chan ::tls::digest $test_file -cipher $test_cipher -key $test_key,,,baf5c20f9973e2d606b14c7efdfe52fa,,, -Digest CMAC,command,,,accumulate $test_data ::tls::digest -cipher $test_cipher -key $test_key,,,baf5c20f9973e2d606b14c7efdfe52fa,,, -Digest CMAC,data bin,,,binary encode hex [::tls::digest -bin -cipher $test_cipher -key $test_key -data $test_data],,,baf5c20f9973e2d606b14c7efdfe52fa,,, +Digest CMAC,data,,,::tls::md -cipher $test_cipher -key $test_key -data $test_data,,,baf5c20f9973e2d606b14c7efdfe52fa,,, +Digest CMAC,file,,,::tls::md -cipher $test_cipher -key $test_key -file $test_file,,,baf5c20f9973e2d606b14c7efdfe52fa,,, +Digest CMAC,channel,,,read_chan ::tls::md $test_file -cipher $test_cipher -key $test_key,,,baf5c20f9973e2d606b14c7efdfe52fa,,, +Digest CMAC,command,,,accumulate $test_data ::tls::md -cipher $test_cipher -key $test_key,,,baf5c20f9973e2d606b14c7efdfe52fa,,, +Digest CMAC,data bin,,,binary encode hex [::tls::md -bin -cipher $test_cipher -key $test_key -data $test_data],,,baf5c20f9973e2d606b14c7efdfe52fa,,, ,,,,,,,,,, command,# Test MAC command,,,,,,,,, MAC,HMAC,new_api,,::tls::mac -digest sha256 -mac hmac -key $test_key -data $test_data,,,498ef5ef71424f81da7499b2eeae1d0a348dd40b841ea27bdde494f6bc9046ff,,, MAC,CMAC,new_api,,::tls::mac -cipher $test_cipher -digest sha256 -mac cmac -key $test_key -data $test_data,,,498ef5ef71424f81da7499b2eeae1d0a348dd40b841ea27bdde494f6bc9046ff,,, ,,,,,,,,,, command,# Digest Error Cases,,,,,,,,, -Digest Errors,Too few args,,,::tls::digest,,,"wrong # args: should be ""::tls::digest ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]""",,,1 -Digest Errors,Too many args,,,::tls::digest too many command line args to pass the test without an error or failing,,,"wrong # args: should be ""::tls::digest ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]""",,,1 -Digest Errors,Invalid digest,,,::tls::digest bogus data,,,"Invalid digest ""bogus""",,,1 -Digest Errors,Invalid digest Arg,,,::tls::digest -digest bogus -data data,,,"Invalid digest ""bogus""",,,1 -Digest Errors,No digest,,,::tls::digest -hex -data value,,,No digest specified,,,1 -Digest Errors,Invalid option,,,::tls::digest -digest sha256 -bogus value,,,"bad option ""-bogus"": must be -bin, -channel, -cipher, -command, -data, -digest, -file, -filename, -hex, -key, or -mac",,,1 -Digest Errors,Invalid file,,,::tls::digest -digest sha256 -file bogus,,,"couldn't open ""bogus"": no such file or directory",,,1 -Digest Errors,Invalid channel,,,::tls::digest -digest sha256 -channel bogus,,,"can not find channel named ""bogus""",,,1 +Digest Errors,Too few args,,,::tls::md,,,"wrong # args: should be ""::tls::md ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]""",,,1 +Digest Errors,Too many args,,,::tls::md too many command line args to pass the test without an error or failing,,,"wrong # args: should be ""::tls::md ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]""",,,1 +Digest Errors,Invalid digest,,,::tls::md bogus data,,,"Invalid digest ""bogus""",,,1 +Digest Errors,Invalid digest Arg,,,::tls::md -digest bogus -data data,,,"Invalid digest ""bogus""",,,1 +Digest Errors,No digest,,,::tls::md -hex -data value,,,No digest specified,,,1 +Digest Errors,Invalid option,,,::tls::md -digest sha256 -bogus value,,,"bad option ""-bogus"": must be -bin, -channel, -cipher, -command, -data, -digest, -file, -filename, -hex, -key, or -mac",,,1 +Digest Errors,Invalid file,,,::tls::md -digest sha256 -file bogus,,,"couldn't open ""bogus"": no such file or directory",,,1 +Digest Errors,Invalid channel,,,::tls::md -digest sha256 -channel bogus,,,"can not find channel named ""bogus""",,,1 ,,,,,,,,,, command,# CMAC Error Cases,,,,,,,,, CMAC Errors,Too few args,,,::tls::cmac,,,"wrong # args: should be ""::tls::cmac ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]""",,,1 CMAC Errors,No cipher,,,::tls::cmac -hex -data value,,,No cipher specified,,,1 CMAC Errors,No key,,,::tls::cmac -cipher $test_cipher -data value,,,No key specified,,,1 Index: tests/digest.test ================================================================== --- tests/digest.test +++ tests/digest.test @@ -47,150 +47,150 @@ # Test digest command for channel test Digest_Chan-2.1 {md4} -body { - read_chan ::tls::digest $test_file -digest md4 + read_chan ::tls::md $test_file -digest md4 } -result {793399f792eca2752c6af3234ba70858} test Digest_Chan-2.2 {md5} -body { - read_chan ::tls::digest $test_file -digest md5 + read_chan ::tls::md $test_file -digest md5 } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_Chan-2.3 {sha1} -body { - read_chan ::tls::digest $test_file -digest sha1 + read_chan ::tls::md $test_file -digest sha1 } -result {4fe03b7f2568551dfafb98ca6004e65c4b71aa7d} test Digest_Chan-2.4 {sha256} -body { - read_chan ::tls::digest $test_file -digest sha256 + read_chan ::tls::md $test_file -digest sha256 } -result {9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19} test Digest_Chan-2.5 {sha512} -body { - read_chan ::tls::digest $test_file -digest sha512 + read_chan ::tls::md $test_file -digest sha512 } -result {d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1} test Digest_Chan-2.6 {md5 bin} -body { - binary encode hex [read_chan ::tls::digest $test_file -bin -digest md5] + binary encode hex [read_chan ::tls::md $test_file -bin -digest md5] } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_Chan-2.7 {md5 hex} -body { - read_chan ::tls::digest $test_file -hex -digest md5 + read_chan ::tls::md $test_file -hex -digest md5 } -result {962bf0803b4232ec23bd8427bb94ea09} # Test digest command for object command test Digest_Command-3.1 {md4} -body { - accumulate $test_data ::tls::digest -digest md4 + accumulate $test_data ::tls::md -digest md4 } -result {793399f792eca2752c6af3234ba70858} test Digest_Command-3.2 {md5} -body { - accumulate $test_data ::tls::digest -digest md5 + accumulate $test_data ::tls::md -digest md5 } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_Command-3.3 {sha1} -body { - accumulate $test_data ::tls::digest -digest sha1 + accumulate $test_data ::tls::md -digest sha1 } -result {4fe03b7f2568551dfafb98ca6004e65c4b71aa7d} test Digest_Command-3.4 {sha256} -body { - accumulate $test_data ::tls::digest -digest sha256 + accumulate $test_data ::tls::md -digest sha256 } -result {9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19} test Digest_Command-3.5 {sha512} -body { - accumulate $test_data ::tls::digest -digest sha512 + accumulate $test_data ::tls::md -digest sha512 } -result {d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1} test Digest_Command-3.6 {md5 bin} -body { - binary encode hex [accumulate $test_data ::tls::digest -digest md5 -bin] + binary encode hex [accumulate $test_data ::tls::md -digest md5 -bin] } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_Command-3.7 {md5 hex} -body { - accumulate $test_data ::tls::digest -digest md5 -hex + accumulate $test_data ::tls::md -digest md5 -hex } -result {962bf0803b4232ec23bd8427bb94ea09} # Test digest command for data shortcut test Digest_Data-4.1 {md4} -body { - ::tls::digest md4 $test_data + ::tls::md md4 $test_data } -result {793399f792eca2752c6af3234ba70858} test Digest_Data-4.2 {md5} -body { - ::tls::digest md5 $test_data + ::tls::md md5 $test_data } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_Data-4.3 {sha1} -body { - ::tls::digest sha1 $test_data + ::tls::md sha1 $test_data } -result {4fe03b7f2568551dfafb98ca6004e65c4b71aa7d} test Digest_Data-4.4 {sha256} -body { - ::tls::digest sha256 $test_data + ::tls::md sha256 $test_data } -result {9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19} test Digest_Data-4.5 {sha512} -body { - ::tls::digest sha512 $test_data + ::tls::md sha512 $test_data } -result {d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1} # Test digest command for data test Digest_Data-4.6 {md4} -body { - ::tls::digest -digest md4 -data $test_data + ::tls::md -digest md4 -data $test_data } -result {793399f792eca2752c6af3234ba70858} test Digest_Data-4.7 {md5} -body { - ::tls::digest -digest md5 -data $test_data + ::tls::md -digest md5 -data $test_data } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_Data-4.8 {sha1} -body { - ::tls::digest -digest sha1 -data $test_data + ::tls::md -digest sha1 -data $test_data } -result {4fe03b7f2568551dfafb98ca6004e65c4b71aa7d} test Digest_Data-4.9 {sha256} -body { - ::tls::digest -digest sha256 -data $test_data + ::tls::md -digest sha256 -data $test_data } -result {9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19} test Digest_Data-4.10 {sha512} -body { - ::tls::digest -digest sha512 -data $test_data + ::tls::md -digest sha512 -data $test_data } -result {d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1} test Digest_Data-4.11 {md5 bin} -body { - binary encode hex [::tls::digest -digest md5 -data $test_data -bin] + binary encode hex [::tls::md -digest md5 -data $test_data -bin] } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_Data-4.12 {md5 hex} -body { - ::tls::digest -digest md5 -data $test_data -hex + ::tls::md -digest md5 -data $test_data -hex } -result {962bf0803b4232ec23bd8427bb94ea09} # Test digest command for file test Digest_File-5.1 {md4} -body { - ::tls::digest -digest md4 -file $test_file + ::tls::md -digest md4 -file $test_file } -result {793399f792eca2752c6af3234ba70858} test Digest_File-5.2 {md5} -body { - ::tls::digest -digest md5 -file $test_file + ::tls::md -digest md5 -file $test_file } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_File-5.3 {sha1} -body { - ::tls::digest -digest sha1 -file $test_file + ::tls::md -digest sha1 -file $test_file } -result {4fe03b7f2568551dfafb98ca6004e65c4b71aa7d} test Digest_File-5.4 {sha256} -body { - ::tls::digest -digest sha256 -file $test_file + ::tls::md -digest sha256 -file $test_file } -result {9d3578fc138205cf0ee4b4cef35fe101bb4ecac7b1614c18e6fa48b5c7f95e19} test Digest_File-5.5 {sha512} -body { - ::tls::digest -digest sha512 -file $test_file + ::tls::md -digest sha512 -file $test_file } -result {d178e759dc59127071588d2fad173c06238d87e800a6403c0a30daa4faaf05d0e7ce04916afaa6a58a30cbeb597dacb01c62f9fb9d89bab9da630c699e4816f1} test Digest_File-5.6 {md5 bin} -body { - binary encode hex [::tls::digest -digest md5 -file $test_file -bin] + binary encode hex [::tls::md -digest md5 -file $test_file -bin] } -result {962bf0803b4232ec23bd8427bb94ea09} test Digest_File-5.7 {md5 hex} -body { - ::tls::digest -digest md5 -file $test_file -hex + ::tls::md -digest md5 -file $test_file -hex } -result {962bf0803b4232ec23bd8427bb94ea09} # Test HMAC command @@ -216,27 +216,27 @@ # Test Digest HMAC test Digest_HMAC-7.1 {data} -body { - ::tls::digest -digest md5 -key $test_key -data $test_data + ::tls::md -digest md5 -key $test_key -data $test_data } -result {f98327ef3e20ab6d388f676c6a79d93d} test Digest_HMAC-7.2 {file} -body { - ::tls::digest -digest md5 -key $test_key -file $test_file + ::tls::md -digest md5 -key $test_key -file $test_file } -result {f98327ef3e20ab6d388f676c6a79d93d} test Digest_HMAC-7.3 {channel} -body { - read_chan ::tls::digest $test_file -digest md5 -key $test_key + read_chan ::tls::md $test_file -digest md5 -key $test_key } -result {f98327ef3e20ab6d388f676c6a79d93d} test Digest_HMAC-7.4 {command} -body { - accumulate $test_data ::tls::digest -digest md5 -key $test_key + accumulate $test_data ::tls::md -digest md5 -key $test_key } -result {f98327ef3e20ab6d388f676c6a79d93d} test Digest_HMAC-7.5 {data bin} -body { - binary encode hex [::tls::digest -digest md5 -bin -key $test_key -data $test_data] + binary encode hex [::tls::md -digest md5 -bin -key $test_key -data $test_data] } -result {f98327ef3e20ab6d388f676c6a79d93d} # Test CMAC command set test_cipher "aes-128-cbc" set test_key "Example key 1234" @@ -264,27 +264,27 @@ # Test Digest CMAC test Digest_CMAC-9.1 {data} -body { - ::tls::digest -cipher $test_cipher -key $test_key -data $test_data + ::tls::md -cipher $test_cipher -key $test_key -data $test_data } -result {baf5c20f9973e2d606b14c7efdfe52fa} test Digest_CMAC-9.2 {file} -body { - ::tls::digest -cipher $test_cipher -key $test_key -file $test_file + ::tls::md -cipher $test_cipher -key $test_key -file $test_file } -result {baf5c20f9973e2d606b14c7efdfe52fa} test Digest_CMAC-9.3 {channel} -body { - read_chan ::tls::digest $test_file -cipher $test_cipher -key $test_key + read_chan ::tls::md $test_file -cipher $test_cipher -key $test_key } -result {baf5c20f9973e2d606b14c7efdfe52fa} test Digest_CMAC-9.4 {command} -body { - accumulate $test_data ::tls::digest -cipher $test_cipher -key $test_key + accumulate $test_data ::tls::md -cipher $test_cipher -key $test_key } -result {baf5c20f9973e2d606b14c7efdfe52fa} test Digest_CMAC-9.5 {data bin} -body { - binary encode hex [::tls::digest -bin -cipher $test_cipher -key $test_key -data $test_data] + binary encode hex [::tls::md -bin -cipher $test_cipher -key $test_key -data $test_data] } -result {baf5c20f9973e2d606b14c7efdfe52fa} # Test MAC command @@ -298,39 +298,39 @@ # Digest Error Cases test Digest_Errors-11.1 {Too few args} -body { - ::tls::digest - } -result {wrong # args: should be "::tls::digest ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]"} -returnCodes {1} + ::tls::md + } -result {wrong # args: should be "::tls::md ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]"} -returnCodes {1} test Digest_Errors-11.2 {Too many args} -body { - ::tls::digest too many command line args to pass the test without an error or failing - } -result {wrong # args: should be "::tls::digest ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]"} -returnCodes {1} + ::tls::md too many command line args to pass the test without an error or failing + } -result {wrong # args: should be "::tls::md ?-bin|-hex? ?-cipher name? ?-digest name? ?-key key? ?-mac name? [-channel chan | -command cmdName | -file filename | ?-data? data]"} -returnCodes {1} test Digest_Errors-11.3 {Invalid digest} -body { - ::tls::digest bogus data + ::tls::md bogus data } -result {Invalid digest "bogus"} -returnCodes {1} test Digest_Errors-11.4 {Invalid digest Arg} -body { - ::tls::digest -digest bogus -data data + ::tls::md -digest bogus -data data } -result {Invalid digest "bogus"} -returnCodes {1} test Digest_Errors-11.5 {No digest} -body { - ::tls::digest -hex -data value + ::tls::md -hex -data value } -result {No digest specified} -returnCodes {1} test Digest_Errors-11.6 {Invalid option} -body { - ::tls::digest -digest sha256 -bogus value + ::tls::md -digest sha256 -bogus value } -result {bad option "-bogus": must be -bin, -channel, -cipher, -command, -data, -digest, -file, -filename, -hex, -key, or -mac} -returnCodes {1} test Digest_Errors-11.7 {Invalid file} -body { - ::tls::digest -digest sha256 -file bogus + ::tls::md -digest sha256 -file bogus } -result {couldn't open "bogus": no such file or directory} -returnCodes {1} test Digest_Errors-11.8 {Invalid channel} -body { - ::tls::digest -digest sha256 -channel bogus + ::tls::md -digest sha256 -channel bogus } -result {can not find channel named "bogus"} -returnCodes {1} # CMAC Error Cases