You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -59,20 +59,28 @@ <h2>Compiling and Using the Unix library</h2>
59
59
60
60
The Unix library is mostly ready to build on Mac OS X, but it does
61
61
depend on the <tt>dlcompat</tt> package in order to load its
62
-
plugins. <tt>dlcompat-20010505</tt> is the latest version and is known
62
+
plugins. <tt>dlcompat-20010505</tt> is a relatively simple version known
63
63
to work with SASL; it is provided with the distribution in a
64
64
tarball. You should <tt>make</tt> and <tt>make install</tt> the
65
65
<tt>dlcompat</tt> library (which probably goes into
66
66
<tt>/usr/local/lib/libdl.dylib</tt>) before attempting to
67
67
<tt>./configure</tt> the SASL distribution itself. SASL will then
68
68
pretend it's a real Unix <tt>libdl</tt>, and link against it.<p>
69
69
70
-
If you are using MIT Kerberos for Macintosh 4.0, which is fully
70
+
Since there are, at this point, newer and far more complex versions of
71
+
dlcompat, you may prefer to use those instead if other software
72
+
requires their functionality. The dlcompat homepage is located
73
+
<ahref="http://www.opendarwin.org/projects/dlcompat/">on the
74
+
OpenDarwin site.</a><p>
75
+
76
+
If you are using MIT Kerberos for Macintosh 4.0 or later, which is fully
71
77
supported by the SASL library, you should <tt>./configure</tt> with
72
78
the added option <tt>--enable-krb4=/usr</tt> so that it finds the
73
79
correct location for the header files. KfM will be automatically
74
80
detected by the configure script, and the correct libraries linked
75
-
in.<p>
81
+
in. <i>Please read the "Known Problems" section at the end of this
82
+
document for information on working around a problem with OpenSSL's
83
+
DES headers.</i><p>
76
84
77
85
You must be root to make install, since <tt>/usr/local</tt> is only
78
86
modifiable by root. You need not enable the root account using
@@ -96,7 +104,9 @@ <h2>Changes to the Unix library to make it work on OS X</h2><p>
96
104
<ul>
97
105
<li>The random code supports the preferred way to generate random
98
106
numbers in Darwin. (In SASL v2, it does this on all unix-like
99
-
platforms that lack jrand48).
107
+
platforms that lack jrand48). <i>Note that Mac OS X "Jaguar", version 10.2,
108
+
now has the standard jrand48 function, and that SASL will use this instead
109
+
of the previous workaround.</i>
100
110
101
111
<li>Symbols which are dlopened have an underscore prefixed. (This
102
112
behavior is detected by configure in SASL v2.)
@@ -113,7 +123,7 @@ <h2>Changes to the Unix library to make it work on OS X</h2><p>
113
123
way). Note that the MD5 symbols have local names on all platforms with
114
124
SASL v2; this was only different in SASL v1.
115
125
116
-
<li>MIT Kerberos for Macintosh 4.0 is fully supported. This was
126
+
<li>MIT Kerberos for Macintosh 4.0 and later are fully supported. This was
117
127
accomplished by using <tt>krb_get_err_text</tt> if available and
118
128
checking for additional names for the krb4 libraries.
119
129
@@ -172,3 +182,12 @@ <h2>Changes to the Mac OS 9 projects to support Carbon</h2><p>
172
182
173
183
</ul><p>
174
184
185
+
<h2>Known Problems</h2><p>
186
+
187
+
<ul>
188
+
<li>The Kerberos v4 headers bundled with Mac OS X (and Kerberos for Macintosh) are not compatible with OS X's OpenSSL headers. The easiest solution, for now, is to build without using OpenSSL's <tt>libcrypto</tt>. To do this, specify the <tt>--without-openssl</tt> option to <tt>configure</tt>. After running <tt>configure</tt>, you will need to instruct the build system not to use OpenSSL's headers, either. Edit the <tt>config.h</tt> file, and look for the line:<p>
189
+
<tt>#define WITH_SSL_DES 1</tt><p>
190
+
Comment this line out (for example, by adding a double slash <tt>//</tt> to the beginning of it).<p>
191
+
<li>Versions of Cyrus SASL prior to 2.1.14 with support for Carbon CFM applications on Mac OS X have a known bug involving the CFM glue code (in <tt>mac/osx_cfm_glue</tt>). If <tt>sasl_done</tt> is called to unload the SASL library, and then one of the initialization functions (such as <tt>sasl_client_init</tt>) is called to reinitialize it from the same process, the application will crash. A fix for one obvious cause of this problem is included in 2.1.14; however, as of this writing, it has not been tested. It is possible that other bugs in Cyrus SASL, or deficiencies in Apple's libraries, will make this fix insufficient to resolve this issue.
0 commit comments