Add dell_get_serial_line function for dell.

This commit is contained in:
Slava Bacherikov committed 2012-01-22 08:07:11 +02:00
1 parent 83293c985b
commit 14cfeb0749
1 file changed
+10 -7
+10 -7
View File
@@ -436,6 +436,10 @@ function blockEncode(encBlock,f1, f2, f3, f4 ,f5){
} }
function dell_get_serial_line(serial){
return serial.substr(serial.length - 4, serial.length).toUpperCase();
}
function choseEncode(encBlock, serial){ function choseEncode(encBlock, serial){
function encF2(num1, num2, num3) { function encF2(num1, num2, num3) {
@@ -463,7 +467,7 @@ function choseEncode(encBlock, serial){
function encF5N(num1, num2, num3){ return encF5(~num1, num2, num3); } function encF5N(num1, num2, num3){ return encF5(~num1, num2, num3); }
/* Main part */ /* Main part */
var type = serial.substr(serial.length - 4, serial.length); var type = dell_get_serial_line(serial);
if(type == 'D35B'){ if(type == 'D35B'){
return blockEncode(encBlock, encF1, encF2, encF3, encF4, encF5); return blockEncode(encBlock, encF1, encF2, encF3, encF4, encF5);
} else { } else {
@@ -471,7 +475,8 @@ function choseEncode(encBlock, serial){
} }
} }
function answerToString(b_arr){ // Need fixing for 2A7B
function answerToString(b_arr, serial){
var r = b_arr[0] % 9; var r = b_arr[0] % 9;
var ret_str = ""; var ret_str = "";
for(var i = 0;i<16;i++){ for(var i = 0;i<16;i++){
@@ -496,14 +501,14 @@ function dell_encode(in_str, cnt, serial){
function getBiosPwdForDellTag(serial){ function getBiosPwdForDellTag(serial){
var serial_arr = StrintToArray(serial); var serial_arr = StrintToArray(serial);
serial_arr = serial_arr.concat(calc_suffix_tag(serial_arr)); serial_arr = serial_arr.concat(calc_suffix_tag(serial_arr));
return answerToString(dell_encode(serial_arr,23, serial)); return answerToString(dell_encode(serial_arr,23, serial), serial);
} }
/* 12 symbols + 4 symbols ( 595B, D35B, 2A7B, A95B ) */ /* 12 symbols + 4 symbols ( 595B, D35B, 2A7B, A95B ) */
function getBiosPwdForDellHddNew(serial){ function getBiosPwdForDellHddNew(serial){
var serial_arr = StrintToArray(serial); var serial_arr = StrintToArray(serial);
serial_arr = serial_arr.concat(calc_suffix_hdd_new(serial_arr)); serial_arr = serial_arr.concat(calc_suffix_hdd_new(serial_arr));
return answerToString(dell_encode(serial_arr,23, serial)); return answerToString(dell_encode(serial_arr,23, serial), serial);
} }
/* Depends only in first two chars /* Depends only in first two chars
@@ -858,10 +863,8 @@ function dellChecker(serial, len_arr, series_arr){
return true; return true;
} }
var ls = serial.length;
for(var i=0;i<series_arr.length;i++){ for(var i=0;i<series_arr.length;i++){
var l = series_arr[i].length; if(dell_get_serial_line(serial) == series_arr[i]){
if(serial.substr(ls-l,ls).toUpperCase() == series_arr[i]){
return true; return true;
} }
} }