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

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

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

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

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