10 days ago I proposed this addition (see below) to Dovecot and got a lot of positive response. I would like to make it happen. I'm willing to contribute $500 to the development of this feature. It doesn't have to be implemented perfectly but needs to be workable to the extent that I can telnet into the Dovecot server and run it manually from the command line. I want to at least be able to run a simple script that I will write to add or remove someone from a black list text file. Timo has limited time but has indicated that he will allow it as a kind of undocumented feature (or wiki documented only). This is a sort of proof of concept feature and if it ever becomes a standard the standard will probably be different. However, we should implement it in a way that would be as close to a standard as possible. So - I'm looking for a programmer to make it happen. I'm also looking for others who might also kick in a few bucks as well if necessary. Here's the rough spec. ---------- Here's some thoughts I'd like to throw out there. I know it's not standard IMAP protocol but someone has to try new ideas first and I want to see what people (Timo) think of this. IMAP establishes a connection between the client and the server. Wouldn't it be great if it could be a conduit to let custom Thunderbird plugins talk to custom server application over the IMAP interface? For example, personalized server settings. Suppose for example I want Thunderbird to edit my server side white lists or black lists or any other setting? Wouldn't it be nice if IMAP supported these changes? The connection is made. It's a secure connection that's been authenticated. Lets use it! Here's my initial thoughts on this. Suppose we extended IMAP to include an EXECUTE command as follows: EXECUTE command parameter, parameter .... On the server side is a config file that has the commands that execute will allow and what programs they run. When the execute command is seen by Dovecot then Dovecot runs the program in the list with the parameters passed. For example, suppose there is a command to add a user to a server side blacklist. 100 execute blacklist add joe at smith.com 100 ok Dovecot would open a two way connection to the server application allowing the client to talk to any application that is configured and can send and receive text. The connection persists until the server end terminates or the client closes the connection. With a tool like this one can write generic applications easily that would greatly expand what email clients can do interacting with the server. Not only can setting be changes but you could interact with server side calendars, pick up voice messages from phone systems, run any sort of groupware, all over a generic IMAP connection with this simple extension. Example: 100 EXECUTE calendar 100 ok 100 list schedule today 8:00 10:00 100 8:00 make coffee 100 9:00 meeting with boss 100 9:30 Call Joe Blow at 415-555-1212 100 ok 100 quit 100 ok One thing I'd like to use it for is an outgoing SMTP connection to send outgoing email over IMAP. A session might look like this: 999 EXECUTE smtp 999 220 darwin.ctyme.com ESMTP Exim 4.67 Sun, 13 May 2007 06:52:26 -0700 999 helo ctyme.com 999 250 darwin.ctyme.com Hello localhost [127.0.0.1] 999 mail from:marc at perkel.com 999 250 OK 999 rcpt to:dovecot at dovecot.org 999 250 Accepted ...... 999 quit 999 OK Config File: There would have to be a config file that would be a table of what command run what. An example might look like this: calendar: /usr/bin/dovecot/calendar blacklist: /etc/exim/scripts/blacklist Probably might eventually want to add UID/GID and root directory restrictions for security. Login information and connection IP should be passed in the environment.
why not use ssh for that purpose ? On 5/23/07, Marc Perkel <marc at perkel.com> wrote:> 10 days ago I proposed this addition (see below) to Dovecot and got a > lot of positive response. I would like to make it happen. I'm willing to > contribute $500 to the development of this feature. It doesn't have to > be implemented perfectly but needs to be workable to the extent that I > can telnet into the Dovecot server and run it manually from the command > line. I want to at least be able to run a simple script that I will > write to add or remove someone from a black list text file. > > Timo has limited time but has indicated that he will allow it as a kind > of undocumented feature (or wiki documented only). This is a sort of > proof of concept feature and if it ever becomes a standard the standard > will probably be different. However, we should implement it in a way > that would be as close to a standard as possible. > > So - I'm looking for a programmer to make it happen. I'm also looking > for others who might also kick in a few bucks as well if necessary. > Here's the rough spec. > > ---------- > > Here's some thoughts I'd like to throw out there. I know it's not > standard IMAP protocol but someone has to try new ideas first and I want > to see what people (Timo) think of this. > > IMAP establishes a connection between the client and the server. > Wouldn't it be great if it could be a conduit to let custom Thunderbird > plugins talk to custom server application over the IMAP interface? For > example, personalized server settings. Suppose for example I want > Thunderbird to edit my server side white lists or black lists or any > other setting? Wouldn't it be nice if IMAP supported these changes? The > connection is made. It's a secure connection that's been authenticated. > Lets use it! > > Here's my initial thoughts on this. Suppose we extended IMAP to include > an EXECUTE command as follows: > > EXECUTE command parameter, parameter .... > > On the server side is a config file that has the commands that execute > will allow and what programs they run. When the execute command is seen > by Dovecot then Dovecot runs the program in the list with the parameters > passed. For example, suppose there is a command to add a user to a > server side blacklist. > > 100 execute blacklist add joe at smith.com > 100 ok > > Dovecot would open a two way connection to the server application > allowing the client to talk to any application that is configured and > can send and receive text. The connection persists until the server end > terminates or the client closes the connection. > > With a tool like this one can write generic applications easily that > would greatly expand what email clients can do interacting with the > server. Not only can setting be changes but you could interact with > server side calendars, pick up voice messages from phone systems, run > any sort of groupware, all over a generic IMAP connection with this > simple extension. > > Example: > > 100 EXECUTE calendar > 100 ok > 100 list schedule today 8:00 10:00 > 100 8:00 make coffee > 100 9:00 meeting with boss > 100 9:30 Call Joe Blow at 415-555-1212 > 100 ok > 100 quit > 100 ok > > One thing I'd like to use it for is an outgoing SMTP connection to send > outgoing email over IMAP. A session might look like this: > > 999 EXECUTE smtp > 999 220 darwin.ctyme.com ESMTP Exim 4.67 Sun, 13 May 2007 06:52:26 -0700 > 999 helo ctyme.com > 999 250 darwin.ctyme.com Hello localhost [127.0.0.1] > 999 mail from:marc at perkel.com > 999 250 OK > 999 rcpt to:dovecot at dovecot.org > 999 250 Accepted > ...... > 999 quit > 999 OK > > Config File: > > There would have to be a config file that would be a table of what > command run what. An example might look like this: > > calendar: /usr/bin/dovecot/calendar > blacklist: /etc/exim/scripts/blacklist > > Probably might eventually want to add UID/GID and root directory > restrictions for security. Login information and connection IP should be > passed in the environment. > > > > > >-- DINH Vi?t Ho?
On May 23, 2007 11:54:20 AM -0700 Marc Perkel <marc at perkel.com> wrote:> IMAP establishes a connection between the client and the server. Wouldn't > it be great if it could be a conduit to let custom Thunderbird plugins > talk to custom server application over the IMAP interface? For example, > personalized server settings. Suppose for example I want Thunderbird to > edit my server side white lists or black lists or any other setting? > Wouldn't it be nice if IMAP supported these changes? The connection is > made. It's a secure connection that's been authenticated. Lets use it!Sounds like a job for ACAP. -frank
Marc Perkel wrote:> Here's some thoughts I'd like to throw out there. I know it's not > standard IMAP protocol but someone has to try new ideas first and I want > to see what people (Timo) think of this. > > IMAP establishes a connection between the client and the server. > Wouldn't it be great if it could be a conduit to let custom Thunderbird > plugins talk to custom server application over the IMAP interface? For > example, personalized server settings. Suppose for example I want > Thunderbird to edit my server side white lists or black lists or any > other setting? Wouldn't it be nice if IMAP supported these changes? The > connection is made. It's a secure connection that's been authenticated. > Lets use it! > > Here's my initial thoughts on this. Suppose we extended IMAP to include > an EXECUTE command as follows: > > EXECUTE command parameter, parameter ....I believe that the IMAP RFC defines how IMAP servers may implement and advertise additional non-standard capabilities and how to report those in the CAPABILITIES string. I would strongly recommend that any such solution fit within the RFC definition of these new custom capabilities. This would suggest, for instance, that you would *not* involve both IMAP and SMTP, but that all of your communications with the server would take place via the IMAP protocol stack. I would also suggest that you might want a method whereby a dovecot plugin could add a new capability, with attendant command syntax, rather than a 'generic' EXECUTE command, so that clients could *absolutely* know (as they do now from the CAPABILITIES string) whether or not the feature they want is supported. Cheers, - Brian
Marc Perkel, 23.05.2007 (d.m.y):> IMAP establishes a connection between the client and the server. > Wouldn't it be great if it could be a conduit to let custom Thunderbird > plugins talk to custom server application over the IMAP interface? For > example, personalized server settings. Suppose for example I want > Thunderbird to edit my server side white lists or black lists or any > other setting? Wouldn't it be nice if IMAP supported these changes?AFAIK, the "M" in IMAP stands for "Mail", not for "Calendar" or "Schedules".> The connection is made. It's a secure connection that's been authenticated.You can also use LDAP and/or Kerberos to authenticate your users for other services - e.g. HTTP/WebDAV access to their Calendars, for managing their Sieve filters and so on. Thus, your proposal sounds to me a bit like reinventing the wheel. And I think that what we want is dovecot, not Exchange. Nevertheless, feel free to give me $500. ;-) Gruss/Regards, Christian Schmidt -- Always do right. This will gratify some people and astonish the rest. -- Mark Twain
Robert Schetterer
2007-May-24 10:52 UTC
[Dovecot] Will pay $500 towards a Dovecot feature = calender ?
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Curtis Maloney schrieb:> Robert Schetterer wrote: >> Hi all, i think sombody would have like to a imap calender solution >> implemented in dovecot? Am i right here? >> >> You can have simular right now using thunderbird , lightning, kolab >> plugin, ( should be shown in horde webmail too ) > > I tried the kolab plugin... it never worked for me. So disappointed - > especially since synchronising my contacts/calendar between sites would > be very valuable. > > -- > Curtis Maloney > cmaloney at cardgate.net >Hi Curtis, sorry to hear this, i know kolab extension is still beta but it works for me in small setups, maybe you should inform the devolopers about your problems and they may help you - -- Mit freundlichen Gruessen Best Regards Robert Schetterer https://www.schetterer.org Munich/Bavaria/Germany -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFGVW5XfGH2AvR16oERAv4tAJ9d5ijEXK7F/cujwCp32dm9diMeQwCfQNwb N8RDveBHLqW73zZABw6z6GA=EDpj -----END PGP SIGNATURE-----