diff --git a/.travis.yml b/.travis.yml
index 14a4ccf3..f6b0f140 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,3 +9,11 @@ cache:
script:
- mvn clean install -B && mvn clean -B
+
+notifications:
+ webhooks:
+ urls:
+ - https://webhooks.gitter.im/e/952357dbd9d3cea70fd5
+ on_success: change # options: [always|never|change] default: always
+ on_failure: always # options: [always|never|change] default: always
+ on_start: false # default: false
diff --git a/README.md b/README.md
index bdaacf90..05c1edf2 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,8 @@
#####Development tools:
+[](https://gitter.im/Xephi/AuthMeReloaded?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
- Build status: [](https://travis-ci.org/Xephi/AuthMeReloaded)
- Build Server: Jenkins
diff --git a/src/main/java/fr/xephi/authme/SendMailSSL.java b/src/main/java/fr/xephi/authme/SendMailSSL.java
index 29e56cba..4d379379 100644
--- a/src/main/java/fr/xephi/authme/SendMailSSL.java
+++ b/src/main/java/fr/xephi/authme/SendMailSSL.java
@@ -6,7 +6,6 @@ import java.util.Properties;
import javax.mail.BodyPart;
import javax.mail.Message;
-import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
@@ -41,53 +40,56 @@ public class SendMailSSL {
sendername = Settings.getmailSenderName;
}
- String port = String.valueOf(Settings.getMailPort);
- Properties props = new Properties();
- props.put("mail.smtp.host", Settings.getmailSMTP);
- props.put("mail.smtp.auth", "true");
- props.put("mail.smtp.port", port);
- props.put("mail.smtp.starttls.enable", true);
+ final String sender = sendername;
+ final String port = String.valueOf(Settings.getMailPort);
+ final String acc = Settings.getmailAccount;
+ final String subject = Settings.getMailSubject;
+ final String smtp = Settings.getmailSMTP;
+ final String password = Settings.getmailPassword;
+ final String mailText = Settings.getMailText;
+ final String mail = auth.getEmail();
- try {
- Session session = Session.getInstance(props, null);
+ Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
- final Message message = new MimeMessage(session);
- try {
- message.setFrom(new InternetAddress(Settings.getmailAccount, sendername));
- } catch (UnsupportedEncodingException uee) {
- message.setFrom(new InternetAddress(Settings.getmailAccount));
- }
- message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(auth.getEmail()));
- message.setSubject(Settings.getMailSubject);
- message.setSentDate(new Date());
- BodyPart messageBodyPart = new MimeBodyPart();
- String text = Settings.getMailText;
- messageBodyPart.setText(text);
+ @Override
+ public void run() {
+ try {
+ Properties props = new Properties();
+ props.put("mail.smtp.host", smtp);
+ props.put("mail.smtp.auth", "true");
+ props.put("mail.smtp.port", port);
+ props.put("mail.smtp.starttls.enable", true);
+ Session session = Session.getInstance(props, null);
- Multipart multipart = new MimeMultipart();
-
- multipart.addBodyPart(messageBodyPart);
-
- messageBodyPart = new MimeBodyPart();
-
- multipart.addBodyPart(messageBodyPart);
- message.setContent(multipart);
- final Transport transport = session.getTransport("smtp");
- transport.connect(Settings.getmailSMTP, Settings.getmailAccount, Settings.getmailPassword);
- Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
-
- @Override
- public void run() {
+ Message message = new MimeMessage(session);
try {
- transport.sendMessage(message, message.getAllRecipients());
- } catch (MessagingException e) {
- System.out.println("Some error occured while trying to send a mail to " + auth.getEmail());
+ message.setFrom(new InternetAddress(acc, sender));
+ } catch (UnsupportedEncodingException uee) {
+ message.setFrom(new InternetAddress(acc));
}
- }
+ message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(mail));
+ message.setSubject(subject);
+ message.setSentDate(new Date());
+ BodyPart messageBodyPart = new MimeBodyPart();
+ messageBodyPart.setText(mailText);
- });
- } catch (Exception e) {
- System.out.println("Some error occured while trying to send a mail to " + auth.getEmail());
- }
+ Multipart multipart = new MimeMultipart();
+
+ multipart.addBodyPart(messageBodyPart);
+
+ messageBodyPart = new MimeBodyPart();
+
+ multipart.addBodyPart(messageBodyPart);
+ message.setContent(multipart);
+ Transport transport = session.getTransport("smtp");
+ transport.connect(smtp, acc, password);
+ transport.sendMessage(message, message.getAllRecipients());
+
+ } catch (Exception e) {
+ System.out.println("Some error occured while trying to send a mail to " + mail);
+ }
+ }
+
+ });
}
}
diff --git a/src/main/java/fr/xephi/authme/settings/Settings.java b/src/main/java/fr/xephi/authme/settings/Settings.java
index f15529c8..2f6af800 100644
--- a/src/main/java/fr/xephi/authme/settings/Settings.java
+++ b/src/main/java/fr/xephi/authme/settings/Settings.java
@@ -263,7 +263,7 @@ public final class Settings extends YamlConfiguration {
delayJoinMessage = configFile.getBoolean("settings.delayJoinMessage", false);
noTeleport = configFile.getBoolean("settings.restrictions.noTeleport", false);
crazyloginFileName = configFile.getString("Converter.CrazyLogin.fileName", "accounts.db");
- getPassRegex = configFile.getString("settings.restrictions.allowedPasswordCharacters", "[a-zA-Z0-9_?!@+&-]*");
+ getPassRegex = configFile.getString("settings.restrictions.allowedPasswordCharacters", "[\\x21-\\x7E]*");
applyBlindEffect = configFile.getBoolean("settings.applyBlindEffect", false);
emailBlacklist = configFile.getStringList("Email.emailBlacklisted");
emailWhitelist = configFile.getStringList("Email.emailWhitelisted");
@@ -430,7 +430,7 @@ public final class Settings extends YamlConfiguration {
delayJoinMessage = configFile.getBoolean("settings.delayJoinMessage", false);
noTeleport = configFile.getBoolean("settings.restrictions.noTeleport", false);
crazyloginFileName = configFile.getString("Converter.CrazyLogin.fileName", "accounts.db");
- getPassRegex = configFile.getString("settings.restrictions.allowedPasswordCharacters", "[a-zA-Z0-9_?!@+&-]*");
+ getPassRegex = configFile.getString("settings.restrictions.allowedPasswordCharacters", "[\\x21-\\x7E]*");
applyBlindEffect = configFile.getBoolean("settings.applyBlindEffect", false);
emailBlacklist = configFile.getStringList("Email.emailBlacklisted");
emailWhitelist = configFile.getStringList("Email.emailWhitelisted");
@@ -554,7 +554,7 @@ public final class Settings extends YamlConfiguration {
changes = true;
}
if (!contains("settings.restrictions.allowedPasswordCharacters")) {
- set("settings.restrictions.allowedPasswordCharacters", "[a-zA-Z0-9_?!@+&-]*");
+ set("settings.restrictions.allowedPasswordCharacters", "[\\x21-\\x7E]*");
changes = true;
}
if (!contains("settings.applyBlindEffect")) {
@@ -579,13 +579,11 @@ public final class Settings extends YamlConfiguration {
set("settings.forceRegisterCommandsAsConsole", new ArrayList());
changes = true;
}
- if (!contains("Hooks.customAttributes"))
- {
+ if (!contains("Hooks.customAttributes")) {
set("Hooks.customAttributes", false);
changes = true;
}
- if (!contains("Purge.removePermissions"))
- {
+ if (!contains("Purge.removePermissions")) {
set("Purge.removePermissions", false);
changes = true;
}
@@ -612,10 +610,10 @@ public final class Settings extends YamlConfiguration {
private static DataSourceType getDataSource() {
String key = "DataSource.backend";
try {
- return DataSource.DataSourceType.valueOf(configFile.getString(key).toUpperCase());
+ return DataSource.DataSourceType.valueOf(configFile.getString(key, "sqlite").toUpperCase());
} catch (IllegalArgumentException ex) {
- ConsoleLogger.showError("Unknown database backend; defaulting to file database");
- return DataSource.DataSourceType.FILE;
+ ConsoleLogger.showError("Unknown database backend; defaulting to sqlite database");
+ return DataSource.DataSourceType.SQLITE;
}
}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
index d2147b1f..aac7285b 100644
--- a/src/main/resources/config.yml
+++ b/src/main/resources/config.yml
@@ -6,7 +6,7 @@ DataSource:
# Username about Database Connection Infos
mySQLUsername: authme
# Can be set to : file, sqlite, mysql
- backend: file
+ backend: sqlite
# Column for storing players lastlogins
mySQLColumnLastLogin: lastlogin
# Database Name, use with converters or as SQLITE database name
@@ -165,7 +165,7 @@ settings:
# AuthMe will NEVER teleport players !
noTeleport: false
# Regex sintax for allowed Chars in passwords.
- allowedPasswordCharacters: '[a-zA-Z0-9_?!@+&-]*'
+ allowedPasswordCharacters: '[\x21-\x7E]*'
GameMode:
# ForceSurvivalMode to player when join ?
ForceSurvivalMode: false
@@ -422,4 +422,4 @@ Protection:
antiBotDuration: 10
VeryGames:
# These features are only available on VeryGames Server Provider
- enableIpCheck: false
\ No newline at end of file
+ enableIpCheck: false
diff --git a/src/main/resources/messages_it.yml b/src/main/resources/messages_it.yml
index 9d45141d..7084d246 100644
--- a/src/main/resources/messages_it.yml
+++ b/src/main/resources/messages_it.yml
@@ -1,28 +1,28 @@
-unknown_user: "L'utente non è presente nel database."
-unsafe_spawn: 'Il punto di disconnessione è attualmente ostruito o insicuro, sei stato teletrasportato al punto di rigenerazione!'
-not_logged_in: "&cL'utente non ha ancora eseguito l'autenticazione!"
-reg_voluntarily: 'Per eseguire la registrazione al server devi eseguire il seguente comando: "/register "'
+unknown_user: 'L''utente non è presente nel database.'
+unsafe_spawn: 'Il tuo punto di disconnessione risulta ostruito o insicuro, sei stato teletrasportato al punto di rigenerazione!'
+not_logged_in: '&cL''utente non ha ancora eseguito l''autenticazione!'
+reg_voluntarily: 'Puoi eseguire la registrazione al server con il comando: "/register "'
usage_log: '&cUtilizzo: /login '
wrong_pwd: '&cPassword non corretta!'
-unregistered: "&cL'utente è stato rimosso dal database con successo!"
+unregistered: '&cL''utente è stato rimosso dal database con successo!'
reg_disabled: '&cLa registrazione tramite i comandi del gioco è disabilitata.'
-valid_session: '&cAutenticato attraverso la sessione ripresa!'
+valid_session: '&cAutenticato automaticamente attraverso la sessione precedente!'
login: '&cAutenticazone effettuata correttamente!'
-vb_nonActiv: 'Il tuo Account non è stato ancora verificato, controlla le tue Email per scoprire come attivarlo!'
-user_regged: "&cL'utente si è già registrato, impossibile eseguire nuovamente la registrazione."
+vb_nonActiv: 'Il tuo account non è stato ancora verificato, controlla fra le tue email per scoprire come attivarlo!'
+user_regged: '&cHai già effettuato la registrazione, non è possibile eseguirla nuovamente.'
usage_reg: '&cUtilizzo: /register '
-max_reg: 'Hai raggiunto il numero massimo di registrazioni per indirizzo IP!'
+max_reg: 'Hai raggiunto il numero massimo di registrazioni per questo indirizzo IP!'
no_perm: '&cNon hai il permesso di eseguire questa operazione.'
-login_msg: '&cPerfavore, per giocare devi effettuare l''autenticazione con il comando: "/login "'
-reg_msg: '&cPerfavore, per connetterti al server devi prima registrarti con il comando: "/register "'
-reg_email_msg: '&cPerfavore, per connetterti al server devi prima registrarti con il comando: "/register "'
+login_msg: '&cPerfavore, effettua l''autenticazione con il comando: "/login "'
+reg_msg: '&cPerfavore, esegui la registrazione con il comando: "/register "'
+reg_email_msg: '&cPerfavore, esegui la registrazione con il comando: "/register "'
usage_unreg: '&cUtilizzo: /unregister '
pwd_changed: '&cPassword cambiata con successo!'
-user_unknown: "&cL'utente non ha ancora eseguito la registrazione."
+user_unknown: '&cL''utente non ha ancora eseguito la registrazione.'
password_error: 'Le Password non corrispondono!'
-password_error_nick: '&fNon puoi usare il tuo nome come Password!'
-password_error_unsafe: '&fNon puoi usare una Password insicura, provane un''altra!'
-invalid_session: "I tuoi dati di connessione attuali non sono quelli utilizzati in precedenza. Attendere la fine della sessione attuale."
+password_error_nick: 'Non puoi usare il tuo nome utente come password, scegline un''altra!'
+password_error_unsafe: 'La password che hai inserito, scegline un''altra!'
+invalid_session: 'I tuoi dati di connessione attuali non sono quelli utilizzati in precedenza. Attendi la fine della sessione attuale.'
reg_only: 'La registrazione è effettuabile soltanto attraverso il sito web! Perfavore, vai su http://example.com per procedere!'
logged_in: '&cHai già eseguito l''autenticazione!'
logout: '&cDisconnessione avvenuta correttamente!'
@@ -30,14 +30,14 @@ same_nick: 'Lo stesso nickname è già online sul server!'
registered: '&cRegistrato correttamente!'
pass_len: 'La tua password è troppo corta o troppo lunga, prova a cambiarla!'
reload: 'La configurazione e il database sono stati ricaricati con successo!'
-timeout: "Tempo scaduto per effettuare l'autenticazione"
+timeout: 'Tempo scaduto per effettuare l''autenticazione'
usage_changepassword: 'Utilizzo: /changepassword '
name_len: '&cIl tuo nickname è troppo corto o troppo lungo!'
regex: '&cIl tuo nickname contiene caratteri non consentiti. I caratteri consentiti sono: REG_EX'
-add_email: '&cPer poter recuperare la password in futuro, aggiungi una email al tuo account con il comando: "/email add tuaEmail confermaEmail"'
-bad_database_email: 'Il comando /email è utilizzabile solo con database MySQL o SQLite, riporta questo errore ad un Admin!'
+add_email: '&cPer poter recuperare la password in futuro, aggiungi una email al tuo account con il comando: "/email add "'
+bad_database_email: 'Il comando /email è utilizzabile solo con un database MySQL o SQLite, riporta questo errore ad un Admin!'
recovery_email: '&cHai dimenticato la tua password? Puoi recuperarla eseguendo il comando: "/email recovery "'
-usage_captcha: '&cUtilizzo: /captcha '
+usage_captcha: '&cUtilizzo: /captcha THE_CAPTCHA'
wrong_captcha: '&cCodice captcha sbagliato, perfavore riprova eseguendo il comando: "/captcha THE_CAPTCHA"'
valid_captcha: '&cIl tuo captcha è valido!'
kick_forvip: '&cUn utente VIP è entrato mentre il server era pieno!'
@@ -47,12 +47,12 @@ usage_email_change: '&fUtilizzo: /email change '
usage_email_recovery: '&fUtilizzo: /email recovery '
new_email_invalid: 'La nuova Email non è valida!'
old_email_invalid: 'La vecchia Email non è valida!'
-email_invalid: "L'Email non è valida"
+email_invalid: 'L''Email non è valida'
email_added: 'Email aggiunta correttamente!'
email_confirm: 'Conferma la tua Email!'
email_changed: 'Email cambiata correttamente!'
-email_send: 'Email di recupero inviata al tuo indirizzo!'
+email_send: 'Email di recupero inviata al tuo indirizzo email!'
email_exists: 'Il tuo account ha già una Email configurata. Se vuoi, puoi cambiarla con il seguente comando:'
-country_banned: 'Il tuo paese è bandito su questo server!'
+country_banned: 'Il tuo paese è bandito da questo server!'
antibot_auto_enabled: 'Il servizio di AntiBot è stato automaticamente abilitato a seguito delle numerose connessioni!'
-antibot_auto_disabled: "Il servizio di AntiBot è stato automaticamente disabilitato dopo %m Minuti, sperando che l'attacco sia finito!"
+antibot_auto_disabled: "Il servizio di AntiBot è stato automaticamente disabilitato dopo %m Minuti, sperando che l'attacco sia finito!"
\ No newline at end of file