Line
Link Here
|
0 |
-- tools/source/fsys/urlobj.cxx |
0 |
++ tools/source/fsys/urlobj.cxx |
Lines 2365-2371
bool INetURLObject::parseHost(
Link Here
|
2365 |
aTheCanonic.append(sal_Unicode('[')); |
2365 |
aTheCanonic.append(sal_Unicode('[')); |
2366 |
eState = STATE_IP6; |
2366 |
eState = STATE_IP6; |
2367 |
} |
2367 |
} |
2368 |
else if (INetMIME::isAlpha(*p)) |
2368 |
else if (INetMIME::isAlpha(*p) || *p == '_') |
2369 |
eState = STATE_TOPLABEL; |
2369 |
eState = STATE_TOPLABEL; |
2370 |
else if (INetMIME::isDigit(*p)) |
2370 |
else if (INetMIME::isDigit(*p)) |
2371 |
{ |
2371 |
{ |
Lines 2383-2401
bool INetURLObject::parseHost(
Link Here
|
2383 |
eState = STATE_LABEL_DOT; |
2383 |
eState = STATE_LABEL_DOT; |
2384 |
else if (*p == '-') |
2384 |
else if (*p == '-') |
2385 |
eState = STATE_LABEL_HYPHEN; |
2385 |
eState = STATE_LABEL_HYPHEN; |
2386 |
else if (!INetMIME::isAlphanumeric(*p)) |
2386 |
else if (!INetMIME::isAlphanumeric(*p) && *p != '_') |
2387 |
goto done; |
2387 |
goto done; |
2388 |
break; |
2388 |
break; |
2389 |
|
2389 |
|
2390 |
case STATE_LABEL_HYPHEN: |
2390 |
case STATE_LABEL_HYPHEN: |
2391 |
if (INetMIME::isAlphanumeric(*p)) |
2391 |
if (INetMIME::isAlphanumeric(*p) || *p == '_') |
2392 |
eState = STATE_LABEL; |
2392 |
eState = STATE_LABEL; |
2393 |
else if (*p != '-') |
2393 |
else if (*p != '-') |
2394 |
goto done; |
2394 |
goto done; |
2395 |
break; |
2395 |
break; |
2396 |
|
2396 |
|
2397 |
case STATE_LABEL_DOT: |
2397 |
case STATE_LABEL_DOT: |
2398 |
if (INetMIME::isAlpha(*p)) |
2398 |
if (INetMIME::isAlpha(*p) || *p == '_') |
2399 |
eState = STATE_TOPLABEL; |
2399 |
eState = STATE_TOPLABEL; |
2400 |
else if (INetMIME::isDigit(*p)) |
2400 |
else if (INetMIME::isDigit(*p)) |
2401 |
eState = STATE_LABEL; |
2401 |
eState = STATE_LABEL; |
Lines 2408-2426
bool INetURLObject::parseHost(
Link Here
|
2408 |
eState = STATE_TOPLABEL_DOT; |
2408 |
eState = STATE_TOPLABEL_DOT; |
2409 |
else if (*p == '-') |
2409 |
else if (*p == '-') |
2410 |
eState = STATE_TOPLABEL_HYPHEN; |
2410 |
eState = STATE_TOPLABEL_HYPHEN; |
2411 |
else if (!INetMIME::isAlphanumeric(*p)) |
2411 |
else if (!INetMIME::isAlphanumeric(*p) && *p != '_') |
2412 |
goto done; |
2412 |
goto done; |
2413 |
break; |
2413 |
break; |
2414 |
|
2414 |
|
2415 |
case STATE_TOPLABEL_HYPHEN: |
2415 |
case STATE_TOPLABEL_HYPHEN: |
2416 |
if (INetMIME::isAlphanumeric(*p)) |
2416 |
if (INetMIME::isAlphanumeric(*p) || *p == '_') |
2417 |
eState = STATE_TOPLABEL; |
2417 |
eState = STATE_TOPLABEL; |
2418 |
else if (*p != '-') |
2418 |
else if (*p != '-') |
2419 |
goto done; |
2419 |
goto done; |
2420 |
break; |
2420 |
break; |
2421 |
|
2421 |
|
2422 |
case STATE_TOPLABEL_DOT: |
2422 |
case STATE_TOPLABEL_DOT: |
2423 |
if (INetMIME::isAlpha(*p)) |
2423 |
if (INetMIME::isAlpha(*p) || *p == '_') |
2424 |
eState = STATE_TOPLABEL; |
2424 |
eState = STATE_TOPLABEL; |
2425 |
else if (INetMIME::isDigit(*p)) |
2425 |
else if (INetMIME::isDigit(*p)) |
2426 |
eState = STATE_LABEL; |
2426 |
eState = STATE_LABEL; |
Lines 2442-2448
bool INetURLObject::parseHost(
Link Here
|
2442 |
eState = STATE_LABEL_DOT; |
2442 |
eState = STATE_LABEL_DOT; |
2443 |
else if (*p == '-') |
2443 |
else if (*p == '-') |
2444 |
eState = STATE_LABEL_HYPHEN; |
2444 |
eState = STATE_LABEL_HYPHEN; |
2445 |
else if (INetMIME::isAlpha(*p)) |
2445 |
else if (INetMIME::isAlpha(*p) || *p == '_') |
2446 |
eState = STATE_LABEL; |
2446 |
eState = STATE_LABEL; |
2447 |
else if (INetMIME::isDigit(*p)) |
2447 |
else if (INetMIME::isDigit(*p)) |
2448 |
if (nDigits < 3) |
2448 |
if (nDigits < 3) |
Lines 2457-2463
bool INetURLObject::parseHost(
Link Here
|
2457 |
break; |
2457 |
break; |
2458 |
|
2458 |
|
2459 |
case STATE_IP4_DOT: |
2459 |
case STATE_IP4_DOT: |
2460 |
if (INetMIME::isAlpha(*p)) |
2460 |
if (INetMIME::isAlpha(*p) || *p == '_') |
2461 |
eState = STATE_TOPLABEL; |
2461 |
eState = STATE_TOPLABEL; |
2462 |
else if (INetMIME::isDigit(*p)) |
2462 |
else if (INetMIME::isDigit(*p)) |
2463 |
{ |
2463 |
{ |
Lines 5311-5317
Link Here
|
5311 |
switch (eState) |
5311 |
switch (eState) |
5312 |
{ |
5312 |
{ |
5313 |
case STATE_DOT: |
5313 |
case STATE_DOT: |
5314 |
if (p != pEnd && INetMIME::isAlphanumeric(*p)) |
5314 |
if (p != pEnd && (INetMIME::isAlphanumeric(*p) || *p == '_')) |
5315 |
{ |
5315 |
{ |
5316 |
++nLabels; |
5316 |
++nLabels; |
5317 |
eState = STATE_LABEL; |
5317 |
eState = STATE_LABEL; |
Lines 5324-5330
Link Here
|
5324 |
|
5324 |
|
5325 |
case STATE_LABEL: |
5325 |
case STATE_LABEL: |
5326 |
if (p != pEnd) |
5326 |
if (p != pEnd) |
5327 |
if (INetMIME::isAlphanumeric(*p)) |
5327 |
if (INetMIME::isAlphanumeric(*p) || *p == '_') |
5328 |
break; |
5328 |
break; |
5329 |
else if (*p == '.') |
5329 |
else if (*p == '.') |
5330 |
{ |
5330 |
{ |
Lines 5342-5348
Link Here
|
5342 |
|
5342 |
|
5343 |
case STATE_HYPHEN: |
5343 |
case STATE_HYPHEN: |
5344 |
if (p != pEnd) |
5344 |
if (p != pEnd) |
5345 |
if (INetMIME::isAlphanumeric(*p)) |
5345 |
if (INetMIME::isAlphanumeric(*p) || *p == '_') |
5346 |
{ |
5346 |
{ |
5347 |
eState = STATE_LABEL; |
5347 |
eState = STATE_LABEL; |
5348 |
break; |
5348 |
break; |