* Generate a new encryption key */
| 860 | * Generate a new encryption key |
| 861 | */ |
| 862 | static void |
| 863 | ng_mppc_getkey(const u_char *h, u_char *h2, int len) |
| 864 | { |
| 865 | static const u_char pad1[40] = |
| 866 | { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 867 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 868 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 869 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; |
| 870 | static const u_char pad2[40] = |
| 871 | { 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, |
| 872 | 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, |
| 873 | 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, |
| 874 | 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2 }; |
| 875 | u_char hash[20]; |
| 876 | SHA1_CTX c; |
| 877 | |
| 878 | SHA1Init(&c); |
| 879 | SHA1Update(&c, h, len); |
| 880 | SHA1Update(&c, pad1, sizeof(pad1)); |
| 881 | SHA1Update(&c, h2, len); |
| 882 | SHA1Update(&c, pad2, sizeof(pad2)); |
| 883 | SHA1Final(hash, &c); |
| 884 | bcopy(hash, h2, len); |
| 885 | } |
| 886 | |
| 887 | /* |
| 888 | * Update the encryption key |
no test coverage detected