usr/src/cmd/rad/rad.c
changeset 604 20d9acfeb7fb
parent 595 725a82f60b1c
child 664 bf20f6a9e353
equal deleted inserted replaced
603:71a20acea802 604:20d9acfeb7fb
    53 
    53 
    54 #if !defined(TEXT_DOMAIN)
    54 #if !defined(TEXT_DOMAIN)
    55 #define	TEXT_DOMAIN	"SYS_TEST"
    55 #define	TEXT_DOMAIN	"SYS_TEST"
    56 #endif
    56 #endif
    57 
    57 
    58 rad_container_t rad_container_auth = CONTAINER_INITIALIZER;
    58 rad_container_t rad_container_auth;
    59 rad_container_t rad_container_unauth = CONTAINER_INITIALIZER;
    59 rad_container_t rad_container_unauth;
    60 rad_container_t rad_container_control = CONTAINER_INITIALIZER;
    60 rad_container_t rad_container_control;
    61 
       
    62 rad_container_t *rad_container = &rad_container_auth;
    61 rad_container_t *rad_container = &rad_container_auth;
    63 
    62 
    64 int rad_exit_failure = 1;
    63 int rad_exit_failure = 1;
    65 int rad_exit_config = 1;
    64 int rad_exit_config = 1;
    66 boolean_t rad_isproxy = B_FALSE;
    65 boolean_t rad_isproxy = B_FALSE;
   214 		if ((debug = struct_get(config, "debug")) != NULL &&
   213 		if ((debug = struct_get(config, "debug")) != NULL &&
   215 		    data_to_boolean(debug))
   214 		    data_to_boolean(debug))
   216 			rad_loglevel = RL_ALL;
   215 			rad_loglevel = RL_ALL;
   217 		if ((moduledir = struct_get(config, "moduledir")) != NULL)
   216 		if ((moduledir = struct_get(config, "moduledir")) != NULL)
   218 			rad_moduledirs =
   217 			rad_moduledirs =
   219 			    array_combine(rad_moduledirs, data_ref(moduledir));
   218 			    array_addall(rad_moduledirs, data_ref(moduledir));
   220 		if ((modules = struct_get(config, "modules")) != NULL)
   219 		if ((modules = struct_get(config, "modules")) != NULL)
   221 			rad_modules =
   220 			rad_modules =
   222 			    array_combine(rad_modules, data_ref(modules));
   221 			    array_addall(rad_modules, data_ref(modules));
   223 		data_free(config);
   222 		data_free(config);
   224 	}
   223 	}
   225 
   224 
   226 	/* parent exits, child returns */
   225 	/* parent exits, child returns */
   227 	if (smf_startup)
   226 	if (smf_startup)
   228 		svc_fd = rad_service_wait();
   227 		svc_fd = rad_service_wait();
       
   228 
       
   229 	cont_create(&rad_container_auth);
       
   230 	cont_create(&rad_container_unauth);
       
   231 	cont_create(&rad_container_control);
   229 
   232 
   230 	xmlInitParser();	/* So libxml consumers are MT safe */
   233 	xmlInitParser();	/* So libxml consumers are MT safe */
   231 	adr_ssl_init();		/* So OpenSSL consumers are MT safe */
   234 	adr_ssl_init();		/* So OpenSSL consumers are MT safe */
   232 	rad_ticket_init();
   235 	rad_ticket_init();
   233 	rad_pam_init();
   236 	rad_pam_init();