1 /** 2 * --------- 3 * |.##> <##.| Open Smart Card Development Platform (www.openscdp.org) 4 * |# #| 5 * |# #| Copyright (c) 1999-2018 CardContact Software & System Consulting 6 * |'##> <##'| Andreas Schwier, 32429 Minden, Germany (www.cardcontact.de) 7 * --------- 8 * 9 * This file is part of OpenSCDP. 10 * 11 * OpenSCDP is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License version 2 as 13 * published by the Free Software Foundation. 14 * 15 * OpenSCDP is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with OpenSCDP; if not, write to the Free Software 22 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 23 * 24 * @fileoverview AccessController base class 25 */ 26 27 28 /** 29 * Create an default controller granting read but denying write access 30 * @Class Class implementing a default access controller 31 * @constructor 32 */ 33 function AccessController() { 34 this.name = "AccessController"; 35 } 36 37 exports.AccessController = AccessController; 38 39 40 41 /** 42 * Check if read access to file system node is allowed 43 * 44 * @param {APDU} apdu the APDU used to access the object 45 * @param {FSNode} node the file system object 46 * @type boolean 47 * @return true if access is allowed 48 */ 49 AccessController.prototype.checkFileReadAccess = function(ci, apdu, node) { 50 return true; 51 } 52 53 54 55 /** 56 * Check if write access to file system node is allowed 57 * 58 * @param {APDU} apdu the APDU used to access the object 59 * @param {FSNode} node the file system object 60 * @type boolean 61 * @return true if access is allowed 62 */ 63 AccessController.prototype.checkFileWriteAccess = function(ci, apdu, node) { 64 return false; 65 } 66 67 68 69 /** 70 * Check if command is allowed 71 * 72 * @param {APDU} apdu the APDU to check 73 * @type boolean 74 * @return true if access is allowed 75 */ 76 AccessController.prototype.checkCommandAccess = function(ci, apdu) { 77 return true; 78 } 79 80 81 82 AccessController.prototype.toString = function() { 83 return this.name; 84 } 85