Comments (12)
This line should not return false :
https://github.com/khalahan/namecoin/blob/1f2421d531c74fe290ff5bac90d9d528070b48e6/src/script.cpp#L1158
from namecoin-legacy.
A name_update will fail if previous value was more than 520 characters... Sad...
See http://dot-bit.org/forum/viewtopic.php?f=2&t=503
from namecoin-legacy.
This bug should be marked critical, IMO -- I've personally "lost" a few names because of this bug. A simple fix is to just reject input in both name_firstupdate() and in name_update() that is > 519 bytes. Also, namecoin documentation should reflect this limit instead of saying 1023 bytes.
Also, can someone share more details on the bug here? So others (including me) can try to fix the bug in namecoin itself? Thanks,
from namecoin-legacy.
Are we good on this by now?
from namecoin-legacy.
I think the consensus is that we should add the check to name_firstupdate and name_update to disallow too long values (according to snailbrain, there's already a check in the UI). The fork for actually allowing values up to 1023 bytes (if we really want that?) will be done later when we have discussed value length & fees a bit more.
@muneeb-ali: AFAIK, the problem is that Bitcoin's scripting system doesn't allow values larger than 520 bytes on the stack and fails when it encounters them. This leads to a failing signature check in the name_update if the name's value (which is part of the tx output script) is too large.
from namecoin-legacy.
BTW, can someone confirm what the actual maximum allowed length is? 519 bytes? 520 bytes? Then I will add the check to the RPC commands.
from namecoin-legacy.
Note that this was 'fixed' in the sense that the RPC commands now verify their input and only allow values up to (including) 520 characters. Should we close this issue?
from namecoin-legacy.
Maybe we should discuss this first on the forum...
from namecoin-legacy.
I would support closing this. The risk of losing a name is resolved, and increasing the value size is a much more complex issue that should be discussed separately.
from namecoin-legacy.
agree, close it
from namecoin-legacy.
Closing, thanks Ryan.
from namecoin-legacy.
For the record: values of up to 1023 can be created but after that the name must expire.
from namecoin-legacy.
Related Issues (20)
- Namecoin-Qt.app 0.3.76 crashes on launch [OSX] HOT 11
- EXCEPTION: St12out_of_range CInv::GetCommand() : type=3 unknown type namecoin in ProcessMessage() HOT 2
- repo key expired HOT 5
- Release with PR213
- name_filter command is failing HOT 6
- Inquiry HOT 2
- Building namecoinq-release on OS X results in binaries different from released binaries HOT 13
- Link to Namecoin Core HOT 1
- Linux packages don't download via HTTPS HOT 7
- How long can the JSON be if using a custom string? HOT 4
- namecoind not working, unclear why HOT 2
- name_filter command fails for large queries HOT 8
- listtransactions command from not working correct HOT 2
- Please add Ubuntu 16.04 builds to downloads HOT 6
- Namecoin 0.3.80 not syncing via proxy on winXP HOT 5
- forum.namecoin.org registration is useless HOT 1
- Key Expired: 2017-06-04 for p_conrad repository HOT 4
- Where can i buy some namecoin? BitYep.com or Bitfinex? HOT 1
- Namecoin/Bitcoin malloc() error in OpenBSD 6.2amd64 HOT 1
- Reachability of .bit domain
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from namecoin-legacy.