![]() |
Qt 6.x
The Qt SDK
|
#include "qurl_p.h"
#include <QtCore/qstringlist.h>
#include <QtCore/private/qnumeric_p.h>
#include <QtCore/private/qoffsetstringarray_p.h>
#include <QtCore/private/qstringiterator_p.h>
#include <QtCore/private/qunicodetables_p.h>
#include <algorithm>
Go to the source code of this file.
Functions | |
static uint | encodeDigit (uint digit) |
static uint | adapt (uint delta, uint numpoints, bool firsttime) |
static void | appendEncode (QString *output, uint delta, uint bias) |
Q_AUTOTEST_EXPORT void | qt_punycodeEncoder (QStringView in, QString *output) |
Q_AUTOTEST_EXPORT QString | qt_punycodeDecoder (const QString &pc) |
static bool | lessThan (const QChar *a, int l, const char *c) |
static bool | equal (const QChar *a, int l, const char *b) |
static bool | qt_is_idn_enabled (QStringView aceDomain) |
template<typename C > | |
static bool | isValidInNormalizedAsciiLabel (C c) |
template<typename C > | |
static bool | isValidInNormalizedAsciiName (C c) |
static QString | mapDomainName (const QString &in, QUrl::AceProcessingOptions options, bool *resultIsAscii) |
static bool | validateAsciiLabel (QStringView label) |
static QString | convertToAscii (const QString &normalizedDomain, AceLeadingDot dot) |
static bool | checkAsciiDomainName (const QString &normalizedDomain, AceLeadingDot dot, bool *usesPunycode) |
static QString | convertToUnicode (const QString &asciiDomain, QUrl::AceProcessingOptions options) |
QString | qt_ACE_do (const QString &domain, AceOperation op, AceLeadingDot dot, QUrl::AceProcessingOptions options) |
Variables | |
static const uint | base = 36 |
static const uint | tmin = 1 |
static const uint | tmax = 26 |
static const uint | skew = 38 |
static const uint | damp = 700 |
static const uint | initial_bias = 72 |
static const uint | initial_n = 128 |
static constexpr qsizetype | MaxDomainLabelLength = 63 |
static constexpr auto | idn_whitelist |
static Q_CONSTINIT QStringList * | user_idn_whitelist = nullptr |
Definition at line 35 of file qurlidna.cpp.
References base, damp, skew, tmax, and tmin.
Referenced by qt_punycodeDecoder(), and qt_punycodeEncoder().
Definition at line 47 of file qurlidna.cpp.
References base, encodeDigit(), output, tmax, and tmin.
Referenced by qt_punycodeEncoder().
|
static |
Definition at line 817 of file qurlidna.cpp.
References dot(), ForbidLeadingDot, QString::indexOf(), QString::size(), QStringView::sliced(), QStringView::startsWith(), and validateAsciiLabel().
Referenced by qt_ACE_do().
|
static |
Definition at line 780 of file qurlidna.cpp.
References QString::append(), QString::clear(), dot(), ForbidLeadingDot, QString::indexOf(), QString::isEmpty(), qt_punycodeEncoder(), QString::size(), and QStringView::sliced().
Referenced by qt_ACE_do().
|
static |
Definition at line 850 of file qurlidna.cpp.
References QString::append(), QString::indexOf(), qt_punycodeDecoder(), QString::size(), and QString::sliced().
Referenced by qt_ACE_do().
Definition at line 30 of file qurlidna.cpp.
Referenced by appendEncode().
|
static |
Definition at line 338 of file qurlidna.cpp.
Referenced by Object::equivalent(), parseHttpOptionHeader(), and qt_is_idn_enabled().
|
inlinestatic |
Definition at line 379 of file qurlidna.cpp.
Referenced by isValidInNormalizedAsciiName().
|
inlinestatic |
Definition at line 385 of file qurlidna.cpp.
References isValidInNormalizedAsciiLabel().
Referenced by mapDomainName().
|
static |
Definition at line 321 of file qurlidna.cpp.
References e.
Referenced by QV4::PropertyListPrototype::method_sort(), qt_is_idn_enabled(), QV4::ArrayData::sort(), and QV4::sortHelper().
|
static |
Definition at line 397 of file qurlidna.cpp.
References QUrl::AceTransitionalProcessing, QUnicodeTables::Deviation, QUnicodeTables::Disallowed, QChar::fromUcs4(), i, QUnicodeTables::idnaMapping(), QUnicodeTables::idnaStatus(), QUnicodeTables::Ignored, isValidInNormalizedAsciiName(), iter, QUnicodeTables::Mapped, Q_LIKELY, and QUnicodeTables::Valid.
Referenced by qt_ACE_do().
QString qt_ACE_do | ( | const QString & | domain, |
AceOperation | op, | ||
AceLeadingDot | dot, | ||
QUrl::AceProcessingOptions | options | ||
) |
Definition at line 889 of file qurlidna.cpp.
References checkAsciiDomainName(), convertToAscii(), convertToUnicode(), dot(), QUrl::IgnoreIDNWhitelist, QString::isEmpty(), mapDomainName(), QString::NormalizationForm_C, qt_is_idn_enabled(), and ToAceOnly.
Referenced by QUrlPrivate::appendHost(), encodeLabel(), QUrl::fromAce(), qDBusInterfaceFromMetaObject(), QUrlPrivate::setHost(), and QUrl::toAce().
|
static |
Definition at line 350 of file qurlidna.cpp.
References equal(), i, idn_whitelist, QStringView::lastIndexOf(), lessThan(), QStringView::mid(), QStringView::size(), and user_idn_whitelist.
Referenced by qt_ACE_do().
Q_AUTOTEST_EXPORT QString qt_punycodeDecoder | ( | const QString & | pc | ) |
Definition at line 171 of file qurlidna.cpp.
References adapt(), QString::at(), base, QString::fromStdU32String(), i, initial_bias, initial_n, QChar::isSurrogate(), QString::lastIndexOf(), QChar::LastValidCodePoint, MaxDomainLabelLength, QString::mid(), output, qWarning, QString::size(), QString::startsWith(), tmax, tmin, QString::toStdU32String(), and QChar::unicode().
Referenced by convertToUnicode().
Q_AUTOTEST_EXPORT void qt_punycodeEncoder | ( | QStringView | in, |
QString * | output | ||
) |
Definition at line 67 of file qurlidna.cpp.
References adapt(), appendEncode(), d, initial_bias, initial_n, iter, MaxDomainLabelLength, and output.
Referenced by convertToAscii().
|
static |
Definition at line 469 of file qurlidna.cpp.
References MaxDomainLabelLength.
Referenced by checkAsciiDomainName().
|
static |
Definition at line 20 of file qurlidna.cpp.
Referenced by adapt(), appendEncode(), and qt_punycodeDecoder().
|
static |
Definition at line 24 of file qurlidna.cpp.
Referenced by adapt().
|
staticconstexpr |
Definition at line 280 of file qurlidna.cpp.
Referenced by QUrl::idnWhitelist(), and qt_is_idn_enabled().
|
static |
Definition at line 25 of file qurlidna.cpp.
Referenced by qt_punycodeDecoder(), and qt_punycodeEncoder().
|
static |
Definition at line 26 of file qurlidna.cpp.
Referenced by qt_punycodeDecoder(), and qt_punycodeEncoder().
|
staticconstexpr |
Definition at line 28 of file qurlidna.cpp.
Referenced by qt_punycodeDecoder(), qt_punycodeEncoder(), and validateAsciiLabel().
|
static |
Definition at line 23 of file qurlidna.cpp.
Referenced by adapt().
|
static |
Definition at line 22 of file qurlidna.cpp.
Referenced by adapt(), appendEncode(), QSSGRenderRay::intersectWithAABBv2(), and qt_punycodeDecoder().
|
static |
Definition at line 21 of file qurlidna.cpp.
Referenced by adapt(), appendEncode(), QSSGRenderRay::intersectWithAABBv2(), and qt_punycodeDecoder().
|
static |
Definition at line 319 of file qurlidna.cpp.
Referenced by QUrl::idnWhitelist(), qt_is_idn_enabled(), and QUrl::setIdnWhitelist().