Changeset aebf7735 for apps


Ignore:
Timestamp:
Nov 15, 2018 6:04:18 PM (20 months ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
5fe2019
Parents:
bdbadcd
Message:

NDT: remove unused user-agent code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/routerconsole/java/src/edu/internet2/ndt/UserAgentTools.java

    rbdbadcd raebf7735  
    1515public class UserAgentTools {
    1616
    17         public static String getFirstVersionNumber(String a_userAgent,
    18                         int a_position, int numDigits) {
    19                 String ver = getVersionNumber(a_userAgent, a_position);
    20                 if (ver == null)
    21                         return "";
    22                 int i = 0;
    23                 String res = "";
    24                 while (i < ver.length() && i < numDigits) {
    25                         res += String.valueOf(ver.charAt(i));
    26                         i++;
    27                 }
    28                 return res;
    29         }
    30 
    31         public static String getVersionNumber(String a_userAgent, int a_position) {
    32                 if (a_position < 0)
    33                         return "";
    34                 StringBuffer res = new StringBuffer();
    35                 int status = 0;
    36 
    37                 while (a_position < a_userAgent.length()) {
    38                         char c = a_userAgent.charAt(a_position);
    39                         switch (status) {
    40                         case 0: // <SPAN class="codecomment"> No valid digits encountered
    41                                         // yet</span>
    42                                 if (c == ' ' || c == '/')
    43                                         break;
    44                                 if (c == ';' || c == ')')
    45                                         return "";
    46                                 status = 1;
    47                         case 1: // <SPAN class="codecomment"> Version number in
    48                                         // progress</span>
    49                                 if (c == ';' || c == '/' || c == ')' || c == '(' || c == '[')
    50                                         return res.toString().trim();
    51                                 if (c == ' ')
    52                                         status = 2;
    53                                 res.append(c);
    54                                 break;
    55                         case 2: // <SPAN class="codecomment"> Space encountered - Might need
    56                                         // to end the parsing</span>
    57                                 if ((Character.isLetter(c) && Character.isLowerCase(c))
    58                                                 || Character.isDigit(c)) {
    59                                         res.append(c);
    60                                         status = 1;
    61                                 } else
    62                                         return res.toString().trim();
    63                                 break;
    64                         }
    65                         a_position++;
    66                 }
    67                 return res.toString().trim();
    68         }
    69 
    7017        public static String[] getArray(String a, String b, String c) {
    7118                String[] res = new String[3];
     
    7623        }
    7724
    78         public static String[] getBotName(String userAgent) {
    79                 userAgent = userAgent.toLowerCase();
    80                 int pos = 0;
    81                 String res = null;
    82                 if ((pos = userAgent.indexOf("help.yahoo.com/")) > -1) {
    83                         res = "Yahoo";
    84                         pos += 7;
    85                 } else if ((pos = userAgent.indexOf("google/")) > -1) {
    86                         res = "Google";
    87                         pos += 7;
    88                 } else if ((pos = userAgent.indexOf("msnbot/")) > -1) {
    89                         res = "MSNBot";
    90                         pos += 7;
    91                 } else if ((pos = userAgent.indexOf("googlebot/")) > -1) {
    92                         res = "Google";
    93                         pos += 10;
    94                 } else if ((pos = userAgent.indexOf("webcrawler/")) > -1) {
    95                         res = "WebCrawler";
    96                         pos += 11;
    97                 } else if ((pos = userAgent.indexOf("inktomi")) > -1) {
    98                         // <SPAN class="codecomment"> The following two bots don't have any
    99                         // version number in their User-Agent strings.</span>
    100                         res = "Inktomi";
    101                         pos = -1;
    102                 } else if ((pos = userAgent.indexOf("teoma")) > -1) {
    103                         res = "Teoma";
    104                         pos = -1;
    105                 }
    106                 if (res == null)
    107                         return null;
    108                 return getArray(res, res, res + getVersionNumber(userAgent, pos));
    109         }
    110 
    111         public static String[] getOS(String userAgent) {
    112                 if (getBotName(userAgent) != null)
    113                         return getArray("Bot", "Bot", "Bot");
    114                 String[] res = null;
    115                 int pos;
    116                 if ((pos = userAgent.indexOf("Windows-NT")) > -1) {
    117                         res = getArray("Win", "WinNT",
    118                                         "Win" + getVersionNumber(userAgent, pos + 8));
    119                 } else if (userAgent.indexOf("Windows NT") > -1) {
    120                         // <SPAN class="codecomment"> The different versions of Windows NT
    121                         // are decoded in the verbosity level 2</span>
    122                         // <SPAN class="codecomment"> ie: Windows NT 5.1 = Windows XP</span>
    123                         if ((pos = userAgent.indexOf("Windows NT 5.1")) > -1) {
    124                                 res = getArray("Win", "WinXP",
    125                                                 "Win" + getVersionNumber(userAgent, pos + 7));
    126                         } else if ((pos = userAgent.indexOf("Windows NT 6.0")) > -1) {
    127                                 res = getArray("Win", "Vista",
    128                                                 "Vista" + getVersionNumber(userAgent, pos + 7));
    129                         } else if ((pos = userAgent.indexOf("Windows NT 6.1")) > -1) {
    130                                 res = getArray("Win", "Seven",
    131                                                 "Seven " + getVersionNumber(userAgent, pos + 7));
    132                         } else if ((pos = userAgent.indexOf("Windows NT 5.0")) > -1) {
    133                                 res = getArray("Win", "Win2000",
    134                                                 "Win" + getVersionNumber(userAgent, pos + 7));
    135                         } else if ((pos = userAgent.indexOf("Windows NT 5.2")) > -1) {
    136                                 res = getArray("Win", "Win2003",
    137                                                 "Win" + getVersionNumber(userAgent, pos + 7));
    138                         } else if ((pos = userAgent.indexOf("Windows NT 4.0")) > -1) {
    139                                 res = getArray("Win", "WinNT4",
    140                                                 "Win" + getVersionNumber(userAgent, pos + 7));
    141                         } else if ((pos = userAgent.indexOf("Windows NT)")) > -1) {
    142                                 res = getArray("Win", "WinNT", "WinNT");
    143                         } else if ((pos = userAgent.indexOf("Windows NT;")) > -1) {
    144                                 res = getArray("Win", "WinNT", "WinNT");
    145                         } else {
    146                                 res = getArray("Win", "WinNT?", "WinNT?");
    147                         }
    148                 } else if (userAgent.indexOf("Win") > -1) {
    149                         if (userAgent.indexOf("Windows") > -1) {
    150                                 if ((pos = userAgent.indexOf("Windows 98")) > -1) {
    151                                         res = getArray("Win", "Win98",
    152                                                         "Win" + getVersionNumber(userAgent, pos + 7));
    153                                 } else if ((pos = userAgent.indexOf("Windows_98")) > -1) {
    154                                         res = getArray("Win", "Win98",
    155                                                         "Win" + getVersionNumber(userAgent, pos + 8));
    156                                 } else if ((pos = userAgent.indexOf("Windows 2000")) > -1) {
    157                                         res = getArray("Win", "Win2000",
    158                                                         "Win" + getVersionNumber(userAgent, pos + 7));
    159                                 } else if ((pos = userAgent.indexOf("Windows 95")) > -1) {
    160                                         res = getArray("Win", "Win95",
    161                                                         "Win" + getVersionNumber(userAgent, pos + 7));
    162                                 } else if ((pos = userAgent.indexOf("Windows 9x")) > -1) {
    163                                         res = getArray("Win", "Win9x",
    164                                                         "Win" + getVersionNumber(userAgent, pos + 7));
    165                                 } else if ((pos = userAgent.indexOf("Windows ME")) > -1) {
    166                                         res = getArray("Win", "WinME",
    167                                                         "Win" + getVersionNumber(userAgent, pos + 7));
    168                                 } else if ((pos = userAgent.indexOf("Windows CE;")) > -1) {
    169                                         res = getArray("Win", "WinCE", "WinCE");
    170                                 } else if ((pos = userAgent.indexOf("Windows 3.1")) > -1) {
    171                                         res = getArray("Win", "Win31",
    172                                                         "Win" + getVersionNumber(userAgent, pos + 7));
    173                                 }
    174                                 // <SPAN class="codecomment"> If no version was found, rely on
    175                                 // the following code to detect "WinXX"</span>
    176                                 // <SPAN class="codecomment"> As some User-Agents include two
    177                                 // references to Windows</span>
    178                                 // <SPAN class="codecomment"> Ex: Mozilla/5.0 (Windows; U;
    179                                 // Win98; en-US; rv:1.5)</span>
    180                         }
    181                         if (res == null) {
    182                                 if ((pos = userAgent.indexOf("Win98")) > -1) {
    183                                         res = getArray("Win", "Win98",
    184                                                         "Win" + getVersionNumber(userAgent, pos + 3));
    185                                 } else if ((pos = userAgent.indexOf("Win31")) > -1) {
    186                                         res = getArray("Win", "Win31",
    187                                                         "Win" + getVersionNumber(userAgent, pos + 3));
    188                                 } else if ((pos = userAgent.indexOf("Win95")) > -1) {
    189                                         res = getArray("Win", "Win95",
    190                                                         "Win" + getVersionNumber(userAgent, pos + 3));
    191                                 } else if ((pos = userAgent.indexOf("Win 9x")) > -1) {
    192                                         res = getArray("Win", "Win9x",
    193                                                         "Win" + getVersionNumber(userAgent, pos + 3));
    194                                 } else if ((pos = userAgent.indexOf("WinNT4.0")) > -1) {
    195                                         res = getArray("Win", "WinNT4",
    196                                                         "Win" + getVersionNumber(userAgent, pos + 3));
    197                                 } else if ((pos = userAgent.indexOf("WinNT")) > -1) {
    198                                         res = getArray("Win", "WinNT",
    199                                                         "Win" + getVersionNumber(userAgent, pos + 3));
    200                                 }
    201                         }
    202                         if (res == null) {
    203                                 if ((pos = userAgent.indexOf("Windows")) > -1) {
    204                                         res = getArray("Win", "Win?",
    205                                                         "Win?" + getVersionNumber(userAgent, pos + 7));
    206                                 } else if ((pos = userAgent.indexOf("Win")) > -1) {
    207                                         res = getArray("Win", "Win?",
    208                                                         "Win?" + getVersionNumber(userAgent, pos + 3));
    209                                 } else
    210                                         // <SPAN class="codecomment"> Should not happen at this
    211                                         // point</span>
    212                                         res = getArray("Win", "Win?", "Win?");
    213                         }
    214                 } else if ((pos = userAgent.indexOf("Mac OS X")) > -1) {
    215                         if ((userAgent.indexOf("iPhone")) > -1) {
    216                                 pos = userAgent.indexOf("iPhone OS");
    217                                 if ((userAgent.indexOf("iPod")) > -1) {
    218                                         res = getArray(
    219                                                         "iOS",
    220                                                         "iOS-iPod",
    221                                                         "iOS-iPod "
    222                                                                         + ((pos < 0) ? "" : getVersionNumber(
    223                                                                                         userAgent, pos + 9)));
    224                                 } else {
    225                                         res = getArray(
    226                                                         "iOS",
    227                                                         "iOS-iPhone",
    228                                                         "iOS-iPhone "
    229                                                                         + ((pos < 0) ? "" : getVersionNumber(
    230                                                                                         userAgent, pos + 9)));
    231                                 }
    232                         } else if ((userAgent.indexOf("iPad")) > -1) {
    233                                 pos = userAgent.indexOf("CPU OS");
    234                                 res = getArray("iOS", "iOS-iPad", "iOS-iPad "
    235                                                 + ((pos < 0) ? ""
    236                                                                 : getVersionNumber(userAgent, pos + 6)));
    237                         } else
    238                                 res = getArray("Mac", "MacOSX",
    239                                                 "MacOS " + getVersionNumber(userAgent, pos + 8));
    240                 } else if ((pos = userAgent.indexOf("Android")) > -1) {
    241                         res = getArray("Linux", "Android",
    242                                         "Android " + getVersionNumber(userAgent, pos + 8));
    243                 } else if ((pos = userAgent.indexOf("Mac_PowerPC")) > -1) {
    244                         res = getArray("Mac", "MacPPC",
    245                                         "MacOS " + getVersionNumber(userAgent, pos + 3));
    246                 } else if ((pos = userAgent.indexOf("Macintosh")) > -1) {
    247                         if (userAgent.indexOf("PPC") > -1)
    248                                 res = getArray("Mac", "MacPPC", "Mac PPC");
    249                         else
    250                                 res = getArray("Mac?", "Mac?", "MacOS?");
    251                 } else if ((pos = userAgent.indexOf("FreeBSD")) > -1) {
    252                         res = getArray("*BSD", "*BSD FreeBSD", "FreeBSD "
    253                                         + getVersionNumber(userAgent, pos + 7));
    254                 } else if ((pos = userAgent.indexOf("OpenBSD")) > -1) {
    255                         res = getArray("*BSD", "*BSD OpenBSD", "OpenBSD "
    256                                         + getVersionNumber(userAgent, pos + 7));
    257                 } else if ((pos = userAgent.indexOf("Linux")) > -1) {
    258                         String detail = "Linux " + getVersionNumber(userAgent, pos + 5);
    259                         String med = "Linux";
    260                         if ((pos = userAgent.indexOf("Ubuntu/")) > -1) {
    261                                 detail = "Ubuntu " + getVersionNumber(userAgent, pos + 7);
    262                                 med += " Ubuntu";
    263                         }
    264                         res = getArray("Linux", med, detail);
    265                 } else if ((pos = userAgent.indexOf("CentOS")) > -1) {
    266                         res = getArray("Linux", "Linux CentOS", "CentOS");
    267                 } else if ((pos = userAgent.indexOf("NetBSD")) > -1) {
    268                         res = getArray("*BSD", "*BSD NetBSD",
    269                                         "NetBSD " + getVersionNumber(userAgent, pos + 6));
    270                 } else if ((pos = userAgent.indexOf("Unix")) > -1) {
    271                         res = getArray("Linux", "Linux",
    272                                         "Linux " + getVersionNumber(userAgent, pos + 4));
    273                 } else if ((pos = userAgent.indexOf("SunOS")) > -1) {
    274                         res = getArray("Unix", "SunOS",
    275                                         "SunOS" + getVersionNumber(userAgent, pos + 5));
    276                 } else if ((pos = userAgent.indexOf("IRIX")) > -1) {
    277                         res = getArray("Unix", "IRIX",
    278                                         "IRIX" + getVersionNumber(userAgent, pos + 4));
    279                 } else if ((pos = userAgent.indexOf("SonyEricsson")) > -1) {
    280                         res = getArray("SonyEricsson", "SonyEricsson", "SonyEricsson"
    281                                         + getVersionNumber(userAgent, pos + 12));
    282                 } else if ((pos = userAgent.indexOf("Nokia")) > -1) {
    283                         res = getArray("Nokia", "Nokia",
    284                                         "Nokia" + getVersionNumber(userAgent, pos + 5));
    285                 } else if ((pos = userAgent.indexOf("BlackBerry")) > -1) {
    286                         res = getArray("BlackBerry", "BlackBerry", "BlackBerry"
    287                                         + getVersionNumber(userAgent, pos + 10));
    288                 } else if ((pos = userAgent.indexOf("SymbianOS")) > -1) {
    289                         res = getArray("SymbianOS", "SymbianOS", "SymbianOS"
    290                                         + getVersionNumber(userAgent, pos + 10));
    291                 } else if ((pos = userAgent.indexOf("BeOS")) > -1) {
    292                         res = getArray("BeOS", "BeOS", "BeOS");
    293                 } else if ((pos = userAgent.indexOf("Nintendo Wii")) > -1) {
    294                         res = getArray("Nintendo Wii", "Nintendo Wii", "Nintendo Wii"
    295                                         + getVersionNumber(userAgent, pos + 10));
    296                 } else if ((pos = userAgent.indexOf("J2ME/MIDP")) > -1) {
    297                         res = getArray("Java", "J2ME", "J2ME/MIDP");
    298                 } else
    299                         res = getArray("?", "?", "?");
    300                 return res;
    301         }
    302 
    30325        public static String[] getBrowser(String userAgent) {
    304                 if (userAgent == null) {
    30526                        return getArray("?", "?", "?");
    306                 }
    307                 String[] botName;
    308                 if ((botName = getBotName(userAgent)) != null)
    309                         return botName;
    310                 String[] res = null;
    311                 int pos;
    312                 if ((pos = userAgent.indexOf("Lotus-Notes/")) > -1) {
    313                         res = getArray("LotusNotes", "LotusNotes", "LotusNotes"
    314                                         + getVersionNumber(userAgent, pos + 12));
    315                 } else if ((pos = userAgent.indexOf("Opera")) > -1) {
    316                         String ver = getVersionNumber(userAgent, pos + 5);
    317                         res = getArray("Opera",
    318                                         "Opera" + getFirstVersionNumber(userAgent, pos + 5, 1),
    319                                         "Opera" + ver);
    320                         if ((pos = userAgent.indexOf("Opera Mini/")) > -1) {
    321                                 String ver2 = getVersionNumber(userAgent, pos + 11);
    322                                 res = getArray("Opera", "Opera Mini", "Opera Mini " + ver2);
    323                         } else if ((pos = userAgent.indexOf("Opera Mobi/")) > -1) {
    324                                 String ver2 = getVersionNumber(userAgent, pos + 11);
    325                                 res = getArray("Opera", "Opera Mobi", "Opera Mobi " + ver2);
    326                         }
    327                 } else if (userAgent.indexOf("MSIE") > -1) {
    328                         if ((pos = userAgent.indexOf("MSIE 6.0")) > -1) {
    329                                 res = getArray("MSIE", "MSIE6",
    330                                                 "MSIE" + getVersionNumber(userAgent, pos + 4));
    331                         } else if ((pos = userAgent.indexOf("MSIE 5.0")) > -1) {
    332                                 res = getArray("MSIE", "MSIE5",
    333                                                 "MSIE" + getVersionNumber(userAgent, pos + 4));
    334                         } else if ((pos = userAgent.indexOf("MSIE 5.5")) > -1) {
    335                                 res = getArray("MSIE", "MSIE5.5",
    336                                                 "MSIE" + getVersionNumber(userAgent, pos + 4));
    337                         } else if ((pos = userAgent.indexOf("MSIE 5.")) > -1) {
    338                                 res = getArray("MSIE", "MSIE5.x",
    339                                                 "MSIE" + getVersionNumber(userAgent, pos + 4));
    340                         } else if ((pos = userAgent.indexOf("MSIE 4")) > -1) {
    341                                 res = getArray("MSIE", "MSIE4",
    342                                                 "MSIE" + getVersionNumber(userAgent, pos + 4));
    343                         } else if ((pos = userAgent.indexOf("MSIE 7")) > -1
    344                                         && userAgent.indexOf("Trident/4.0") < 0) {
    345                                 res = getArray("MSIE", "MSIE7",
    346                                                 "MSIE" + getVersionNumber(userAgent, pos + 4));
    347                         } else if ((pos = userAgent.indexOf("MSIE 8")) > -1
    348                                         || userAgent.indexOf("Trident/4.0") > -1) {
    349                                 res = getArray("MSIE", "MSIE8",
    350                                                 "MSIE" + getVersionNumber(userAgent, pos + 4));
    351                         } else if ((pos = userAgent.indexOf("MSIE 9")) > -1
    352                                         || userAgent.indexOf("Trident/4.0") > -1) {
    353                                 res = getArray("MSIE", "MSIE9",
    354                                                 "MSIE" + getVersionNumber(userAgent, pos + 4));
    355                         } else
    356                                 res = getArray(
    357                                                 "MSIE",
    358                                                 "MSIE?",
    359                                                 "MSIE?"
    360                                                                 + getVersionNumber(userAgent,
    361                                                                                 userAgent.indexOf("MSIE") + 4));
    362                 } else if ((pos = userAgent.indexOf("Gecko/")) > -1) {
    363                         res = getArray("Gecko", "Gecko",
    364                                         "Gecko" + getFirstVersionNumber(userAgent, pos + 5, 4));
    365                         if ((pos = userAgent.indexOf("Camino/")) > -1) {
    366                                 res[1] += "(Camino)";
    367                                 res[2] += "(Camino" + getVersionNumber(userAgent, pos + 7)
    368                                                 + ")";
    369                         } else if ((pos = userAgent.indexOf("Chimera/")) > -1) {
    370                                 res[1] += "(Chimera)";
    371                                 res[2] += "(Chimera" + getVersionNumber(userAgent, pos + 8)
    372                                                 + ")";
    373                         } else if ((pos = userAgent.indexOf("Firebird/")) > -1) {
    374                                 res[1] += "(Firebird)";
    375                                 res[2] += "(Firebird" + getVersionNumber(userAgent, pos + 9)
    376                                                 + ")";
    377                         } else if ((pos = userAgent.indexOf("Phoenix/")) > -1) {
    378                                 res[1] += "(Phoenix)";
    379                                 res[2] += "(Phoenix" + getVersionNumber(userAgent, pos + 8)
    380                                                 + ")";
    381                         } else if ((pos = userAgent.indexOf("Galeon/")) > -1) {
    382                                 res[1] += "(Galeon)";
    383                                 res[2] += "(Galeon" + getVersionNumber(userAgent, pos + 7)
    384                                                 + ")";
    385                         } else if ((pos = userAgent.indexOf("Firefox/")) > -1) {
    386                                 res[1] += "(Firefox)";
    387                                 res[2] += "(Firefox" + getVersionNumber(userAgent, pos + 8)
    388                                                 + ")";
    389                         } else if ((pos = userAgent.indexOf("Netscape/")) > -1) {
    390                                 if ((pos = userAgent.indexOf("Netscape/6")) > -1) {
    391                                         res[1] += "(NS6)";
    392                                         res[2] += "(NS" + getVersionNumber(userAgent, pos + 9)
    393                                                         + ")";
    394                                 } else if ((pos = userAgent.indexOf("Netscape/7")) > -1) {
    395                                         res[1] += "(NS7)";
    396                                         res[2] += "(NS" + getVersionNumber(userAgent, pos + 9)
    397                                                         + ")";
    398                                 } else if ((pos = userAgent.indexOf("Netscape/8")) > -1) {
    399                                         res[1] += "(NS8)";
    400                                         res[2] += "(NS" + getVersionNumber(userAgent, pos + 9)
    401                                                         + ")";
    402                                 } else if ((pos = userAgent.indexOf("Netscape/9")) > -1) {
    403                                         res[1] += "(NS9)";
    404                                         res[2] += "(NS" + getVersionNumber(userAgent, pos + 9)
    405                                                         + ")";
    406                                 } else {
    407                                         res[1] += "(NS?)";
    408                                         res[2] += "(NS?"
    409                                                         + getVersionNumber(userAgent,
    410                                                                         userAgent.indexOf("Netscape/") + 9) + ")";
    411                                 }
    412                         }
    413                 } else if ((pos = userAgent.indexOf("Netscape/")) > -1) {
    414                         if ((pos = userAgent.indexOf("Netscape/4")) > -1) {
    415                                 res = getArray("NS", "NS4",
    416                                                 "NS" + getVersionNumber(userAgent, pos + 9));
    417                         } else
    418                                 res = getArray("NS", "NS?",
    419                                                 "NS?" + getVersionNumber(userAgent, pos + 9));
    420                 } else if ((pos = userAgent.indexOf("Chrome/")) > -1) {
    421                         res = getArray("KHTML", "KHTML(Chrome)", "KHTML(Chrome"
    422                                         + getVersionNumber(userAgent, pos + 6) + ")");
    423                 } else if ((pos = userAgent.indexOf("Safari/")) > -1) {
    424                         res = getArray("KHTML", "KHTML(Safari)", "KHTML(Safari"
    425                                         + getVersionNumber(userAgent, pos + 6) + ")");
    426                 } else if ((pos = userAgent.indexOf("Konqueror/")) > -1) {
    427                         res = getArray("KHTML", "KHTML(Konqueror)", "KHTML(Konqueror"
    428                                         + getVersionNumber(userAgent, pos + 9) + ")");
    429                 } else if ((pos = userAgent.indexOf("KHTML")) > -1) {
    430                         res = getArray("KHTML", "KHTML?",
    431                                         "KHTML?(" + getVersionNumber(userAgent, pos + 5) + ")");
    432                 } else if ((pos = userAgent.indexOf("NetFront")) > -1) {
    433                         res = getArray("NetFront", "NetFront", "NetFront "
    434                                         + getVersionNumber(userAgent, pos + 8));
    435                 } else if ((pos = userAgent.indexOf("BlackBerry")) > -1) {
    436                         pos = userAgent.indexOf("/", pos + 2);
    437                         res = getArray("BlackBerry", "BlackBerry", "BlackBerry"
    438                                         + getVersionNumber(userAgent, pos + 1));
    439                 } else if (userAgent.indexOf("Mozilla/4.") == 0
    440                                 && userAgent.indexOf("Mozilla/4.0") < 0
    441                                 && userAgent.indexOf("Mozilla/4.5 ") < 0) {
    442                         // <SPAN class="codecomment"> We will interpret Mozilla/4.x as
    443                         // Netscape Communicator is and only if x</span>
    444                         // <SPAN class="codecomment"> is not 0 or 5</span>
    445                         res = getArray("Communicator", "Communicator", "Communicator"
    446                                         + getVersionNumber(userAgent, pos + 8));
    447                 } else
    448                         return getArray("?", "?", "?");
    449                 return res;
    45027        }
    45128}
Note: See TracChangeset for help on using the changeset viewer.