Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qurlidna.cpp File Reference

(dc45850c1e64565af5bcd8446389fd558131e58b)

#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>
Include dependency graph for qurlidna.cpp:

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 (QStringView normalizedDomain, AceLeadingDot dot)
static bool checkAsciiDomainName (QStringView normalizedDomain, AceLeadingDot dot, bool *usesPunycode)
static QString convertToUnicode (const QString &asciiDomain, QUrl::AceProcessingOptions options)
static bool checkUnicodeName (const QString &domainName, 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 QStringListuser_idn_whitelist = nullptr

Function Documentation

◆ adapt()

uint adapt ( uint delta,
uint numpoints,
bool firsttime )
inlinestatic

Definition at line 36 of file qurlidna.cpp.

References base, damp, skew, tmax, and tmin.

Referenced by qt_punycodeEncoder().

Here is the caller graph for this function:

◆ appendEncode()

void appendEncode ( QString * output,
uint delta,
uint bias )
inlinestatic

Definition at line 48 of file qurlidna.cpp.

Referenced by qt_punycodeEncoder().

Here is the caller graph for this function:

◆ checkAsciiDomainName()

bool checkAsciiDomainName ( QStringView normalizedDomain,
AceLeadingDot dot,
bool * usesPunycode )
static

Definition at line 822 of file qurlidna.cpp.

References ForbidLeadingDot.

◆ checkUnicodeName()

bool checkUnicodeName ( const QString & domainName,
QUrl::AceProcessingOptions options )
static

Definition at line 894 of file qurlidna.cpp.

◆ convertToAscii()

QString convertToAscii ( QStringView normalizedDomain,
AceLeadingDot dot )
static

Definition at line 787 of file qurlidna.cpp.

◆ convertToUnicode()

QString convertToUnicode ( const QString & asciiDomain,
QUrl::AceProcessingOptions options )
static

Definition at line 855 of file qurlidna.cpp.

◆ encodeDigit()

uint encodeDigit ( uint digit)
inlinestatic

Definition at line 31 of file qurlidna.cpp.

◆ equal()

bool equal ( const QChar * a,
int l,
const char * b )
static

Definition at line 339 of file qurlidna.cpp.

◆ isValidInNormalizedAsciiLabel()

template<typename C>
bool isValidInNormalizedAsciiLabel ( C c)
inlinestatic

Definition at line 380 of file qurlidna.cpp.

◆ isValidInNormalizedAsciiName()

template<typename C>
bool isValidInNormalizedAsciiName ( C c)
inlinestatic

Definition at line 386 of file qurlidna.cpp.

◆ lessThan()

bool lessThan ( const QChar * a,
int l,
const char * c )
static

Definition at line 322 of file qurlidna.cpp.

◆ mapDomainName()

QString mapDomainName ( const QString & in,
QUrl::AceProcessingOptions options,
bool * resultIsAscii )
static

Definition at line 398 of file qurlidna.cpp.

◆ qt_ACE_do()

QString qt_ACE_do ( const QString & domain,
AceOperation op,
AceLeadingDot dot,
QUrl::AceProcessingOptions options )

Definition at line 921 of file qurlidna.cpp.

◆ qt_is_idn_enabled()

bool qt_is_idn_enabled ( QStringView aceDomain)
static

Definition at line 351 of file qurlidna.cpp.

◆ qt_punycodeDecoder()

Q_AUTOTEST_EXPORT QString qt_punycodeDecoder ( const QString & pc)

Definition at line 172 of file qurlidna.cpp.

◆ qt_punycodeEncoder()

Q_AUTOTEST_EXPORT void qt_punycodeEncoder ( QStringView in,
QString * output )

Definition at line 68 of file qurlidna.cpp.

References adapt(), appendEncode(), initial_bias, and initial_n.

Here is the call graph for this function:

◆ validateAsciiLabel()

bool validateAsciiLabel ( QStringView label)
static

Definition at line 475 of file qurlidna.cpp.

Variable Documentation

◆ base

const uint base = 36
static

Definition at line 21 of file qurlidna.cpp.

Referenced by adapt().

◆ damp

const uint damp = 700
static

Definition at line 25 of file qurlidna.cpp.

Referenced by adapt().

◆ idn_whitelist

constexpr auto idn_whitelist
staticconstexpr

Definition at line 281 of file qurlidna.cpp.

◆ initial_bias

const uint initial_bias = 72
static

Definition at line 26 of file qurlidna.cpp.

Referenced by qt_punycodeEncoder().

◆ initial_n

const uint initial_n = 128
static

Definition at line 27 of file qurlidna.cpp.

Referenced by qt_punycodeEncoder().

◆ MaxDomainLabelLength

constexpr qsizetype MaxDomainLabelLength = 63
staticconstexpr

Definition at line 29 of file qurlidna.cpp.

◆ skew

const uint skew = 38
static

Definition at line 24 of file qurlidna.cpp.

Referenced by adapt().

◆ tmax

const uint tmax = 26
static

Definition at line 23 of file qurlidna.cpp.

Referenced by adapt().

◆ tmin

const uint tmin = 1
static

Definition at line 22 of file qurlidna.cpp.

Referenced by adapt().

◆ user_idn_whitelist

Q_CONSTINIT QStringList * user_idn_whitelist = nullptr
static

Definition at line 320 of file qurlidna.cpp.