Bug 897368 - 0002. Support code page in token list. r=vicamo

This commit is contained in:
Chuck Lee 2013-07-29 15:08:38 +08:00
Родитель e8b548e94c
Коммит 7ed295d133
3 изменённых файлов: 268 добавлений и 176 удалений

Просмотреть файл

@ -86,21 +86,29 @@ this.PduHelper = {
/** /**
* Tag tokens * Tag tokens
* *
* @see WAP-183-ProvCont-20010724-A, clause 8.1 * @see WAP-183-ProvCont-20010724-A, clause 8.1 for code page 0
* @see OMA-WAP-TS-ProvCont-V1_1-20090421-C, clause 7.1 for code page 1
*/ */
const CP_TAG_FIELDS = (function () { const CP_TAG_FIELDS = (function () {
let names = {}; let names = {};
function add(name, number) { function add(name, codepage, number) {
let entry = { let entry = {
name: name, name: name,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add("wap-provisioningdoc", 0x05); // Code page 0
add("characteristic", 0x06); add("wap-provisioningdoc", 0, 0x05);
add("parm", 0x07); add("characteristic", 0, 0x06);
add("parm", 0, 0x07);
// Code page 1
add("characteristic", 1, 0x06);
add("parm", 1, 0x07);
return names; return names;
})(); })();
@ -108,155 +116,221 @@ const CP_TAG_FIELDS = (function () {
/** /**
* Attribute Tokens * Attribute Tokens
* *
* @see WAP-183-ProvCont-20010724-A, clause 8.2 * @see WAP-183-ProvCont-20010724-A, clause 8.2 for code page 0
* @see OMA-WAP-TS-ProvCont-V1_1-20090421-C, clause 7.2 for code page 1
*/ */
const CP_ATTRIBUTE_FIELDS = (function () { const CP_ATTRIBUTE_FIELDS = (function () {
let names = {}; let names = {};
function add(name, value, number) { function add(name, value, codepage, number) {
let entry = { let entry = {
name: name, name: name,
value: value, value: value,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add("name", "", 0x05); // Code page 0
add("value", "", 0x06); add("name", "", 0, 0x05);
add("name", "NAME", 0x07); add("value", "", 0, 0x06);
add("name", "NAP-ADDRESS", 0x08); add("name", "NAME", 0, 0x07);
add("name", "NAP-ADDRTYPE", 0x09); add("name", "NAP-ADDRESS", 0, 0x08);
add("name", "CALLTYPE", 0x0A); add("name", "NAP-ADDRTYPE", 0, 0x09);
add("name", "VALIDUNTIL", 0x0B); add("name", "CALLTYPE", 0, 0x0A);
add("name", "AUTHTYPE", 0x0C); add("name", "VALIDUNTIL", 0, 0x0B);
add("name", "AUTHNAME", 0x0D); add("name", "AUTHTYPE", 0, 0x0C);
add("name", "AUTHSECRET", 0x0E); add("name", "AUTHNAME", 0, 0x0D);
add("name", "LINGER", 0x0F); add("name", "AUTHSECRET", 0, 0x0E);
add("name", "BEARER", 0x10); add("name", "LINGER", 0, 0x0F);
add("name", "NAPID", 0x11); add("name", "BEARER", 0, 0x10);
add("name", "COUNTRY", 0x12); add("name", "NAPID", 0, 0x11);
add("name", "NETWORK", 0x13); add("name", "COUNTRY", 0, 0x12);
add("name", "INTERNET", 0x14); add("name", "NETWORK", 0, 0x13);
add("name", "PROXY-ID", 0x15); add("name", "INTERNET", 0, 0x14);
add("name", "PROXY-PROVIDER-ID", 0x16); add("name", "PROXY-ID", 0, 0x15);
add("name", "DOMAIN", 0x17); add("name", "PROXY-PROVIDER-ID", 0, 0x16);
add("name", "PROVURL", 0x18); add("name", "DOMAIN", 0, 0x17);
add("name", "PXAUTH-TYPE", 0x19); add("name", "PROVURL", 0, 0x18);
add("name", "PXAUTH-ID", 0x1A); add("name", "PXAUTH-TYPE", 0, 0x19);
add("name", "PXAUTH-PW", 0x1B); add("name", "PXAUTH-ID", 0, 0x1A);
add("name", "STARTPAGE", 0x1C); add("name", "PXAUTH-PW", 0, 0x1B);
add("name", "BASAUTH-ID", 0x1D); add("name", "STARTPAGE", 0, 0x1C);
add("name", "BASAUTH-PW", 0x1E); add("name", "BASAUTH-ID", 0, 0x1D);
add("name", "PUSHENABLED", 0x1F); add("name", "BASAUTH-PW", 0, 0x1E);
add("name", "PXADDR", 0x20); add("name", "PUSHENABLED", 0, 0x1F);
add("name", "PXADDRTYPE", 0x21); add("name", "PXADDR", 0, 0x20);
add("name", "TO-NAPID", 0x22); add("name", "PXADDRTYPE", 0, 0x21);
add("name", "PORTNBR", 0x23); add("name", "TO-NAPID", 0, 0x22);
add("name", "SERVICE", 0x24); add("name", "PORTNBR", 0, 0x23);
add("name", "LINKSPEED", 0x25); add("name", "SERVICE", 0, 0x24);
add("name", "DNLINKSPEED", 0x26); add("name", "LINKSPEED", 0, 0x25);
add("name", "LOCAL-ADDR", 0x27); add("name", "DNLINKSPEED", 0, 0x26);
add("name", "LOCAL-ADDRTYPE", 0x28); add("name", "LOCAL-ADDR", 0, 0x27);
add("name", "CONTEXT-ALLOW", 0x29); add("name", "LOCAL-ADDRTYPE", 0, 0x28);
add("name", "TRUST", 0x2A); add("name", "CONTEXT-ALLOW", 0, 0x29);
add("name", "MASTER", 0x2B); add("name", "TRUST", 0, 0x2A);
add("name", "SID", 0x2C); add("name", "MASTER", 0, 0x2B);
add("name", "SOC", 0x2D); add("name", "SID", 0, 0x2C);
add("name", "WSP-VERSION", 0x2E); add("name", "SOC", 0, 0x2D);
add("name", "PHYSICAL-PROXY-ID", 0x2F); add("name", "WSP-VERSION", 0, 0x2E);
add("name", "CLIENT-ID", 0x30); add("name", "PHYSICAL-PROXY-ID", 0, 0x2F);
add("name", "DELIVERY-ERR-PDU", 0x31); add("name", "CLIENT-ID", 0, 0x30);
add("name", "DELIVERY-ORDER", 0x32); add("name", "DELIVERY-ERR-PDU", 0, 0x31);
add("name", "TRAFFIC-CLASS", 0x33); add("name", "DELIVERY-ORDER", 0, 0x32);
add("name", "MAX-SDU-SIZE", 0x34); add("name", "TRAFFIC-CLASS", 0, 0x33);
add("name", "MAX-BITRATE-UPLINK", 0x35); add("name", "MAX-SDU-SIZE", 0, 0x34);
add("name", "MAX-BITRATE-DNLINK", 0x36); add("name", "MAX-BITRATE-UPLINK", 0, 0x35);
add("name", "RESIDUAL-BER", 0x37); add("name", "MAX-BITRATE-DNLINK", 0, 0x36);
add("name", "SDU-ERROR-RATIO", 0x38); add("name", "RESIDUAL-BER", 0, 0x37);
add("name", "TRAFFIC-HANDL-PRIO", 0x39); add("name", "SDU-ERROR-RATIO", 0, 0x38);
add("name", "TRANSFER-DELAY", 0x3A); add("name", "TRAFFIC-HANDL-PRIO", 0, 0x39);
add("name", "GUARANTEED-BITRATE-UPLINK", 0x3B); add("name", "TRANSFER-DELAY", 0, 0x3A);
add("name", "GUARANTEED-BITRATE-DNLINK", 0x3C); add("name", "GUARANTEED-BITRATE-UPLINK", 0, 0x3B);
add("version", "", 0x45); add("name", "GUARANTEED-BITRATE-DNLINK", 0, 0x3C);
add("version", "1.0", 0x46); add("version", "", 0, 0x45);
add("type", "", 0x50); add("version", "1.0", 0, 0x46);
add("type", "PXLOGICAL", 0x51); add("type", "", 0, 0x50);
add("type", "PXPHYSICAL", 0x52); add("type", "PXLOGICAL", 0, 0x51);
add("type", "PORT", 0x53); add("type", "PXPHYSICAL", 0, 0x52);
add("type", "VALIDITY", 0x54); add("type", "PORT", 0, 0x53);
add("type", "NAPDEF", 0x55); add("type", "VALIDITY", 0, 0x54);
add("type", "BOOTSTRAP", 0x56); add("type", "NAPDEF", 0, 0x55);
add("type", "BOOTSTRAP", 0, 0x56);
/* /*
* Mark out VENDORCONFIG so if it is contained in message, parse * Mark out VENDORCONFIG so if it is contained in message, parse
* will failed and raw data is returned. * will failed and raw data is returned.
*/ */
// add("type", "VENDORCONFIG", 0x57); // add("type", "VENDORCONFIG", 0, 0x57);
add("type", "CLIENTIDENTITY", 0x58); add("type", "CLIENTIDENTITY", 0, 0x58);
add("type", "PXAUTHINFO", 0x59); add("type", "PXAUTHINFO", 0, 0x59);
add("type", "NAPAUTHINFO", 0x5A); add("type", "NAPAUTHINFO", 0, 0x5A);
// Code page 1
add("name", "", 1, 0x05);
add("value", "", 1, 0x06);
add("name", "NAME", 1, 0x07);
add("name", "INTERNET", 1, 0x14);
add("name", "STARTPAGE", 1, 0x1C);
add("name", "TO-NAPID", 1, 0x22);
add("name", "PORTNBR", 1, 0x23);
add("name", "SERVICE", 1, 0x24);
add("name", "AACCEPT", 1, 0x2E);
add("name", "AAUTHDATA", 1, 0x2F);
add("name", "AAUTHLEVEL", 1, 0x30);
add("name", "AAUTHNAME", 1, 0x31);
add("name", "AAUTHSECRET", 1, 0x32);
add("name", "AAUTHTYPE", 1, 0x33);
add("name", "ADDR", 1, 0x34);
add("name", "ADDRTYPE", 1, 0x35);
add("name", "APPID", 1, 0x36);
add("name", "APROTOCOL", 1, 0x37);
add("name", "PROVIDER-ID", 1, 0x38);
add("name", "TO-PROXY", 1, 0x39);
add("name", "URI", 1, 0x3A);
add("name", "RULE", 1, 0x3B);
add("type", "", 1, 0x50);
add("type", "PORT", 1, 0x53);
add("type", "APPLICATION", 1, 0x55);
add("type", "APPADDR", 1, 0x56);
add("type", "APPAUTH", 1, 0x57);
add("type", "CLIENTIDENTITY", 1, 0x58);
add("type", "RESOURCE", 1, 0x59);
return names; return names;
})(); })();
/**
* Value Tokens
*
* @see WAP-183-ProvCont-20010724-A, clause 8.3 for code page 0
* @see OMA-WAP-TS-ProvCont-V1_1-20090421-C, clause 7.3 for code page 1
*/
const CP_VALUE_FIELDS = (function () { const CP_VALUE_FIELDS = (function () {
let names = {}; let names = {};
function add(value, number) { function add(value, codepage, number) {
let entry = { let entry = {
value: value, value: value,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add("IPV4", 0x85); // Code page 0
add("IPV6", 0x86); add("IPV4", 0, 0x85);
add("E164", 0x87); add("IPV6", 0, 0x86);
add("ALPHA", 0x88); add("E164", 0, 0x87);
add("APN", 0x89); add("ALPHA", 0, 0x88);
add("SCODE", 0x8A); add("APN", 0, 0x89);
add("TETRA-ITSI", 0x8B); add("SCODE", 0, 0x8A);
add("MAN", 0x8C); add("TETRA-ITSI", 0, 0x8B);
add("ANALOG-MODEM", 0x90); add("MAN", 0, 0x8C);
add("V.120", 0x91); add("ANALOG-MODEM", 0, 0x90);
add("V.110", 0x92); add("V.120", 0, 0x91);
add("X.31", 0x93); add("V.110", 0, 0x92);
add("BIT-TRANSPARENT", 0x94); add("X.31", 0, 0x93);
add("DIRECT-ASYNCHRONOUS-DATA-SERVICE", 0x95); add("BIT-TRANSPARENT", 0, 0x94);
add("PAP", 0x9A); add("DIRECT-ASYNCHRONOUS-DATA-SERVICE", 0, 0x95);
add("CHAP", 0x9B); add("PAP", 0, 0x9A);
add("HTTP-BASIC", 0x9C); add("CHAP", 0, 0x9B);
add("HTTP-DIGEST", 0x9D); add("HTTP-BASIC", 0, 0x9C);
add("WTLS-SS", 0x9E); add("HTTP-DIGEST", 0, 0x9D);
add("GSM-USSD", 0xA2); add("WTLS-SS", 0, 0x9E);
add("GSM-SMS", 0xA3); add("MD5", 0, 0x9F); // Added in OMA, 7.3.3
add("ANSI-136-GUTS", 0xA4); add("GSM-USSD", 0, 0xA2);
add("IS-95-CDMA-SMS", 0xA5); add("GSM-SMS", 0, 0xA3);
add("IS-95-CDMA-CSD", 0xA6); add("ANSI-136-GUTS", 0, 0xA4);
add("IS-95-CDMA-PAC", 0xA7); add("IS-95-CDMA-SMS", 0, 0xA5);
add("ANSI-136-CSD", 0xA8); add("IS-95-CDMA-CSD", 0, 0xA6);
add("ANSI-136-GPRS", 0xA9); add("IS-95-CDMA-PAC", 0, 0xA7);
add("GSM-CSD", 0xAA); add("ANSI-136-CSD", 0, 0xA8);
add("GSM-GPRS", 0xAB); add("ANSI-136-GPRS", 0, 0xA9);
add("AMPS-CDPD", 0xAC); add("GSM-CSD", 0, 0xAA);
add("PDC-CSD", 0xAD); add("GSM-GPRS", 0, 0xAB);
add("PDC-PACKET", 0xAE); add("AMPS-CDPD", 0, 0xAC);
add("IDEN-SMS", 0xAF); add("PDC-CSD", 0, 0xAD);
add("IDEN-CSD", 0xB0); add("PDC-PACKET", 0, 0xAE);
add("IDEN-PACKET", 0xB1); add("IDEN-SMS", 0, 0xAF);
add("FLEX/REFLEX", 0xB2); add("IDEN-CSD", 0, 0xB0);
add("PHS-SMS", 0xB3); add("IDEN-PACKET", 0, 0xB1);
add("PHS-CSD", 0xB4); add("FLEX/REFLEX", 0, 0xB2);
add("TETRA-SDS", 0xB5); add("PHS-SMS", 0, 0xB3);
add("TETRA-PACKET", 0xB6); add("PHS-CSD", 0, 0xB4);
add("ANSI-136-GHOST", 0xB7); add("TETRA-SDS", 0, 0xB5);
add("MOBITEX-MPAK", 0xB8); add("TETRA-PACKET", 0, 0xB6);
add("AUTOBOUDING", 0xC5); add("ANSI-136-GHOST", 0, 0xB7);
add("CL-WSP", 0xCA); add("MOBITEX-MPAK", 0, 0xB8);
add("CO-WSP", 0xCB); add("CDMA2000-1X-SIMPLE-IP", 0, 0xB9); // Added in OMA, 7.3.4
add("CL-SEC-WSP", 0xCC); add("CDMA2000-1X-MOBILE-IP", 0, 0xBA); // Added in OMA, 7.3.4
add("CO-SEC-WSP", 0xCD); add("AUTOBOUDING", 0, 0xC5);
add("CL-SEC-WTA", 0xCE); add("CL-WSP", 0, 0xCA);
add("CO-SEC-WTA", 0xCF); add("CO-WSP", 0, 0xCB);
add("CL-SEC-WSP", 0, 0xCC);
add("CO-SEC-WSP", 0, 0xCD);
add("CL-SEC-WTA", 0, 0xCE);
add("CO-SEC-WTA", 0, 0xCF);
add("OTA-HTTP-TO", 0, 0xD0); // Added in OMA, 7.3.6
add("OTA-HTTP-TLS-TO", 0, 0xD1); // Added in OMA, 7.3.6
add("OTA-HTTP-PO", 0, 0xD2); // Added in OMA, 7.3.6
add("OTA-HTTP-TLS-PO", 0, 0xD3); // Added in OMA, 7.3.6
add("AAA", 0, 0xE0); // Added in OMA, 7.3.8
add("HA", 0, 0xE1); // Added in OMA, 7.3.8
// Code page 1
add("IPV6", 1, 0x86);
add("E164", 1, 0x87);
add("ALPHA", 1, 0x88);
add("APPSRV", 1, 0x8D);
add("OBEX", 1, 0x8E);
add(",", 1, 0x90);
add("HTTP-", 1, 0x91);
add("BASIC", 1, 0x92);
add("DIGEST", 1, 0x93);
return names; return names;
})(); })();

Просмотреть файл

@ -134,18 +134,21 @@ this.PduHelper = {
*/ */
const SI_TAG_FIELDS = (function () { const SI_TAG_FIELDS = (function () {
let names = {}; let names = {};
function add(name, number) { function add(name, codepage, number) {
let entry = { let entry = {
name: name, name: name,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add("si", 0x05); add("si", 0, 0x05);
add("indication", 0x06); add("indication", 0, 0x06);
add("info", 0x07); add("info", 0, 0x07);
add("item", 0x08); add("item", 0, 0x08);
return names; return names;
})(); })();
@ -157,47 +160,53 @@ const SI_TAG_FIELDS = (function () {
*/ */
const SI_ATTRIBUTE_FIELDS = (function () { const SI_ATTRIBUTE_FIELDS = (function () {
let names = {}; let names = {};
function add(name, value, number) { function add(name, value, codepage, number) {
let entry = { let entry = {
name: name, name: name,
value: value, value: value,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add("action", "signal-none", 0x05); add("action", "signal-none", 0, 0x05);
add("action", "signal-low", 0x06); add("action", "signal-low", 0, 0x06);
add("action", "signal-medium", 0x07); add("action", "signal-medium", 0, 0x07);
add("action", "signal-high", 0x08); add("action", "signal-high", 0, 0x08);
add("action", "delete", 0x09); add("action", "delete", 0, 0x09);
add("created", "", 0x0A); add("created", "", 0, 0x0A);
add("href", "", 0x0B); add("href", "", 0, 0x0B);
add("href", "http://", 0x0C); add("href", "http://", 0, 0x0C);
add("href", "http://www.", 0x0D); add("href", "http://www.", 0, 0x0D);
add("href", "https://", 0x0E); add("href", "https://", 0, 0x0E);
add("href", "https://www.", 0x0F); add("href", "https://www.", 0, 0x0F);
add("si-expires", "", 0x10); add("si-expires", "", 0, 0x10);
add("si-id", "", 0x11); add("si-id", "", 0, 0x11);
add("class", "", 0x12); add("class", "", 0, 0x12);
return names; return names;
})(); })();
const SI_VALUE_FIELDS = (function () { const SI_VALUE_FIELDS = (function () {
let names = {}; let names = {};
function add(value, number) { function add(value, codepage, number) {
let entry = { let entry = {
value: value, value: value,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add(".com/", 0x85); add(".com/", 0, 0x85);
add(".edu/", 0x86); add(".edu/", 0, 0x86);
add(".net/", 0x87); add(".net/", 0, 0x87);
add(".org/", 0x88); add(".org/", 0, 0x88);
return names; return names;
})(); })();

Просмотреть файл

@ -90,15 +90,18 @@ this.PduHelper = {
*/ */
const SL_TAG_FIELDS = (function () { const SL_TAG_FIELDS = (function () {
let names = {}; let names = {};
function add(name, number) { function add(name, codepage, number) {
let entry = { let entry = {
name: name, name: name,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add("sl", 0x05); add("sl", 0, 0x05);
return names; return names;
})(); })();
@ -110,41 +113,47 @@ const SL_TAG_FIELDS = (function () {
*/ */
const SL_ATTRIBUTE_FIELDS = (function () { const SL_ATTRIBUTE_FIELDS = (function () {
let names = {}; let names = {};
function add(name, value, number) { function add(name, value, codepage, number) {
let entry = { let entry = {
name: name, name: name,
value: value, value: value,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add("action", "execute-low", 0x05); add("action", "execute-low", 0, 0x05);
add("action", "execute-high", 0x06); add("action", "execute-high", 0, 0x06);
add("action", "cache", 0x07); add("action", "cache", 0, 0x07);
add("href", "", 0x08); add("href", "", 0, 0x08);
add("href", "http://", 0x09); add("href", "http://", 0, 0x09);
add("href", "http://www.", 0x0A); add("href", "http://www.", 0, 0x0A);
add("href", "https://", 0x0B); add("href", "https://", 0, 0x0B);
add("href", "https://www.", 0x0C); add("href", "https://www.", 0, 0x0C);
return names; return names;
})(); })();
const SL_VALUE_FIELDS = (function () { const SL_VALUE_FIELDS = (function () {
let names = {}; let names = {};
function add(value, number) { function add(value, codepage, number) {
let entry = { let entry = {
value: value, value: value,
number: number, number: number,
}; };
names[number] = entry; if (!names[codepage]) {
names[codepage] = {};
}
names[codepage][number] = entry;
} }
add(".com/", 0x85); add(".com/", 0, 0x85);
add(".edu/", 0x86); add(".edu/", 0, 0x86);
add(".net/", 0x87); add(".net/", 0, 0x87);
add(".org/", 0x88); add(".org/", 0, 0x88);
return names; return names;
})(); })();