"$" character in passwords block Safepoints - Definite Bug!

Ive been having a lot of trouble setting up safepoints. Ive just finished proving a theory and would like others to confirm this.

My admin account has a strong password (special characters, upper, lower, and numbers).

If I set up a fresh user with this strong password I can use the credentials to mount drives etc. No issues. If I try to set up a safepoint it fails with the credentials it fails saying incorrect password/user

If I change the password to “t1” then safepouint set up works. If I set it back to striong password it fails. Ive switched back and forth 10 times atleast and this success/failure pattern is acting this way EVERY time. So I think it proves there is something wrong with the complexity, length of password (or password + username) or complexity.

For testing purposes, this fails: user admin4backup ~!@#$1234AaA,
this succeeds: admin4backup t1
this succeeds: admin4backup ~!@#%1234AaA, (% instead of $)

So its the $ that isn’t being passed (parsed?) properly.

so the buck is not passed :stuck_out_tongue:

anyways, I wouldn’t use the various characters willy nilly like that as a lot of those characters are used in linux to mean something. So if a script were to pass your password, it might just interpret your “$” as a variable substitution instead.

Here is an excerpt from the linux manual on the various uses of the “$”

$
Variable substitution (contents of a variable).
var1=5
var2=23skidoo

echo $var1 # 5
echo $var2 # 23skidoo

A $ prefixing a variable name indicates the value the variable holds.

$
end-of-line. In a regular expression, a “$” addresses the end of a line of text.

${}
Parameter substitution.

$’ … ’
Quoted string expansion. This construct expands single or multiple escaped octal or hex values into ASCII [3] or Unicode characters.

$*, $@
positional parameters.

$?
exit status variable. The $? variable holds the exit status of a command, a function, or of the script itself.

$$
process ID variable. The $$ variable holds the process ID [4] of the script in which it appears.