glusk / wse Goto Github PK
View Code? Open in Web Editor NEWWorld of Warcraft game server emulator
License: MIT License
World of Warcraft game server emulator
License: MIT License
Implement a simple logon server:
In #7 (comment) it was suggested to review checkstyle rules. Decide what can and should be restricted.
Create an empty maven
project structure that compiles without errors.
The idea is to have a multi-module project, containing:
git clone
fails with the following error message on Windows 10:
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:
'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_A.java'
'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_a.java'
'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_B.java'
'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_b.java'
'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_S.java'
'wse-common/src/main/java/com/github/glusk2/wse/common/crypto/srp6/rfc5054/RFC5054TestVector_s.java'
Implement HMAC SHA-1.
Needed for #28.
Set-up a Travic-CI system
The issue was found in #26.
Class InMemoryRecord
should be redesigned or removed altogether.
Problems:
equals()
is not good enough because it doesn't enforce overridingequals()
, for example:// Dog.java
boolean equals(Object o) {
if (o == null || !(o instanceof Dog)) {
return false;
}
Dog that = (Dog) o;
/*actual equality check logic:
return this.name.equals(that.name) && ... ;*/
}
Proposed solution:
Signature should be redefined to return a byte array.
Classes:
should be renamed in order to avoid confusion regarding the session key. What is now called a session key is more often referred to as <premaster secret>
(RFC5054: Appendix B. SRP Test Vectors) or secret (BouncyCastle). In order to obtain a more secure session key, the secret is typically hashed in some way.
Is this (InMemoryRecord
) class really needed?
MySqlRecord
doesn't handle unknown users properly - RFC5054: 2.5.1.3. Unknown SRP User Name. In order to fix this, the following is needed:
Implement a fake SRP6 record that always returns the same values for a given user-name (I - identity).
Needed for #28.
Set-up the project work with coveralls.
WoW uses SRP-6 to authenticate a user with the game server. Furthermore, it makes use of the optimized message ordering as proposed here.
Since Java doesn't ship with an SRP-6 implementation (and since I couldn't find a library online that supports little-endian byte ordered integers), it'll have to be written from scratch.
A bug found in #26.
MySqlRecord
doesn't handle unknown users properly - RFC5054: 2.5.1.3. Unknown SRP User Name. In order to fix this, the following is needed:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.