/[mailutils]/mailutils/mailbox/imap/folder.c
ViewVC logotype

Diff of /mailutils/mailbox/imap/folder.c

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

revision 1.60 by gray, Fri Aug 29 19:11:45 2003 UTC revision 1.61 by gray, Wed Sep 10 10:03:03 2003 UTC
# Line 223  parse_capa (f_imap_t f_imap, char *str) Line 223  parse_capa (f_imap_t f_imap, char *str)
223  }  }
224    
225  static int  static int
226  check_capa (f_imap_t f_imap, char *capa)  read_capa (f_imap_t f_imap, int force)
227  {  {
228    int i;    int status = 0;
229      
230      if (force)
231        {
232          argcv_free (f_imap->capac, f_imap->capav);
233          f_imap->capac = 0;
234          f_imap->capav = NULL;
235        }
236        
237    if (!f_imap->capav)    if (!f_imap->capav)
238      {      {
       int status;  
239        status = imap_writeline (f_imap, "g%u CAPABILITY\r\n",        status = imap_writeline (f_imap, "g%u CAPABILITY\r\n",
240                                 f_imap->seq++);                                 f_imap->seq++);
241        status = imap_send (f_imap);        status = imap_send (f_imap);
242        status = imap_parse (f_imap);        status = imap_parse (f_imap);
243      }      }
244      return status;
245    }
246    
247    static int
248    check_capa (f_imap_t f_imap, char *capa)
249    {
250      int i;
251    
252      read_capa (f_imap, 0);
253    for (i = 0; i < f_imap->capac; i++)    for (i = 0; i < f_imap->capac; i++)
254      if (strcasecmp (f_imap->capav[i], capa) == 0)      if (strcasecmp (f_imap->capav[i], capa) == 0)
255        return 0;        return 0;
# Line 268  tls (folder_t folder) Line 283  tls (folder_t folder)
283          folder->stream = str;          folder->stream = str;
284        FOLDER_DEBUG1 (folder, MU_DEBUG_PROT, "TLS negotiation %s\n",        FOLDER_DEBUG1 (folder, MU_DEBUG_PROT, "TLS negotiation %s\n",
285                       status == 0 ? "succeeded" : "failed");                       status == 0 ? "succeeded" : "failed");
286          read_capa (f_imap, 1);
287      }      }
288    return status;    return status;
289  #else  #else
# Line 284  authenticate_imap_login (authority_t aut Line 300  authenticate_imap_login (authority_t aut
300    ticket_t ticket;    ticket_t ticket;
301    int status = 0;    int status = 0;
302    
303      if (check_capa (f_imap, "LOGINDISABLED") == 0)
304        {
305          FOLDER_DEBUG0 (folder, MU_DEBUG_PROT, "LOGIN command disabled\n");
306          return ENOSYS;
307        }
308      
309    switch (f_imap->state)    switch (f_imap->state)
310      {      {
311      case IMAP_AUTH:      case IMAP_AUTH:

Legend:
Removed from v.1.60  
changed lines
  Added in v.1.61

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26