[Dovecot] I'm the beginner and I want some help
Hello, I'm a software programmer and I work for a software corporation. We worked on dovecot for a while. We want to add some new functions to dovecot. For example, the mail stored on Mail-Server is plaintext, so we want to make it encrypted. As the documentation was not too much, and read the source code was too difficult for em. Would you give me some advice if I make this specialty as a plugin? Thank you!
WD David from China.
Wei Da wrote:
Hello, I'm a software programmer and I work for a software corporation. We worked on dovecot for a while. We want to add some new functions to dovecot. For example, the mail stored on Mail-Server is plaintext, so we want to make it encrypted. As the documentation was not too much, and read the source code was too difficult for em. Would you give me some advice if I make this specialty as a plugin? Thank you!
Sounds like you want to write a new storage engine. See the "Cydir" storage source code for an example. Wiki page: http://wiki.dovecot.org/MailboxFormat/Cydir
~Seth
Yes, nearly is. I have download the dovecot-1.1.11 source code. which file should I read? Can you tell me in detail ?
2009/3/10 Seth Mattinen sethm@rollernet.us
Wei Da wrote:
Hello, I'm a software programmer and I work for a software corporation. We worked on dovecot for a while. We want to add some new functions to dovecot. For example, the mail stored on Mail-Server is plaintext, so we want to make it encrypted. As the documentation was not too much, and read the source code was too difficult for em. Would you give me some advice if I make this specialty as a plugin? Thank you!
Sounds like you want to write a new storage engine. See the "Cydir" storage source code for an example. Wiki page: http://wiki.dovecot.org/MailboxFormat/Cydir
~Seth
I'd suggest downloading the latest v1.2 code from hg: http://hg.dovecot.org/dovecot-1.2/archive/tip.tar.gz
With that you could implement the whole thing as a plugin, like I mentioned in my previous mail.
Anyway Cydir code is in src/lib-storage/index/cydir/ and zlib plugin code is in src/plugins/zlib/. src/lib-storage/mail-storage.h and mail-storage-private.h are probably the most helpful files for understanding how lib-storage API works.
On Tue, 2009-03-10 at 09:52 +0800, Wei Da wrote:
Yes, nearly is. I have download the dovecot-1.1.11 source code. which file should I read? Can you tell me in detail ?
2009/3/10 Seth Mattinen sethm@rollernet.us
Wei Da wrote:
Hello, I'm a software programmer and I work for a software corporation. We worked on dovecot for a while. We want to add some new functions to dovecot. For example, the mail stored on Mail-Server is plaintext, so we want to make it encrypted. As the documentation was not too much, and read the source code was too difficult for em. Would you give me some advice if I make this specialty as a plugin? Thank you!
Sounds like you want to write a new storage engine. See the "Cydir" storage source code for an example. Wiki page: http://wiki.dovecot.org/MailboxFormat/Cydir
~Seth
On Mon, 2009-03-09 at 18:25 -0700, Seth Mattinen wrote:
Wei Da wrote:
Hello, I'm a software programmer and I work for a software corporation. We worked on dovecot for a while. We want to add some new functions to dovecot. For example, the mail stored on Mail-Server is plaintext, so we want to make it encrypted. As the documentation was not too much, and read the source code was too difficult for em. Would you give me some advice if I make this specialty as a plugin? Thank you!
Sounds like you want to write a new storage engine. See the "Cydir" storage source code for an example. Wiki page: http://wiki.dovecot.org/MailboxFormat/Cydir
Yes, Cydir is one possibility. You might also be able to do something similar to zlib plugin. Opening existing encrypted files could be done with a similar plugin, but you'd also need to make message saving write the data encrypted. That probably can't be done without modifying Dovecot's base code. Hmm. Actually it wouldn't require much, just ctx->output would have to be moved to a public structure. Done: http://hg.dovecot.org/dovecot-1.2/rev/a05a7a73b475
participants (3)
-
Seth Mattinen
-
Timo Sirainen
-
Wei Da