Server IP : 103.119.228.120 / Your IP : 3.12.73.149 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/cyrus-sasl-lib-2.1.26/ |
Upload File : |
<html><head> <title>Building Cyrus SASL on Windows</title> </head> <body> <h1>Building Cyrus SASL on Windows</h1> Note, that Cyrus SASL on Windows is still laregely a "work in progress". So far only the main library, plugins (SASLDB using SleepyCat, no MySQL) and several applications (see the list below) can be built. In particular, saslauthd doesn't compile on Windows. <h2>Prerequisites</h2> <ul> <li>Visual Studio. We have tested Visual Studio 6 and Visual Studio 7 (.NET). By default we are using Visual Studio 7 (both 2002 and 2003 versions were tested). If you want to use Visual Studio 6, you need to remove the leading # character from the line containing "<tt>#VCVER=6</tt>" in win32/common.mak. <li>The latest Platform SDK. We are currently using March 2006. (The earliest tested version was November 2001.) <li>SleepyCat include files and libraries are required to buil SASLDB plugin, saslpasswd2.exe and sasldblistusers2.exe. We have tested SleepyCat 4.1.X-4.4.X. <li>If you are building directly from GIT, you'll need the <a href="http://www.cygwin.com/">Cygwin</a> Unix-compatibility environment to create the <tt>_init.c</tt> files needed for dynamic loading. Cygwin is <em>not</em> required for building from our tar distribution. </ul> <h2>Step by step</h2> These directions assume that you've untarred the library or used GIT and the sources are in <tt>C:\SASL</tt>. <h3>preparing to build (GIT only!)</h3> Start a cygwin shell and create the dynamic loading stubs: <pre> % cd /cygdrive/c/sasl/plugins % sh makeinit.sh </pre> <h3>building using NMake</h3> Open a "Windows 2000 build environment" from the SDK's Start Menu and use "<tt>nmake /f NTMakefile</tt>" to build. <p>To build a debug verison, use "<tt>nmake /f NTMakefile CFG=Debug</tt>". For a production version, "<tt>nmake /f NTMakefile CFG=Release</tt>". If you don't specify CFG parameter, production version will be built by default. <p>As Windows build requires SleepyCat, there are additional options that has to be provided to NMake on the command line. If SleepyCat sources are located in <tt>c:\packages\db\4.1.24</tt> and built library in <tt>c:\packages\db\4.1.24\build_win32\Release_static</tt>, you should add something like <tt>DB_INCLUDE=c:\packages\db\4.1.24\build_win32</tt> and <tt>DB_LIBPATH=c:\packages\db\4.1.24\build_win32\Release_static</tt>. <br>Also note, that the <tt>DB_LIB</tt> defines the name of the SleepyCat library to link against. It defaults to libdb41s.lib. <br>If you don't pass the parameters described above, NMake will pick the defaults, which is probably not what you want. <p>Another option of interest is <tt>STATIC</tt>. It specifies which version of the standard C library to use. The default is "no", meaning that the standard C library from the MSVCRT.DLL will be used. <p>Example: <pre> Targeting Windows 2000 and IE 5.0 RETAIL C:\Program Files\Microsoft SDK> cd \sasl C:\sasl> nmake /f NTMakefile DB_INCLUDE=c:\packages\db\4.1.24\build_win32 DB_LIBPATH=c:\packages\db\4.1.24\build_win32\Release_static No configuration specified. Defaulting to Release. Using MSVCRT.dll as C library by default. Defaulting SleepyCat library name to libdb41s.lib. Codegeneration defaulting to /MD. ... </pre> <p>SASL NTMakefile also understands "clean" target that you can use to clean all files generated by the compiler. <pre> C:\sasl> nmake /f NTMakefile clean Microsoft (R) Program Maintenance Utility Version 7.00.9466 Copyright (C) Microsoft Corporation. All rights reserved. cd lib && nmake /f NTMakefile clean Microsoft (R) Program Maintenance Utility Version 7.00.9466 Copyright (C) Microsoft Corporation. All rights reserved. No configuration specified. Defaulting to Release. Using MSVCRT.dll as C library by default. Defaulting SleepyCat library name to libdb41s.lib. Defaulting SleepyCat include path to c:\work\isode\db\build_win32. Defaulting SleepyCat library path to c:\work\isode\db\build_win32\Release_static. ... </pre> <h3>building additional plugins</h3> <p>Specify "GSSAPI=<type>" parameter if you want to enable GSSAPI plugin. Currently only <type>=CyberSafe is supported and this will build the plugin that links against CyberSafe Kerberos. GSSAPI depends on <tt>GSSAPI_INCLUDE</tt> and <tt>GSSAPI_LIBPATH</tt> parameters. You can either specify them on the command line or edit the defaults in win32\common.mak <p>Specify "SQL=<type>" parameter if you want to enable SQL plugin. Currently only <type>=SQLITE is supported and this will build the plugin that links against SQLITE (www.sqlite.org). SQL=<SQLITE> depends on <tt>SQLITE_INCLUDES</tt> and <tt>SQLITE_LIBPATH</tt> parameters. You can either specify them on the command line or edit the defaults in win32\common.mak <p>Specify "NTLM=1" parameter if you want to enable NTLM plugin. I.e. "<tt>nmake /f NTMakefile NTLM=1</tt>" <p>Specify "SRP=1" parameter if you want to enable SRP plugin. You can also specify "DO_SRP_SETPASS=1" if you want to enable SRP setpass functionality. <p>Specify "OTP=1" parameter if you want to enable OTP plugin. <p>NTLM, SRP and OTP plugins depend on OpenSSL. You can either specify <tt>OPENSSL_INCLUDE</tt> and <tt>OPENSSL_LIBPATH</tt> parameters on the command line or edit the defaults in win32\common.mak Note, that unless you are building one of those plugins, OpenSSL is not required! <p>If you want to build multiple additional plugins at once, you can specify multiple parameters described above, for example "<tt>nmake /f NTMakefile NTLM=1 SRP=1 OPT=1</tt>" <h3>limitations</h3> Currently all plugins but KerberosV4 (kerberos4.c) and PASSDSS (passdss.c) can be built on Windows. However limited testings was done for some plugins as listed below: <ul> <li>GSSAPI - tested using CyberSafe, <li>SASLDB - only SleepyCat version can be built, <li>SQL - using SQLITE, not tested </ul> The following executables were built and tested (to some extend): In sample: <ul> <li>sample-client <li>sample-server </ul> In utils: <ul> <li>sasldblistusers2 <li>saslpasswd2 <li>testsuite <li>pluginviewer </ul> Note that saslauthd is <em>NOT</em> in this list. <h3>testing</h3> <h3>creating an MSI</h3> </body> </html>