create more descriptive account names, so password prompts look sane.
the channel names follow the old scheme, though - they are used to compose sync state file names, and i don't feel like writing a migrator for this.
This commit is contained in:
parent
4bf58c3e97
commit
aea4be19e3
|
@ -241,16 +241,14 @@ write_imap_server( FILE *fp, config_t *cfg )
|
||||||
config_t *pbox;
|
config_t *pbox;
|
||||||
char *p, *p2;
|
char *p, *p2;
|
||||||
int hl, a1, a2, a3, a4;
|
int hl, a1, a2, a3, a4;
|
||||||
char buf[128];
|
char buf[128], ubuf[64];
|
||||||
static int tunnels;
|
static int tunnels;
|
||||||
|
|
||||||
if (cfg->tunnel) {
|
if (cfg->tunnel)
|
||||||
nfasprintf( (char **)&cfg->server_name, "tunnel%d", ++tunnels );
|
nfasprintf( (char **)&cfg->old_server_name, "tunnel%d", ++tunnels );
|
||||||
fprintf( fp, "IMAPAccount %s\nTunnel \"%s\"\n",
|
else {
|
||||||
cfg->server_name, cfg->tunnel );
|
|
||||||
} else {
|
|
||||||
if (sscanf( cfg->host, "%d.%d.%d.%d", &a1, &a2, &a3, &a4 ) == 4)
|
if (sscanf( cfg->host, "%d.%d.%d.%d", &a1, &a2, &a3, &a4 ) == 4)
|
||||||
cfg->server_name = nfstrdup( cfg->host );
|
cfg->old_server_name = nfstrdup( cfg->host );
|
||||||
else {
|
else {
|
||||||
p = strrchr( cfg->host, '.' );
|
p = strrchr( cfg->host, '.' );
|
||||||
if (!p)
|
if (!p)
|
||||||
|
@ -264,14 +262,41 @@ write_imap_server( FILE *fp, config_t *cfg )
|
||||||
if (boxes) /* !o2o */
|
if (boxes) /* !o2o */
|
||||||
for (pbox = boxes; pbox != cfg; pbox = pbox->next)
|
for (pbox = boxes; pbox != cfg; pbox = pbox->next)
|
||||||
if (!memcmp( pbox->server_name, buf, hl + 1 )) {
|
if (!memcmp( pbox->server_name, buf, hl + 1 )) {
|
||||||
nfasprintf( (char **)&cfg->server_name, "%s-%d", buf, ++pbox->servers );
|
nfasprintf( (char **)&cfg->old_server_name, "%s-%d", buf, ++pbox->old_servers );
|
||||||
goto gotsrv;
|
goto gotsrv;
|
||||||
}
|
}
|
||||||
|
cfg->old_server_name = nfstrdup( buf );
|
||||||
|
cfg->old_servers = 1;
|
||||||
|
gotsrv: ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cfg->user)
|
||||||
|
nfsnprintf( ubuf, sizeof(ubuf), "%s@", cfg->user );
|
||||||
|
else
|
||||||
|
ubuf[0] = 0;
|
||||||
|
if (!cfg->host)
|
||||||
|
hl = nfsnprintf( buf, sizeof(buf), "%stunnel", ubuf );
|
||||||
|
else {
|
||||||
|
if (cfg->port != (cfg->use_imaps ? 993 : 143))
|
||||||
|
hl = nfsnprintf( buf, sizeof(buf), "%s%s_%d", ubuf, cfg->host, cfg->port );
|
||||||
|
else
|
||||||
|
hl = nfsnprintf( buf, sizeof(buf), "%s%s", ubuf, cfg->host );
|
||||||
|
}
|
||||||
|
if (boxes) /* !o2o */
|
||||||
|
for (pbox = boxes; pbox != cfg; pbox = pbox->next)
|
||||||
|
if (!memcmp( pbox->server_name, buf, hl + 1 )) {
|
||||||
|
nfasprintf( (char **)&cfg->server_name, "%s-%d", buf, ++pbox->servers );
|
||||||
|
goto ngotsrv;
|
||||||
|
}
|
||||||
cfg->server_name = nfstrdup( buf );
|
cfg->server_name = nfstrdup( buf );
|
||||||
cfg->servers = 1;
|
cfg->servers = 1;
|
||||||
gotsrv: ;
|
ngotsrv: ;
|
||||||
}
|
|
||||||
fprintf( fp, "IMAPAccount %s\n", cfg->server_name );
|
fprintf( fp, "IMAPAccount %s\n", cfg->server_name );
|
||||||
|
if (cfg->tunnel)
|
||||||
|
fprintf( fp, "Tunnel \"%s\"\n", cfg->tunnel );
|
||||||
|
else {
|
||||||
if (cfg->use_imaps)
|
if (cfg->use_imaps)
|
||||||
fprintf( fp, "Host imaps:%s\n", cfg->host );
|
fprintf( fp, "Host imaps:%s\n", cfg->host );
|
||||||
else
|
else
|
||||||
|
@ -296,9 +321,9 @@ static void
|
||||||
write_imap_store( FILE *fp, config_t *cfg )
|
write_imap_store( FILE *fp, config_t *cfg )
|
||||||
{
|
{
|
||||||
if (cfg->stores > 1)
|
if (cfg->stores > 1)
|
||||||
nfasprintf( (char **)&cfg->store_name, "%s-%d", cfg->server_name, cfg->stores );
|
nfasprintf( (char **)&cfg->store_name, "%s-%d", cfg->old_server_name, cfg->stores );
|
||||||
else
|
else
|
||||||
cfg->store_name = cfg->server_name;
|
cfg->store_name = cfg->old_server_name;
|
||||||
fprintf( fp, "IMAPStore %s\nAccount %s\n",
|
fprintf( fp, "IMAPStore %s\nAccount %s\n",
|
||||||
cfg->store_name, cfg->server_name );
|
cfg->store_name, cfg->server_name );
|
||||||
if (*folder)
|
if (*folder)
|
||||||
|
|
|
@ -41,7 +41,9 @@ typedef struct config {
|
||||||
struct config *next;
|
struct config *next;
|
||||||
|
|
||||||
const char *server_name;
|
const char *server_name;
|
||||||
|
const char *old_server_name;
|
||||||
int servers;
|
int servers;
|
||||||
|
int old_servers;
|
||||||
char *host;
|
char *host;
|
||||||
int port;
|
int port;
|
||||||
char *user;
|
char *user;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user