disconnect client if it submits an already accepted changeset based on an old revision
This commit is contained in:
parent
ca8dce1840
commit
8245e65d3f
|
@ -682,6 +682,14 @@ function handleUserChanges(data, cb)
|
||||||
// and can be applied after "c".
|
// and can be applied after "c".
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
// a changeset can be based on an old revision with the same changes in it
|
||||||
|
// prevent eplite from accepting it TODO: better send the client a NEW_CHANGES
|
||||||
|
// of that revision
|
||||||
|
if(baseRev+1 == r && c == changeset) {
|
||||||
|
client.json.send({disconnect:"badChangeset"});
|
||||||
|
stats.meter('failedChangesets').mark();
|
||||||
|
return callback(new Error("Won't apply USER_CHANGES, because it contains an already accepted changeset"));
|
||||||
|
}
|
||||||
changeset = Changeset.follow(c, changeset, false, apool);
|
changeset = Changeset.follow(c, changeset, false, apool);
|
||||||
}catch(e){
|
}catch(e){
|
||||||
client.json.send({disconnect:"badChangeset"});
|
client.json.send({disconnect:"badChangeset"});
|
||||||
|
|
Loading…
Reference in New Issue