<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <a class="moz-txt-link-freetext" href="http://msdn.microsoft.com/en-us/library/td1esda9%28v=vs.80%29.aspx">http://msdn.microsoft.com/en-us/library/td1esda9%28v=vs.80%29.aspx</a><br>
    <br>
    These are "safe" versions of strcpy(). The code you posted is
    required for MinGW since<br>
    it doesn't define these functions.<br>
    <pre class="moz-signature" cols="72">Aleksey
</pre>
    <br>
    On 6/16/11 9:37 AM, EdShallow wrote:
    <blockquote
      cite="mid:BANLkTinUdCWEpHUHoP6JRpN4+K2mgi_4XA@mail.gmail.com"
      type="cite">... in crypto.c in mscrypto ...<br>
      <br>
      Ed<br>
      <br>
      <div class="gmail_quote">On Thu, Jun 16, 2011 at 12:36 PM,
        EdShallow <span dir="ltr"><<a moz-do-not-send="true"
            href="mailto:ed.shallow@gmail.com">ed.shallow@gmail.com</a>></span>
        wrote:<br>
        <blockquote class="gmail_quote" style="border-left: 1px solid
          rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left:
          1ex;">Hi Aleksey,<br>
          <br>
             Thanks for the quick response.<br>
          <br>
          These are the offending lines ...<br>
          <br>
          static int<br>
          strcpy_s(char *dest, size_t n, const char *src) {<br>
              strcpy(dest, src);<br>
              return(0);<br>
          }<br>
          <br>
          static int<br>
          wcscpy_s(wchar_t *dest, size_t n, const wchar_t *src) {<br>
              wcscpy(dest, src);<br>
              return(0);<br>
          <br>
          These 2 xxx_s functions are new. Not sure when they were
          introduced or in which lib file they reside.<br>
          <br>
          Ed
          <div>
            <div class="h5"><br>
              <br>
              <div class="gmail_quote">On Thu, Jun 16, 2011 at 12:21 PM,
                Aleksey Sanin <span dir="ltr"><<a
                    moz-do-not-send="true"
                    href="mailto:aleksey@aleksey.com" target="_blank">aleksey@aleksey.com</a>></span>
                wrote:<br>
                <blockquote class="gmail_quote" style="border-left: 1px
                  solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex;
                  padding-left: 1ex;">
                  <div bgcolor="#ffffff" text="#000000"> Ed,<br>
                    <br>
                    I believe VC7.1 (VS 2003) is the minimum supported
                    version. <br>
                    <pre cols="72">Aleksey
</pre>
                    <div>
                      <div> <br>
                        On 6/16/11 8:04 AM, EdShallow wrote: </div>
                    </div>
                    <blockquote type="cite">
                      <div>
                        <div>I think my MSSDK is too old? Possible?<br>
                          <br>
                          All the MS .lib files are  but there may be a
                          new reference that wasn't there before. I am
                          using VC6.<br>
                          <br>
                          Ed<br>
                          <br>
                          <div class="gmail_quote">On Thu, Jun 16, 2011
                            at 10:36 AM, EdShallow <span dir="ltr"><<a
                                moz-do-not-send="true"
                                href="mailto:ed.shallow@gmail.com"
                                target="_blank">ed.shallow@gmail.com</a>></span>
                            wrote:<br>
                            <blockquote class="gmail_quote"
                              style="border-left: 1px solid rgb(204,
                              204, 204); margin: 0pt 0pt 0pt 0.8ex;
                              padding-left: 1ex;">Hi Aleksey,<br>
                              <br>
                                 Experiencing a link error related to
                              mscrypto when compiling 1.18 Here is the
                              reported link error at the bottom of the
                              nmake output.<br>
                              <br>
                                 I am using the same environment as I
                              last did with my last 1.11 compile<br>
                              <br>
                                 Any ideas which .lib or .dll are
                              missing?<br>
                              <br>
                              Thanks,<br>
                              Ed<br clear="all">
                              <br>
                              C:\XMLSec\xmlsec1-1.2.18\
                              <div>win32>nmake<br>
                                <br>
                                Microsoft (R) Program Maintenance
                                Utility   Version 7.00.8882<br>
                                Copyright (C) Microsoft Corp 1988-2000.
                                All rights reserved.<br>
                                <br>
                                        cl.exe /nologo /D "WIN32" /D
                                "_WINDOWS" /D "_MBCS" /D "_REENTRANT" 
                                /W1 /MD /I.. /I..\include
                                /IC:\XMLSec\xmlsec1-1.2.18\include /D
                                PACKAGE=\"xmlsec\" /D "HAVE_STDIO_H" /D
                                "HAVE<br>
                                _STDLIB_H" /D "HAVE_STRING_H" /D
                                "HAVE_CTYPE_H" /D "HAVE_MALLOC_H" /D
                                "HAVE_MEMORY_H" /D "NDEBUG" /O2
                                /DXMLSEC_MSCRYPTO_NT4=1 /D
                                "XMLSEC_DL_WIN32" /Folibxmlsec.int\ /c
                                ..\src\app.c ..\s<br>
                                rc\base64.c ..\src\bn.c ..\src\buffer.c
                                ..\src\c14n.c ..\src\dl.c
                                ..\src\enveloped.c ..\src\errors.c
                                ..\src\io.c ..\src\keyinfo.c
                                ..\src\keys.c ..\src\keysdata.c
                                ..\src\keysmngr.c ..\sr<br>
                                c\kw_aes_des.c ..\src\list.c
                                ..\src\membuf.c ..\src\nodeset.c
                                ..\src\parser.c ..\src\soap.c
                                ..\src\strings.c ..\src\templates.c
                                ..\src\transforms.c ..\src\x509.c
                                ..\src\xkms.c ..\src\xm<br>
                                ldsig.c ..\src\xmlenc.c ..\src\xmlsec.c
                                ..\src\xmltree.c ..\src\xpath.c
                                ..\src\xslt.c<br>
                                app.c<br>
                                base64.c<br>
                                bn.c<br>
                                buffer.c<br>
                                c14n.c<br>
                                dl.c<br>
                                enveloped.c<br>
                                errors.c<br>
                                io.c<br>
                                keyinfo.c<br>
                                keys.c<br>
                                keysdata.c<br>
                                keysmngr.c<br>
                                kw_aes_des.c<br>
                                list.c<br>
                                membuf.c<br>
                                nodeset.c<br>
                                parser.c<br>
                                soap.c<br>
                                strings.c<br>
                                Generating Code...<br>
                                Compiling...<br>
                                templates.c<br>
                                transforms.c<br>
                                x509.c<br>
                                xkms.c<br>
                                xmldsig.c<br>
                                xmlenc.c<br>
                                xmlsec.c<br>
                                xmltree.c<br>
                                xpath.c<br>
                                xslt.c<br>
                                Generating Code...<br>
                                        link.exe /nologo
                                /LIBPATH:binaries
                                /LIBPATH:C:\XMLSec\xmlsec1-1.2.18\lib
                                /OPT:NOWIN98 /DLL /VERSION:1.2 
                                /IMPLIB:binaries\libxmlsec.lib
                                /OUT:binaries\libxmlsec.dll  <a
                                  moz-do-not-send="true"
                                  href="http://libxmlsec.in/"
                                  target="_blank">libxmlsec.in</a><br>
                                t\app.obj <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\base64.obj

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\bn.obj
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\buffer.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\c14n.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\dl.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\enveloped.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\errors.obj 
                                li<br>
                                <a moz-do-not-send="true"
                                  href="http://bxmlsec.int/"
                                  target="_blank">bxmlsec.int</a>\io.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\keyinfo.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\keys.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\keysdata.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\keysmngr.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\kw_aes_des.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\list.obj 
                                libx<br>
                                <a moz-do-not-send="true"
                                  href="http://mlsec.int/"
                                  target="_blank">mlsec.int</a>\membuf.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\nodeset.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\parser.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\soap.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\strings.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\templates.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\transforms.obj<br>
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\x509.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\xkms.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\xmldsig.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\xmlenc.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\xmlsec.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\xmltree.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec.int/"
                                  target="_blank">libxmlsec.int</a>\xpath.obj 
                                libxml<br>
                                <a moz-do-not-send="true"
                                  href="http://sec.int/" target="_blank">sec.int</a>\xslt.obj 
                                libxml2.lib libxslt.lib<br>
                                   Creating library
                                binaries\libxmlsec.lib and object
                                binaries\libxmlsec.exp<br>
                                        if not exist <a
                                  moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>
                                mkdir <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a><br>
                                        cl.exe /nologo /D "WIN32" /D
                                "_WINDOWS" /D "_MBCS" /D "_REENTRANT" 
                                /W1 /MD /I.. /I..\include
                                /IC:\XMLSec\xmlsec1-1.2.18\include /D
                                PACKAGE=\"xmlsec\" /D "HAVE_STDIO_H" /D
                                "HAVE<br>
                                _STDLIB_H" /D "HAVE_STRING_H" /D
                                "HAVE_CTYPE_H" /D "HAVE_MALLOC_H" /D
                                "HAVE_MEMORY_H" /D "NDEBUG" /O2
                                /DXMLSEC_MSCRYPTO_NT4=1 /D
                                "XMLSEC_DL_WIN32" /D
                                "XMLSEC_CRYPTO_MSCRYPTO" /D "XMLSEC<br>
                                _CRYPTO=\"mscrypto\""
                                /Folibxmlsec_mscrypto.int\ /c
                                ..\src\mscrypto\app.c
                                ..\src\mscrypto\crypto.c
                                ..\src\mscrypto\ciphers.c
                                ..\src\mscrypto\digests.c
                                ..\src\mscrypto\hmac.c ..\src\mscr<br>
                                ypto\symkeys.c ..\src\mscrypto\kt_rsa.c
                                ..\src\mscrypto\kw_aes.c
                                ..\src\mscrypto\kw_des.c
                                ..\src\mscrypto\signatures.c
                                ..\src\mscrypto\certkeys.c
                                ..\src\mscrypto\keysstore.c ..\src\mscr<br>
                                ypto\x509.c ..\src\mscrypto\x509vfy.c<br>
                                app.c<br>
                                crypto.c<br>
                                ciphers.c<br>
                                digests.c<br>
                                hmac.c<br>
                                symkeys.c<br>
                                kt_rsa.c<br>
                                kw_aes.c<br>
                                kw_des.c<br>
                                signatures.c<br>
                                certkeys.c<br>
                                keysstore.c<br>
                                x509.c<br>
                                x509vfy.c<br>
                                Generating Code...<br>
                                        cl.exe /nologo /D "WIN32" /D
                                "_WINDOWS" /D "_MBCS" /D "_REENTRANT" 
                                /W1 /MD /I.. /I..\include
                                /IC:\XMLSec\xmlsec1-1.2.18\include /D
                                PACKAGE=\"xmlsec\" /D "HAVE_STDIO_H" /D
                                "HAVE<br>
                                _STDLIB_H" /D "HAVE_STRING_H" /D
                                "HAVE_CTYPE_H" /D "HAVE_MALLOC_H" /D
                                "HAVE_MEMORY_H" /D "NDEBUG" /O2
                                /DXMLSEC_MSCRYPTO_NT4=1 /D
                                "XMLSEC_DL_WIN32" /D
                                "XMLSEC_CRYPTO_MSCRYPTO" /D "XMLSEC<br>
                                _CRYPTO=\"mscrypto\""
                                /Folibxmlsec_mscrypto.int\ /c
                                ..\src\strings.c<br>
                                strings.c<br>
                                        link.exe /nologo
                                /LIBPATH:binaries
                                /LIBPATH:C:\XMLSec\xmlsec1-1.2.18\lib
                                /OPT:NOWIN98 /DLL /VERSION:1.2 
                                /IMPLIB:binaries\libxmlsec-mscrypto.lib
                                /OUT:binaries\libxmlsec-mscrypto<br>
                                .dll  <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\app.obj

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\crypto.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\ciphers.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\digests.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\hmac.obj 

                                libxmlse<br>
                                <a moz-do-not-send="true"
                                  href="http://c_mscrypto.int/"
                                  target="_blank">c_mscrypto.int</a>\symkeys.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\kt_rsa.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\kw_aes.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\kw_des.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\strings.obj 

                                libxmlsec_mscryp<br>
                                <a moz-do-not-send="true"
                                  href="http://to.int/" target="_blank">to.int</a>\signatures.obj 
                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\certkeys.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\keysstore.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\x509.obj 

                                <a moz-do-not-send="true"
                                  href="http://libxmlsec_mscrypto.int/"
                                  target="_blank">libxmlsec_mscrypto.int</a>\x509vfy.obj

                                libxmlsec.lib  libx<br>
                                ml2.lib libxslt.lib kernel32.lib
                                user32.lib gdi32.lib Crypt32.lib
                                Advapi32.lib<br>
                                   Creating library
                                binaries\libxmlsec-mscrypto.lib and
                                object binaries\libxmlsec-mscrypto.exp<br>
                                crypto.obj : error LNK2019: unresolved
                                external symbol _wcscpy_s referenced in
                                function
                                _xmlSecMSCryptoErrorsDefaultCallback<br>
                                crypto.obj : error LNK2019: unresolved
                                external symbol _strcpy_s referenced in
                                function
                                _xmlSecMSCryptoErrorsDefaultCallback<br>
                                binaries\libxmlsec-mscrypto.dll : fatal
                                error LNK1120: 2 unresolved externals<br>
                                NMAKE : fatal error U1077: 'link.exe' :
                                return code '0x460'<br>
                                Stop.<br>
                                <br>
                                C:\XMLSec\xmlsec1-1.2.18\win32><br>
                              </div>
                              <br>
                              <br>
                            </blockquote>
                          </div>
                          <br>
                          <br clear="all">
                          <br>
                          -- <br>
                          Ed's Contact Information:<br>
                          Mobile Phone: <a moz-do-not-send="true"
                            href="tel:613-852-6410" value="+16138526410"
                            target="_blank">613-852-6410</a><br>
                          Gmail: <a moz-do-not-send="true"
                            href="mailto:ed.shallow@gmail.com"
                            target="_blank">ed.shallow@gmail.com</a><br>
                          VOIP Address: <a moz-do-not-send="true"
                            href="mailto:107529@sip.ca1.voip.ms"
                            target="_blank">107529@sip.ca1.voip.ms</a><br>
                          VOIP DID#: <a moz-do-not-send="true"
                            href="tel:613-458-5004" value="+16134585004"
                            target="_blank">613-458-5004</a><br>
                          Skype ID: edward.shallow<br>
                          Home Phone: <a moz-do-not-send="true"
                            href="tel:613-482-2090" value="+16134822090"
                            target="_blank">613-482-2090</a><br>
                          <br>
                        </div>
                      </div>
                      <pre><fieldset></fieldset>
