/***************************************************************************
- * Copyright (C) 2012 by the Quassel Project *
+ * Copyright (C) 2005-2018 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
+#include <QString>
+
+#include "corenetwork.h"
#include "oidentdconfiggenerator.h"
-OidentdConfigGenerator::OidentdConfigGenerator(QObject *parent) :
+OidentdConfigGenerator::OidentdConfigGenerator(bool strict, QObject *parent) :
QObject(parent),
- _initialized(false)
+ _initialized(false),
+ _strict(strict)
{
if (!_initialized)
init();
}
+QString OidentdConfigGenerator::sysIdentForIdentity(const CoreIdentity *identity) const {
+ if (!_strict) {
+ return identity->ident();
+ }
+ const CoreNetwork *network = qobject_cast<CoreNetwork *>(sender());
+ return network->coreSession()->strictSysident();
+}
+
+
bool OidentdConfigGenerator::addSocket(const CoreIdentity *identity, const QHostAddress &localAddress, quint16 localPort, const QHostAddress &peerAddress, quint16 peerPort)
{
Q_UNUSED(localAddress) Q_UNUSED(peerAddress) Q_UNUSED(peerPort)
- QString ident = identity->ident();
+ const QString ident = sysIdentForIdentity(identity);
- _quasselConfig.append(_quasselStanzaTemplate.arg(localPort).arg(ident).arg(_configTag).toAscii());
+ _quasselConfig.append(_quasselStanzaTemplate.arg(localPort).arg(ident).arg(_configTag).toLatin1());
bool ret = writeConfig();