Browse Source

New netconf...

Adam Ierymenko 11 years ago
parent
commit
0ba0c6d04d
2 changed files with 12 additions and 3 deletions
  1. 1 0
      main.cpp
  2. 11 3
      netconf-service/index.js

+ 1 - 0
main.cpp

@@ -189,6 +189,7 @@ static void printHelp(FILE *out,const char *pn)
 	fprintf(out,"  getpublic <identity.secret>"ZT_EOL_S);
 	fprintf(out,"  sign <identity.secret> <file>"ZT_EOL_S);
 	fprintf(out,"  verify <identity.secret/public> <file> <signature>"ZT_EOL_S);
+	fprintf(out,"  mkcom <identity.secret> [<id,value,maxDelta> ...] (hexadecimal integers)"ZT_EOL_S);
 }
 
 static Identity getIdFromArg(char *arg)

+ 11 - 3
netconf-service/index.js

@@ -184,19 +184,27 @@ function Identity(idstr)
 	this.fromString = function(str) {
 		thiz.str = '';
 		thiz.fields = [];
-		if (!str)
+		if (typeof str !== 'string')
 			return;
+		for(var i=0;i<str.length;++i) {
+			if ("0123456789abcdef:ABCDEF".indexOf(str.charAt(i)) < 0)
+				return; // invalid character in identity
+		}
 		var fields = str.split(':');
 		if ((fields.length < 3)||(fields[0].length !== 10)||(fields[1] !== '0'))
 			return;
 		thiz.fields = fields;
-	}
+	};
 
 	this.isValid = function() {
 		if ((thiz.fields.length < 3)||(thiz.fields[0].length !== 10)||(thiz.fields[1] !== '0'))
 			return true;
 		return false;
-	}
+	};
+
+	this.hasSecretKey = function() {
+		return ((thiz.isValid())&&(thiz.fields.length >= 4));
+	};
 
 	if (typeof idstr === 'string')
 		thiz.fromString(idstr);