Merge pull request #8 from Xephi/master

Up
This commit is contained in:
Gabriele C. 2015-07-06 15:14:37 +02:00
commit d00878b805
6 changed files with 90 additions and 80 deletions

View File

@ -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

View File

@ -4,6 +4,8 @@
<hr>
#####Development tools:
[![Join the chat at https://gitter.im/Xephi/AuthMeReloaded](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Xephi/AuthMeReloaded?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
- Build status: [![Build Status](https://travis-ci.org/Xephi/AuthMeReloaded.svg?branch=master)](https://travis-ci.org/Xephi/AuthMeReloaded)
- Build Server: <a href="http://ci.xephi.fr">Jenkins</a>

View File

@ -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);
}
}
});
}
}

View File

@ -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<String>());
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;
}
}

View File

@ -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
enableIpCheck: false

View File

@ -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 <password> <ConfermaPassword>"'
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 <password> <confermaPassword>"'
usage_log: '&cUtilizzo: /login <password>'
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 <password> <confermaPassword>'
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 <password>"'
reg_msg: '&cPerfavore, per connetterti al server devi prima registrarti con il comando: "/register <password> <ConfermaPassword>"'
reg_email_msg: '&cPerfavore, per connetterti al server devi prima registrarti con il comando: "/register <email> <confermaEmail>"'
login_msg: '&cPerfavore, effettua l''autenticazione con il comando: "/login <password>"'
reg_msg: '&cPerfavore, esegui la registrazione con il comando: "/register <password> <confermaPassword>"'
reg_email_msg: '&cPerfavore, esegui la registrazione con il comando: "/register <email> <confermaEmail>"'
usage_unreg: '&cUtilizzo: /unregister <password>'
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 <vecchiaPassword> <nuovaPassword>'
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 <tuaEmail> <confermaEmail>"'
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 <tuaEmail>"'
usage_captcha: '&cUtilizzo: /captcha <ilCaptcha>'
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 <vecchiaEmail> <nuovaEmail>'
usage_email_recovery: '&fUtilizzo: /email recovery <email>'
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!"