static pointer
extmodSetup(pointer module, pointer opts, int *errmaj, int *errmin)
{
    int i;

    /* XXX the option stuff here is largely a sample/test case */

    for (i = 0; extensionModules[i].name != NULL; i++) {
	if (opts) {
	    char *s;
	    s = (char *)xalloc(strlen(extensionModules[i].name) + 5);
	    if (s) {
		pointer o;
		strcpy(s, "omit");
		strcat(s, extensionModules[i].name);
		o = xf86FindOption(opts, s);
		xfree(s);
		if (o) {
		    xf86MarkOptionUsed(o);
		    continue;
		}
	    }
	}

#ifdef XSELINUX
	if (! strcmp(SELINUX_EXTENSION_NAME, extensionModules[i].name)) {
	    pointer o;
	    selinuxEnforcingState = SELINUX_MODE_DEFAULT;

	    if ((o = xf86FindOption(opts, "SELinux mode disabled"))) {
		xf86MarkOptionUsed(o);
		selinuxEnforcingState = SELINUX_MODE_DISABLED;
	    }
	    if ((o = xf86FindOption(opts, "SELinux mode permissive"))) {
		xf86MarkOptionUsed(o);
		selinuxEnforcingState = SELINUX_MODE_PERMISSIVE;
	    }
	    if ((o = xf86FindOption(opts, "SELinux mode enforcing"))) {
		xf86MarkOptionUsed(o);
		selinuxEnforcingState = SELINUX_MODE_ENFORCING;
	    }
	}
#endif

	LoadExtension(&extensionModules[i], FALSE);
    }
    /* Need a non-NULL return */
    return (pointer)1;
}
Ejemplo n.º 2
0
static pointer
extmodSetup(pointer module, pointer opts, int *errmaj, int *errmin)
{
    int i;

    /* XXX the option stuff here is largely a sample/test case */

    for (i = 0; extensionModules[i].name != NULL; i++) {
	if (opts) {
	    char *s;
	    s = (char *)xalloc(strlen(extensionModules[i].name) + 5);
	    if (s) {
		pointer o;
		strcpy(s, "omit");
		strcat(s, extensionModules[i].name);
		o = xf86FindOption(opts, s);
		xfree(s);
		if (o) {
		    xf86MarkOptionUsed(o);
		    continue;
		}
	    }
	}
	LoadExtension(&extensionModules[i], FALSE);
    }
    /* Need a non-NULL return */
    return (pointer)1;
}