File indexing completed on 2024-04-21 04:00:05
0001 /* 0002 SPDX-FileCopyrightText: 2012-2013 Jan Grulich <jgrulich@redhat.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #include "pppsetting.h" 0008 #include "pppsetting_p.h" 0009 0010 #include <QDebug> 0011 0012 NetworkManager::PppSettingPrivate::PppSettingPrivate() 0013 : name(NM_SETTING_PPP_SETTING_NAME) 0014 , noauth(true) 0015 , refuseEap(false) 0016 , refusePap(false) 0017 , refuseChap(false) 0018 , refuseMschap(false) 0019 , refuseMschapv2(false) 0020 , nobsdcomp(false) 0021 , nodeflate(false) 0022 , noVjComp(false) 0023 , requireMppe(false) 0024 , requireMppe128(false) 0025 , mppeStateful(false) 0026 , crtscts(false) 0027 , baud(0) 0028 , mru(0) 0029 , mtu(0) 0030 , lcpEchoFailure(0) 0031 , lcpEchoInterval(0) 0032 { 0033 } 0034 0035 NetworkManager::PppSetting::PppSetting() 0036 : Setting(Setting::Ppp) 0037 , d_ptr(new PppSettingPrivate()) 0038 { 0039 } 0040 0041 NetworkManager::PppSetting::PppSetting(const Ptr &other) 0042 : Setting(other) 0043 , d_ptr(new PppSettingPrivate()) 0044 { 0045 setNoAuth(other->noAuth()); 0046 setRefuseEap(other->refuseEap()); 0047 setRefusePap(other->refusePap()); 0048 setRefuseChap(other->refuseChap()); 0049 setRefuseMschap(other->refuseMschap()); 0050 setRefuseMschapv2(other->refuseMschapv2()); 0051 setNoBsdComp(other->noBsdComp()); 0052 setNoDeflate(other->noDeflate()); 0053 setNoVjComp(other->noVjComp()); 0054 setRequireMppe(other->requireMppe()); 0055 setRequireMppe128(other->requireMppe128()); 0056 setMppeStateful(other->mppeStateful()); 0057 setCRtsCts(other->cRtsCts()); 0058 setBaud(other->baud()); 0059 setMru(other->mru()); 0060 setMtu(other->mtu()); 0061 setLcpEchoFailure(other->lcpEchoFailure()); 0062 setLcpEchoInterval(other->lcpEchoInterval()); 0063 } 0064 0065 NetworkManager::PppSetting::~PppSetting() 0066 { 0067 delete d_ptr; 0068 } 0069 0070 QString NetworkManager::PppSetting::name() const 0071 { 0072 Q_D(const PppSetting); 0073 0074 return d->name; 0075 } 0076 0077 void NetworkManager::PppSetting::setNoAuth(bool require) 0078 { 0079 Q_D(PppSetting); 0080 0081 d->noauth = require; 0082 } 0083 0084 bool NetworkManager::PppSetting::noAuth() const 0085 { 0086 Q_D(const PppSetting); 0087 0088 return d->noauth; 0089 } 0090 0091 void NetworkManager::PppSetting::setRefuseEap(bool refuse) 0092 { 0093 Q_D(PppSetting); 0094 0095 d->refuseEap = refuse; 0096 } 0097 0098 bool NetworkManager::PppSetting::refuseEap() const 0099 { 0100 Q_D(const PppSetting); 0101 0102 return d->refuseEap; 0103 } 0104 0105 void NetworkManager::PppSetting::setRefusePap(bool refuse) 0106 { 0107 Q_D(PppSetting); 0108 0109 d->refusePap = refuse; 0110 } 0111 0112 bool NetworkManager::PppSetting::refusePap() const 0113 { 0114 Q_D(const PppSetting); 0115 0116 return d->refusePap; 0117 } 0118 0119 void NetworkManager::PppSetting::setRefuseChap(bool refuse) 0120 { 0121 Q_D(PppSetting); 0122 0123 d->refuseChap = refuse; 0124 } 0125 0126 bool NetworkManager::PppSetting::refuseChap() const 0127 { 0128 Q_D(const PppSetting); 0129 0130 return d->refuseChap; 0131 } 0132 0133 void NetworkManager::PppSetting::setRefuseMschap(bool refuse) 0134 { 0135 Q_D(PppSetting); 0136 0137 d->refuseMschap = refuse; 0138 } 0139 0140 bool NetworkManager::PppSetting::refuseMschap() const 0141 { 0142 Q_D(const PppSetting); 0143 0144 return d->refuseMschap; 0145 } 0146 0147 void NetworkManager::PppSetting::setRefuseMschapv2(bool refuse) 0148 { 0149 Q_D(PppSetting); 0150 0151 d->refuseMschapv2 = refuse; 0152 } 0153 0154 bool NetworkManager::PppSetting::refuseMschapv2() const 0155 { 0156 Q_D(const PppSetting); 0157 0158 return d->refuseMschapv2; 0159 } 0160 0161 void NetworkManager::PppSetting::setNoBsdComp(bool require) 0162 { 0163 Q_D(PppSetting); 0164 0165 d->nobsdcomp = require; 0166 } 0167 0168 bool NetworkManager::PppSetting::noBsdComp() const 0169 { 0170 Q_D(const PppSetting); 0171 0172 return d->nobsdcomp; 0173 } 0174 0175 void NetworkManager::PppSetting::setNoDeflate(bool require) 0176 { 0177 Q_D(PppSetting); 0178 0179 d->nodeflate = require; 0180 } 0181 0182 bool NetworkManager::PppSetting::noDeflate() const 0183 { 0184 Q_D(const PppSetting); 0185 0186 return d->nodeflate; 0187 } 0188 0189 void NetworkManager::PppSetting::setNoVjComp(bool require) 0190 { 0191 Q_D(PppSetting); 0192 0193 d->noVjComp = require; 0194 } 0195 0196 bool NetworkManager::PppSetting::noVjComp() const 0197 { 0198 Q_D(const PppSetting); 0199 0200 return d->noVjComp; 0201 } 0202 0203 void NetworkManager::PppSetting::setRequireMppe(bool require) 0204 { 0205 Q_D(PppSetting); 0206 0207 d->requireMppe = require; 0208 } 0209 0210 bool NetworkManager::PppSetting::requireMppe() const 0211 { 0212 Q_D(const PppSetting); 0213 0214 return d->requireMppe; 0215 } 0216 0217 void NetworkManager::PppSetting::setRequireMppe128(bool require) 0218 { 0219 Q_D(PppSetting); 0220 0221 d->requireMppe128 = require; 0222 } 0223 0224 bool NetworkManager::PppSetting::requireMppe128() const 0225 { 0226 Q_D(const PppSetting); 0227 0228 return d->requireMppe128; 0229 } 0230 0231 void NetworkManager::PppSetting::setMppeStateful(bool used) 0232 { 0233 Q_D(PppSetting); 0234 0235 d->mppeStateful = used; 0236 } 0237 0238 bool NetworkManager::PppSetting::mppeStateful() const 0239 { 0240 Q_D(const PppSetting); 0241 0242 return d->mppeStateful; 0243 } 0244 0245 void NetworkManager::PppSetting::setCRtsCts(bool control) 0246 { 0247 Q_D(PppSetting); 0248 0249 d->crtscts = control; 0250 } 0251 0252 bool NetworkManager::PppSetting::cRtsCts() const 0253 { 0254 Q_D(const PppSetting); 0255 0256 return d->crtscts; 0257 } 0258 0259 void NetworkManager::PppSetting::setBaud(quint32 baud) 0260 { 0261 Q_D(PppSetting); 0262 0263 d->baud = baud; 0264 } 0265 0266 quint32 NetworkManager::PppSetting::baud() const 0267 { 0268 Q_D(const PppSetting); 0269 0270 return d->baud; 0271 } 0272 0273 void NetworkManager::PppSetting::setMru(quint32 mru) 0274 { 0275 Q_D(PppSetting); 0276 0277 d->mru = mru; 0278 } 0279 0280 quint32 NetworkManager::PppSetting::mru() const 0281 { 0282 Q_D(const PppSetting); 0283 0284 return d->mru; 0285 } 0286 0287 void NetworkManager::PppSetting::setMtu(quint32 mtu) 0288 { 0289 Q_D(PppSetting); 0290 0291 d->mtu = mtu; 0292 } 0293 0294 quint32 NetworkManager::PppSetting::mtu() const 0295 { 0296 Q_D(const PppSetting); 0297 0298 return d->mtu; 0299 } 0300 0301 void NetworkManager::PppSetting::setLcpEchoFailure(quint32 number) 0302 { 0303 Q_D(PppSetting); 0304 0305 d->lcpEchoFailure = number; 0306 } 0307 0308 quint32 NetworkManager::PppSetting::lcpEchoFailure() const 0309 { 0310 Q_D(const PppSetting); 0311 0312 return d->lcpEchoFailure; 0313 } 0314 0315 void NetworkManager::PppSetting::setLcpEchoInterval(quint32 interval) 0316 { 0317 Q_D(PppSetting); 0318 0319 d->lcpEchoInterval = interval; 0320 } 0321 0322 quint32 NetworkManager::PppSetting::lcpEchoInterval() const 0323 { 0324 Q_D(const PppSetting); 0325 0326 return d->lcpEchoInterval; 0327 } 0328 0329 void NetworkManager::PppSetting::fromMap(const QVariantMap &setting) 0330 { 0331 if (setting.contains(QLatin1String(NM_SETTING_PPP_NOAUTH))) { 0332 setNoAuth(setting.value(QLatin1String(NM_SETTING_PPP_NOAUTH)).toBool()); 0333 } 0334 0335 if (setting.contains(QLatin1String(NM_SETTING_PPP_REFUSE_EAP))) { 0336 setRefuseEap(setting.value(QLatin1String(NM_SETTING_PPP_REFUSE_EAP)).toBool()); 0337 } 0338 0339 if (setting.contains(QLatin1String(NM_SETTING_PPP_REFUSE_PAP))) { 0340 setRefusePap(setting.value(QLatin1String(NM_SETTING_PPP_REFUSE_PAP)).toBool()); 0341 } 0342 0343 if (setting.contains(QLatin1String(NM_SETTING_PPP_REFUSE_CHAP))) { 0344 setRefuseChap(setting.value(QLatin1String(NM_SETTING_PPP_REFUSE_CHAP)).toBool()); 0345 } 0346 0347 if (setting.contains(QLatin1String(NM_SETTING_PPP_REFUSE_MSCHAP))) { 0348 setRefuseMschap(setting.value(QLatin1String(NM_SETTING_PPP_REFUSE_MSCHAP)).toBool()); 0349 } 0350 0351 if (setting.contains(QLatin1String(NM_SETTING_PPP_REFUSE_MSCHAPV2))) { 0352 setRefuseMschapv2(setting.value(QLatin1String(NM_SETTING_PPP_REFUSE_MSCHAPV2)).toBool()); 0353 } 0354 0355 if (setting.contains(QLatin1String(NM_SETTING_PPP_NOBSDCOMP))) { 0356 setNoBsdComp(setting.value(QLatin1String(NM_SETTING_PPP_NOBSDCOMP)).toBool()); 0357 } 0358 0359 if (setting.contains(QLatin1String(NM_SETTING_PPP_NODEFLATE))) { 0360 setNoDeflate(setting.value(QLatin1String(NM_SETTING_PPP_NODEFLATE)).toBool()); 0361 } 0362 0363 if (setting.contains(QLatin1String(NM_SETTING_PPP_NO_VJ_COMP))) { 0364 setNoVjComp(setting.value(QLatin1String(NM_SETTING_PPP_NO_VJ_COMP)).toBool()); 0365 } 0366 0367 if (setting.contains(QLatin1String(NM_SETTING_PPP_REQUIRE_MPPE))) { 0368 setRequireMppe(setting.value(QLatin1String(NM_SETTING_PPP_REQUIRE_MPPE)).toBool()); 0369 } 0370 0371 if (setting.contains(QLatin1String(NM_SETTING_PPP_REQUIRE_MPPE_128))) { 0372 setRequireMppe128(setting.value(QLatin1String(NM_SETTING_PPP_REQUIRE_MPPE_128)).toBool()); 0373 } 0374 0375 if (setting.contains(QLatin1String(NM_SETTING_PPP_MPPE_STATEFUL))) { 0376 setMppeStateful(setting.value(QLatin1String(NM_SETTING_PPP_MPPE_STATEFUL)).toBool()); 0377 } 0378 0379 if (setting.contains(QLatin1String(NM_SETTING_PPP_CRTSCTS))) { 0380 setCRtsCts(setting.value(QLatin1String(NM_SETTING_PPP_CRTSCTS)).toBool()); 0381 } 0382 0383 if (setting.contains(QLatin1String(NM_SETTING_PPP_BAUD))) { 0384 setBaud(setting.value(QLatin1String(NM_SETTING_PPP_BAUD)).toUInt()); 0385 } 0386 0387 if (setting.contains(QLatin1String(NM_SETTING_PPP_MRU))) { 0388 setMru(setting.value(QLatin1String(NM_SETTING_PPP_MRU)).toUInt()); 0389 } 0390 0391 if (setting.contains(QLatin1String(NM_SETTING_PPP_MTU))) { 0392 setMtu(setting.value(QLatin1String(NM_SETTING_PPP_MTU)).toUInt()); 0393 } 0394 0395 if (setting.contains(QLatin1String(NM_SETTING_PPP_LCP_ECHO_FAILURE))) { 0396 setLcpEchoFailure(setting.value(QLatin1String(NM_SETTING_PPP_LCP_ECHO_FAILURE)).toUInt()); 0397 } 0398 0399 if (setting.contains(QLatin1String(NM_SETTING_PPP_LCP_ECHO_INTERVAL))) { 0400 setLcpEchoInterval(setting.value(QLatin1String(NM_SETTING_PPP_LCP_ECHO_INTERVAL)).toUInt()); 0401 } 0402 } 0403 0404 QVariantMap NetworkManager::PppSetting::toMap() const 0405 { 0406 QVariantMap setting; 0407 0408 if (!noAuth()) { 0409 setting.insert(QLatin1String(NM_SETTING_PPP_NOAUTH), noAuth()); 0410 } 0411 0412 if (refuseEap()) { 0413 setting.insert(QLatin1String(NM_SETTING_PPP_REFUSE_EAP), refuseEap()); 0414 } 0415 0416 if (refusePap()) { 0417 setting.insert(QLatin1String(NM_SETTING_PPP_REFUSE_PAP), refusePap()); 0418 } 0419 0420 if (refuseChap()) { 0421 setting.insert(QLatin1String(NM_SETTING_PPP_REFUSE_CHAP), refuseChap()); 0422 } 0423 0424 if (refuseMschap()) { 0425 setting.insert(QLatin1String(NM_SETTING_PPP_REFUSE_MSCHAP), refuseMschap()); 0426 } 0427 0428 if (refuseMschapv2()) { 0429 setting.insert(QLatin1String(NM_SETTING_PPP_REFUSE_MSCHAPV2), refuseMschapv2()); 0430 } 0431 0432 if (noBsdComp()) { 0433 setting.insert(QLatin1String(NM_SETTING_PPP_NOBSDCOMP), noBsdComp()); 0434 } 0435 0436 if (noDeflate()) { 0437 setting.insert(QLatin1String(NM_SETTING_PPP_NODEFLATE), noDeflate()); 0438 } 0439 0440 if (noVjComp()) { 0441 setting.insert(QLatin1String(NM_SETTING_PPP_NO_VJ_COMP), noVjComp()); 0442 } 0443 0444 if (requireMppe()) { 0445 setting.insert(QLatin1String(NM_SETTING_PPP_REQUIRE_MPPE), requireMppe()); 0446 } 0447 0448 if (requireMppe128()) { 0449 setting.insert(QLatin1String(NM_SETTING_PPP_REQUIRE_MPPE_128), requireMppe128()); 0450 } 0451 0452 if (mppeStateful()) { 0453 setting.insert(QLatin1String(NM_SETTING_PPP_MPPE_STATEFUL), mppeStateful()); 0454 } 0455 0456 if (cRtsCts()) { 0457 setting.insert(QLatin1String(NM_SETTING_PPP_CRTSCTS), cRtsCts()); 0458 } 0459 0460 if (baud()) { 0461 setting.insert(QLatin1String(NM_SETTING_PPP_BAUD), baud()); 0462 } 0463 0464 if (mru()) { 0465 setting.insert(QLatin1String(NM_SETTING_PPP_MRU), mru()); 0466 } 0467 0468 if (mtu()) { 0469 setting.insert(QLatin1String(NM_SETTING_PPP_MTU), mtu()); 0470 } 0471 0472 if (lcpEchoFailure()) { 0473 setting.insert(QLatin1String(NM_SETTING_PPP_LCP_ECHO_FAILURE), lcpEchoFailure()); 0474 } 0475 0476 if (lcpEchoInterval()) { 0477 setting.insert(QLatin1String(NM_SETTING_PPP_LCP_ECHO_INTERVAL), lcpEchoInterval()); 0478 } 0479 0480 return setting; 0481 } 0482 0483 QDebug NetworkManager::operator<<(QDebug dbg, const NetworkManager::PppSetting &setting) 0484 { 0485 dbg.nospace() << "type: " << setting.typeAsString(setting.type()) << '\n'; 0486 dbg.nospace() << "initialized: " << !setting.isNull() << '\n'; 0487 0488 dbg.nospace() << NM_SETTING_PPP_NOAUTH << ": " << setting.noAuth() << '\n'; 0489 dbg.nospace() << NM_SETTING_PPP_REFUSE_EAP << ": " << setting.refuseEap() << '\n'; 0490 dbg.nospace() << NM_SETTING_PPP_REFUSE_PAP << ": " << setting.refusePap() << '\n'; 0491 dbg.nospace() << NM_SETTING_PPP_REFUSE_CHAP << ": " << setting.refuseChap() << '\n'; 0492 dbg.nospace() << NM_SETTING_PPP_REFUSE_MSCHAP << ": " << setting.refuseMschap() << '\n'; 0493 dbg.nospace() << NM_SETTING_PPP_REFUSE_MSCHAPV2 << ": " << setting.refuseMschapv2() << '\n'; 0494 dbg.nospace() << NM_SETTING_PPP_NOBSDCOMP << ": " << setting.noBsdComp() << '\n'; 0495 dbg.nospace() << NM_SETTING_PPP_NODEFLATE << ": " << setting.noDeflate() << '\n'; 0496 dbg.nospace() << NM_SETTING_PPP_NO_VJ_COMP << ": " << setting.noVjComp() << '\n'; 0497 dbg.nospace() << NM_SETTING_PPP_REQUIRE_MPPE << ": " << setting.requireMppe() << '\n'; 0498 dbg.nospace() << NM_SETTING_PPP_REQUIRE_MPPE_128 << ": " << setting.requireMppe128() << '\n'; 0499 dbg.nospace() << NM_SETTING_PPP_MPPE_STATEFUL << ": " << setting.mppeStateful() << '\n'; 0500 dbg.nospace() << NM_SETTING_PPP_CRTSCTS << ": " << setting.cRtsCts() << '\n'; 0501 dbg.nospace() << NM_SETTING_PPP_BAUD << ": " << setting.baud() << '\n'; 0502 dbg.nospace() << NM_SETTING_PPP_MRU << ": " << setting.mru() << '\n'; 0503 dbg.nospace() << NM_SETTING_PPP_MTU << ": " << setting.mtu() << '\n'; 0504 dbg.nospace() << NM_SETTING_PPP_LCP_ECHO_FAILURE << ": " << setting.lcpEchoFailure() << '\n'; 0505 dbg.nospace() << NM_SETTING_PPP_LCP_ECHO_INTERVAL << ": " << setting.lcpEchoInterval() << '\n'; 0506 0507 return dbg.maybeSpace(); 0508 }