Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 55.04 KB | None | 0 0
  1. diff -uNr polarssl-1.3.3/asn1write.c polarssl_windows_kernel/asn1write.c
  2. --- polarssl-1.3.3/asn1write.c  2013-12-31 02:55:26.000000000 +0400
  3. +++ polarssl_windows_kernel/asn1write.c 2014-07-14 10:24:32.899880000 +0400
  4. @@ -208,7 +208,7 @@
  5.          return( POLARSSL_ERR_ASN1_BUF_TOO_SMALL );
  6.  
  7.      len += 1;
  8. -    *--(*p) = val;
  9. +    *--(*p) = (unsigned char)val;
  10.  
  11.      if ( val > 0 && **p & 0x80 )
  12.      {
  13. diff -uNr polarssl-1.3.3/blowfish.c polarssl_windows_kernel/blowfish.c
  14. --- polarssl-1.3.3/blowfish.c   2013-12-31 02:55:26.000000000 +0400
  15. +++ polarssl_windows_kernel/blowfish.c  2014-07-14 10:24:32.899880000 +0400
  16. @@ -69,7 +69,264 @@
  17.  };
  18.  
  19.  /* declarations of data at the end of this file */#endif /* POLARSSL_CIPHER_MODE_CTR */#endif /* !POLARSSL_BLOWFISH_ALT */
  20.  #endif /* POLARSSL_BLOWFISH_C */
  21. diff -uNr polarssl-1.3.3/ctr_drbg.c polarssl_windows_kernel/ctr_drbg.c
  22. --- polarssl-1.3.3/ctr_drbg.c   2013-12-31 02:55:26.000000000 +0400
  23. +++ polarssl_windows_kernel/ctr_drbg.c  2014-07-14 10:24:32.915448000 +0400
  24. @@ -133,7 +133,7 @@
  25.      buf_len = CTR_DRBG_BLOCKSIZE + 8 + data_len + 1;
  26.  
  27.      for( i = 0; i < CTR_DRBG_KEYSIZE; i++ )
  28. -        key[i] = i;
  29. +        key[i] = (unsigned char)i;
  30.  
  31.      aes_setkey_enc( &aes_ctx, key, CTR_DRBG_KEYBITS );
  32.  
  33. diff -uNr polarssl-1.3.3/debug.c polarssl_windows_kernel/debug.c
  34. --- polarssl-1.3.3/debug.c  2013-12-31 02:55:26.000000000 +0400
  35. +++ polarssl_windows_kernel/debug.c 2014-07-14 10:24:32.915448000 +0400
  36. @@ -30,7 +30,7 @@
  37.  #include "polarssl/debug.h"
  38.  
  39.  #include <stdarg.h>
  40. -#include <stdlib.h>
  41. +#include <stdio.h>
  42.  
  43.  #if defined(EFIX64) || defined(EFI32)
  44.  #include <stdio.h>
  45. diff -uNr polarssl-1.3.3/ecp.c polarssl_windows_kernel/ecp.c
  46. --- polarssl-1.3.3/ecp.c    2013-12-31 02:55:26.000000000 +0400
  47. +++ polarssl_windows_kernel/ecp.c   2014-07-14 10:24:32.915448000 +0400
  48. @@ -1564,7 +1564,7 @@
  49.      i = mpi_msb( m ); /* one past the (zero-based) most significant bit */
  50.      while( i-- > 0 )
  51.      {
  52. -        b = mpi_get_bit( m, i );
  53. +        b = (unsigned char)mpi_get_bit( m, i );
  54.          /*
  55.           *  if (b) R = 2R + P else R = 2R,
  56.           * which is:
  57. diff -uNr polarssl-1.3.3/entropy_poll.c polarssl_windows_kernel/entropy_poll.c
  58. --- polarssl-1.3.3/entropy_poll.c   2013-12-31 02:55:26.000000000 +0400
  59. +++ polarssl_windows_kernel/entropy_poll.c  2014-07-14 10:24:32.915448000 +0400
  60. @@ -43,26 +43,19 @@
  61.  #if !defined(_WIN32_WINNT)
  62.  #define _WIN32_WINNT 0x0400
  63.  #endif
  64. -#include <windows.h>
  65. -#include <wincrypt.h>
  66.  
  67.  int platform_entropy_poll( void *data, unsigned char *output, size_t len,
  68.                             size_t *olen )
  69.  {
  70. -    HCRYPTPROV provider;
  71. +   NTSTATUS Status;
  72. +
  73.      ((void) data);
  74.      *olen = 0;
  75.  
  76. -    if( CryptAcquireContext( &provider, NULL, NULL,
  77. -                              PROV_RSA_FULL, CRYPT_VERIFYCONTEXT ) == FALSE )
  78. -    {
  79. -        return POLARSSL_ERR_ENTROPY_SOURCE_FAILED;
  80. -    }
  81. -
  82. -    if( CryptGenRandom( provider, (DWORD) len, output ) == FALSE )
  83. -        return POLARSSL_ERR_ENTROPY_SOURCE_FAILED;
  84. +   if (0 != g_KernelCallbacks.genRndBytes(output, len)) {
  85. +       return POLARSSL_ERR_ENTROPY_SOURCE_FAILED;
  86. +   }
  87.  
  88. -    CryptReleaseContext( provider, 0 );
  89.      *olen = len;
  90.  
  91.      return( 0 );
  92. diff -uNr polarssl-1.3.3/error.c polarssl_windows_kernel/error.c
  93. --- polarssl-1.3.3/error.c  2013-12-31 02:55:26.000000000 +0400
  94. +++ polarssl_windows_kernel/error.c 2014-07-14 10:24:32.915448000 +0400
  95. @@ -159,6 +159,7 @@
  96.  
  97.  
  98.  #include <string.h>
  99. +#include <stdio.h>
  100.  
  101.  #if defined(_MSC_VER) && !defined  snprintf && !defined(EFIX64) && \
  102.      !defined(EFI32)
  103. diff -uNr polarssl-1.3.3/kernel.c polarssl_windows_kernel/kernel.c
  104. --- polarssl-1.3.3/kernel.c 1970-01-01 03:00:00.000000000 +0300
  105. +++ polarssl_windows_kernel/kernel.c    2014-07-14 10:24:32.915448000 +0400
  106. @@ -0,0 +1,31 @@
  107. +#include "polarssl\kernel.h"
  108. +
  109. +SSL_KERNEL_CALLBACKS g_KernelCallbacks;
  110. +
  111. +void SslInitKernelCallbacks(PSSL_KERNEL_CALLBACKS Callbacks)
  112. +{
  113. +   RtlCopyMemory(&g_KernelCallbacks, Callbacks, sizeof(SSL_KERNEL_CALLBACKS));
  114. +}
  115. +
  116. +
  117. +
  118. +void SslGetLocalTimeFields(PTIME_FIELDS pTimeFields)
  119. +{
  120. +   LARGE_INTEGER time;
  121. +   KeQuerySystemTime(&time);
  122. +   ExSystemTimeToLocalTime(&time, &time);
  123. +   RtlTimeToTimeFields(&time, pTimeFields);
  124. +}
  125. +
  126. +time_t
  127. +   get_unix_time()
  128. +{
  129. +   LARGE_INTEGER time;
  130. +   time_t unixTime;
  131. +
  132. +   KeQuerySystemTime(&time);
  133. +   ExSystemTimeToLocalTime(&time, &time);
  134. +
  135. +   unixTime = time.QuadPart / 10000000 - 11644473600;
  136. +   return unixTime;
  137. +}
  138. \ No newline at end of file
  139. diff -uNr polarssl-1.3.3/memory.c polarssl_windows_kernel/memory.c
  140. --- polarssl-1.3.3/memory.c 2013-12-31 02:55:26.000000000 +0400
  141. +++ polarssl_windows_kernel/memory.c    2014-07-14 10:24:32.915448000 +0400
  142. @@ -29,35 +29,17 @@
  143.  
  144.  #include "polarssl/memory.h"
  145.  
  146. -#if !defined(POLARSSL_MEMORY_STDMALLOC)
  147. -static void *memory_malloc_uninit( size_t len )
  148. -{
  149. -    ((void) len);
  150. -    return( NULL );
  151. -}
  152. +#define MODULE_TAG 'pslm'
  153.  
  154. -#define POLARSSL_MEMORY_STDMALLOC   memory_malloc_uninit
  155. -#endif /* !POLARSSL_MEMORY_STDMALLOC */
  156. -
  157. -#if !defined(POLARSSL_MEMORY_STDFREE)
  158. -static void memory_free_uninit( void *ptr )
  159. +void * polarssl_malloc(size_t len)
  160.  {
  161. -    ((void) ptr);
  162. +   return g_KernelCallbacks.malloc(len);
  163.  }
  164.  
  165. -#define POLARSSL_MEMORY_STDFREE     memory_free_uninit
  166. -#endif /* !POLARSSL_MEMORY_STDFREE */
  167. -
  168. -void * (*polarssl_malloc)( size_t ) = POLARSSL_MEMORY_STDMALLOC;
  169. -void (*polarssl_free)( void * )     = POLARSSL_MEMORY_STDFREE;
  170. -
  171. -int memory_set_own( void * (*malloc_func)( size_t ),
  172. -                    void (*free_func)( void * ) )
  173. +void polarssl_free(void *ptr)
  174.  {
  175. -    polarssl_malloc = malloc_func;
  176. -    polarssl_free = free_func;
  177. -
  178. -    return( 0 );
  179. +   g_KernelCallbacks.free(ptr);
  180.  }
  181.  
  182. +
  183.  #endif /* POLARSSL_MEMORY_C */
  184. diff -uNr polarssl-1.3.3/net.c polarssl_windows_kernel/net.c
  185. --- polarssl-1.3.3/net.c    2013-12-31 02:55:26.000000000 +0400
  186. +++ polarssl_windows_kernel/net.c   2014-07-14 10:24:32.915448000 +0400
  187. @@ -33,7 +33,7 @@
  188.      !defined(EFI32)
  189.  
  190.  #if defined(POLARSSL_HAVE_IPV6)
  191. -#define _WIN32_WINNT 0x0501
  192. +//#define _WIN32_WINNT 0x0501
  193.  #include <ws2tcpip.h>
  194.  #endif
  195.  
  196. diff -uNr polarssl-1.3.3/oid.c polarssl_windows_kernel/oid.c
  197. --- polarssl-1.3.3/oid.c    2013-12-31 02:55:26.000000000 +0400
  198. +++ polarssl_windows_kernel/oid.c   2014-07-14 10:24:32.915448000 +0400
  199. @@ -36,7 +36,7 @@
  200.  #include "polarssl/x509.h"
  201.  #endif
  202.  
  203. -#include <stdio.h>
  204. +//#include <stdio.h>
  205.  
  206.  /*
  207.   * Macro to automatically add the size of #define'd OIDs
  208. @@ -545,6 +545,7 @@
  209.  #if defined(_MSC_VER) && !defined snprintf && !defined(EFIX64) && \
  210.      !defined(EFI32)
  211.  #include <stdarg.h>
  212. +#include <stdio.h>
  213.  
  214.  #if !defined vsnprintf
  215.  #define vsnprintf _vsnprintf
  216. diff -uNr polarssl-1.3.3/polarssl/bignum.h polarssl_windows_kernel/polarssl/bignum.h
  217. --- polarssl-1.3.3/polarssl/bignum.h    2013-12-31 02:55:26.000000000 +0400
  218. +++ polarssl_windows_kernel/polarssl/bignum.h   2014-07-14 10:24:32.915448000 +0400
  219. @@ -27,8 +27,8 @@
  220.  #ifndef POLARSSL_BIGNUM_H
  221.  #define POLARSSL_BIGNUM_H
  222.  
  223. -#include <stdio.h>
  224. -#include <string.h>
  225. +//#include <stdio.h>
  226. +//#include <string.h>
  227.  
  228.  #include "config.h"
  229.  
  230. diff -uNr polarssl-1.3.3/polarssl/config.h polarssl_windows_kernel/polarssl/config.h
  231. --- polarssl-1.3.3/polarssl/config.h    2013-12-31 02:55:26.000000000 +0400
  232. +++ polarssl_windows_kernel/polarssl/config.h   2014-07-14 10:24:32.930996000 +0400
  233. @@ -31,9 +31,6 @@
  234.  #ifndef POLARSSL_CONFIG_H
  235.  #define POLARSSL_CONFIG_H
  236.  
  237. -#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
  238. -#define _CRT_SECURE_NO_DEPRECATE 1
  239. -#endif
  240.  
  241.  /**
  242.   * \name SECTION: System support
  243. @@ -91,7 +88,7 @@
  244.   *
  245.   * Uncomment if the CPU supports SSE2 (IA-32 specific).
  246.   */
  247. -//#define POLARSSL_HAVE_SSE2
  248. +#define POLARSSL_HAVE_SSE2
  249.  
  250.  /**
  251.   * \def POLARSSL_HAVE_TIME
  252. @@ -556,7 +553,7 @@
  253.   *
  254.   * Enable functions that use the filesystem.
  255.   */
  256. -#define POLARSSL_FS_IO
  257. +//#define POLARSSL_FS_IO
  258.  
  259.  /**
  260.   * \def POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
  261. @@ -645,7 +642,7 @@
  262.   *
  263.   * Enable the checkup functions (*_self_test).
  264.   */
  265. -#define POLARSSL_SELF_TEST
  266. +//#define POLARSSL_SELF_TEST
  267.  
  268.  /**
  269.   * \def POLARSSL_SSL_ALL_ALERT_MESSAGES
  270. @@ -1356,7 +1353,7 @@
  271.   *
  272.   * Enable this layer to allow use of alternative memory allocators.
  273.   */
  274. -//#define POLARSSL_MEMORY_C
  275. +#define POLARSSL_MEMORY_C
  276.  
  277.  /**
  278.   * \def POLARSSL_MEMORY_BUFFER_ALLOC_C
  279. @@ -1382,7 +1379,7 @@
  280.   *
  281.   * This module provides TCP/IP networking routines.
  282.   */
  283. -#define POLARSSL_NET_C
  284. +//#define POLARSSL_NET_C
  285.  
  286.  /**
  287.   * \def POLARSSL_OID_C
  288. @@ -1713,7 +1710,7 @@
  289.   *
  290.   * This module is used by the HAVEGE random number generator.
  291.   */
  292. -#define POLARSSL_TIMING_C
  293. +//#define POLARSSL_TIMING_C
  294.  
  295.  /**
  296.   * \def POLARSSL_VERSION_C
  297. @@ -2165,4 +2162,7 @@
  298.  #error "POLARSSL_X509_CSR_WRITE_C defined, but not all prerequisites"
  299.  #endif
  300.  
  301. +
  302. +#include "kernel.h"
  303. +
  304.  #endif /* config.h */
  305. diff -uNr polarssl-1.3.3/polarssl/kernel.h polarssl_windows_kernel/polarssl/kernel.h
  306. --- polarssl-1.3.3/polarssl/kernel.h    1970-01-01 03:00:00.000000000 +0300
  307. +++ polarssl_windows_kernel/polarssl/kernel.h   2014-07-14 10:24:32.930996000 +0400
  308. @@ -0,0 +1,35 @@
  309. +#ifndef __POLARSSL_KERNEL_H__
  310. +#define __POLARSSL_KERNEL_H__
  311. +
  312. +#include <ntifs.h>
  313. +
  314. +typedef
  315. +void *
  316. +(*PMALLOC)(size_t len);
  317. +
  318. +typedef
  319. +void
  320. +(*PFREE)(void *ptr);
  321. +
  322. +typedef
  323. +int
  324. +(*PGEN_RND_BYTES)(unsigned char *output, size_t len);
  325. +
  326. +typedef struct _SSL_KERNEL_CALLBACKS {
  327. +   PMALLOC malloc;
  328. +   PFREE free;
  329. +   PGEN_RND_BYTES genRndBytes;
  330. +} SSL_KERNEL_CALLBACKS, *PSSL_KERNEL_CALLBACKS;
  331. +
  332. +extern SSL_KERNEL_CALLBACKS g_KernelCallbacks;
  333. +
  334. +void SslInitKernelCallbacks(PSSL_KERNEL_CALLBACKS Callbacks);
  335. +
  336. +
  337. +time_t
  338. +get_unix_time();
  339. +
  340. +
  341. +void SslGetLocalTimeFields(PTIME_FIELDS pTimeFields);
  342. +
  343. +#endif
  344. diff -uNr polarssl-1.3.3/polarssl/md.h polarssl_windows_kernel/polarssl/md.h
  345. --- polarssl-1.3.3/polarssl/md.h    2013-12-31 02:55:26.000000000 +0400
  346. +++ polarssl_windows_kernel/polarssl/md.h   2014-07-14 10:24:32.930996000 +0400
  347. @@ -207,7 +207,7 @@
  348.      if( md_info == NULL )
  349.          return( 0 );
  350.  
  351. -    return md_info->size;
  352. +    return (unsigned char)md_info->size;
  353.  }
  354.  
  355.  /**
  356. diff -uNr polarssl-1.3.3/polarssl/memory.h polarssl_windows_kernel/polarssl/memory.h
  357. --- polarssl-1.3.3/polarssl/memory.h    2013-12-31 02:55:26.000000000 +0400
  358. +++ polarssl_windows_kernel/polarssl/memory.h   2014-07-14 10:24:32.930996000 +0400
  359. @@ -29,103 +29,7 @@
  360.  
  361.  #include "config.h"
  362.  
  363. -#include <stdlib.h>
  364. -
  365. -#if !defined(POLARSSL_CONFIG_OPTIONS)
  366. -#define POLARSSL_MEMORY_ALIGN_MULTIPLE       4 /**< Align on multiples of this value */
  367. -
  368. -#define POLARSSL_MEMORY_STDMALLOC       malloc /**< Default allocator to use, can be undefined */
  369. -#define POLARSSL_MEMORY_STDFREE           free /**< Default free to use, can be undefined */
  370. -#endif /* POLARSSL_CONFIG_OPTIONS */
  371. -
  372. -#define MEMORY_VERIFY_NONE         0
  373. -#define MEMORY_VERIFY_ALLOC        (1 << 0)
  374. -#define MEMORY_VERIFY_FREE         (1 << 1)
  375. -#define MEMORY_VERIFY_ALWAYS       (MEMORY_VERIFY_ALLOC | MEMORY_VERIFY_FREE)
  376. -
  377. -#ifdef __cplusplus
  378. -extern "C" {
  379. -#endif
  380. -
  381. -/*
  382. - * The function pointers for malloc and free
  383. - */
  384. -extern void * (*polarssl_malloc)( size_t len );
  385. -extern void (*polarssl_free)( void *ptr );
  386. -
  387. -/**
  388. - * \brief   Set your own memory implementation function pointers
  389. - *
  390. - * \param malloc_func   the malloc function implementation
  391. - * \param free_func     the free function implementation
  392. - *
  393. - * \return              0 if successful
  394. - */
  395. -int memory_set_own( void * (*malloc_func)( size_t ),
  396. -                    void (*free_func)( void * ) );
  397. -
  398. -#if defined(POLARSSL_MEMORY_BUFFER_ALLOC_C)
  399. -/**
  400. - * \brief   Initialize use of stack-based memory allocator.
  401. - *          The stack-based allocator does memory management inside the
  402. - *          presented buffer and does not call malloc() and free().
  403. - *          It sets the global polarssl_malloc() and polarssl_free() pointers
  404. - *          to its own functions.
  405. - *          (Provided polarssl_malloc() and polarssl_free() are thread-safe if
  406. - *           POLARSSL_THREADING_C is defined)
  407. - *
  408. - * \note    This code is not optimized and provides a straight-forward
  409. - *          implementation of a stack-based memory allocator.
  410. - *
  411. - * \param buf   buffer to use as heap
  412. - * \param len   size of the buffer
  413. - *
  414. - * \return              0 if successful
  415. - */
  416. -int memory_buffer_alloc_init( unsigned char *buf, size_t len );
  417. -
  418. -/**
  419. - * \brief   Free the mutex for thread-safety and clear remaining memory
  420. - */
  421. -void memory_buffer_alloc_free();
  422. -
  423. -/**
  424. - * \brief   Determine when the allocator should automatically verify the state
  425. - *          of the entire chain of headers / meta-data.
  426. - *          (Default: MEMORY_VERIFY_NONE)
  427. - *
  428. - * \param verify    One of MEMORY_VERIFY_NONE, MEMORY_VERIFY_ALLOC,
  429. - *                  MEMORY_VERIFY_FREE or MEMORY_VERIFY_ALWAYS
  430. - */
  431. -void memory_buffer_set_verify( int verify );
  432. -
  433. -#if defined(POLARSSL_MEMORY_DEBUG)
  434. -/**
  435. - * \brief   Print out the status of the allocated memory (primarily for use
  436. - *          after a program should have de-allocated all memory)
  437. - *          Prints out a list of 'still allocated' blocks and their stack
  438. - *          trace if POLARSSL_MEMORY_BACKTRACE is defined.
  439. - */
  440. -void memory_buffer_alloc_status();
  441. -#endif /* POLARSSL_MEMORY_DEBUG */
  442. -
  443. -/**
  444. - * \brief   Verifies that all headers in the memory buffer are correct
  445. - *          and contain sane values. Helps debug buffer-overflow errors.
  446. - *
  447. - *          Prints out first failure if POLARSSL_MEMORY_DEBUG is defined.
  448. - *          Prints out full header information if POLARSSL_MEMORY_DEBUG_HEADERS
  449. - *          is defined. (Includes stack trace information for each block if
  450. - *          POLARSSL_MEMORY_BACKTRACE is defined as well).
  451. - *
  452. - * \returns             0 if verified, 1 otherwise
  453. - */
  454. -int memory_buffer_alloc_verify();
  455. -
  456. -#endif /* POLARSSL_MEMORY_BUFFER_ALLOC_C */
  457. -
  458. -#ifdef __cplusplus
  459. -}
  460. -#endif
  461. +extern void * polarssl_malloc( size_t len );
  462. +extern void polarssl_free( void *ptr );
  463.  
  464.  #endif /* memory.h */
  465. diff -uNr polarssl-1.3.3/polarssl/ssl.h polarssl_windows_kernel/polarssl/ssl.h
  466. --- polarssl-1.3.3/polarssl/ssl.h   2013-12-31 02:55:26.000000000 +0400
  467. +++ polarssl_windows_kernel/polarssl/ssl.h  2014-07-14 10:24:32.930996000 +0400
  468. @@ -71,9 +71,6 @@
  469.  #include "zlib.h"
  470.  #endif
  471.  
  472. -#if defined(POLARSSL_HAVE_TIME)
  473. -#include <time.h>
  474. -#endif
  475.  
  476.  /* For convenience below and in programs */
  477.  #if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED) ||                           \
  478. diff -uNr polarssl-1.3.3/rsa.c polarssl_windows_kernel/rsa.c
  479. --- polarssl-1.3.3/rsa.c    2013-12-31 02:55:26.000000000 +0400
  480. +++ polarssl_windows_kernel/rsa.c   2014-07-14 10:24:32.946641000 +0400
  481. @@ -40,8 +40,8 @@
  482.  #include "polarssl/md.h"
  483.  #endif
  484.  
  485. -#include <stdlib.h>
  486. -#include <stdio.h>
  487. +//#include <stdlib.h>
  488. +//#include <stdio.h>
  489.  
  490.  /*
  491.   * Initialize an RSA context
  492. @@ -977,7 +977,7 @@
  493.  {
  494.      size_t nb_pad, olen, oid_size = 0;
  495.      unsigned char *p = sig;
  496. -    const char *oid;
  497. +    const char *oid = NULL;
  498.  
  499.      if( ctx->padding != RSA_PKCS_V15 )
  500.          return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
  501. @@ -1036,7 +1036,7 @@
  502.          *p++ = ASN1_NULL;
  503.          *p++ = 0x00;
  504.          *p++ = ASN1_OCTET_STRING;
  505. -        *p++ = hashlen;
  506. +        *p++ = (unsigned char)hashlen;
  507.          memcpy( p, hash, hashlen );
  508.      }
  509.  
  510. @@ -1463,7 +1463,7 @@
  511.          rng_state  = NULL;
  512.  
  513.      for( i = 0; i < len; ++i )
  514. -        output[i] = rand();
  515. +        output[i] = (unsigned char)rand();
  516.  
  517.      return( 0 );
  518.  }
  519. diff -uNr polarssl-1.3.3/ssl_cache.c polarssl_windows_kernel/ssl_cache.c
  520. --- polarssl-1.3.3/ssl_cache.c  2013-12-31 02:55:26.000000000 +0400
  521. +++ polarssl_windows_kernel/ssl_cache.c 2014-07-14 10:24:32.946641000 +0400
  522. @@ -58,7 +58,7 @@
  523.  {
  524.      int ret = 1;
  525.  #if defined(POLARSSL_HAVE_TIME)
  526. -    time_t t = time( NULL );
  527. +    time_t t = get_unix_time();
  528.  #endif
  529.      ssl_cache_context *cache = (ssl_cache_context *) data;
  530.      ssl_cache_entry *cur, *entry;
  531. @@ -137,7 +137,7 @@
  532.  {
  533.      int ret = 1;
  534.  #if defined(POLARSSL_HAVE_TIME)
  535. -    time_t t = time( NULL ), oldest = 0;
  536. +    time_t t = get_unix_time(), oldest = 0;
  537.      ssl_cache_entry *old = NULL;
  538.  #endif
  539.      ssl_cache_context *cache = (ssl_cache_context *) data;
  540. diff -uNr polarssl-1.3.3/ssl_cli.c polarssl_windows_kernel/ssl_cli.c
  541. --- polarssl-1.3.3/ssl_cli.c    2013-12-31 02:55:26.000000000 +0400
  542. +++ polarssl_windows_kernel/ssl_cli.c   2014-07-14 10:24:32.946641000 +0400
  543. @@ -37,8 +37,8 @@
  544.  #define polarssl_free       free
  545.  #endif
  546.  
  547. -#include <stdlib.h>
  548. -#include <stdio.h>
  549. +//#include <stdlib.h>
  550. +//#include <stdio.h>
  551.  
  552.  #if defined(_MSC_VER) && !defined(EFIX64) && !defined(EFI32)
  553.  #include <basetsd.h>
  554. @@ -47,9 +47,6 @@
  555.  #include <inttypes.h>
  556.  #endif
  557.  
  558. -#if defined(POLARSSL_HAVE_TIME)
  559. -#include <time.h>
  560. -#endif
  561.  
  562.  #if defined(POLARSSL_SSL_SERVER_NAME_INDICATION)
  563.  static void ssl_write_hostname_ext( ssl_context *ssl,
  564. @@ -425,7 +422,7 @@
  565.                     buf[4], buf[5] ) );
  566.  
  567.  #if defined(POLARSSL_HAVE_TIME)
  568. -    t = time( NULL );
  569. +    t = get_unix_time();
  570.      *p++ = (unsigned char)( t >> 24 );
  571.      *p++ = (unsigned char)( t >> 16 );
  572.      *p++ = (unsigned char)( t >>  8 );
  573. @@ -885,7 +882,7 @@
  574.          ssl->state++;
  575.          ssl->handshake->resume = 0;
  576.  #if defined(POLARSSL_HAVE_TIME)
  577. -        ssl->session_negotiate->start = time( NULL );
  578. +        ssl->session_negotiate->start = get_unix_time();
  579.  #endif
  580.          ssl->session_negotiate->ciphersuite = i;
  581.          ssl->session_negotiate->compression = comp;
  582. diff -uNr polarssl-1.3.3/ssl_srv.c polarssl_windows_kernel/ssl_srv.c
  583. --- polarssl-1.3.3/ssl_srv.c    2013-12-31 02:55:26.000000000 +0400
  584. +++ polarssl_windows_kernel/ssl_srv.c   2014-07-14 10:24:32.946641000 +0400
  585. @@ -40,12 +40,9 @@
  586.  #define polarssl_free       free
  587.  #endif
  588.  
  589. -#include <stdlib.h>
  590. -#include <stdio.h>
  591. +//#include <stdlib.h>
  592. +//#include <stdio.h>
  593.  
  594. -#if defined(POLARSSL_HAVE_TIME)
  595. -#include <time.h>
  596. -#endif
  597.  
  598.  #if defined(POLARSSL_SSL_SESSION_TICKETS)
  599.  /*
  600. @@ -316,7 +313,7 @@
  601.  
  602.  #if defined(POLARSSL_HAVE_TIME)
  603.      /* Check if still valid */
  604. -    if( (int) ( time( NULL) - session.start ) > ssl->ticket_lifetime )
  605. +    if( (int) ( get_unix_time() - session.start ) > ssl->ticket_lifetime )
  606.      {
  607.          SSL_DEBUG_MSG( 1, ( "session ticket expired" ) );
  608.          memset( &session, 0, sizeof( ssl_session ) );
  609. @@ -1643,7 +1640,7 @@
  610.                     buf[4], buf[5] ) );
  611.  
  612.  #if defined(POLARSSL_HAVE_TIME)
  613. -    t = time( NULL );
  614. +    t = get_unix_time();
  615.      *p++ = (unsigned char)( t >> 24 );
  616.      *p++ = (unsigned char)( t >> 16 );
  617.      *p++ = (unsigned char)( t >>  8 );
  618. @@ -1689,7 +1686,7 @@
  619.          ssl->state++;
  620.  
  621.  #if defined(POLARSSL_HAVE_TIME)
  622. -        ssl->session_negotiate->start = time( NULL );
  623. +        ssl->session_negotiate->start = get_unix_time();
  624.  #endif
  625.  
  626.  #if defined(POLARSSL_SSL_SESSION_TICKETS)
  627. @@ -1905,11 +1902,11 @@
  628.           * Supported signature algorithms
  629.           */
  630.  #if defined(POLARSSL_RSA_C)
  631. -        p[2 + sa_len++] = ssl->handshake->verify_sig_alg;
  632. +        p[2 + sa_len++] = (unsigned char)ssl->handshake->verify_sig_alg;
  633.          p[2 + sa_len++] = SSL_SIG_RSA;
  634.  #endif
  635.  #if defined(POLARSSL_ECDSA_C)
  636. -        p[2 + sa_len++] = ssl->handshake->verify_sig_alg;
  637. +        p[2 + sa_len++] = (unsigned char)ssl->handshake->verify_sig_alg;
  638.          p[2 + sa_len++] = SSL_SIG_ECDSA;
  639.  #endif
  640.  
  641. @@ -2156,7 +2153,7 @@
  642.  #if defined(POLARSSL_SSL_PROTO_TLS1_2)
  643.          if( ssl->minor_ver == SSL_MINOR_VERSION_3 )
  644.          {
  645. -            md_alg = ssl_md_alg_from_hash( ssl->handshake->sig_alg );
  646. +            md_alg = ssl_md_alg_from_hash( (unsigned char)ssl->handshake->sig_alg );
  647.  
  648.              if( md_alg == POLARSSL_MD_NONE )
  649.              {
  650. @@ -2274,7 +2271,7 @@
  651.  #if defined(POLARSSL_SSL_PROTO_TLS1_2)
  652.          if( ssl->minor_ver == SSL_MINOR_VERSION_3 )
  653.          {
  654. -            *(p++) = ssl->handshake->sig_alg;
  655. +            *(p++) = (unsigned char)ssl->handshake->sig_alg;
  656.              *(p++) = ssl_sig_from_pk( ssl_own_key( ssl ) );
  657.  
  658.              n += 2;
  659. @@ -2880,7 +2877,7 @@
  660.              return( POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY );
  661.          }
  662.  
  663. -        md_alg = ssl_md_alg_from_hash( ssl->handshake->verify_sig_alg );
  664. +        md_alg = ssl_md_alg_from_hash( (unsigned char)ssl->handshake->verify_sig_alg );
  665.  
  666.          /* Info from md_alg will be used instead */
  667.          hashlen = 0;
  668. diff -uNr polarssl-1.3.3/ssl_tls.c polarssl_windows_kernel/ssl_tls.c
  669. --- polarssl-1.3.3/ssl_tls.c    2013-12-31 02:55:26.000000000 +0400
  670. +++ polarssl_windows_kernel/ssl_tls.c   2014-07-14 10:24:32.946641000 +0400
  671. @@ -1094,9 +1094,9 @@
  672.          enc_msglen = ssl->out_msglen;
  673.  
  674.          memcpy( add_data, ssl->out_ctr, 8 );
  675. -        add_data[8]  = ssl->out_msgtype;
  676. -        add_data[9]  = ssl->major_ver;
  677. -        add_data[10] = ssl->minor_ver;
  678. +        add_data[8]  = (unsigned char)ssl->out_msgtype;
  679. +       add_data[9] = (unsigned char)ssl->major_ver;
  680. +       add_data[10] = (unsigned char)ssl->minor_ver;
  681.          add_data[11] = ( ssl->out_msglen >> 8 ) & 0xFF;
  682.          add_data[12] = ssl->out_msglen & 0xFF;
  683.  
  684. @@ -1400,9 +1400,9 @@
  685.          ssl->in_msglen = dec_msglen;
  686.  
  687.          memcpy( add_data, ssl->in_ctr, 8 );
  688. -        add_data[8]  = ssl->in_msgtype;
  689. -        add_data[9]  = ssl->major_ver;
  690. -        add_data[10] = ssl->minor_ver;
  691. +       add_data[8] = (unsigned char)ssl->in_msgtype;
  692. +       add_data[9] = (unsigned char)ssl->major_ver;
  693. +       add_data[10] = (unsigned char)ssl->minor_ver;
  694.          add_data[11] = ( ssl->in_msglen >> 8 ) & 0xFF;
  695.          add_data[12] = ssl->in_msglen & 0xFF;
  696.  
  697. diff -uNr polarssl-1.3.3/x509.c polarssl_windows_kernel/x509.c
  698. --- polarssl-1.3.3/x509.c   2013-12-31 02:55:26.000000000 +0400
  699. +++ polarssl_windows_kernel/x509.c  2014-07-14 10:24:32.946641000 +0400
  700. @@ -52,13 +52,15 @@
  701.  #define polarssl_free       free
  702.  #endif
  703.  
  704. -#include <string.h>
  705. -#include <stdlib.h>
  706. +#include <stdio.h>
  707. +
  708. +/*
  709.  #if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32)
  710.  #include <windows.h>
  711.  #else
  712.  #include <time.h>
  713.  #endif
  714. +*/
  715.  
  716.  #if defined(EFIX64) || defined(EFI32)
  717.  #include <stdio.h>
  718. @@ -273,7 +275,7 @@
  719.          memcpy( date, *p, ( len < sizeof( date ) - 1 ) ?
  720.                  len : sizeof( date ) - 1 );
  721.  
  722. -        if( sscanf( date, "%2d%2d%2d%2d%2d%2d",
  723. +        if( sscanf_s( date, "%2d%2d%2d%2d%2d%2d",
  724.                      &time->year, &time->mon, &time->day,
  725.                      &time->hour, &time->min, &time->sec ) < 5 )
  726.              return( POLARSSL_ERR_X509_INVALID_DATE );
  727. @@ -297,7 +299,7 @@
  728.          memcpy( date, *p, ( len < sizeof( date ) - 1 ) ?
  729.                  len : sizeof( date ) - 1 );
  730.  
  731. -        if( sscanf( date, "%4d%2d%2d%2d%2d%2d",
  732. +        if( sscanf_s( date, "%4d%2d%2d%2d%2d%2d",
  733.                      &time->year, &time->mon, &time->day,
  734.                      &time->hour, &time->min, &time->sec ) < 5 )
  735.              return( POLARSSL_ERR_X509_INVALID_DATE );
  736. @@ -626,16 +628,15 @@
  737.      int hour, min, sec;
  738.  
  739.  #if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32)
  740. -    SYSTEMTIME st;
  741. -
  742. -    GetLocalTime(&st);
  743. +   TIME_FIELDS timeFields;
  744. +   SslGetLocalTimeFields(&timeFields);
  745.  
  746. -    year = st.wYear;
  747. -    mon = st.wMonth;
  748. -    day = st.wDay;
  749. -    hour = st.wHour;
  750. -    min = st.wMinute;
  751. -    sec = st.wSecond;
  752. +   year = timeFields.Year;
  753. +   mon = timeFields.Month;
  754. +   day = timeFields.Day;
  755. +   hour = timeFields.Hour;
  756. +   min = timeFields.Minute;
  757. +   sec = timeFields.Second;
  758.  #else
  759.      struct tm *lt;
  760.      time_t tt;
  761. diff -uNr polarssl-1.3.3/x509_create.c polarssl_windows_kernel/x509_create.c
  762. --- polarssl-1.3.3/x509_create.c    2013-12-31 02:55:26.000000000 +0400
  763. +++ polarssl_windows_kernel/x509_create.c   2014-07-14 10:24:32.946641000 +0400
  764. @@ -119,7 +119,7 @@
  765.          return( POLARSSL_ERR_X509_MALLOC_FAILED );
  766.      }
  767.  
  768. -    cur->val.p[0] = critical;
  769. +   cur->val.p[0] = (unsigned char)critical;
  770.      memcpy( cur->val.p + 1, val, val_len );
  771.  
  772.      return( 0 );
  773. diff -uNr polarssl-1.3.3/x509_crl.c polarssl_windows_kernel/x509_crl.c
  774. --- polarssl-1.3.3/x509_crl.c   2013-12-31 02:55:26.000000000 +0400
  775. +++ polarssl_windows_kernel/x509_crl.c  2014-07-14 10:24:32.946641000 +0400
  776. @@ -51,6 +51,7 @@
  777.  #define polarssl_free       free
  778.  #endif
  779.  
  780. +/*
  781.  #include <string.h>
  782.  #include <stdlib.h>
  783.  #if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32)
  784. @@ -59,11 +60,13 @@
  785.  #else
  786.  #include <time.h>
  787.  #endif
  788. +*/
  789.  
  790.  #if defined(POLARSSL_FS_IO) || defined(EFIX64) || defined(EFI32)
  791.  #include <stdio.h>
  792.  #endif
  793.  
  794. +#include <stdio.h>
  795.  /*
  796.   *  Version  ::=  INTEGER  {  v1(0), v2(1)  }
  797.   */
  798. diff -uNr polarssl-1.3.3/x509_crt.c polarssl_windows_kernel/x509_crt.c
  799. --- polarssl-1.3.3/x509_crt.c   2013-12-31 02:55:26.000000000 +0400
  800. +++ polarssl_windows_kernel/x509_crt.c  2014-07-14 10:24:32.946641000 +0400
  801. @@ -57,11 +57,15 @@
  802.  
  803.  #include <string.h>
  804.  #include <stdlib.h>
  805. +#include <stdio.h>
  806. +
  807. +/*
  808.  #if defined(_WIN32) && !defined(EFIX64) && !defined(EFI32)
  809.  #include <windows.h>
  810.  #else
  811.  #include <time.h>
  812.  #endif
  813. +*/
  814.  
  815.  #if defined(EFIX64) || defined(EFI32)
  816.  #include <stdio.h>
  817. diff -uNr polarssl-1.3.3/x509_csr.c polarssl_windows_kernel/x509_csr.c
  818. --- polarssl-1.3.3/x509_csr.c   2013-12-31 02:55:26.000000000 +0400
  819. +++ polarssl_windows_kernel/x509_csr.c  2014-07-14 10:24:32.946641000 +0400
  820. @@ -51,8 +51,10 @@
  821.  #define polarssl_free       free
  822.  #endif
  823.  
  824. +/*
  825.  #include <string.h>
  826.  #include <stdlib.h>
  827. +*/
  828.  
  829.  #if defined(POLARSSL_FS_IO) || defined(EFIX64) || defined(EFI32)
  830.  #include <stdio.h>
  831. @@ -305,6 +307,7 @@
  832.  #if defined(_MSC_VER) && !defined snprintf && !defined(EFIX64) && \
  833.      !defined(EFI32)
  834.  #include <stdarg.h>
  835. +#include <stdio.h>
  836.  
  837.  #if !defined vsnprintf
  838.  #define vsnprintf _vsnprintf
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement