ITS#8273 Windows file:// URL fixup

This commit is contained in:
Howard Chu 2015-10-19 08:52:28 +01:00
parent b6974ccd9f
commit 28a02271f0

View file

@ -50,9 +50,22 @@ ldif_open_url(
/* we don't check for LDAP_DIRSEP since URLs should contain '/' */
if ( urlstr[0] == '/' && urlstr[1] == '/' ) {
urlstr += 2;
/* path must be absolute if authority is present */
if ( urlstr[0] != '/' )
/* path must be absolute if authority is present
* technically, file://hostname/path is also legal but we don't
* accept a non-empty hostname
*/
if ( urlstr[0] != '/' ) {
#ifdef _WIN32
/* An absolute path in improper file://C:/foo/bar format */
if ( urlstr[1] != ':' )
#endif
return NULL;
}
#ifdef _WIN32
/* An absolute path in proper file:///C:/foo/bar format */
if ( urlstr[2] == ':' )
urlstr++;
#endif
}
p = ber_strdup( urlstr );