Comments (4)
Hey,
what do you mean by „with illegal IDs“ and „ID validity check”? Can you give a concrete example what’s going wrong?
from couchdb.
Can you give a concrete example what’s going wrong?
Setup
docker run --detach --network host --rm -e COUCHDB_USER=admin -e COUCHDB_PASSWORD=password -it --name my-couchdb-$RANDOM apache/couchdb &&
sleep 5 &&
curl http://admin:password@localhost:5984/main -X PUT && curl http://admin:password@localhost:5984/_users -X PUT
Create legal doc (PUT)
$ curl http://admin:password@localhost:5984/main/some-valid-doc-id -X PUT -H 'content-type: application/json' --data '{"hi":true}'
{"ok":true,"id":"some-valid-doc-id","rev":"1-e7e9148335bb3e3d0f04263e57edef01"}
Try to create illegal doc (PUT)
$ curl http://admin:password@localhost:5984/main/_bad_path -X PUT -H 'content-type: application/json' --data '{"hi":true}'
{"error":"illegal_docid","reason":"Only reserved document ids may start with underscore."}
Create illegal doc (COPY)
$ curl http://admin:password@localhost:5984/main/some-valid-doc-id -X COPY -H 'Destination: _bad_path'
{"ok":true,"id":"_bad_path","rev":"1-e7e9148335bb3e3d0f04263e57edef01"}
Retrieve illegal doc (GET)
$ curl http://admin:password@localhost:5984/main/_bad_path
{"_id":"_bad_path","_rev":"1-e7e9148335bb3e3d0f04263e57edef01","hi":true}
from couchdb.
This creates some weird situations, e.g.
$ curl http://admin:password@localhost:5984/main/some-valid-doc-id -X COPY -H 'Destination: _all_docs'
{"ok":true,"id":"_all_docs","rev":"1-e7e9148335bb3e3d0f04263e57edef01"}
$ curl http://admin:password@localhost:5984/main/_all_docs
{"total_rows":3,"offset":0,"rows":[
{"id":"_all_docs","key":"_all_docs","value":{"rev":"1-e7e9148335bb3e3d0f04263e57edef01"}},
{"id":"_bad_path","key":"_bad_path","value":{"rev":"1-e7e9148335bb3e3d0f04263e57edef01"}},
{"id":"some-valid-doc-id","key":"some-valid-doc-id","value":{"rev":"1-e7e9148335bb3e3d0f04263e57edef01"}}
]}
from couchdb.
Thx 🙏 for giving an example and that doesn’t look good…
from couchdb.
Related Issues (20)
- Compactor case clause error
- CouchDB 3.3.3 service not starting and going to Pause status HOT 7
- No Release file for Ubuntu 24.04 LTS HOT 3
- Update and fix bug in hyper
- Don't crash with a 500 error on a missing replicator db in _scheduler/docs HOT 1
- Why do deleted documents appear in the return result of executing the _find command immediately? HOT 8
- PUT /_node/{node-name}/_config/jwt_keys/{key} does not accept valid key HOT 2
- The replication job for couchdb is stucked HOT 24
- _reload doesn't find new ini files in config `*.d` directories
- When building package main.js files are not there
- Rexi stream_init timeout metric never actually triggers HOT 1
- Warn users of impact when deleting a view via Fauxton HOT 1
- Potential pattern of ignoring stranded RPC workers HOT 4
- CouchDB Error HOT 7
- nonode@nohost couch file epoch error HOT 3
- Query Server protocol future/stability. HOT 1
- CouchDB fails to start due to unacceptable_rsa_key after upgrading the erlang version HOT 6
- Compiler warnings for OTP 27 HOT 2
- Allow specifying password files instead of cleartext HOT 4
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 couchdb.