Problema com a codificação url no debian sources.list

3

Estou tentando adicionar um repositório (datastax) às minhas fontes. Este repositório pede que você adicione seu nome de usuário e senha, e também avisa que você terá que urlencode caracteres especiais .

Então eu adicionei:

deb https://[email protected]:p@[email protected]/enterprise stable main

Mas apt-get update diz:

W: Failed to fetch https://[email protected]/enterprise/dists/stable/main/binary-amd64/Packages  Could not resolve host: [email protected]

Neste momento, alterei apenas @ para %40 :

deb https://user%40mail.com:p%[email protected]/enterprise stable main

Mas sem dados, o erro permanece exatamente o mesmo.

Antes de alterar minha senha para remover qualquer caractere especial e esperar que o erro não seja movido para não encontrar mail.com:[email protected] , alguém poderia explicar o que eu não consegui entender em como o apt-get funciona com um repositório protegido por caractere especial e senha?

    
por DrakaSAN 05.05.2017 / 11:49

1 resposta

2

O caractere @ é um caractere reservado em URLs.

Por RFC 3986, Identificador Uniforme de Recursos (URI): Sintaxe Genérica , seção 2.2 , Caracteres reservados :

2.2. Caracteres Reservados

URIs include components and subcomponents that are delimited by characters in the "reserved" set. These characters are called "reserved" because they may (or may not) be defined as delimiters by the generic syntax, by each scheme-specific syntax, or by the implementation-specific syntax of a URI's dereferencing algorithm. If data for a URI component would conflict with a reserved character's purpose as a delimiter, then the conflicting data must be percent-encoded before the URI is formed.

reserved    = gen-delims / sub-delims

gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
              / "*" / "+" / "," / ";" / "="

The purpose of reserved characters is to provide a set of delimiting characters that are distinguishable from other data within a URI. URIs that differ in the replacement of a reserved character with its corresponding percent-encoded octet are not equivalent. Percent- encoding a reserved character, or decoding a percent-encoded octet that corresponds to a reserved character, will change how the URI is interpreted by most applications. Thus, characters in the reserved set are protected from normalization and are therefore safe to be used by scheme-specific and producer-specific algorithms for delimiting data subcomponents within a URI.

Observe que @ está listado como um dos "gen-delims".

    
por 05.05.2017 / 12:39