diff options
Diffstat (limited to 'src/common/servlist.c')
-rw-r--r-- | src/common/servlist.c | 47 |
1 files changed, 11 insertions, 36 deletions
diff --git a/src/common/servlist.c b/src/common/servlist.c index 4b04820b..d49b603e 100644 --- a/src/common/servlist.c +++ b/src/common/servlist.c @@ -43,7 +43,7 @@ struct defaultserver char *host; char *channel; char *charset; - int nsmode; /* default NickServ type */ + int loginmode; /* default authentication type */ }; static const struct defaultserver def[] = @@ -245,7 +245,7 @@ static const struct defaultserver def[] = {0, "irc.ggn.net"}, {0, "irc.vendetta.com"}, - {"freenode", 0, "#hexchat"}, + {"freenode", 0, "#hexchat", 0, 6}, #ifdef USE_OPENSSL {0, "irc.freenode.net/+6697"}, #endif @@ -618,18 +618,17 @@ servlist_connect (session *sess, ircnet *net, gboolean join) } } - if (net->nstype >= 1) /* once again, make sure gtk_combo_box_get_active() is not bugging us, just in case */ + if (net->logintype) { - serv->nickservtype = net->nstype - 1; /* ircnet->nstype starts at 1, server->nickservtype starts at 0! */ + serv->loginmethod = net->logintype; } else { - serv->nickservtype = 1; /* use /NickServ by default */ + serv->loginmethod = 2; /* use /NickServ by default */ } serv->password[0] = 0; serv->sasluser[0] = 0; - serv->saslpassword[0] = 0; if (net->pass) { @@ -645,11 +644,6 @@ servlist_connect (session *sess, ircnet *net, gboolean join) safe_strcpy (serv->sasluser, net->user, sizeof (serv->sasluser)); } - if (net->saslpass) - { - safe_strcpy (serv->saslpassword, net->saslpass, sizeof (serv->saslpassword)); - } - if (net->flags & FLAG_USE_GLOBAL) { strcpy (serv->nick, prefs.hex_irc_nick1); @@ -941,7 +935,6 @@ servlist_cleanup (void) { net = list->data; free_and_clear (net->pass); - free_and_clear (net->saslpass); free_and_clear (net->nickserv); } } @@ -964,7 +957,6 @@ servlist_net_remove (ircnet *net) if (net->real) free (net->real); free_and_clear (net->pass); - free_and_clear (net->saslpass); if (net->autojoin) free (net->autojoin); if (net->command) @@ -1029,9 +1021,9 @@ servlist_load_defaults (void) free (net->encoding); net->encoding = strdup (def[i].charset); } - if (def[i].nsmode) + if (def[i].loginmode) { - net->nstype = def[i].nsmode; + net->logintype = def[i].loginmode; } if (g_str_hash (def[i].network) == def_hash) { @@ -1100,9 +1092,6 @@ servlist_load (void) case 'P': net->pass = strdup (buf + 2); break; - case 'A': - net->saslpass = strdup (buf + 2); - break; case 'J': net->autojoin = strdup (buf + 2); break; @@ -1134,8 +1123,8 @@ servlist_load (void) case 'B': net->nickserv = strdup (buf + 2); break; - case 'T': - net->nstype = atoi (buf + 2); + case 'L': + net->logintype = atoi (buf + 2); break; } } @@ -1244,26 +1233,12 @@ servlist_save (void) fprintf (fp, "R=%s\n", net->real); if (net->pass) fprintf (fp, "P=%s\n", net->pass); - if (net->saslpass) - fprintf (fp, "A=%s\n", net->saslpass); if (net->autojoin) fprintf (fp, "J=%s\n", net->autojoin); if (net->nickserv) fprintf (fp, "B=%s\n", net->nickserv); - if (net->nstype) - { - if (net->nstype == -1) /* gtk_combo_box_get_active() returns -1 for invalid indices */ - { - net->nstype = 0; /* avoid further crashes for the current session */ - buf = g_strdup_printf (_("Warning: invalid NickServ type. Falling back to default type for network %s."), net->name); - fe_message (buf, FE_MSG_WARN); - g_free (buf); - } - else /* the selection was fine, save it */ - { - fprintf (fp, "T=%d\n", net->nstype); - } - } + if (net->logintype) + fprintf (fp, "L=%d\n", net->logintype); if (net->encoding && g_ascii_strcasecmp (net->encoding, "System") && g_ascii_strcasecmp (net->encoding, "System default")) { |