security/manager/pki/resources/content/clientauthask.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
     2  *
     3  * This Source Code Form is subject to the terms of the Mozilla Public
     4  * License, v. 2.0. If a copy of the MPL was not distributed with this
     5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     8 const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
    10 var dialogParams;
    11 var itemCount = 0;
    12 var rememberBox;
    14 function onLoad()
    15 {
    16     var cn;
    17     var org;
    18     var issuer;
    20     dialogParams = window.arguments[0].QueryInterface(nsIDialogParamBlock);
    21     cn = dialogParams.GetString(0);
    22     org = dialogParams.GetString(1);
    23     issuer = dialogParams.GetString(2);
    25     // added with bug 431819. reuse string from caps in order to avoid string changes
    26     var capsBundle = document.getElementById("caps_bundle");
    27     var rememberString = capsBundle.getString("CheckMessage");
    28     var rememberSetting = true;
    30     var pref = Components.classes['@mozilla.org/preferences-service;1']
    31 	       .getService(Components.interfaces.nsIPrefService);
    32     if (pref) {
    33       pref = pref.getBranch(null);
    34       try {
    35 	rememberSetting = 
    36 	  pref.getBoolPref("security.remember_cert_checkbox_default_setting");
    37       }
    38       catch(e) {
    39 	// pref is missing
    40       }
    41     }
    43     rememberBox = document.getElementById("rememberBox");
    44     rememberBox.label = rememberString;
    45     rememberBox.checked = rememberSetting;
    47     var bundle = document.getElementById("pippki_bundle");
    48     var message1 = bundle.getFormattedString("clientAuthMessage1", [org]);
    49     var message2 = bundle.getFormattedString("clientAuthMessage2", [issuer]);
    50     setText("hostname", cn);
    51     setText("organization", message1);
    52     setText("issuer", message2);
    54     var selectElement = document.getElementById("nicknames");
    55     itemCount = dialogParams.GetInt(0);
    56     for (var i=0; i < itemCount; i++) {
    57         var menuItemNode = document.createElement("menuitem");
    58         var nick = dialogParams.GetString(i+3);
    59         menuItemNode.setAttribute("value", i);
    60         menuItemNode.setAttribute("label", nick); // this is displayed
    61         selectElement.firstChild.appendChild(menuItemNode);
    62         if (i == 0) {
    63             selectElement.selectedItem = menuItemNode;
    64         }
    65     }
    67     setDetails();
    68 }
    70 function setDetails()
    71 {
    72   var index = parseInt(document.getElementById("nicknames").value);
    73   var details = dialogParams.GetString(index+itemCount+3);
    74   document.getElementById("details").value = details;
    75 }
    77 function onCertSelected()
    78 {
    79   setDetails();
    80 }
    82 function doOK()
    83 {
    84   dialogParams.SetInt(0,1);
    85   var index = parseInt(document.getElementById("nicknames").value);
    86   dialogParams.SetInt(1, index);
    87   dialogParams.SetInt(2, rememberBox.checked);
    88   return true;
    89 }
    91 function doCancel()
    92 {
    93   dialogParams.SetInt(0,0);
    94   dialogParams.SetInt(1, -1); // invalid value
    95   dialogParams.SetInt(2, rememberBox.checked);
    96   return true;
    97 }

mercurial