Skip to content

Commit

Permalink
reject empty names
Browse files Browse the repository at this point in the history
  • Loading branch information
velnias75 committed Dec 4, 2014
1 parent 6b962a4 commit 83e5afc
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 8 deletions.
2 changes: 1 addition & 1 deletion src/server/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ if GENMAN
$(bin_PROGRAMS).1: $(bin_PROGRAMS)
$(HELP2MAN) --no-discard-stderr -LC.utf8 -N \
-n"Server for the popular card game Mau Mau" \
-S "$(PACKAGE_STRING)" $(bin_PROGRAMS) | sed 's/^Built.*on.*$$//' > $@
-S "$(PACKAGE_STRING)" $(builddir)/$(bin_PROGRAMS) | sed 's/^Built.*on.*$$//' > $@
endif
20 changes: 13 additions & 7 deletions src/server/game.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ std::size_t countAI(const std::string *aiNames) {
using namespace NetMauMau::Server;

Game::Game(NetMauMau::Event::IEventHandler &evtHdlr, long aiDelay, bool aiPlayer,
const std::string *aiName) : m_engine(evtHdlr, aiDelay,
!aiPlayer || countAI(aiName) > 1), m_aiOpponent(aiPlayer), m_aiPlayers(),
const std::string *aiNames) : m_engine(evtHdlr, aiDelay,
!aiPlayer || countAI(aiNames) > 1), m_aiOpponent(aiPlayer), m_aiPlayers(),
m_players() {

m_players.reserve(50);
Expand All @@ -51,11 +51,17 @@ Game::Game(NetMauMau::Event::IEventHandler &evtHdlr, long aiDelay, bool aiPlayer
std::size_t aiAdded = 0;

for(int i = 0; i < 4; ++i) {
if(!aiName[i].empty()) {
m_aiPlayers.push_back(new Player::StdPlayer(aiName[i]));
logInfo("Adding AI player \"" << m_aiPlayers.back()->getName() << "\"");
m_engine.addPlayer(m_aiPlayers.back());
++aiAdded;

if(!aiNames[i].empty()) {

const std::string &aiSanName(aiNames[i][0] == '+' ? & (aiNames[i][1]) : aiNames[i]);

if(!aiSanName.empty()) {
m_aiPlayers.push_back(new NetMauMau::Player::StdPlayer(aiSanName));
logInfo("Adding AI player \"" << m_aiPlayers.back()->getName() << "\"");
m_engine.addPlayer(m_aiPlayers.back());
++aiAdded;
}
}
}

Expand Down
9 changes: 9 additions & 0 deletions src/server/serverconnection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,15 @@ Connection::ACCEPT_STATE Connection::accept(INFO &info,
send(cver >= 4 ? "NAMP" : "NAME", 4, cfd);
info.name = read(cfd);

const std::string &sanName(info.name[0] == '+' ? info.name.substr(1) :
info.name);

if(!sanName.empty()) {
info.name = sanName;
} else {
refuse = true;
}

if(cver >= minver && cver <= maxver && !refuse) {

std::string playerPic;
Expand Down

0 comments on commit 83e5afc

Please sign in to comment.