X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Foidentdconfiggenerator.h;h=0636a5148eed9d9735f50628d562a9e6a704a9d0;hb=a5455d1ea8785e864ce4b513e63283ed156d4872;hp=8b92321f163ab9581fc3108290fa259e8b2a08b1;hpb=2f4b9ffd04fad33c75254ccc3ca751a396a8470f;p=quassel.git diff --git a/src/core/oidentdconfiggenerator.h b/src/core/oidentdconfiggenerator.h index 8b92321f..0636a514 100644 --- a/src/core/oidentdconfiggenerator.h +++ b/src/core/oidentdconfiggenerator.h @@ -27,19 +27,40 @@ #include #include #include +#include + +#ifdef HAVE_UMASK +# include +# include +#endif /* HAVE_UMASK */ #include "quassel.h" #include "coreidentity.h" -#include + +//! Produces oidentd configuration files +/*! + Upon IRC connect this class puts the clients' ident data into an oidentd configuration file. + + The default path is <~/.oidentd.conf>. + + For oidentd to incorporate this file, the global oidentd.conf has to state something like this: + + user "quassel" { + default { + allow spoof + allow spoof_all + } + } + +*/ class OidentdConfigGenerator : public QObject { - Q_OBJECT + Q_OBJECT public: explicit OidentdConfigGenerator(QObject *parent = 0); + ~OidentdConfigGenerator(); -signals: - public slots: bool addSocket(const CoreIdentity *identity, const QHostAddress &localAddress, quint16 localPort, const QHostAddress &peerAddress, quint16 peerPort); bool removeSocket(const CoreIdentity *identity, const QHostAddress &localAddress, quint16 localPort, const QHostAddress &peerAddress, quint16 peerPort); @@ -47,22 +68,23 @@ public slots: private: bool init(); bool writeConfig(); - bool parseConfig(bool keepQuasselStanzas = true); + bool parseConfig(bool readQuasselStanzas = false); bool lineByUs(const QByteArray &line); bool _initialized; QDateTime _lastSync; QFile *_configFile; - QByteArray _config; + QByteArray _parsedConfig; + QByteArray _quasselConfig; // Mutex isn't strictly necessary at the moment, since with the current invocation in Core only one instance at a time exists QMutex _mutex; - QDir configDir; - QString configFileName; - QString configPath; - QString configTag; - QRegExp quasselStanzaRx; - QString quasselStanzaTemplate; + QDir _configDir; + QString _configFileName; + QString _configPath; + QString _configTag; + QRegExp _quasselStanzaRx; + QString _quasselStanzaTemplate; }; #endif // OIDENTDCONFIGGENERATOR_H