_______________________________________________
xmlsec mailing list
<a moz-do-not-send="true" href="mailto:xmlsec@aleksey.com" target="_blank">xmlsec@aleksey.com</a>
<a moz-do-not-send="true" href="http://www.aleksey.com/mailman/listinfo/xmlsec" target="_blank">http://www.aleksey.com/mailman/listinfo/xmlsec</a>
</pre>
                    </blockquote>
                  </div>
                </blockquote>
              </div>
              <br>
              <br clear="all">
              <br>
              -- <br>
              Ed's Contact Information:<br>
              Mobile Phone: <a moz-do-not-send="true"
                href="tel:613-852-6410" value="+16138526410"
                target="_blank">613-852-6410</a><br>
              Gmail: <a moz-do-not-send="true"
                href="mailto:ed.shallow@gmail.com" target="_blank">ed.shallow@gmail.com</a><br>
              VOIP Address: <a moz-do-not-send="true"
                href="mailto:107529@sip.ca1.voip.ms" target="_blank">107529@sip.ca1.voip.ms</a><br>
              VOIP DID#: <a moz-do-not-send="true"
                href="tel:613-458-5004" value="+16134585004"
                target="_blank">613-458-5004</a><br>
              Skype ID: edward.shallow<br>
              Home Phone: <a moz-do-not-send="true"
                href="tel:613-482-2090" value="+16134822090"
                target="_blank">613-482-2090</a><br>
              <br>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
      <br clear="all">
      <br>
      -- <br>
      Ed's Contact Information:<br>
      Mobile Phone: 613-852-6410<br>
      Gmail: <a moz-do-not-send="true"
        href="mailto:ed.shallow@gmail.com">ed.shallow@gmail.com</a><br>
      VOIP Address: <a moz-do-not-send="true"
        href="mailto:107529@sip.ca1.voip.ms">107529@sip.ca1.voip.ms</a><br>
      VOIP DID#: 613-458-5004<br>
      Skype ID: edward.shallow<br>
      Home Phone: 613-482-2090<br>
      <br>
    </blockquote>
  </body>
</html>