mirror of
https://github.com/nodemailer/wildduck.git
synced 2025-09-17 10:34:54 +08:00
v1.10.1
This commit is contained in:
parent
077ff4ddb5
commit
decec4d2d5
6 changed files with 17 additions and 11 deletions
|
@ -14,7 +14,9 @@ class GridstoreStorage {
|
|||
|
||||
this.gridfs = options.gridfs;
|
||||
this.gridstore = new GridFSBucket(this.gridfs, {
|
||||
bucketName: this.bucketName
|
||||
bucketName: this.bucketName,
|
||||
chunkSizeBytes: 255 * 1024,
|
||||
writeConcern: { w: 'majority' }
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -162,7 +162,7 @@ module.exports = (server, messageHandler) => (mailbox, update, session, callback
|
|||
time: new Date()
|
||||
});
|
||||
|
||||
db.database.collection('messages').insertOne(message, err => {
|
||||
db.database.collection('messages').insertOne(message, { w: 'majority' }, err => {
|
||||
if (err) {
|
||||
return cursor.close(() => {
|
||||
updateQuota(() => callback(err));
|
||||
|
|
|
@ -70,7 +70,7 @@ class MailboxHandler {
|
|||
}
|
||||
});
|
||||
|
||||
this.database.collection('mailboxes').insertOne(mailboxData, (err, r) => {
|
||||
this.database.collection('mailboxes').insertOne(mailboxData, { w: 'majority' }, (err, r) => {
|
||||
if (err) {
|
||||
if (err.code === 11000) {
|
||||
return callback(null, 'ALREADYEXISTS');
|
||||
|
@ -193,6 +193,7 @@ class MailboxHandler {
|
|||
{
|
||||
_id: mailbox
|
||||
},
|
||||
{ w: 'majority' },
|
||||
err => {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
|
|
|
@ -346,7 +346,7 @@ class MessageHandler {
|
|||
|
||||
messageData.thread = thread;
|
||||
|
||||
this.database.collection('messages').insertOne(messageData, err => {
|
||||
this.database.collection('messages').insertOne(messageData, { w: 'majority' }, err => {
|
||||
if (err) {
|
||||
return rollback(err);
|
||||
}
|
||||
|
@ -436,7 +436,7 @@ class MessageHandler {
|
|||
messageData.exp = true;
|
||||
messageData.rdate = curtime.getTime() + consts.ARCHIVE_TIME;
|
||||
|
||||
this.database.collection('archived').insertOne(messageData, err => {
|
||||
this.database.collection('archived').insertOne(messageData, { w: 'majority' }, err => {
|
||||
if (err) {
|
||||
if (err.code === 11000) {
|
||||
// already archived, probably the same message from another mailbox
|
||||
|
@ -459,6 +459,7 @@ class MessageHandler {
|
|||
mailbox: messageData.mailbox,
|
||||
uid: messageData.uid
|
||||
},
|
||||
{ w: 'majority' },
|
||||
err => {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
|
@ -756,7 +757,7 @@ class MessageHandler {
|
|||
}
|
||||
}
|
||||
|
||||
this.database.collection('messages').insertOne(message, (err, r) => {
|
||||
this.database.collection('messages').insertOne(message, { w: 'majority' }, (err, r) => {
|
||||
if (err) {
|
||||
return cursor.close(() => done(err));
|
||||
}
|
||||
|
@ -770,6 +771,7 @@ class MessageHandler {
|
|||
mailbox: mailboxData._id,
|
||||
uid: messageUid
|
||||
},
|
||||
{ w: 'majority' },
|
||||
err => {
|
||||
if (err) {
|
||||
return cursor.close(() => done(err));
|
||||
|
@ -911,7 +913,7 @@ class MessageHandler {
|
|||
junk = -1;
|
||||
}
|
||||
|
||||
this.database.collection('messages').insertOne(messageData, (err, r) => {
|
||||
this.database.collection('messages').insertOne(messageData, { w: 'majority' }, (err, r) => {
|
||||
if (err) {
|
||||
if (err.code === 11000) {
|
||||
// message already exists
|
||||
|
|
|
@ -633,6 +633,7 @@ class UserHandler {
|
|||
password: hash
|
||||
}
|
||||
},
|
||||
{ w: 'majority' },
|
||||
err => {
|
||||
if (err) {
|
||||
log.error('DB', 'DBFAIL rehash user=%s error=%s', userData._id, err.message);
|
||||
|
@ -1353,7 +1354,7 @@ class UserHandler {
|
|||
userData.tagsview = data.tagsview;
|
||||
}
|
||||
|
||||
this.users.collection('users').insertOne(userData, err => {
|
||||
this.users.collection('users').insertOne(userData, { w: 'majority' }, err => {
|
||||
if (err) {
|
||||
log.error('DB', 'CREATEFAIL username=%s error=%s', data.username, err.message);
|
||||
|
||||
|
@ -1387,7 +1388,7 @@ class UserHandler {
|
|||
this.database.collection('mailboxes').insertMany(
|
||||
mailboxes,
|
||||
{
|
||||
w: 1,
|
||||
w: 'majority',
|
||||
ordered: false
|
||||
},
|
||||
err => {
|
||||
|
@ -1420,7 +1421,7 @@ class UserHandler {
|
|||
}
|
||||
|
||||
// insert alias address to email address registry
|
||||
this.users.collection('addresses').insertOne(addressData, err => {
|
||||
this.users.collection('addresses').insertOne(addressData, { w: 'majority' }, err => {
|
||||
if (err) {
|
||||
// try to rollback
|
||||
this.users.collection('users').deleteOne({ _id: id }, () => false);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "wildduck",
|
||||
"version": "1.10.0",
|
||||
"version": "1.10.1",
|
||||
"description": "IMAP/POP3 server built with Node.js and MongoDB",
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
|
|
Loading…
Add table
Reference in a new issue