Skip to content

Commit 7794dfb

Browse files
committed
Avoid regressing the behavior of server directories on non-Windows operating systems
1 parent 92cec57 commit 7794dfb

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

src/PkgAuthentication.jl

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -371,22 +371,24 @@ else
371371
end
372372
end
373373

374-
function _get_server_dir(
375-
url::AbstractString,
376-
server::Union{AbstractString, Nothing},
377-
)
378-
server === nothing && return
379-
url == server || startswith(url, "$server/") || return
380-
m = match(r"^\w+://([^\\/]+)(?:$|/)", server)
381-
if m === nothing
382-
@warn "malformed Pkg server value" server
383-
return
374+
@static if Base.VERSION >= v"1.10-" # TODO: change this to 1.9 once the nightlies have updated
375+
const _get_server_dir = Pkg.PlatformEngines.get_server_dir
376+
else
377+
function _get_server_dir(
378+
url::AbstractString,
379+
server::AbstractString,
380+
)
381+
server === nothing && return
382+
url == server || startswith(url, "$server/") || return
383+
m = match(r"^\w+://(?:[^\\/@]+@)?([^\\/:]+)(?:$|/|:)", server)
384+
if m === nothing
385+
@warn "malformed Pkg server value" server
386+
return
387+
end
388+
joinpath(Pkg.depots1(), "servers", m.captures[1])
384389
end
385-
isempty(Base.DEPOT_PATH) && return
386-
invalid_filename_chars = [':', '/', '<', '>', '"', '/', '\\', '|', '?', '*']
387-
dir = join(replace(c -> c in invalid_filename_chars ? '_' : c, collect(String(only(m.captures)))))
388-
return joinpath(Pkg.depots1(), "servers", dir)
389390
end
391+
390392
function get_server_dir(
391393
url::AbstractString,
392394
server::Union{AbstractString, Nothing} = pkg_server(),

0 commit comments

Comments
 (0)