@@ -395,6 +395,7 @@ pub fn loginparam_new_to_old(context: &Context, servers: &LoginParamNew) -> Opti
395
395
p. mail_port = imap. port as i32 ;
396
396
p. imap_certificate_checks = CertificateChecks :: AcceptInvalidCertificates ;
397
397
p. server_flags |= match imap. socket {
398
+ provider:: Socket :: Plain => DC_LP_SMTP_SOCKET_PLAIN ,
398
399
provider:: Socket :: STARTTLS => DC_LP_IMAP_SOCKET_STARTTLS ,
399
400
provider:: Socket :: SSL => DC_LP_IMAP_SOCKET_SSL ,
400
401
} ;
@@ -404,8 +405,9 @@ pub fn loginparam_new_to_old(context: &Context, servers: &LoginParamNew) -> Opti
404
405
p. send_port = smtp. port as i32 ;
405
406
p. smtp_certificate_checks = CertificateChecks :: AcceptInvalidCertificates ;
406
407
p. server_flags |= match smtp. socket {
407
- provider:: Socket :: STARTTLS => DC_LP_SMTP_SOCKET_STARTTLS as i32 ,
408
- provider:: Socket :: SSL => DC_LP_SMTP_SOCKET_SSL as i32 ,
408
+ provider:: Socket :: Plain => DC_LP_SMTP_SOCKET_PLAIN ,
409
+ provider:: Socket :: STARTTLS => DC_LP_SMTP_SOCKET_STARTTLS ,
410
+ provider:: Socket :: SSL => DC_LP_SMTP_SOCKET_SSL ,
409
411
} ;
410
412
411
413
info ! ( context, "offline autoconfig found: {}" , p) ;
@@ -421,11 +423,12 @@ pub fn loginparam_old_to_new(p: LoginParam) -> LoginParamNew {
421
423
addr : p. addr . clone ( ) ,
422
424
imap : vec ! [ ServerParams {
423
425
protocol: Protocol :: IMAP ,
424
- socket: if 0 != p. server_flags & DC_LP_IMAP_SOCKET_STARTTLS {
425
- provider:: Socket :: STARTTLS
426
- } else {
427
- provider:: Socket :: SSL
428
- } , // TODO what about plain? And if no socket was specified in the LoginParam?
426
+ socket: match p. server_flags & DC_LP_IMAP_SOCKET_FLAGS as i32 {
427
+ DC_LP_IMAP_SOCKET_PLAIN => provider:: Socket :: Plain ,
428
+ DC_LP_IMAP_SOCKET_STARTTLS => provider:: Socket :: STARTTLS ,
429
+ DC_LP_IMAP_SOCKET_SSL => provider:: Socket :: SSL ,
430
+ _ => Default :: default ( ) ,
431
+ } ,
429
432
port: p. mail_port as u16 ,
430
433
hostname: p. mail_server,
431
434
username_pattern: if p. mail_user. contains( '@' ) {
@@ -436,11 +439,12 @@ pub fn loginparam_old_to_new(p: LoginParam) -> LoginParamNew {
436
439
} ] ,
437
440
smtp : vec ! [ ServerParams {
438
441
protocol: Protocol :: SMTP ,
439
- socket: if 0 != p. server_flags as usize & DC_LP_SMTP_SOCKET_STARTTLS {
440
- provider:: Socket :: STARTTLS
441
- } else {
442
- provider:: Socket :: SSL
443
- } , // TODO what about plain? And if no socket was specified in the LoginParam?
442
+ socket: match p. server_flags & DC_LP_SMTP_SOCKET_FLAGS as i32 {
443
+ DC_LP_SMTP_SOCKET_PLAIN => provider:: Socket :: Plain ,
444
+ DC_LP_SMTP_SOCKET_STARTTLS => provider:: Socket :: STARTTLS ,
445
+ DC_LP_SMTP_SOCKET_SSL => provider:: Socket :: SSL ,
446
+ _ => Default :: default ( ) ,
447
+ } ,
444
448
port: p. send_port as u16 ,
445
449
hostname: p. send_server,
446
450
username_pattern: if p. send_user. contains( '@' ) {
0 commit comments