Check-in [c53eda4523]
Overview
SHA1:c53eda4523f5b7206dd15c747609bece7db36577
Date: 2016-02-15 06:43:01
User: rkeene
Comment:ChromeOS: Fixed race with specifying the Google Smartcard Manager App ID
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2016-02-15
06:45
[4509382d11] ChromeOS: Removed extraneous PIN clearing (user: rkeene, tags: trunk)
06:43
[c53eda4523] ChromeOS: Fixed race with specifying the Google Smartcard Manager App ID (user: rkeene, tags: trunk)
06:39
[16b40cb47e] ChromeOS: Restructured initialization so that the Google PCSC Smartcard Manager App ID can be found at runtime (user: rkeene, tags: trunk)
Changes

Modified build/chrome/cackey-chrome-init.cc from [7c0a1742a0] to [7e2a70b757].

9
10
11
12
13
14
15



16
17
18
19
20
21
22
..
50
51
52
53
54
55
56
57
58
59
60


61
62
63
64
65
66
67
#include <ppapi/cpp/instance.h>
#include <ppapi/cpp/module.h>
#include <ppapi/cpp/core.h>
#include <ppapi/cpp/var.h>
#include <ppapi/cpp/var_dictionary.h>
#include <ppapi/cpp/var_array.h>
#include <ppapi/cpp/var_array_buffer.h>




#include "pcsc-nacl.h"
#include "cackey-chrome.h"

class CACKeyInstance : public pp::Instance {
	private:
		pp::Core *corePointer;
................................................................................
			/*
			 * Do the thing we are being asked to do
			 */
			reply = new pp::VarDictionary();

			if (command.AsString() == "init") {
				if (message->HasKey("smartcardManagerAppId")) {
					smartcardManagerAppId = message->Get("smartcardManagerAppId").AsString().c_str();
				}

				pcscNaClInit(this, corePointer, smartcardManagerAppId, "CACKey");



				reply->Set("status", "success");
			} else if (command.AsString() == "listcertificates") {
				numCertificates = cackey_chrome_listCertificates(&certificates);

				certificatesPPArray.SetLength(numCertificates);








>
>
>







 







|



>
>







9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
..
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <ppapi/cpp/instance.h>
#include <ppapi/cpp/module.h>
#include <ppapi/cpp/core.h>
#include <ppapi/cpp/var.h>
#include <ppapi/cpp/var_dictionary.h>
#include <ppapi/cpp/var_array.h>
#include <ppapi/cpp/var_array_buffer.h>

#include <string.h>
#include <stdlib.h>

#include "pcsc-nacl.h"
#include "cackey-chrome.h"

class CACKeyInstance : public pp::Instance {
	private:
		pp::Core *corePointer;
................................................................................
			/*
			 * Do the thing we are being asked to do
			 */
			reply = new pp::VarDictionary();

			if (command.AsString() == "init") {
				if (message->HasKey("smartcardManagerAppId")) {
					smartcardManagerAppId = strdup(message->Get("smartcardManagerAppId").AsString().c_str());
				}

				pcscNaClInit(this, corePointer, smartcardManagerAppId, "CACKey");

				free((void *) smartcardManagerAppId);

				reply->Set("status", "success");
			} else if (command.AsString() == "listcertificates") {
				numCertificates = cackey_chrome_listCertificates(&certificates);

				certificatesPPArray.SetLength(numCertificates);

Modified build/chrome/cackey.js from [95eeb58033] to [e2d53d74fa].

302
303
304
305
306
307
308
309

310
311
312
313
314
315
316

	/*
	 * Initialize CACKey with the correct handle to talk to the Google Smartcard Manager App
	 */
	cackeyHandle.postMessage(
		{
			"target": "cackey",
			"command": "init"

		}
	);

	/*
	 * Start the Google PCSC Interface
	 */
	new GoogleSmartCard.PcscNacl(cackeyHandle);







|
>







302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317

	/*
	 * Initialize CACKey with the correct handle to talk to the Google Smartcard Manager App
	 */
	cackeyHandle.postMessage(
		{
			"target": "cackey",
			"command": "init",
			"smartcardManagerAppId": "khpfeaanjngmcnplbdlpegiifgpfgdco"
		}
	);

	/*
	 * Start the Google PCSC Interface
	 */
	new GoogleSmartCard.PcscNacl(cackeyHandle);