void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credential) { // Set up auth request options. //#define LL_MINIMIAL_REQUESTED_OPTIONS LLSD requested_options; // *Note: this is where gUserAuth used to be created. requested_options.append("inventory-root"); requested_options.append("inventory-skeleton"); //requested_options.append("inventory-meat"); //requested_options.append("inventory-skel-targets"); #if (!defined LL_MINIMIAL_REQUESTED_OPTIONS) if(FALSE == gSavedSettings.getBOOL("NoInventoryLibrary")) { requested_options.append("inventory-lib-root"); requested_options.append("inventory-lib-owner"); requested_options.append("inventory-skel-lib"); // requested_options.append("inventory-meat-lib"); } requested_options.append("initial-outfit"); requested_options.append("gestures"); requested_options.append("display_names"); requested_options.append("event_categories"); requested_options.append("event_notifications"); requested_options.append("classified_categories"); requested_options.append("adult_compliant"); //requested_options.append("inventory-targets"); requested_options.append("buddy-list"); requested_options.append("newuser-config"); requested_options.append("ui-config"); //send this info to login.cgi for stats gathering //since viewerstats isn't reliable enough requested_options.append("advanced-mode"); #endif requested_options.append("max-agent-groups"); requested_options.append("map-server-url"); requested_options.append("voice-config"); requested_options.append("tutorial_setting"); requested_options.append("login-flags"); requested_options.append("global-textures"); if(gSavedSettings.getBOOL("ConnectAsGod")) { gSavedSettings.setBOOL("UseDebugMenus", TRUE); requested_options.append("god-connect"); } // <FS:AW various patches> #ifdef OPENSIM // <FS:AW optional opensim support> //TODO: make this more flexible if (LLGridManager::getInstance()->isInOpenSim()) { requested_options.append("currency");// <FS:AW opensim currency support> requested_options.append("max_groups");// <FS:AW opensim max groups support> requested_options.append("search"); // <FS:AW opensim search support> requested_options.append("destination_guide_url");// <FS:AW opensim destinations and avatar picker> requested_options.append("avatar_picker_url");// <FS:AW opensim destinations and avatar picker> //not in this patch //requested_options.append("profile-server-url"); } #endif // OPENSIM // <FS:AW optional opensim support> // </FS:AW various patches> // (re)initialize the request params with creds. LLSD request_params = user_credential->getLoginParams(); char hashed_unique_id_string[MD5HEX_STR_SIZE]; /* Flawfinder: ignore */ LLMD5 hashed_unique_id; unsigned char unique_id[MAC_ADDRESS_BYTES]; if(LLUUID::getNodeID(unique_id) == 0) { if(LLMachineID::getUniqueID(unique_id, sizeof(unique_id)) == 0) { llerrs << "Failed to get an id; cannot uniquely identify this machine." << llendl; } } hashed_unique_id.update(unique_id, MAC_ADDRESS_BYTES); hashed_unique_id.finalize(); hashed_unique_id.hex_digest(hashed_unique_id_string); request_params["start"] = construct_start_string(); request_params["skipoptional"] = mSkipOptionalUpdate; request_params["agree_to_tos"] = false; // Always false here. Set true in request_params["read_critical"] = false; // handleTOSResponse request_params["last_exec_event"] = mLastExecEvent; request_params["mac"] = hashed_unique_id_string; request_params["version"] = LLVersionInfo::getChannelAndVersion(); // Includes channel name request_params["channel"] = LLVersionInfo::getChannel(); request_params["id0"] = mSerialNumber; request_params["host_id"] = gSavedSettings.getString("HostID"); request_params["extended_errors"] = true; // request message_id and message_args mRequestData.clear(); mRequestData["method"] = "login_to_simulator"; mRequestData["params"] = request_params; mRequestData["options"] = requested_options; mRequestData["cfg_srv_timeout"] = gSavedSettings.getF32("LoginSRVTimeout"); mRequestData["cfg_srv_pump"] = gSavedSettings.getString("LoginSRVPump"); }
void LLLoginInstance::constructAuthParams(LLPointer<LLCredential> user_credential) { // Set up auth request options. //#define LL_MINIMIAL_REQUESTED_OPTIONS LLSD requested_options; // *Note: this is where gUserAuth used to be created. requested_options.append("inventory-root"); requested_options.append("inventory-skeleton"); //requested_options.append("inventory-meat"); //requested_options.append("inventory-skel-targets"); #if (!defined LL_MINIMIAL_REQUESTED_OPTIONS) if(FALSE == gSavedSettings.getBOOL("NoInventoryLibrary")) { requested_options.append("inventory-lib-root"); requested_options.append("inventory-lib-owner"); requested_options.append("inventory-skel-lib"); // requested_options.append("inventory-meat-lib"); } requested_options.append("initial-outfit"); requested_options.append("gestures"); requested_options.append("event_categories"); requested_options.append("event_notifications"); requested_options.append("classified_categories"); requested_options.append("adult_compliant"); //requested_options.append("inventory-targets"); requested_options.append("buddy-list"); requested_options.append("newuser-config"); requested_options.append("ui-config"); #endif requested_options.append("map-server-url"); requested_options.append("voice-config"); requested_options.append("tutorial_setting"); requested_options.append("login-flags"); requested_options.append("global-textures"); if(gSavedSettings.getBOOL("ConnectAsGod")) { gSavedSettings.setBOOL("UseDebugMenus", TRUE); requested_options.append("god-connect"); } // (re)initialize the request params with creds. LLSD request_params = user_credential->getLoginParams(); char hashed_unique_id_string[MD5HEX_STR_SIZE]; /* Flawfinder: ignore */ LLMD5 hashed_unique_id; unsigned char unique_id[MAC_ADDRESS_BYTES]; if(LLUUID::getNodeID(unique_id) == 0) { if(LLMachineID::getUniqueID(unique_id, sizeof(unique_id)) == 0) { llerrs << "Failed to get an id; cannot uniquely identify this machine." << llendl; } } hashed_unique_id.update(unique_id, MAC_ADDRESS_BYTES); hashed_unique_id.finalize(); hashed_unique_id.hex_digest(hashed_unique_id_string); request_params["start"] = construct_start_string(); request_params["skipoptional"] = mSkipOptionalUpdate; request_params["agree_to_tos"] = false; // Always false here. Set true in request_params["read_critical"] = false; // handleTOSResponse request_params["last_exec_event"] = mLastExecEvent; request_params["mac"] = hashed_unique_id_string; request_params["version"] = gCurrentVersion; // Includes channel name request_params["channel"] = gSavedSettings.getString("VersionChannelName"); request_params["id0"] = mSerialNumber; mRequestData.clear(); mRequestData["method"] = "login_to_simulator"; mRequestData["params"] = request_params; mRequestData["options"] = requested_options; mRequestData["cfg_srv_timeout"] = gSavedSettings.getF32("LoginSRVTimeout"); mRequestData["cfg_srv_pump"] = gSavedSettings.getString("LoginSRVPump"); }