/[imapfilter]/imapfilter/imapfilter.c
ViewVC logotype

Diff of /imapfilter/imapfilter.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.50 by lefcha, Sun Jul 27 15:54:49 2003 UTC revision 1.51 by lefcha, Sun Jul 27 17:39:45 2003 UTC
# Line 16  Line 16 
16  #endif  #endif
17    
18    
 extern int sockpri;  
19  extern account_t *accounts;  extern account_t *accounts;
20  extern filter_t *filters;  extern filter_t *filters;
 extern namesp_t nsppri;  
21  extern buffer_t ibuf, obuf;  extern buffer_t ibuf, obuf;
22    
23  unsigned int options;           /* Program options. */  unsigned int options;           /* Program options. */
24  unsigned int flags = 0;         /* Program flags. */  unsigned int flags = 0;         /* Program flags. */
25  unsigned int interval = 0;      /* Poll at the specified interval. */  unsigned int interval = 0;      /* Poll at the specified interval. */
26  unsigned int capspri, capsaux;  /* Capabilities of primary and auxiliary mail  conn_t connpri, connaux;        /* Primary and auxiliary IMAP connection. */
                                  * server. */  
27    
28  char logfile[PATH_MAX];         /* Log file. */  char logfile[PATH_MAX];         /* Log file. */
29  char *home = NULL;              /* User's home directory. */  char *home = NULL;              /* User's home directory. */
# Line 149  main(int argc, char *argv[]) Line 146  main(int argc, char *argv[])
146                          if (setjmp(acctloop))                          if (setjmp(acctloop))
147                                  continue;                                  continue;
148    
149                          if (init_connection(&sockpri, ca->server, ca->port,                          if (init_connection(&connpri, ca->server, ca->port,
150                                  ca->ssl))                                  ca->ssl))
151                                  continue;                                  continue;
152    
153                          r = greeting_response(&sockpri);                          r = greeting_response(&connpri);
154    
155  #ifdef DEBUG  #ifdef DEBUG
156                          test(&sockpri);                          test(&connpri);
157  #endif  #endif
158    
159                          if (check_capabilities(&sockpri))                          if (check_capabilities(&connpri))
160                                  continue;                                  continue;
161    
162  #ifdef SSL_TLS  #ifdef SSL_TLS
163                          if (ca->ssl == SSL_DISABLED &&                          if (ca->ssl == SSL_DISABLED &&
164                              capspri & CAPABILITY_STARTTLS)                              connpri.caps & CAPABILITY_STARTTLS)
165                                  if (imf_starttls(&sockpri) == RESPONSE_OK)                                  if (imf_starttls(&connpri) == RESPONSE_OK)
166                                          check_capabilities(&sockpri);                                          check_capabilities(&connpri);
167  #endif  #endif
168    
169                          log_info(LOG_ACCOUNT, ca->key);                          log_info(LOG_ACCOUNT, ca->key);
# Line 179  main(int argc, char *argv[]) Line 176  main(int argc, char *argv[])
176                                          ca->passwdattr = PASSWORD_PLAIN;                                          ca->passwdattr = PASSWORD_PLAIN;
177                                  }                                  }
178  #ifdef CRAM_MD5  #ifdef CRAM_MD5
179                                  if (capspri & CAPABILITY_AUTH_CRAM_MD5)                                  if (connpri.caps & CAPABILITY_AUTH_CRAM_MD5)
180                                          r = imf_cram_md5(&sockpri,                                          r = imf_cram_md5(&connpri,
181                                              ca->username, ca->password);                                              ca->username, ca->password);
182                                  else                                  else
183  #endif  #endif
184                                          r = login(&sockpri, ca->username,                                          r = login(&connpri, ca->username,
185                                              ca->password);                                              ca->password);
186    
187                                  if (r == RESPONSE_NO) {                                  if (r == RESPONSE_NO) {
# Line 193  main(int argc, char *argv[]) Line 190  main(int argc, char *argv[])
190                                          continue;                                          continue;
191                                  }                                  }
192                          }                          }
193                          check_namespace(&sockpri, &nsppri);                          check_namespace(&connpri);
194    
195                          for (cm = ca->mboxes; cm != NULL; cm = cm->next)                          for (cm = ca->mboxes; cm != NULL; cm = cm->next)
196                                  if (*cm->filters == NULL)                                  if (*cm->filters == NULL)
197                                          mailbox_status(&sockpri, cm->name,                                          mailbox_status(&connpri, cm->name);
198                                              &nsppri);                                  else if (!select_mailbox(&connpri, cm->name)) {
                                 else if (!select_mailbox(&sockpri, cm->name,  
                                         &nsppri)) {  
199                                          apply_filters(cm->name, cm->filters);                                          apply_filters(cm->name, cm->filters);
200                                          close_mailbox(&sockpri);                                          close_mailbox(&connpri);
201                                  }                                  }
202                          logout(&sockpri);                          logout(&connpri);
203    
204                          close_connection(&sockpri);                          close_connection(&connpri);
205                  }                  }
206    
207                  /* Fork if in daemon mode. */                  /* Fork if in daemon mode. */

Legend:
Removed from v.1.50  
changed lines
  Added in v.1.51

webmaster@linux.gr
ViewVC Help
Powered by ViewVC 1.1.26