cdeea11fd3f49835df088e81b47f481a93550cdb
				
			
			
		
	 epriestley
		
	
	cdeea11fd3
	
	
	Don't actually construct auth providers when checking for their existence
			epriestley
		
	
	cdeea11fd3
	
	
	Don't actually construct auth providers when checking for their existence
		
			
			Summary: A user reported this stack trace: http://pastebin.com/6auGbZsE ...on this GitHub issue: https://github.com/facebook/phabricator/issues/389#issuecomment-36612511 The problem is similar to the original report, but not identical. In this case, we're following a sequence of steps like: - Run setup checks. - Check for enabled providers, in order to raise "no providers configured yet" warning. - Try to generate login/redirect URIs. - Build the request. - Set the default base URI. - Run normal code. Since we try to generate URIs before we provide a default, this fatals. Instead, don't try to build objects. An alternative fix might be to try to set defaults earlier, but we depend on some config and on building the Request in order to be able to figure out if a request is HTTP or HTTPS right now. We could assume one, or guess, or use protocol-relative URIs (`///host.com`), but I think this fix is a little cleaner overall. If we keep hitting similar stuff, we could look into alternate fixes. We could also set some kind of "setup mode" flag and make `getURI()` if it's called during setup mode to detect these during testing. I'd like to hit one more of these before doing that, though. Test Plan: Reproduced the issue, applied the patch, verified this fixes it. Reviewers: btrahan Reviewed By: btrahan CC: aran Differential Revision: https://secure.phabricator.com/D8395
Phabricator is an open source collection of web applications which help software companies build better software. Phabricator includes applications for: - reviewing and auditing source code; - hosting and browsing repositories; - assembling a party to venture forth; - tracking bugs; - hiding stuff from coworkers; and - also some other things. You can learn more about the project (and find links to documentation and resources) here: http://phabricator.org/ Phabricator is developed and maintained by Phacility. The first version of Phabricator was originally built at Facebook. LICENSE Phabricator is released under the Apache 2.0 license except as otherwise noted.
Description
				
					Languages
				
				
								
								
									PHP
								
								93.4%
							
						
							
								
								
									JavaScript
								
								4.1%
							
						
							
								
								
									CSS
								
								2.4%