📄 1036.sha1.patch
字号:
- R( b, c, d, e, a, F2, K2, M(24) );- R( a, b, c, d, e, F2, K2, M(25) );- R( e, a, b, c, d, F2, K2, M(26) );- R( d, e, a, b, c, F2, K2, M(27) );- R( c, d, e, a, b, F2, K2, M(28) );- R( b, c, d, e, a, F2, K2, M(29) );- R( a, b, c, d, e, F2, K2, M(30) );- R( e, a, b, c, d, F2, K2, M(31) );- R( d, e, a, b, c, F2, K2, M(32) );- R( c, d, e, a, b, F2, K2, M(33) );- R( b, c, d, e, a, F2, K2, M(34) );- R( a, b, c, d, e, F2, K2, M(35) );- R( e, a, b, c, d, F2, K2, M(36) );- R( d, e, a, b, c, F2, K2, M(37) );- R( c, d, e, a, b, F2, K2, M(38) );- R( b, c, d, e, a, F2, K2, M(39) );- R( a, b, c, d, e, F3, K3, M(40) );- R( e, a, b, c, d, F3, K3, M(41) );- R( d, e, a, b, c, F3, K3, M(42) );- R( c, d, e, a, b, F3, K3, M(43) );- R( b, c, d, e, a, F3, K3, M(44) );- R( a, b, c, d, e, F3, K3, M(45) );- R( e, a, b, c, d, F3, K3, M(46) );- R( d, e, a, b, c, F3, K3, M(47) );- R( c, d, e, a, b, F3, K3, M(48) );- R( b, c, d, e, a, F3, K3, M(49) );- R( a, b, c, d, e, F3, K3, M(50) );- R( e, a, b, c, d, F3, K3, M(51) );- R( d, e, a, b, c, F3, K3, M(52) );- R( c, d, e, a, b, F3, K3, M(53) );- R( b, c, d, e, a, F3, K3, M(54) );- R( a, b, c, d, e, F3, K3, M(55) );- R( e, a, b, c, d, F3, K3, M(56) );- R( d, e, a, b, c, F3, K3, M(57) );- R( c, d, e, a, b, F3, K3, M(58) );- R( b, c, d, e, a, F3, K3, M(59) );- R( a, b, c, d, e, F4, K4, M(60) );- R( e, a, b, c, d, F4, K4, M(61) );- R( d, e, a, b, c, F4, K4, M(62) );- R( c, d, e, a, b, F4, K4, M(63) );- R( b, c, d, e, a, F4, K4, M(64) );- R( a, b, c, d, e, F4, K4, M(65) );- R( e, a, b, c, d, F4, K4, M(66) );- R( d, e, a, b, c, F4, K4, M(67) );- R( c, d, e, a, b, F4, K4, M(68) );- R( b, c, d, e, a, F4, K4, M(69) );- R( a, b, c, d, e, F4, K4, M(70) );- R( e, a, b, c, d, F4, K4, M(71) );- R( d, e, a, b, c, F4, K4, M(72) );- R( c, d, e, a, b, F4, K4, M(73) );- R( b, c, d, e, a, F4, K4, M(74) );- R( a, b, c, d, e, F4, K4, M(75) );- R( e, a, b, c, d, F4, K4, M(76) );- R( d, e, a, b, c, F4, K4, M(77) );- R( c, d, e, a, b, F4, K4, M(78) );- R( b, c, d, e, a, F4, K4, M(79) );-- /* Update chaining vars */- hd->h0 += a;- hd->h1 += b;- hd->h2 += c;- hd->h3 += d;- hd->h4 += e;-}---/* Update the message digest with the contents- * of INBUF with length INLEN.- */-static void-sha1_write( SHA1_CONTEXT *hd, const unsigned char *inbuf, size_t inlen)-{- if( hd->count == 64 ) { /* flush the buffer */- transform( hd, hd->buf );- hd->count = 0;- hd->nblocks++;- }- if( !inbuf )- return;- if( hd->count ) {- for( ; inlen && hd->count < 64; inlen-- )- hd->buf[hd->count++] = *inbuf++;- sha1_write( hd, NULL, 0 );- if( !inlen )- return;- }-- while( inlen >= 64 ) {- transform( hd, inbuf );- hd->count = 0;- hd->nblocks++;- inlen -= 64;- inbuf += 64;- }- for( ; inlen && hd->count < 64; inlen-- )- hd->buf[hd->count++] = *inbuf++;-}---/* The routine final terminates the computation and- * returns the digest.- * The handle is prepared for a new cycle, but adding bytes to the- * handle will the destroy the returned buffer.- * Returns: 20 bytes representing the digest.- */--static void-sha1_final(SHA1_CONTEXT *hd)-{- u32 t, msb, lsb;- unsigned char *p;-- sha1_write(hd, NULL, 0); /* flush */;-- t = hd->nblocks;- /* multiply by 64 to make a byte count */- lsb = t << 6;- msb = t >> 26;- /* add the count */- t = lsb;- if( (lsb += hd->count) < t )- msb++;- /* multiply by 8 to make a bit count */- t = lsb;- lsb <<= 3;- msb <<= 3;- msb |= t >> 29;-- if( hd->count < 56 ) { /* enough room */- hd->buf[hd->count++] = 0x80; /* pad */- while( hd->count < 56 )- hd->buf[hd->count++] = 0; /* pad */- }- else { /* need one extra block */- hd->buf[hd->count++] = 0x80; /* pad character */- while( hd->count < 64 )- hd->buf[hd->count++] = 0;- sha1_write(hd, NULL, 0); /* flush */;- memset(hd->buf, 0, 56 ); /* fill next block with zeroes */- }- /* append the 64 bit count */- hd->buf[56] = msb >> 24;- hd->buf[57] = msb >> 16;- hd->buf[58] = msb >> 8;- hd->buf[59] = msb ;- hd->buf[60] = lsb >> 24;- hd->buf[61] = lsb >> 16;- hd->buf[62] = lsb >> 8;- hd->buf[63] = lsb ;- transform( hd, hd->buf );-- p = hd->buf;-#ifdef BIG_ENDIAN_HOST-#define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)-#else /* little endian */-#define X(a) do { *p++ = hd->h##a >> 24; *p++ = hd->h##a >> 16; \- *p++ = hd->h##a >> 8; *p++ = hd->h##a; } while(0)-#endif- X(0);- X(1);- X(2);- X(3);- X(4);-#undef X-}---void sha1sum(const unsigned char *buffer, size_t n, char sha1[20])-{- SHA1_CONTEXT ctx;- int i;-- sha1_init (&ctx);- sha1_write (&ctx, buffer, n);- sha1_final (&ctx);- - for(i=0; i<20; i++)- sha1[i]=ctx.buf[19-i];-}--#endif /* CONFIG_XENV_SUPPORT || CONFIG_TANGO2_XENV */--/*-Local Variables:-compile-command: "cc -Wall -g -o sha1sum sha1sum.c"-End:-*/diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/arch/mips/tango2/sha1sum.h linuxmips-2.4.30/arch/mips/tango2/sha1sum.h--- linuxmips-2.4.30.ref/arch/mips/tango2/sha1sum.h 2007-07-06 10:04:19.000000000 -0700+++ linuxmips-2.4.30/arch/mips/tango2/sha1sum.h 1969-12-31 16:00:00.000000000 -0800@@ -1,13 +0,0 @@--#ifndef __SHA1SUM_H__-#define __SHA1SUM_H__--/* sha1sum.h */--#ifndef CONFIG_TANGO2_XENV-typedef unsigned int size_t;-#endif--void sha1sum(const unsigned char *buffer, size_t n, char sha1[20]);--#endif /* __SHA1SUM_H__ */diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/crypto/sha1.c linuxmips-2.4.30/crypto/sha1.c--- linuxmips-2.4.30.ref/crypto/sha1.c 2003-08-13 10:19:14.000000000 -0700+++ linuxmips-2.4.30/crypto/sha1.c 2007-07-06 12:58:58.000000000 -0700@@ -17,6 +17,7 @@ * any later version. * */+#include <linux/config.h> #include <linux/init.h> #include <linux/module.h> #include <linux/mm.h>@@ -104,7 +105,11 @@ memset (block32, 0x00, sizeof block32); } +#ifdef CONFIG_TANGO2_XENV+void sha1_init(void *ctx)+#else static void sha1_init(void *ctx)+#endif { struct sha1_ctx *sctx = ctx; static const struct sha1_ctx initstate = {@@ -116,7 +121,11 @@ *sctx = initstate; } +#ifdef CONFIG_TANGO2_XENV+void sha1_update(void *ctx, const u8 *data, unsigned int len)+#else static void sha1_update(void *ctx, const u8 *data, unsigned int len)+#endif { struct sha1_ctx *sctx = ctx; unsigned int i, j;@@ -138,7 +147,11 @@ /* Add padding and return the message digest. */+#ifdef CONFIG_TANGO2_XENV+void sha1_final(void* ctx, u8 *out)+#else static void sha1_final(void* ctx, u8 *out)+#endif { struct sha1_ctx *sctx = ctx; u32 i, j, index, padlen;diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/README.1036.sha1.patch linuxmips-2.4.30/README.1036.sha1.patch--- linuxmips-2.4.30.ref/README.1036.sha1.patch 1969-12-31 16:00:00.000000000 -0800+++ linuxmips-2.4.30/README.1036.sha1.patch 2007-07-06 13:12:19.000000000 -0700@@ -0,0 +1,19 @@+Feature:+--------+Use kernel default SHA1 engine instead of different one.++Prerequisite patch numbers:+---------------------------+0000+1000++Primary author:+---------------+YH Lin++Related to which chip version SMP86xx xx=?+-----------------------------------------+all++(linux patches) which CONFIG_... are provided:+----------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -