summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--VC++Files/client/mysqlclient.dsp29
-rw-r--r--VC++Files/zlib/zlib.dsp27
-rw-r--r--libmysql/libmysql.c52
-rw-r--r--sql-common/client.c58
4 files changed, 114 insertions, 52 deletions
diff --git a/VC++Files/client/mysqlclient.dsp b/VC++Files/client/mysqlclient.dsp
index c680ba28116..88ae9352139 100644
--- a/VC++Files/client/mysqlclient.dsp
+++ b/VC++Files/client/mysqlclient.dsp
@@ -19,6 +19,7 @@ CFG=mysqlclient - Win32 Debug
!MESSAGE
!MESSAGE "mysqlclient - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "mysqlclient - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "mysqlclient - Win32 authent" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
@@ -76,12 +77,38 @@ LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_debug\mysqlclient.lib"
+!ELSEIF "$(CFG)" == "mysqlclient - Win32 authent"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "mysqlclient___Win32_authent"
+# PROP BASE Intermediate_Dir "mysqlclient___Win32_authent"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "authent"
+# PROP Intermediate_Dir "authent"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /FD /c
+# SUBTRACT BASE CPP /YX
+# ADD CPP /nologo /G6 /MT /W3 /O2 /I "../include" /I "../" /D "DBUG_OFF" /D "_WINDOWS" /D "USE_TLS" /D "MYSQL_CLIENT" /D "NDEBUG" /D "CHECK_LICENSE" /D LICENSE=Commercial /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=xilink6.exe -lib
+# ADD BASE LIB32 /nologo /out:"..\lib_release\mysqlclient.lib"
+# ADD LIB32 /nologo /out:"..\lib_authent\mysqlclient.lib"
+
!ENDIF
# Begin Target
# Name "mysqlclient - Win32 Release"
# Name "mysqlclient - Win32 Debug"
+# Name "mysqlclient - Win32 authent"
# Begin Source File
SOURCE=..\mysys\array.c
@@ -256,6 +283,8 @@ SOURCE=..\mysys\mf_iocache2.c
# ADD CPP /Od
+!ELSEIF "$(CFG)" == "mysqlclient - Win32 authent"
+
!ENDIF
# End Source File
diff --git a/VC++Files/zlib/zlib.dsp b/VC++Files/zlib/zlib.dsp
index 6edab34d93c..7093c51d558 100644
--- a/VC++Files/zlib/zlib.dsp
+++ b/VC++Files/zlib/zlib.dsp
@@ -19,6 +19,7 @@ CFG=zlib - Win32 Debug
!MESSAGE
!MESSAGE "zlib - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "zlib - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE "zlib - Win32 authent" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
@@ -75,12 +76,38 @@ LIB32=xilink6.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\lib_debug\zlib.lib"
+!ELSEIF "$(CFG)" == "zlib - Win32 authent"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "zlib___Win32_authent"
+# PROP BASE Intermediate_Dir "zlib___Win32_authent"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "zlib___Win32_authent"
+# PROP Intermediate_Dir "zlib___Win32_authent"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /G6 /MT /W3 /O2 /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c
+# SUBTRACT BASE CPP /YX
+# ADD CPP /nologo /G6 /MT /W3 /O2 /D "DBUG_OFF" /D "_WINDOWS" /D "NDEBUG" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x409
+# ADD RSC /l 0x409
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=xilink6.exe -lib
+# ADD BASE LIB32 /nologo /out:"..\lib_release\zlib.lib"
+# ADD LIB32 /nologo /out:"..\lib_release\zlib.lib"
+
!ENDIF
# Begin Target
# Name "zlib - Win32 Release"
# Name "zlib - Win32 Debug"
+# Name "zlib - Win32 authent"
# Begin Source File
SOURCE=.\adler32.c
diff --git a/libmysql/libmysql.c b/libmysql/libmysql.c
index a3922313a40..b12965a85e7 100644
--- a/libmysql/libmysql.c
+++ b/libmysql/libmysql.c
@@ -616,60 +616,10 @@ mysql_connect(MYSQL *mysql,const char *host,
#endif
-#ifdef CHECK_LICENSE
-/*
- Check server side variable 'license'.
- If the variable does not exist or does not contain 'Commercial',
- we're talking to non-commercial server from commercial client.
- SYNOPSIS
- check_license()
- RETURN VALUE
- 0 success
- !0 network error or the server is not commercial.
- Error code is saved in mysql->net.last_errno.
-*/
-
-static int check_license(MYSQL *mysql)
-{
- MYSQL_ROW row;
- MYSQL_RES *res;
- NET *net= &mysql->net;
- static const char query[]= "SELECT @@license";
- static const char required_license[]= STRINGIFY_ARG(LICENSE);
-
- if (mysql_real_query(mysql, query, sizeof(query)-1))
- {
- if (net->last_errno == ER_UNKNOWN_SYSTEM_VARIABLE)
- {
- net->last_errno= CR_WRONG_LICENSE;
- sprintf(net->last_error, ER(net->last_errno), required_license);
- }
- return 1;
- }
- if (!(res= mysql_use_result(mysql)))
- return 1;
- row= mysql_fetch_row(res);
- /*
- If no rows in result set, or column value is NULL (none of these
- two is ever true for server variables now), or column value
- mismatch, set wrong license error.
- */
- if (!net->last_errno &&
- (!row || !row[0] ||
- strncmp(row[0], required_license, sizeof(required_license))))
- {
- net->last_errno= CR_WRONG_LICENSE;
- sprintf(net->last_error, ER(net->last_errno), required_license);
- }
- mysql_free_result(res);
- return net->last_errno;
-}
-#endif /* CHECK_LICENSE */
-
-
/**************************************************************************
Change user and database
**************************************************************************/
+
int cli_read_change_user_result(MYSQL *mysql, char *buff, const char *passwd)
{
NET *net= &mysql->net;
diff --git a/sql-common/client.c b/sql-common/client.c
index 591a0b9f0cb..87e62b5cd11 100644
--- a/sql-common/client.c
+++ b/sql-common/client.c
@@ -751,6 +751,58 @@ static my_bool is_NT(void)
}
#endif
+
+#ifdef CHECK_LICENSE
+/*
+ Check server side variable 'license'.
+ If the variable does not exist or does not contain 'Commercial',
+ we're talking to non-commercial server from commercial client.
+ SYNOPSIS
+ check_license()
+ RETURN VALUE
+ 0 success
+ !0 network error or the server is not commercial.
+ Error code is saved in mysql->net.last_errno.
+*/
+
+static int check_license(MYSQL *mysql)
+{
+ MYSQL_ROW row;
+ MYSQL_RES *res;
+ NET *net= &mysql->net;
+ static const char query[]= "SELECT @@license";
+ static const char required_license[]= STRINGIFY_ARG(LICENSE);
+
+ if (mysql_real_query(mysql, query, sizeof(query)-1))
+ {
+ if (net->last_errno == ER_UNKNOWN_SYSTEM_VARIABLE)
+ {
+ net->last_errno= CR_WRONG_LICENSE;
+ sprintf(net->last_error, ER(net->last_errno), required_license);
+ }
+ return 1;
+ }
+ if (!(res= mysql_use_result(mysql)))
+ return 1;
+ row= mysql_fetch_row(res);
+ /*
+ If no rows in result set, or column value is NULL (none of these
+ two is ever true for server variables now), or column value
+ mismatch, set wrong license error.
+ */
+ if (!net->last_errno &&
+ (!row || !row[0] ||
+ strncmp(row[0], required_license, sizeof(required_license))))
+ {
+ net->last_errno= CR_WRONG_LICENSE;
+ sprintf(net->last_error, ER(net->last_errno), required_license);
+ }
+ mysql_free_result(res);
+ return net->last_errno;
+}
+#endif /* CHECK_LICENSE */
+
+
/**************************************************************************
Shut down connection
**************************************************************************/
@@ -1996,10 +2048,14 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user,
goto error;
}
-
if (client_flag & CLIENT_COMPRESS) /* We will use compression */
net->compress=1;
+#ifdef CHECK_LICENSE
+ if (check_license(mysql))
+ goto error;
+#endif
+
if (db && mysql_select_db(mysql,db))
goto error;