Merge branch 'master' of github.com:hanzz/libtransport

This commit is contained in:
Jan Kaluza 2012-03-21 08:48:56 +01:00
commit 9338b6103a
5 changed files with 27 additions and 1 deletions

View file

@ -24,6 +24,13 @@
#include <event.h>
#endif
#ifdef WIN32
#include "win32/win32dep.h"
#define ssize_t SSIZE_T
#include <process.h>
#define getpid _getpid
#endif
using namespace log4cxx;
static LoggerPtr logger_libpurple = log4cxx::Logger::getLogger("libpurple");

View file

@ -28,6 +28,8 @@
#else
#include <winsock2.h>
#include <stdint.h>
#include <process.h>
#define getpid _getpid
#endif
using namespace log4cxx;

View file

@ -8,7 +8,7 @@ backend_host=localhost
pidfile=./test.pid
# < this option doesn't work yet
#backend_port=10001
admin_username=admin
admin_jid=admin@localhost
admin_password=test
#cert=server.pfx #patch to PKCS#12 certificate
#cert_password=test #password to that certificate if any

View file

@ -43,6 +43,8 @@
#include "libgen.h"
#else
#include <windows.h>
#include <process.h>
#define getpid _getpid
#endif
using namespace boost::filesystem;

View file

@ -152,6 +152,21 @@ void UserManager::handlePresence(Swift::Presence::ref presence) {
if (!user) {
// Admin user is not legacy network user, so do not create User class instance for him
if (m_component->inServerMode() && CONFIG_STRING(m_component->getConfig(), "service.admin_jid") == presence->getFrom().toBare().toString()) {
// Send admin contact to the user.
Swift::RosterPayload::ref payload = Swift::RosterPayload::ref(new Swift::RosterPayload());
Swift::RosterItemPayload item;
item.setJID(m_component->getJID());
item.setName("Admin");
item.setSubscription(Swift::RosterItemPayload::Both);
payload->addItem(item);
Swift::SetRosterRequest::ref request = Swift::SetRosterRequest::create(payload, presence->getFrom(), m_component->getIQRouter());
request->send();
Swift::Presence::ref response = Swift::Presence::create();
response->setTo(presence->getFrom());
response->setFrom(m_component->getJID());
m_component->getStanzaChannel()->sendPresence(response);
return;
}