diff options
| author | Jeremy Lainé <jeremy.laine@m4x.org> | 2015-08-27 10:54:06 +0200 |
|---|---|---|
| committer | Jeremy Lainé <jeremy.laine@m4x.org> | 2015-08-27 10:54:06 +0200 |
| commit | 95774986638c50782d6be5fcf18f9fef4d45545f (patch) | |
| tree | 7acd8e16ac1094b10afca078669e2948ad83bde9 /src/base | |
| parent | 9ef8c83e2e3f2c756d6c3eb07c5fe740d5a48f20 (diff) | |
| download | qxmpp-95774986638c50782d6be5fcf18f9fef4d45545f.tar.gz | |
ICE: do not allow setting local user / password
Making it possible to change the local ICE user fragment or password
complicates the state machine significantly. To avoid users shooting
themselves in the foot, remove this API.
Also make it clear that QXmppIceComponent cannot be used separately
from QXmppIceConnection by making its constructor private.
Diffstat (limited to 'src/base')
| -rw-r--r-- | src/base/QXmppStun.cpp | 59 | ||||
| -rw-r--r-- | src/base/QXmppStun.h | 12 |
2 files changed, 8 insertions, 63 deletions
diff --git a/src/base/QXmppStun.cpp b/src/base/QXmppStun.cpp index af62807f..e93f6a39 100644 --- a/src/base/QXmppStun.cpp +++ b/src/base/QXmppStun.cpp @@ -1947,33 +1947,6 @@ QList<QXmppJingleCandidate> QXmppIceComponent::localCandidates() const return d->localCandidates; } -/// Sets the local user fragment. -/// -/// \param user - -void QXmppIceComponent::setLocalUser(const QString &user) -{ - d->localUser = user; -} - -/// Sets the tie breaker. -/// -/// \param tieBreaker - -void QXmppIceComponent::setTieBreaker(const QByteArray &tieBreaker) -{ - d->tieBreaker = tieBreaker; -} - -/// Sets the local password. -/// -/// \param password - -void QXmppIceComponent::setLocalPassword(const QString &password) -{ - d->localPassword = password; -} - /// Adds a remote STUN candidate. bool QXmppIceComponent::addRemoteCandidate(const QXmppJingleCandidate &candidate) @@ -2629,11 +2602,11 @@ void QXmppIceConnection::addComponent(int component) QXmppIceComponent *socket = new QXmppIceComponent(this); socket->setComponent(component); socket->setIceControlling(d->iceControlling); - socket->setLocalUser(d->localUser); - socket->setLocalPassword(d->localPassword); + socket->d->localUser = d->localUser; + socket->d->localPassword = d->localPassword; socket->setRemoteUser(d->remoteUser); socket->setRemotePassword(d->remotePassword); - socket->setTieBreaker(d->tieBreaker); + socket->d->tieBreaker = d->tieBreaker; socket->setStunServer(d->stunHost, d->stunPort); socket->setTurnServer(d->turnHost, d->turnPort); socket->setTurnUser(d->turnUser); @@ -2748,19 +2721,6 @@ QString QXmppIceConnection::localUser() const return d->localUser; } -/// Sets the local user fragment. -/// -/// You do not usually need to call this as one is automatically generated. -/// -/// \param user - -void QXmppIceConnection::setLocalUser(const QString &user) -{ - d->localUser = user; - foreach (QXmppIceComponent *socket, d->components.values()) - socket->setLocalUser(user); -} - /// Returns the local password. QString QXmppIceConnection::localPassword() const @@ -2768,19 +2728,6 @@ QString QXmppIceConnection::localPassword() const return d->localPassword; } -/// Sets the local password. -/// -/// You do not usually need to call this as one is automatically generated. -/// -/// \param password - -void QXmppIceConnection::setLocalPassword(const QString &password) -{ - d->localPassword = password; - foreach (QXmppIceComponent *socket, d->components.values()) - socket->setLocalPassword(password); -} - /// Sets the remote user fragment. /// /// \param user diff --git a/src/base/QXmppStun.h b/src/base/QXmppStun.h index 104fd0fa..453fee53 100644 --- a/src/base/QXmppStun.h +++ b/src/base/QXmppStun.h @@ -166,8 +166,8 @@ class QXMPP_EXPORT QXmppIceComponent : public QXmppLoggable Q_OBJECT public: - QXmppIceComponent(QObject *parent=0); ~QXmppIceComponent(); + void setIceControlling(bool controlling); void setStunServer(const QHostAddress &host, quint16 port); void setTurnServer(const QHostAddress &host, quint16 port); @@ -175,9 +175,6 @@ public: void setTurnPassword(const QString &password); QList<QXmppJingleCandidate> localCandidates() const; - void setLocalUser(const QString &user); - void setLocalPassword(const QString &password); - void setTieBreaker(const QByteArray &tieBreaker); int component() const; void setComponent(int component); @@ -215,8 +212,11 @@ signals: void localCandidatesChanged(); private: - friend class QXmppIceComponentPrivate; + QXmppIceComponent(QObject *parent=0); + QXmppIceComponentPrivate *d; + friend class QXmppIceComponentPrivate; + friend class QXmppIceConnection; }; /// \brief The QXmppIceConnection class represents a set of UDP sockets @@ -237,9 +237,7 @@ public: QList<QXmppJingleCandidate> localCandidates() const; QString localUser() const; - void setLocalUser(const QString &user); QString localPassword() const; - void setLocalPassword(const QString &password); void addRemoteCandidate(const QXmppJingleCandidate &candidate); void setRemoteUser(const QString &user); |
