UByte PancakeAuthenticationInitialize() { PancakeConfigurationGroup *group; PancakeConfigurationSetting *setting; setting = PancakeConfigurationAddSetting(NULL, (String) {"Authentication", sizeof("Authentication") - 1}, CONFIG_TYPE_LIST, NULL, 0, (config_value_t) 0, NULL); group = PancakeConfigurationListGroup(setting, PancakeAuthenticationGroupConfiguration); PancakeConfigurationAddSetting(group, (String) {"Backend", sizeof("Backend") - 1}, CONFIG_TYPE_STRING, NULL, 0, (config_value_t) 0, PancakeAuthenticationBackendConfiguration); PancakeConfigurationAddSetting(group, (String) {"Name", sizeof("Name") - 1}, CONFIG_TYPE_STRING, NULL, 0, (config_value_t) 0, PancakeAuthenticationNameConfiguration); PancakeConfigurationAddSetting(NULL, (String) {"AuthenticationConfiguration", sizeof("AuthenticationConfiguration") - 1}, CONFIG_TYPE_STRING, &PancakeAuthenticationActiveConfiguration, sizeof(void*), (config_value_t) 0, PancakeAuthenticationConfigurationConfiguration); return 1; }
UByte PancakeHTTPBasicAuthenticationInitialize() { PancakeConfigurationSetting *setting, *vhost; PancakeConfigurationGroup *group; // Defer if HTTP or Authentication are not yet intialized if(!PancakeHTTP.initialized || !PancakeAuthenticationModule.initialized) { return 2; } group = PancakeConfigurationLookupGroup(NULL, (String) {"HTTP", sizeof("HTTP") - 1}); setting = PancakeConfigurationAddSetting(group, (String) {"HTTPAuthenticationRealm", sizeof("HTTPAuthenticationRealm") - 1}, CONFIG_TYPE_STRING, &activeRealm, sizeof(void*), (config_value_t) 0, PancakeConfigurationString); vhost = PancakeConfigurationLookupSetting(group, (String) {"VirtualHosts", sizeof("VirtualHosts") - 1}); PancakeConfigurationAddSettingToGroup(vhost->listGroup, setting); setting = PancakeConfigurationLookupSetting(NULL, (String) {"AuthenticationConfiguration", sizeof("AuthenticationConfiguration") - 1}); PancakeConfigurationAddSettingToGroup(vhost->listGroup, setting); PancakeHTTPRegisterParserHook(&PancakeHTTPBasicAuthentication); return 1; }