Commit 45dbbfad authored by Daniel Henninger's avatar Daniel Henninger Committed by dhenninger

[GATE-129] Yahoo now reports information about bad usernames and passwords (as...

[GATE-129] Yahoo now reports information about bad usernames and passwords (as well as other issues)
[GATE-143] Many new localized strings added.

git-svn-id: http://svn.igniterealtime.org/svn/repos/wildfire/trunk/src/plugins/gateway@6420 b35dd754-fafc-0310-a699-88a17e54d16e
parent 91ca72d7
Name | Version
-------------------------------------------------------
cindy.jar | 2.4.4
dwr.jar | 1.1.1 (patched)
dwr.jar | 1.1.1 (patched [#3])
irclib.jar | 1.10
jml.jar | svn-20061216
joscar-client.jar | svn-20061201 (patched [#2])
......@@ -24,4 +24,7 @@ Patch Descriptions
2) joscar patches
- applied patches from nikitine to provide support for setting default encoding
http://groups.google.com/group/joscar-discuss/browse_thread/thread/96fade8cc1fc220e/97d042138818c3d9#97d042138818c3d9
\ No newline at end of file
http://groups.google.com/group/joscar-discuss/browse_thread/thread/96fade8cc1fc220e/97d042138818c3d9#97d042138818c3d9
3) dwr patches
- Derek did something to DWR itself to make it work, I don't have details
\ No newline at end of file
......@@ -88,6 +88,62 @@
## Added key: 'gateway.web.registrations.user'
## Added key: 'gateway.web.registrations.confirmdelete'
## Added key: 'gateway.web.registrations.registrations'
##
## 1.0 Beta 6
## Added key: 'gateway.web.settings.tests'
## Added key: 'gateway.web.settings.options'
## Added key: 'gateway.web.settings.permissions'
## Added key: 'gateway.web.settings.connecttohost'
## Added key: 'gateway.web.settings.connecttoport'
## Added key: 'gateway.web.settings.testconnection'
## Added key: 'gateway.web.settings.saveoptions'
## Added key: 'gateway.web.settings.cancelchanges'
## Added key: 'gateway.web.settings.registernone'
## Added key: 'gateway.web.settings.registersome'
## Added key: 'gateway.web.settings.registerall'
## Added key: 'gateway.web.settings.users'
## Added key: 'gateway.web.settings.groups'
## Added key: 'gateway.web.settings.savepermissions'
## Added key: 'gateway.web.settings.title'
## Added key: 'gateway.web.settings.settingssaved'
## Added key: 'gateway.web.settings.success'
## Added key: 'gateway.web.settings.failed'
## Added key: 'gateway.web.settings.permissionssaved'
## Added key: 'gateway.web.registrations.title'
## Added key: 'gateway.web.settings.host'
## Added key: 'gateway.web.settings.port'
## Added key: 'gateway.web.settings.encoding'
## Added key: 'gateway.oscar.connectionfailed'
## Added key: 'gateway.oscar.accountdeleted'
## Added key: 'gateway.oscar.badinput'
## Added key: 'gateway.oscar.badpassword'
## Added key: 'gateway.oscar.oldclient'
## Added key: 'gateway.oscar.connectedtoomuch'
## Added key: 'gateway.oscar.baduserorpass'
## Added key: 'gateway.oscar.accountsuspended'
## Added key: 'gateway.oscar.unknownerror'
## Added key: 'gateway.oscar.disconnected'
## Added key: 'gateway.oscar.away'
## Added key: 'gateway.aim.warninganon'
## Added key: 'gateway.aim.warningdirect'
## Added key: 'gateway.msn.passwordincorrect'
## Added key: 'gateway.msn.sendmsgfailed'
## Added key: 'gateway.msn.illegalaccount'
## Added key: 'gateway.yahoo.error'
## Added key: 'gateway.yahoo.mail'
## Added key: 'gateway.yahoo.loginrefused'
## Added key: 'gateway.yahoo.unknownuser'
## Added key: 'gateway.yahoo.badpassword'
## Added key: 'gateway.yahoo.accountlocked'
## Added key: 'gateway.yahoo.accountlockedwithurl'
## Added key: 'gateway.yahoo.unknownerror'
## Added key: 'gateway.irc.away'
## Added key: 'gateway.irc.extendedaway'
## Added key: 'gateway.irc.donotdisturb'
## Added key: 'gateway.irc.errorreceived'
## Added key: 'gateway.irc.errorreceivedwithcode'
## Added key: 'gateway.base.notloggedin'
## Added key: 'gateway.base.enterusername'
# Temporary Tags Until Fixed Properly
......@@ -97,6 +153,23 @@ global.edit=Edit
global.cancel=Cancel
global.save_changes=Save Changes
# Base Transport
gateway.base.notloggedin=You are not currently logged into the {0} transport.
gateway.base.enterusername=Please enter the {0} username of the person you want to add."
# OSCAR 'Global' (both AIM/ICQ Transports)
gateway.oscar.connectionfailed=Connection failed:
gateway.oscar.accountdeleted=This account has been deleted.
gateway.oscar.badinput=Illegal screen name/uin specified.
gateway.oscar.badpassword=Incorrect password specified.
gateway.oscar.oldclient=Plugin is identifying itself as too old of a client. Please contact the developer.
gateway.oscar.connectedtoomuch=You have connected too many times in too short of a time frame. Please wait around 15 minutes before trying again.
gateway.oscar.baduserorpass=Invalid screen name or password specified. Please re-register with a valid screen name and password.
gateway.oscar.accountsuspended=Your account has been temporarily suspended.
gateway.oscar.unknownerror=Unknown error code returned from AIM: {0}\nURL: {1}
gateway.oscar.disconnected=You have been disconnected automatically by the server.
gateway.oscar.away=Away
# AIM Transport
gateway.aim.shortservice=AIM
gateway.aim.service=AOL Instant Messenger
......@@ -104,6 +177,8 @@ gateway.aim.name=AIM Transport
gateway.aim.username=ScreenName
gateway.aim.password=Password
gateway.aim.registration=Please enter your AIM ScreenName and password.
gateway.aim.warninganon=You have received an anonymous AIM warning. Your warning level is now {0}%.
gateway.aim.warningdirect=You have received an AIM warning from {0}. Your warning level is now {1}%.
# ICQ Transport
gateway.icq.shortservice=ICQ
......@@ -120,6 +195,9 @@ gateway.msn.name=MSN Transport
gateway.msn.username=E-Mail Address
gateway.msn.password=Password
gateway.msn.registration=Please enter your MSN Passport e-mail address and password.
gateway.msn.passwordincorrect=The password you registered with is incorrect. Please re-register with the correct password.
gateway.msn.sendmsgfailed=Unable to send MSN message. Reason:
gateway.msn.illegalaccount=You are registered with the MSN transport with an illegal account name.\nThe account name should look like an email address.\nYou registered as:
# Yahoo Transport
gateway.yahoo.shortservice=Yahoo
......@@ -128,6 +206,14 @@ gateway.yahoo.name=Yahoo! Transport
gateway.yahoo.username=Yahoo! ID
gateway.yahoo.password=Password
gateway.yahoo.registration=Please enter your Yahoo! ID and password.
gateway.yahoo.error=Error from Yahoo:
gateway.yahoo.mail=You have {0} message(s) waiting in your Yahoo! mail.
gateway.yahoo.loginrefused=Failed to log into Yahoo! messenger account. (login refused)
gateway.yahoo.unknownuser=Yahoo! did not recognize the username you registered with. Please re-register with correct username.
gateway.yahoo.badpassword=Login refused by Yahoo!, perhaps because of a bad password. Please re-register with correct password.
gateway.yahoo.accountlocked=Access to your Yahoo! account is locked.
gateway.yahoo.accountlockedwithurl=Access to your Yahoo! account is locked. Please visit {0}
gateway.yahoo.unknownerror=Failed to log into Yahoo! messenger account. (unknown error)
# IRC Transport
gateway.irc.shortservice=IRC
......@@ -137,9 +223,36 @@ gateway.irc.username=Username
gateway.irc.password=Password
gateway.irc.nickname=Nickname
gateway.irc.registration=Please enter your IRC username, password, and nickname. Nickname is the primary username used while username and password are used for authentication. If no password is required, leave it blank.
gateway.irc.away=Away
gateway.irc.extendedaway=Extended Away
gateway.irc.donotdisturb=Do Not Disturb
gateway.irc.errorreceived=IRC error received:
gateway.irc.errorreceivedwithcode=IRC error received (code {0}):
# Web Interface (Settings)
gateway.web.settings.instructions=Select which gateways will be allowed, what features are available, and who can connect to each gateway service. Checking a gateway enables the service.
gateway.web.settings.tests=Tests
gateway.web.settings.options=Options
gateway.web.settings.permissions=Permissions
gateway.web.settings.connecttohost=Connect to host
gateway.web.settings.connecttoport=Connect to port
gateway.web.settings.testconnection=Test Connection
gateway.web.settings.saveoptions=Save Options
gateway.web.settings.cancelchanges=Cancel Changes
gateway.web.settings.registernone=Manual registration only (see the Registrations section to manage)
gateway.web.settings.registersome=These users and/or groups can register
gateway.web.settings.registerall=All users can register
gateway.web.settings.users=Users
gateway.web.settings.groups=Groups
gateway.web.settings.savepermissions=Save Permissions
gateway.web.settings.title=Gateway Settings
gateway.web.settings.settingssaved=Settings Saved
gateway.web.settings.success=Success
gateway.web.settings.failed=Failed
gateway.web.settings.permissionssaved=Permissions Saved
gateway.web.settings.host=Host
gateway.web.settings.port=Port
gateway.web.settings.encoding=Encoding
# Web Interface (Registrations)
gateway.web.registrations.instructions=Below is a list of all gateway service registrations. To filter by active sessions and/or specific gateways select the options below and update the view.
......@@ -162,4 +275,5 @@ gateway.web.registrations.lastlogin=Last Login
gateway.web.registrations.serviceusername=Service/Username
gateway.web.registrations.user=User
gateway.web.registrations.confirmdelete=Are you sure you want to delete this registration?
gateway.web.registrations.registrations=Registrations
\ No newline at end of file
gateway.web.registrations.registrations=Registrations
gateway.web.registrations.title=Gateway Registrations
......@@ -10,6 +10,23 @@ global.edit=Bearbeiten
global.cancel=Abbrechen
global.save_changes=Speichern
# Base Transport
gateway.base.notloggedin=You are not currently logged into the {0} transport.
gateway.base.enterusername=Please enter the {0} username of the person you want to add."
# OSCAR 'Global' (both AIM/ICQ Transports)
gateway.oscar.connectionfailed=Connection failed:
gateway.oscar.accountdeleted=This account has been deleted.
gateway.oscar.badinput=Illegal screen name/uin specified.
gateway.oscar.badpassword=Incorrect password specified.
gateway.oscar.oldclient=Plugin is identifying itself as too old of a client. Please contact the developer.
gateway.oscar.connectedtoomuch=You have connected too many times in too short of a time frame. Please wait around 15 minutes before trying again.
gateway.oscar.baduserorpass=Invalid screen name or password specified. Please re-register with a valid screen name and password.
gateway.oscar.accountsuspended=Your account has been temporarily suspended.
gateway.oscar.unknownerror=Unknown error code returned from AIM: {0}\nURL: {1}
gateway.oscar.disconnected=You have been disconnected automatically by the server.
gateway.oscar.away=Away
# AIM Transport
gateway.aim.shortservice=AIM
gateway.aim.service=AOL Instant Messenger
......@@ -17,6 +34,8 @@ gateway.aim.name=AIM Transport
gateway.aim.username=ScreenName
gateway.aim.password=Passwort
gateway.aim.registration=Bitte geben Sie ihr AIM ScreenName und das Passwort ein.
gateway.aim.warninganon=You have received an anonymous AIM warning. Your warning level is now {0}%.
gateway.aim.warningdirect=You have received an AIM warning from {0}. Your warning level is now {1}%.
# ICQ Transport
gateway.icq.shortservice=ICQ
......@@ -33,6 +52,9 @@ gateway.msn.name=MSN Transport
gateway.msn.username=E-Mail Address
gateway.msn.password=Password
gateway.msn.registration=Bitte geben Sie Ihre E-Mailadresse und Passwort f\u00fcr das MSN Passport ein.
gateway.msn.passwordincorrect=The password you registered with is incorrect. Please re-register with the correct password.
gateway.msn.sendmsgfailed=Unable to send MSN message. Reason:
gateway.msn.illegalaccount=You are registered with the MSN transport with an illegal account name.\nThe account name should look like an email address.\nYou registered as:
# Yahoo Transport
gateway.yahoo.shortservice=Yahoo
......@@ -41,6 +63,14 @@ gateway.yahoo.name=Yahoo! Transport
gateway.yahoo.username=Yahoo! ID
gateway.yahoo.password=Passwort
gateway.yahoo.registration=Bitte geben Sie Ihre Yahoo! ID und das Passwort ein.
gateway.yahoo.error=Error from Yahoo:
gateway.yahoo.mail=You have {0} message(s) waiting in your Yahoo! mail.
gateway.yahoo.loginrefused=Failed to log into Yahoo! messenger account. (login refused)
gateway.yahoo.unknownuser=Yahoo! did not recognize the username you registered with. Please re-register with correct username.
gateway.yahoo.badpassword=Login refused by Yahoo!, perhaps because of a bad password. Please re-register with correct password.
gateway.yahoo.accountlocked=Access to your Yahoo! account is locked.
gateway.yahoo.accountlockedwithurl=Access to your Yahoo! account is locked. Please visit {0}
gateway.yahoo.unknownerror=Failed to log into Yahoo! messenger account. (unknown error)
# IRC Transport
gateway.irc.shortservice=IRC
......@@ -50,9 +80,36 @@ gateway.irc.username=Benutzername
gateway.irc.password=Passwort
gateway.irc.nickname=Nickname
gateway.irc.registration=Bitte geben Sie Ihren IRC Benutzername, das Passwort und den Nickname ein. Der Benutzername und das Passwort werden f\u00fcr die Authentifizierung benutzt. Wird kein Passwort ben\u00f6tigt, lassen Sie das Feld frei.
gateway.irc.away=Away
gateway.irc.extendedaway=Extended Away
gateway.irc.donotdisturb=Do Not Disturb
gateway.irc.errorreceived=IRC error received:
gateway.irc.errorreceivedwithcode=IRC error received (code {0}):
# Web Interface (Settings)
gateway.web.settings.instructions=W\u00e4hlen Sie aus, welches Gateway Sie aktivieren m\u00f6chten, welche Optionen verf\u00fcgbar sind und welche Benutzer diese nutzen d\u00fcrfen.
gateway.web.settings.tests=Tests
gateway.web.settings.options=Options
gateway.web.settings.permissions=Permissions
gateway.web.settings.connecttohost=Connect to host
gateway.web.settings.connecttoport=Connect to port
gateway.web.settings.testconnection=Test Connection
gateway.web.settings.saveoptions=Save Options
gateway.web.settings.cancelchanges=Cancel Changes
gateway.web.settings.registernone=Manual registration only (see the Registrations section to manage)
gateway.web.settings.registersome=These users and/or groups can register
gateway.web.settings.registerall=All users can register
gateway.web.settings.users=Users
gateway.web.settings.groups=Groups
gateway.web.settings.savepermissions=Save Permissions
gateway.web.settings.title=Gateway Settings
gateway.web.settings.settingssaved=Settings Saved
gateway.web.settings.success=Success
gateway.web.settings.failed=Failed
gateway.web.settings.permissionssaved=Permissions Saved
gateway.web.settings.host=Host
gateway.web.settings.port=Port
gateway.web.settings.encoding=Encoding
# Web Interface (Registrations)
gateway.web.registrations.instructions=Eine Auflistung der IM Gateway Registrierungen ist unten verf\u00fcgbar. Sie k\u00f6nnen diese nach Typ und Benutzernamen filtern.
......@@ -75,4 +132,5 @@ gateway.web.registrations.lastlogin=Letzter Login
gateway.web.registrations.serviceusername=Service/Benutzername
gateway.web.registrations.user=Benutzer
gateway.web.registrations.confirmdelete=Wollen Sie diese Registrierung wirklich l\u00f6schen??
gateway.web.registrations.registrations=Registrierungen
\ No newline at end of file
gateway.web.registrations.registrations=Registrierungen
gateway.web.registrations.title=Gateway Registrations
......@@ -15,6 +15,7 @@ import org.dom4j.Element;
import org.dom4j.QName;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.NotFoundException;
import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.wildfire.SessionManager;
import org.jivesoftware.wildfire.XMPPServer;
import org.jivesoftware.wildfire.container.PluginManager;
......@@ -177,7 +178,7 @@ public abstract class BaseTransport implements Component, RosterEventListener {
m.setError(Condition.service_unavailable);
m.setTo(from);
m.setFrom(getJID());
m.setBody("You are not currently logged into the transport.");
m.setBody(LocaleUtils.getLocalizedString("gateway.base.notloggedin", "gateway", Arrays.asList(transportType.toString().toUpperCase())));
reply.add(m);
}
else if (to.getNode() == null) {
......@@ -228,7 +229,7 @@ public abstract class BaseTransport implements Component, RosterEventListener {
m.setError(Condition.service_unavailable);
m.setTo(from);
m.setFrom(getJID());
m.setBody("You are not currently logged into the transport.");
m.setBody(LocaleUtils.getLocalizedString("gateway.base.notloggedin", "gateway", Arrays.asList(transportType.toString().toUpperCase())));
reply.add(m);
}
......@@ -505,7 +506,7 @@ public abstract class BaseTransport implements Component, RosterEventListener {
if (packet.getType() == IQ.Type.get) {
IQ result = IQ.createResultIQ(packet);
Element query = DocumentHelper.createElement(QName.get("query", IQ_GATEWAY));
query.addElement("desc").addText("Please enter the person's "+this.getName()+" username.");
query.addElement("desc").addText(LocaleUtils.getLocalizedString("gateway.base.enterusername", "gateway", Arrays.asList(transportType.toString().toUpperCase())));
query.addElement("prompt");
result.setChildElement(query);
reply.add(result);
......
......@@ -18,6 +18,7 @@ import org.xmpp.packet.Message;
import org.xmpp.packet.Presence;
import org.xmpp.packet.JID;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.wildfire.gateway.PresenceType;
import org.jivesoftware.wildfire.gateway.TransportLoginStatus;
......@@ -97,7 +98,7 @@ public class IRCListener implements IRCEventListener {
getSession().getTransport().sendMessage(
getSession().getJID(),
getSession().getTransport().getJID(),
"IRC error received: "+string,
LocaleUtils.getLocalizedString("gateway.irc.errorreceived", "gateway")+" "+string,
Message.Type.error
);
}
......@@ -108,7 +109,7 @@ public class IRCListener implements IRCEventListener {
getSession().getTransport().sendMessage(
getSession().getJID(),
getSession().getTransport().getJID(),
"IRC error received: (code "+i+") "+string,
LocaleUtils.getLocalizedString("gateway.irc.errorreceivedwithcode", "gateway", Arrays.asList(Integer.toString(i)))+" "+string,
Message.Type.error
);
}
......
......@@ -14,8 +14,6 @@ import org.jivesoftware.wildfire.gateway.*;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.LocaleUtils;
import org.xmpp.packet.JID;
import org.dom4j.Element;
import org.dom4j.DocumentHelper;
/***
* IRC Transport Interface.
......@@ -72,26 +70,6 @@ public class IRCTransport extends BaseTransport {
return username.matches("\\w+");
}
/**
* @see org.jivesoftware.wildfire.gateway.BaseTransport#getOptionsConfig(org.jivesoftware.wildfire.gateway.TransportType)
* @param type The transport type to distinguish if needed.
* @return XML document describing the options interface.
*/
public static Element getOptionsConfig(TransportType type) {
Element optConfig = DocumentHelper.createElement("optionconfig");
Element leftPanel = optConfig.addElement("leftpanel");
Element rightPanel = optConfig.addElement("rightpanel");
rightPanel.addElement("item")
.addAttribute("type", "text")
.addAttribute("sysprop", "plugin.gateway.irc.connecthost")
.addAttribute("desc", "Host");
rightPanel.addElement("item")
.addAttribute("type", "text")
.addAttribute("sysprop", "plugin.gateway.irc.connectport")
.addAttribute("desc", "Port");
return optConfig;
}
/**
* Handles creating a IRC session and triggering a login.
*
......@@ -133,13 +111,13 @@ public class IRCTransport extends BaseTransport {
return null;
}
else if (jabStatus == PresenceType.away) {
return verboseStatus.equals("") ? "Away" : "Away: "+verboseStatus;
return verboseStatus.equals("") ? LocaleUtils.getLocalizedString("gateway.irc.away", "gateway") : LocaleUtils.getLocalizedString("gateway.irc.away", "gateway")+": "+verboseStatus;
}
else if (jabStatus == PresenceType.xa) {
return verboseStatus.equals("") ? "Extended Away" : "Extended Away: "+verboseStatus;
return verboseStatus.equals("") ? LocaleUtils.getLocalizedString("gateway.irc.extendedaway", "gateway") : LocaleUtils.getLocalizedString("gateway.irc.extendedaway", "gateway")+": "+verboseStatus;
}
else if (jabStatus == PresenceType.dnd) {
return verboseStatus.equals("") ? "Do Not Disturb" : "Do Not Disturb: "+verboseStatus;
return verboseStatus.equals("") ? LocaleUtils.getLocalizedString("gateway.irc.donotdisturb", "gateway") : LocaleUtils.getLocalizedString("gateway.irc.donotdisturb", "gateway")+": "+verboseStatus;
}
else if (jabStatus == PresenceType.chat) {
return null;
......
......@@ -11,6 +11,7 @@
package org.jivesoftware.wildfire.gateway.protocols.msn;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.wildfire.gateway.TransportLoginStatus;
import org.xmpp.packet.Message;
import org.xmpp.packet.Presence;
......@@ -102,6 +103,13 @@ public class MSNListener extends MsnAdapter {
msnSession.setLoginStatus(TransportLoginStatus.LOGGED_IN);
}
/**
* Contact list has been synced.
*/
public void contactListSyncCompleted(MsnMessenger messenger) {
Log.debug("MSN: Contact list sync for "+messenger.getOwner().getEmail());
}
/**
* Contact list initialization has completed.
*/
......@@ -119,13 +127,6 @@ public class MSNListener extends MsnAdapter {
msnSession.syncUsers();
}
/**
* Contact list has been synced.
*/
public void contactListSyncCompleted(MsnMessenger messenger) {
Log.debug("MSN: Contact list sync for "+messenger.getOwner().getEmail());
}
/**
* A friend for this user has changed status.
*/
......@@ -228,7 +229,7 @@ public class MSNListener extends MsnAdapter {
msnSession.getTransport().sendMessage(
msnSession.getJIDWithHighestPriority(),
msnSession.getTransport().getJID(),
"The password you registered with is incorrect. Please re-register with the correct password.",
LocaleUtils.getLocalizedString("gateway.msn.passwordincorrect", "gateway"),
Message.Type.error
);
msnSession.logOut();
......@@ -246,7 +247,7 @@ public class MSNListener extends MsnAdapter {
msnSession.getTransport().sendMessage(
msnSession.getJIDWithHighestPriority(),
msnSession.getTransport().getJID(),
"Unable to send MSN message. Reason: "+throwable.toString(),
LocaleUtils.getLocalizedString("gateway.msn.sendmsgfailed", "gateway")+" "+throwable.toString(),
Message.Type.error
);
}
......
......@@ -15,6 +15,7 @@ import net.sf.jml.impl.BasicMessenger;
import net.sf.jml.impl.MsnMessengerFactory;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.wildfire.gateway.*;
import org.jivesoftware.wildfire.roster.RosterItem;
import org.jivesoftware.wildfire.roster.Roster;
......@@ -54,7 +55,7 @@ public class MSNSession extends TransportSession {
m.setType(Message.Type.error);
m.setTo(getJID());
m.setFrom(getTransport().getJID());
m.setBody("You are registered with the MSN transport with an illegal account name.\nThe account name should look like an email address.\nYou registered as:"+registration.getUsername());
m.setBody(LocaleUtils.getLocalizedString("gateway.msn.illegalaccount", "gateway")+" "+registration.getUsername());
return;
}
......
......@@ -18,6 +18,7 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.LocaleUtils;
import org.xmpp.packet.Message;
import org.xmpp.packet.Presence;
import org.xmpp.packet.JID;
......@@ -117,7 +118,7 @@ public abstract class BasicFlapConnection extends BaseFlapConnection {
oscarSession.getTransport().sendMessage(
oscarSession.getJIDWithHighestPriority(),
oscarSession.getTransport().getJID(),
"You have received an anonymous AIM warning. Your warning level is now "+wn.getNewLevel()+"%.",
LocaleUtils.getLocalizedString("gateway.aim.warninganon", "gateway", Arrays.asList(wn.getNewLevel().toString())),
Message.Type.headline
);
}
......@@ -127,7 +128,7 @@ public abstract class BasicFlapConnection extends BaseFlapConnection {
oscarSession.getTransport().sendMessage(
oscarSession.getJIDWithHighestPriority(),
oscarSession.getTransport().getJID(),
"You have received an AIM warning from "+warner.getScreenname()+". Your warning level is now "+wn.getNewLevel()+"%.",
LocaleUtils.getLocalizedString("gateway.aim.warningdirect", "gateway", Arrays.asList(warner.getScreenname(), wn.getNewLevel().toString())),
Message.Type.headline
);
}
......
......@@ -13,6 +13,7 @@
package org.jivesoftware.wildfire.gateway.protocols.oscar;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.wildfire.gateway.TransportLoginStatus;
import org.jivesoftware.wildfire.gateway.TransportType;
import org.xmpp.packet.Message;
......@@ -26,6 +27,7 @@ import net.kano.joscar.snac.*;
import net.kano.joscar.snaccmd.auth.*;
import java.util.Locale;
import java.util.Arrays;
/**
* Handles the login process with the OSCAR login server.
......@@ -63,7 +65,7 @@ public class LoginConnection extends BaseFlapConnection {
m.setType(Message.Type.error);
m.setFrom(this.getMainSession().getTransport().getJID());
m.setTo(this.getMainSession().getJIDWithHighestPriority());
m.setBody("Connection failed: " + e.getReason());
m.setBody(LocaleUtils.getLocalizedString("gateway.oscar.connectionfailed", "gateway")+" " + e.getReason());
this.getMainSession().getTransport().sendPacket(m);
this.getMainSession().logOut();
}
......@@ -117,44 +119,44 @@ public class LoginConnection extends BaseFlapConnection {
String errormsg;
switch (error) {
case (AuthResponse.ERROR_ACCOUNT_DELETED): {
errormsg = "This account has been deleted.";
errormsg = LocaleUtils.getLocalizedString("gateway.oscar.accountdeleted", "gateway");
break;
}
case (AuthResponse.ERROR_BAD_INPUT): {
errormsg = "Illegal screen name/uin specified.";
errormsg = LocaleUtils.getLocalizedString("gateway.oscar.badinput", "gateway");
break;
}
case (AuthResponse.ERROR_BAD_PASSWORD): {
errormsg = "Incorrect password specified.";
errormsg = LocaleUtils.getLocalizedString("gateway.oscar.badpassword", "gateway");
break;
}
case (AuthResponse.ERROR_CLIENT_TOO_OLD): {
errormsg = "Plugin is identifying itself as too old of a client. Please contact the develop.";
errormsg = LocaleUtils.getLocalizedString("gateway.oscar.oldclient", "gateway");
break;
}
case (AuthResponse.ERROR_CONNECTING_TOO_MUCH_A):
case (AuthResponse.ERROR_CONNECTING_TOO_MUCH_B): {
errormsg = "You have connected too many times in too short of a time frame. Please wait around 15 minutes before trying again.";
errormsg = LocaleUtils.getLocalizedString("gateway.oscar.connectedtoomuch", "gateway");
break;
}
case (AuthResponse.ERROR_INVALID_SN_OR_PASS_A):
case (AuthResponse.ERROR_INVALID_SN_OR_PASS_B): {
errormsg = "Invalid screen name or password specified. Please re-register with a valid screen name and password.";
errormsg = LocaleUtils.getLocalizedString("gateway.oscar.baduserorpass", "gateway");
break;
}
case (AuthResponse.ERROR_SIGNON_BLOCKED): {
errormsg = "Your account has been temporarily suspended.";
errormsg = LocaleUtils.getLocalizedString("gateway.oscar.accountsuspended", "gateway");
break;
}
default: {
errormsg = "Unknown error code returned from AIM: "+error+"\nURL: "+ar.getErrorUrl();
errormsg = LocaleUtils.getLocalizedString("gateway.oscar.unknownerror", "gateway", Arrays.asList(error, ar.getErrorUrl()));
}
}
......
......@@ -32,6 +32,7 @@ import net.kano.joscar.ssiitem.BuddyItem;
import net.kano.joscar.ssiitem.GroupItem;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.wildfire.gateway.*;
import org.jivesoftware.wildfire.user.UserNotFoundException;
import org.jivesoftware.wildfire.roster.RosterItem;
......@@ -404,7 +405,7 @@ public class OSCARSession extends TransportSession {
m.setError(PacketError.Condition.internal_server_error);
m.setTo(getJID());
m.setFrom(getTransport().getJID());
m.setBody("You have been disconnected automatically by the server.");
m.setBody(LocaleUtils.getLocalizedString("gateway.oscar.disconnected", "gateway"));
getTransport().sendPacket(m);
logOut();
}
......@@ -495,7 +496,7 @@ public class OSCARSession extends TransportSession {
*/
public void updateStatus(PresenceType presenceType, String verboseStatus) {
if (presenceType != PresenceType.available && presenceType != PresenceType.chat) {
String awayMsg = "Away";
String awayMsg = LocaleUtils.getLocalizedString("gateway.oscar.away", "gateway");
if (verboseStatus != null) {
awayMsg = verboseStatus;
}
......
......@@ -12,6 +12,7 @@ package org.jivesoftware.wildfire.gateway.protocols.yahoo;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.JiveGlobals;
import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.wildfire.gateway.*;
import org.jivesoftware.wildfire.roster.RosterItem;
import org.jivesoftware.wildfire.user.UserNotFoundException;
......@@ -117,12 +118,31 @@ public class YahooSession extends TransportSession {
}
catch (LoginRefusedException e) {
yahooSession.reset();
Log.warn("Yahoo login failed for " + getJID());
String reason = LocaleUtils.getLocalizedString("gateway.yahoo.loginrefused", "gateway");
switch((int)e.getStatus()) {
case (int)StatusConstants.STATUS_BADUSERNAME:
reason = LocaleUtils.getLocalizedString("gateway.yahoo.unknownuser", "gateway");
break;
case (int)StatusConstants.STATUS_BAD:
reason = LocaleUtils.getLocalizedString("gateway.yahoo.badpassword", "gateway");
break;
case (int)StatusConstants.STATUS_LOCKED:
AccountLockedException e2 = (AccountLockedException)e;
if(e2.getWebPage() != null) {
reason = LocaleUtils.getLocalizedString("gateway.yahoo.accountlockedwithurl", "gateway", Arrays.asList(e2.getWebPage().toString()));
}
else {
reason = LocaleUtils.getLocalizedString("gateway.yahoo.accountlocked", "gateway");
}
break;
}
Log.warn("Yahoo login failed for "+getJID()+": "+reason);
getTransport().sendMessage(
getJID(),
getTransport().getJID(),
"Failed to log into Yahoo! messenger account. (login refused)",
reason,
Message.Type.error
);
setLoginStatus(TransportLoginStatus.LOGGED_OUT);
......@@ -133,7 +153,7 @@ public class YahooSession extends TransportSession {
getTransport().sendMessage(
getJID(),
getTransport().getJID(),
"Failed to log into Yahoo! messenger account. (unknown error)",
LocaleUtils.getLocalizedString("gateway.yahoo.unknownerror", "gateway"),
Message.Type.error
);
setLoginStatus(TransportLoginStatus.LOGGED_OUT);
......
......@@ -11,6 +11,7 @@
package org.jivesoftware.wildfire.gateway.protocols.yahoo;
import org.jivesoftware.util.Log;
import org.jivesoftware.util.LocaleUtils;
import org.xmpp.packet.Message;
import org.xmpp.packet.Presence;
import ymsg.network.YahooUser;
......@@ -27,6 +28,8 @@ import ymsg.network.event.SessionNewMailEvent;
import ymsg.network.event.SessionNotifyEvent;
import ymsg.support.MessageDecoder;
import java.util.Arrays;
/**
* Handles incoming packets from Yahoo.
*
......@@ -86,7 +89,7 @@ public class YahooSessionListener implements SessionListener {
yahooSession.getTransport().sendMessage(
yahooSession.getJIDWithHighestPriority(),
yahooSession.getTransport().getJID(),
"You have "+event.getMailCount()+" message(s) waiting in your Yahoo! mail.",
LocaleUtils.getLocalizedString("gateway.yahoo.mail", "gateway", Arrays.asList(Integer.toString(event.getMailCount()))),
Message.Type.headline
);
}
......@@ -176,7 +179,7 @@ public class YahooSessionListener implements SessionListener {
yahooSession.getTransport().sendMessage(
yahooSession.getJIDWithHighestPriority(),
yahooSession.getTransport().getJID(),
"Error from yahoo: "+event.getMessage(),
LocaleUtils.getLocalizedString("gateway.yahoo.error", "gateway")+" "+event.getMessage(),
Message.Type.error
);
}
......@@ -186,12 +189,13 @@ public class YahooSessionListener implements SessionListener {
*/
public void inputExceptionThrown(SessionExceptionEvent event) {
Log.error("Input error from yahoo: "+event.getMessage(), event.getException());
yahooSession.getTransport().sendMessage(
yahooSession.getJIDWithHighestPriority(),
yahooSession.getTransport().getJID(),
"Input error from yahoo: "+event.getMessage(),
Message.Type.error
);
// Lets keep this silent for now. Not bother the end user with it.
// yahooSession.getTransport().sendMessage(
// yahooSession.getJIDWithHighestPriority(),
// yahooSession.getTransport().getJID(),
// "Input error from yahoo: "+event.getMessage(),
// Message.Type.error
// );
}
/**
......
......@@ -2,7 +2,7 @@
<optionsconfig>
<leftpanel></leftpanel>
<rightpanel>
<item type="text" sysprop="plugin.gateway.aim.connecthost" var="host" desc="Host" default="login.oscar.aol.com"/>
<item type="text" sysprop="plugin.gateway.aim.connectport" var="port" desc="Port" default="5190"/>
<item type="text" sysprop="plugin.gateway.aim.connecthost" var="host" desckey="gateway.web.settings.host" default="login.oscar.aol.com"/>
<item type="text" sysprop="plugin.gateway.aim.connectport" var="port" desckey="gateway.web.settings.port" default="5190"/>
</rightpanel>
</optionsconfig>
\ No newline at end of file
......@@ -2,8 +2,8 @@
<optionsconfig>
<leftpanel></leftpanel>
<rightpanel>
<item type="text" sysprop="plugin.gateway.icq.connecthost" var="host" desc="Host" default="login.oscar.aol.com"/>
<item type="text" sysprop="plugin.gateway.icq.connectport" var="port" desc="Port" default="5190"/>
<item type="text" sysprop="plugin.gateway.icq.encoding" var="encoding" desc="Encoding" default="iso-8859-1"/>
<item type="text" sysprop="plugin.gateway.icq.connecthost" var="host" desckey="gateway.web.settings.host" default="login.oscar.aol.com"/>
<item type="text" sysprop="plugin.gateway.icq.connectport" var="port" desckey="gateway.web.settings.port" default="5190"/>
<item type="text" sysprop="plugin.gateway.icq.encoding" var="encoding" desckey="gateway.web.settings.encoding" default="iso-8859-1"/>
</rightpanel>
</optionsconfig>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<optionsconfig>
<leftpanel></leftpanel>
<rightpanel>
<item type="text" sysprop="plugin.gateway.irc.connecthost" var="host" desc="Host" default="irc.freenode.net"/>
<item type="text" sysprop="plugin.gateway.irc.connectport" var="port" desc="Port" default="7000"/>
<item type="text" sysprop="plugin.gateway.irc.connecthost" var="host" desckey="gateway.web.settings.host" default="irc.freenode.net"/>
<item type="text" sysprop="plugin.gateway.irc.connectport" var="port" desckey="gateway.web.settings.port" default="7000"/>
</rightpanel>
</optionsconfig>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<optionsconfig>
<leftpanel></leftpanel>
<rightpanel>
<item type="text" sysprop="plugin.gateway.msn.connecthost" var="host" desc="Host" default="messenger.hotmail.com"/>
<item type="text" sysprop="plugin.gateway.msn.connectport" var="port" desc="Port" default="1863"/>
<item type="text" sysprop="plugin.gateway.msn.connecthost" var="host" desckey="gateway.web.settings.host" default="messenger.hotmail.com"/>
<item type="text" sysprop="plugin.gateway.msn.connectport" var="port" desckey="gateway.web.settings.port" default="1863"/>
</rightpanel>
</optionsconfig>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<optionsconfig>
<leftpanel></leftpanel>
<rightpanel>
<item type="text" sysprop="plugin.gateway.yahoo.connecthost" var="host" desc="Host" default="scs.msg.yahoo.com"/>
<item type="text" sysprop="plugin.gateway.yahoo.connectport" var="port" desc="Port" default="5050"/>
<item type="text" sysprop="plugin.gateway.yahoo.connecthost" var="host" desckey="gateway.web.settings.host" default="scs.msg.yahoo.com"/>
<item type="text" sysprop="plugin.gateway.yahoo.connectport" var="port" desckey="gateway.web.settings.port" default="5050"/>
</rightpanel>
</optionsconfig>
\ No newline at end of file
......@@ -18,7 +18,8 @@
<jsp:useBean id="webManager" class="org.jivesoftware.util.WebManager" />
<%
GatewayPlugin plugin = (GatewayPlugin)XMPPServer.getInstance().getPluginManager().getPlugin("gateway");
final GatewayPlugin plugin =
(GatewayPlugin)XMPPServer.getInstance().getPluginManager().getPlugin("gateway");
HashMap<String,Boolean> trEnabled = new HashMap<String,Boolean>();
trEnabled.put("aim", plugin.getTransportInstance("aim").isEnabled());
trEnabled.put("icq", plugin.getTransportInstance("icq").isEnabled());
......@@ -242,19 +243,31 @@
int topRange = ((start+range) < resCount) ? (start+range) : resCount;
%>
<html>
<head>
<title>Gateway Registrations</title>
<title><fmt:message key="gateway.web.registrations.title" /></title>
<meta name="pageID" content="gateway-registrations">
<style type="text/css">
<!-- @import url("style/gateways.css"); -->
</style>
<script src="dwr/engine.js" type="text/javascript"></script>
<script src="dwr/util.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript" src="scripts/gateways.js"></script>
<script type="text/javascript" >
DWREngine.setErrorHandler(handleError);
window.onerror = handleError;
function handleError(error) {
// swallow errors
}
</script>
</head>
<body>
<p><fmt:message key="gateway.web.registrations.instructions" /></p>
<%
......@@ -342,7 +355,6 @@
<!-- BEGIN registrations table -->
<div class="jive-registrations">
......@@ -439,10 +451,9 @@
</div>
</form>
<!-- END gateway filter -->
<!-- BEGIN registrations table -->
<!-- BEGIN registrations table -->
<table cellpadding="0" cellspacing="0">
<thead>
<tr>
......@@ -540,8 +551,7 @@
<!-- END registrations table -->
<br clear="all">
<br clear="all" />
</body>
</html>
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment