Magellan Linux

Contents of /trunk/cyrus-sasl/patches/cyrus-sasl-2.1.20-configdir.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (show annotations) (download)
Tue May 8 20:06:05 2007 UTC (17 years ago) by niro
File size: 8231 byte(s)
-import

1 diff -urN cyrus-sasl-2.1.17.orig/configure.in cyrus-sasl-2.1.17/configure.in
2 --- cyrus-sasl-2.1.17.orig/configure.in Tue May 9 19:52:53 2000
3 +++ cyrus-sasl-2.1.17/configure.in Thu Jun 1 13:48:11 2000
4 @@ -710,6 +710,13 @@
5 AC_DEFINE_UNQUOTED(PLUGINDIR, "$plugindir", [Runtime plugin location])
6 AC_SUBST(plugindir)
7
8 +AC_ARG_WITH(configdir, [ --with-configdir=DIR set the directory where config files will
9 + be found [/etc/sasl] ],
10 + configdir=$withval,
11 + configdir=/etc/sasl)
12 +AC_DEFINE_UNQUOTED(CONFIGDIR, "$configdir", [Runtime config file location])
13 +AC_SUBST(configdir)
14 +
15 dnl look for rc4 libraries. we accept the CMU one or one from openSSL
16 AC_ARG_WITH(rc4, [ --with-rc4 use internal rc4 routines [yes] ],
17 with_rc4=$withval,
18 @@ -1006,6 +1013,7 @@
19 #endif
20
21 #define SASL_PATH_ENV_VAR "SASL_PATH"
22 +#define SASL_CONF_PATH_ENV_VAR "SASL_CONF_PATH"
23
24 #include <stdlib.h>
25 #include <sys/types.h>
26 diff -urN cyrus-sasl-2.1.17.orig/include/sasl.h cyrus-sasl-2.1.17/include/sasl.h
27 --- cyrus-sasl-2.1.17.orig/include/sasl.h Tue May 9 19:52:53 2000
28 +++ cyrus-sasl-2.1.17/include/sasl.h Thu Jun 1 13:04:48 2000
29 @@ -25,6 +25,7 @@
30 *
31 * Server only Callbacks:
32 * sasl_authorize_t user authorization policy callback
33 + * sasl_getconfpath_t get path to search for config file
34 * sasl_server_userdb_checkpass check password and auxprops in userdb
35 * sasl_server_userdb_setpass set password in userdb
36 * sasl_server_canon_user canonicalize username routine
37 @@ -439,6 +440,24 @@
38 const char *file, sasl_verify_type_t type);
39 #define SASL_CB_VERIFYFILE 4
40
41 +/* getconfpath callback -- this allows applications to specify the
42 + * colon-separated path to search for config files (by default,
43 + * taken from the SASL_CONF_PATH environment variable).
44 + * inputs:
45 + * context -- getconfpath context from the callback record
46 + * outputs:
47 + * path -- colon seperated path (allocated on the heap; the
48 + * library will free it using the sasl_free_t *
49 + * passed to sasl_set_callback, or the standard free()
50 + * library call).
51 + * returns:
52 + * SASL_OK -- no error
53 + * SASL_FAIL -- error
54 + */
55 +typedef int sasl_getconfpath_t(void *context,
56 + char **path);
57 +
58 +#define SASL_CB_GETCONFPATH 5
59
60 /* client/user interaction callbacks:
61 */
62 diff -urN cyrus-sasl-2.1.17.orig/lib/common.c cyrus-sasl-2.1.17/lib/common.c
63 --- cyrus-sasl-2.1.17.orig/lib/common.c Fri May 5 14:41:42 2000
64 +++ cyrus-sasl-2.1.17/lib/common.c Thu Jun 1 12:53:19 2000
65 @@ -1047,6 +1047,20 @@
66 }
67
68 static int
69 +_sasl_getconfpath(void *context __attribute__((unused)),
70 + char ** path_dest)
71 +{
72 + char *path;
73 +
74 + if (! path_dest)
75 + return SASL_BADPARAM;
76 + path = getenv(SASL_CONF_PATH_ENV_VAR);
77 + if (! path)
78 + path = CONFIGDIR;
79 + return _sasl_strdup(path, path_dest, NULL);
80 +}
81 +
82 +static int
83 _sasl_verifyfile(void *context __attribute__((unused)),
84 char *file __attribute__((unused)),
85 int type __attribute__((unused)))
86 @@ -1154,6 +1168,10 @@
87 *pproc = (int (*)()) &_sasl_getpath;
88 *pcontext = NULL;
89 return SASL_OK;
90 + case SASL_CB_GETCONFPATH:
91 + *pproc = (int (*)()) &_sasl_getconfpath;
92 + *pcontext = NULL;
93 + return SASL_OK;
94 case SASL_CB_AUTHNAME:
95 *pproc = (int (*)()) &_sasl_getsimple;
96 *pcontext = conn;
97 @@ -1498,6 +1516,30 @@
98
99 return &default_getpath_cb;
100 }
101 +
102 +const sasl_callback_t *
103 +_sasl_find_getconfpath_callback(const sasl_callback_t *callbacks)
104 +{
105 + static const sasl_callback_t default_getconfpath_cb = {
106 + SASL_CB_GETCONFPATH,
107 + &_sasl_getconfpath,
108 + NULL
109 + };
110 +
111 + if (callbacks)
112 + while (callbacks->id != SASL_CB_LIST_END)
113 + {
114 + if (callbacks->id == SASL_CB_GETCONFPATH)
115 + {
116 + return callbacks;
117 + } else {
118 + ++callbacks;
119 + }
120 + }
121 +
122 + return &default_getconfpath_cb;
123 +}
124 +
125
126 const sasl_callback_t *
127 _sasl_find_verifyfile_callback(const sasl_callback_t *callbacks)
128 diff -urN cyrus-sasl-2.1.17.orig/lib/saslint.h cyrus-sasl-2.1.17/lib/saslint.h
129 --- cyrus-sasl-2.1.17.orig/lib/saslint.h Wed Mar 29 06:45:21 2000
130 +++ cyrus-sasl-2.1.17/lib/saslint.h Thu Jun 1 12:56:37 2000
131 @@ -360,6 +360,9 @@
132 _sasl_find_getpath_callback(const sasl_callback_t *callbacks);
133
134 extern const sasl_callback_t *
135 +_sasl_find_getconfpath_callback(const sasl_callback_t *callbacks);
136 +
137 +extern const sasl_callback_t *
138 _sasl_find_verifyfile_callback(const sasl_callback_t *callbacks);
139
140 extern int _sasl_common_init(sasl_global_callbacks_t *global_callbacks);
141 diff -urN cyrus-sasl-2.1.17.orig/lib/server.c cyrus-sasl-2.1.17/lib/server.c
142 --- cyrus-sasl-2.1.17.orig/lib/server.c Tue May 9 19:52:53 2000
143 +++ cyrus-sasl-2.1.17/lib/server.c Thu Jun 1 12:59:03 2000
144 @@ -462,7 +462,7 @@
145 size_t path_len;
146 char *config_filename=NULL;
147 size_t len;
148 - const sasl_callback_t *getpath_cb=NULL;
149 + const sasl_callback_t *getconfpath_cb=NULL;
150
151 /* If appname was not provided, behave as if there is no config file
152 (see also sasl_config_init() */
153 @@ -471,12 +471,12 @@
154 }
155
156 /* get the path to the plugins; for now the config file will reside there */
157 - getpath_cb=_sasl_find_getpath_callback( global_callbacks.callbacks );
158 - if (getpath_cb==NULL) return SASL_BADPARAM;
159 + getconfpath_cb=_sasl_find_getconfpath_callback( global_callbacks.callbacks );
160 + if (getconfpath_cb==NULL) return SASL_BADPARAM;
161
162 - /* getpath_cb->proc MUST be a sasl_getpath_t; if only c had a type
163 + /* getconfpath_cb->proc MUST be a sasl_getconfpath_t; if only c had a type
164 system */
165 - result = ((sasl_getpath_t *)(getpath_cb->proc))(getpath_cb->context,
166 + result = ((sasl_getconfpath_t *)(getconfpath_cb->proc))(getconfpath_cb->context,
167 &path_to_config);
168 if (result!=SASL_OK) goto done;
169 if (path_to_config == NULL) path_to_config = "";
170 diff -urN cyrus-sasl-2.1.17.orig/man/sasl_getconfpath_t.3 cyrus-sasl-2.1.17/man/sasl_getconfpath_t.3
171 --- cyrus-sasl-2.1.17.orig/man/sasl_getconfpath_t.3 Thu Jan 1 01:00:00 1970
172 +++ cyrus-sasl-2.1.17/man/sasl_getconfpath_t.3 Thu Jun 1 13:54:07 2000
173 @@ -0,0 +1,47 @@
174 +.\" Hey Emacs! This file is -*- nroff -*- source.
175 +.\"
176 +.\" This manpage is Copyright (C) 1999 Tim Martin
177 +.\"
178 +.\" Permission is granted to make and distribute verbatim copies of this
179 +.\" manual provided the copyright notice and this permission notice are
180 +.\" preserved on all copies.
181 +.\"
182 +.\" Permission is granted to copy and distribute modified versions of this
183 +.\" manual under the conditions for verbatim copying, provided that the
184 +.\" entire resulting derived work is distributed under the terms of a
185 +.\" permission notice identical to this one
186 +.\"
187 +.\" Formatted or processed versions of this manual, if unaccompanied by
188 +.\" the source, must acknowledge the copyright and authors of this work.
189 +.\"
190 +.\"
191 +.TH sasl_getpath_t "26 March 2000" SASL "SASL man pages"
192 +.SH NAME
193 +sasl_getconfpath_t \- The SASL callback to indicate location of the config files
194 +
195 +
196 +.SH SYNOPSIS
197 +.nf
198 +.B #include <sasl.h>
199 +
200 +.sp
201 +.BI "int sasl_getconfpath_t(void " *context ", "
202 +.BI " char ** " path ")";
203 +
204 +.fi
205 +.SH DESCRIPTION
206 +
207 +.B sasl_getconfpath_t
208 +is used if the application wishes to use a different location for the SASL cofiguration files. If this callback is not used SASL will either use the location in the enviornment variable SASL_CONF_PATH or /etc/sasl by default.
209 +.PP
210 +
211 +.SH "RETURN VALUE"
212 +
213 +SASL callback functions should return SASL return codes. See sasl.h for a complete list. SASL_OK indicates success.
214 +
215 +.SH "CONFORMING TO"
216 +RFC 2222
217 +.SH "SEE ALSO"
218 +.BR other sasl stuff
219 +.BR
220 +.BR
221 \ No newline at end of file
222 diff -urN cyrus-sasl-2.1.17.orig/win32/include/config.h cyrus-sasl-2.1.17/win32/include/config.h
223 --- cyrus-sasl-2.1.17.orig/win32/include/config.h Tue May 9 19:52:53 2000
224 +++ cyrus-sasl-2.1.17/win32/include/config.h Thu Jun 1 13:07:47 2000
225 @@ -91,7 +91,9 @@
226 #define HAVE_MEMCPY 1
227
228 #define SASL_PATH_ENV_VAR "SASL_PATH"
229 +#define SASL_CONF_PATH_ENV_VAR "SASL_CONF_PATH"
230 #define PLUGINDIR "C:\\CMU\\bin\\sasl2"
231 +#define CONFIGDIR "C:\\CMU\\config\\sasl2"
232
233 /* Windows calls these functions something else
234 */
235