changeset 1717:eec1a26a8ca1 stable-0.5

r1573, r1574, r1575 merge: ngx_md5.h and ngx_sha1.h
author Igor Sysoev <igor@sysoev.ru>
date Wed, 12 Dec 2007 17:09:50 +0000
parents a33e2a1a4e4c
children 5b24b2decde8
files auto/sources src/core/ngx_md5.h src/core/ngx_sha1.h src/mysql/ngx_mysql.c
diffstat 4 files changed, 85 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/auto/sources
+++ b/auto/sources
@@ -21,6 +21,8 @@ CORE_DEPS="src/core/nginx.h \
            src/core/ngx_file.h \
            src/core/ngx_crc.h \
            src/core/ngx_crc32.h \
+           src/core/ngx_md5.h \
+           src/core/ngx_sha1.h \
            src/core/ngx_rbtree.h \
            src/core/ngx_radix_tree.h \
            src/core/ngx_slab.h \
new file mode 100644
--- /dev/null
+++ b/src/core/ngx_md5.h
@@ -0,0 +1,40 @@
+
+/*
+ * Copyright (C) Igor Sysoev
+ */
+
+
+#ifndef _NGX_MD5_H_INCLUDED_
+#define _NGX_MD5_H_INCLUDED_
+
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+
+
+#if (NGX_HAVE_OPENSSL_MD5_H)
+#include <openssl/md5.h>
+#else
+#include <md5.h>
+#endif
+
+
+typedef MD5_CTX  ngx_md5_t;
+
+
+#if (NGX_OPENSSL_MD5)
+
+#define  ngx_md5_init    MD5_Init
+#define  ngx_md5_update  MD5_Update
+#define  ngx_md5_final   MD5_Final
+
+#else
+
+#define  ngx_md5_init    MD5Init
+#define  ngx_md5_update  MD5Update
+#define  ngx_md5_final   MD5Final
+
+#endif
+
+
+#endif /* _NGX_MD5_H_INCLUDED_ */
new file mode 100644
--- /dev/null
+++ b/src/core/ngx_sha1.h
@@ -0,0 +1,30 @@
+
+/*
+ * Copyright (C) Igor Sysoev
+ */
+
+
+#ifndef _NGX_SHA1_H_INCLUDED_
+#define _NGX_SHA1_H_INCLUDED_
+
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+
+
+#if (NGX_HAVE_OPENSSL_SHA1_H)
+#include <openssl/sha.h>
+#else
+#include <sha.h>
+#endif
+
+
+typedef SHA_CTX  ngx_sha1_t;
+
+
+#define  ngx_sha1_init    SHA1_Init
+#define  ngx_sha1_update  SHA1_Update
+#define  ngx_sha1_final   SHA1_Final
+
+
+#endif /* _NGX_SHA1_H_INCLUDED_ */
--- a/src/mysql/ngx_mysql.c
+++ b/src/mysql/ngx_mysql.c
@@ -12,12 +12,7 @@
 #include <ngx_event.h>
 #include <ngx_event_connect.h>
 #include <ngx_mysql.h>
-
-#if (NGX_HAVE_OPENSSL_SHA1_H)
-#include <openssl/sha.h>
-#else
-#include <sha.h>
-#endif
+#include <ngx_sha1.h>
 
 
 #define NGX_MYSQL_LONG_PASSWORD       0x0001
@@ -142,7 +137,7 @@ ngx_mysql_read_server_greeting(ngx_event
     ngx_mysql_greeting1_pkt_t  *gr1;
     ngx_mysql_greeting2_pkt_t  *gr2;
     ngx_mysql_auth_pkt_t       *auth;
-    SHA_CTX                     sha;
+    ngx_sha1_t                  sha;
     u_char                      hash1[20], hash2[20];
 
     c = rev->data;
@@ -241,19 +236,19 @@ ngx_mysql_read_server_greeting(ngx_event
 
         *p++ = (u_char) 20;
 
-        SHA1_Init(&sha);
-        SHA1_Update(&sha, m->passwd->data, m->passwd->len);
-        SHA1_Final(hash1, &sha);
+        ngx_sha1_init(&sha);
+        ngx_sha1_update(&sha, m->passwd->data, m->passwd->len);
+        ngx_sha1_final(hash1, &sha);
 
-        SHA1_Init(&sha);
-        SHA1_Update(&sha, hash1, 20);
-        SHA1_Final(hash2, &sha);
+        ngx_sha1_init(&sha);
+        ngx_sha1_update(&sha, hash1, 20);
+        ngx_sha1_final(hash2, &sha);
 
-        SHA1_Init(&sha);
-        SHA1_Update(&sha, gr2->salt1, 8);
-        SHA1_Update(&sha, gr2->salt2, 12);
-        SHA1_Update(&sha, hash2, 20);
-        SHA1_Final(hash2, &sha);
+        ngx_sha1_init(&sha);
+        ngx_sha1_update(&sha, gr2->salt1, 8);
+        ngx_sha1_update(&sha, gr2->salt2, 12);
+        ngx_sha1_update(&sha, hash2, 20);
+        ngx_sha1_final(hash2, &sha);
 
         for (i = 0; i < 20; i++) {
             *p++ = (u_char) (hash1[i] ^ hash2[i]);