When using external APIs for newsfeeds, the user has different options for how
to provide the password to authenticate against the API.
Instead of directly writing the password into the configuration file,
the user can choose to provide a file containing the password or an external
command that evaluates to the user's password.
This is useful if the user wants to share the configuration file online or
store the password in a password manager or the systems keyring.

For example when using the <<_the_old_reader,API for "The Old Reader">>,
newsboat will first check the <<oldreader-password,`oldreader-password`>> configuration variable,
if this variable is set (meaning it's present and not empty),
then its value will be used for authentication.
If <<oldreader-password,`oldreader-password`>> is not set (meaning it's not present or it's empty)
but the <<oldreader-passwordfile,`oldreader-passwordfile`>> configuration variable is set,
then the first line of this file will be used as the password.
This is, unless the file doesn't exist, is unreadable or its first line is empty,
in those cases Newsboat will exit with an error.
If <<oldreader-passwordfile,`oldreader-passwordfile`>> is not set but <<oldreader-passwordeval,`oldreader-passwordeval`>> is set,
then the command will be evaluated and the first line of the result will be
used as the password.
This is, unless the first line of the result's string is empty,
in those cases Newsboat will exit with an error.
Newsboat will ignore the exit status of the command,
however it will wait for the command to exit.
The command's output to stderr will be ignored by Newsboat and forwarded to
the user, the output to stdout on the other hand will never be printed.
If neither <<oldreader-password,`oldreader-password`>>, <<oldreader-passwordfile,`oldreader-passwordfile`>> nor
<<oldreader-passwordeval,`oldreader-passwordeval`>> are set, then Newsboat will ask for the user's
password with an interactive prompt.
The entered password will be used unless it is empty,
in which case Newsboat will exit with an error.
