Semi-yearly copyright bump
[quassel.git] / src / common / network.cpp
index cb4adb5..40040af 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2016 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  *
@@ -243,6 +243,14 @@ QString Network::support(const QString &param) const
 
 bool Network::saslMaybeSupports(const QString &saslMechanism) const
 {
+    if (!capAvailable(IrcCap::SASL)) {
+        // If SASL's not advertised at all, it's likely the mechanism isn't supported, as per specs.
+        // Unfortunately, we don't know for sure, but Quassel won't request SASL without it being
+        // advertised, anyways.
+        // This may also occur if the network's disconnected or negotiation hasn't yet happened.
+        return false;
+    }
+
     // Get the SASL capability value
     QString saslCapValue = capValue(IrcCap::SASL);
     // SASL mechanisms are only specified in capability values as part of SASL 3.2.  In SASL 3.1,
@@ -723,8 +731,8 @@ void Network::setMessageRateBurstSize(quint32 burstSize)
     if (burstSize < 1) {
         // Can't go slower than one message at a time.  Also blocks old clients from trying to set
         // this to 0.
-        qWarning() << "Received invalid setMessageRateBurstSize data - message burst size must be "
-                      "non-zero positive, given" << burstSize;
+        qDebug() << "Received invalid setMessageRateBurstSize data - message burst size must be "
+                    "non-zero positive, given" << burstSize;
         return;
     }
     if (_messageRateBurstSize != burstSize) {
@@ -741,8 +749,8 @@ void Network::setMessageRateDelay(quint32 messageDelay)
     if (messageDelay == 0) {
         // Nonsensical to have no delay - just check the Unlimited box instead.  Also blocks old
         // clients from trying to set this to 0.
-        qWarning() << "Received invalid setMessageRateDelay data - message delay must be non-zero "
-                      "positive, given" << messageDelay;
+        qDebug() << "Received invalid setMessageRateDelay data - message delay must be non-zero "
+                    "positive, given" << messageDelay;
         return;
     }
     if (_messageRateDelay != messageDelay) {