Coder Social home page Coder Social logo

Comments (2)

willcl-ark avatar willcl-ark commented on June 6, 2024 1

Surprisingly I found very few instances of rpcuser and rpcpassword remaining in the docs. I updated their usage, and the example init scripts, in this branch to see the scope of changes that would be required on the doc side.

I think if we want to fully deprecate these options, the changes in that branch along with #28167 as mentioned above, should come first.

My opinion is that it would be best to still try and fully deprecate these, but due to how widely they are used we will have to include some highly visible warnings about the new behaviour... Some thoughts I had on this:

  • We would need to decide if having these keys in bitcoin.conf would halt bitcoind/-qt startup
    • If we don't fail startup (just log a warning to debug.log and ignore the options) users would wonder why their RPC calls are "mysteriously" failing when their credentials match those in bitcoin.conf. Presumably Bitcoin Core would silently be using a .cookie in this case.
    • If we do fail startup then it's possible that many (semi) automated node setups would simply fail to start back up after an upgrade -- without manual intervention to remove these keys from the config -- which seems pretty sub-optimal.
  • Asking users who have always been able to just run the binaries + a config file, to now run a python script from share/ to generate auth credentials feels a bit, messy?
    • Perhaps bitcoin-cli should get a generaterpcauth command?

An alternative might be to not deprecate these options at all, but instead we could require specific permissions on the bitcoin.conf file itself, like how ssh requires specific permissions of 600 for id_rsa private key files. I don't like this idea much as it is not providing the same level of security as the rpcauth directive, and AFAIU doesn't bring benefit to Windows users in the same way. But it is quite similar in protection mechanism to the cookie file (i.e. read access to the (config) file grants you RPC access). Notably this does not solve the same fail-to-restart-after-upgrade issues mentioned above. The config file permissions option doesn't seem to me to offer enough reward:risk.

from bitcoin.

kristapsk avatar kristapsk commented on June 6, 2024

If we are going to deprecate these options, now seems like a good time to do so. We could start with updating all exmaples / docs in this repository, to remove any rpcuser/rpcpass usage.

That should definitely be done first.

One thing with cookie auth, that currently needs hacks, is allowing cookie access for other users. #28167

from bitcoin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.