Timo Sirainen tss@iki.fi wrote:
On 25.8.2013, at 21.09, C. Mills dovecot@pyropus.ca wrote:
What I'm trying to do requires passing some additional information/state from the imap-login process (presumably through the master) to the imap mail process. Any pointers much appreciated!
See how imap-login/client-authenticate.c imap_client_auth_begin() sends the command tag to imap process. Or if it's something all login processes need you could modify struct master_auth_request directly.
I do see how it's put into the imap_client->common.master_data_prefix there, but it's not clear to me how to get it back *out* in the imap mail client. The only place I see that data actually used is in /login-common/sasl-server.c.
For a concrete example, I'd like to pass an additional string/char * of state information from the imap-login code to imap mail client code. I think, based on the above, that you suggest putting it into the imap_client->common struct, which I've done, so that struct is then passed to client_auth_begin(), and presumably goes to the master process. But where does that information/data get passed to the imap mail client? For example, if I wanted to access it in /imap/cmd-fetch.c : cmd_fetch(), cmd->client appears to be a different structure?
Thanks,
C. C.
C. Mills