FreeRADIUS 2.1.8 fails to build when configured --without-pthreads
Alan DeKok
aland at deployingradius.com
Tue Apr 20 22:38:10 CEST 2010
Scott Neugroschl wrote:
> diff -C 1 -c listings:
Please also see doc/DIFFS.
> *** freeradius-server-2.1.8/libltdl/ltdl.c Wed Dec 30 07:44:35 2009
> --- freeradius-server-2.1.8/libltdl/ltdl.c.new Tue Apr 20 07:25:27 2010
> ***************
> *** 2442,2453 ****
>
> while (loader)
> {
> if (useloader && strcmp(loader->loader_name, useloader))
> {
> loader = loader->next;
> continue;
> }
> ! lt_user_data data = loader->dlloader_data;
What does that do?
> + lt_user_data data; /* san */
I would really prefer to see patches without /* san */. It's
unnecessary, and it complicates the code.
> + #else /* BEGIN SAN */
> + #ifdef __TANDEM
> + #define ss_family __ss_family
> + #endif
That's a good patch which doesn't affect any other platform.
> *** freeradius-server-2.1.8/src/main/auth.c Wed Dec 30 07:44:35 2009
> --- freeradius-server-2.1.8/src/main/auth.c.new Tue Apr 20 09:28:18 2010
> ***************
> *** 175,183 ****
> */
> cur_config_item = request->config_items;
> while(((auth_type_pair = pairfind(cur_config_item, PW_AUTH_TYPE)))
> != NULL) {
> auth_type = auth_type_pair->vp_integer;
> auth_type_count++;
> ! DICT_VALUE *dv = dict_valbyattr(auth_type_pair->attribute,
> auth_type_pair->vp_integer);
I don't see why that's necessary.
> *** freeradius-server-2.1.8/src/main/command.c Wed Dec 30 07:44:35 2009
> --- freeradius-server-2.1.8/src/main/command.c.new Tue Apr 20 09:33:16 2010
> ***************
> *** 842,848 ****
> return 0;
> }
>
> ! cf_section2file(fp, client->cs);
What is that patch supposed to do?
> +
> + #define WITHOUT_PROXY /* SAN */
> + #define WITHOUT_COA /* SAN */
> +
Absolutely not. Patches which *force* behavior for a particular
platform also *break* behavior for all other platforms.
The server is supposed to work on platforms other than /* san */. If
you want to maintain a platform-specific version, learn to use "git".
> *** freeradius-server-2.1.8/src/main/listen.c Wed Dec 30 07:44:35 2009
> --- freeradius-server-2.1.8/src/main/listen.c.new Tue Apr 20 09:33:05 2010
> ***************
> *** 126,132 ****
> last_printed = now;
> }
>
> ! listener->print(listener, name, sizeof(name));
I see... "fix" compile warnings by deleting the code.
Absolutely not. This shows you haven't spent any time thinking about
any side-effects of the patches.
After that... I've ignored the rest of your patches. I don't feel
like double-checking changes which destroy the server.
Alan DeKok.
More information about the Freeradius-Devel
mailing list