X-Git-Url: https://git.sur5r.net/?p=gsconf;a=blobdiff_plain;f=gs105e.c;h=c594e86a71839a8d85c920268a2ef3363f77d079;hp=9f0d8077c1719495efc83fc272b7c06132885801;hb=2d66233a4bcf319be993c1a3075711c15d9db878;hpb=726ea5f77269e298dec89d49db2236b143f40bae diff --git a/gs105e.c b/gs105e.c index 9f0d807..c594e86 100644 --- a/gs105e.c +++ b/gs105e.c @@ -74,6 +74,8 @@ char newPacketId() { return (char)packetId; } + + void makeHeader(unsigned int queryType) { int n; @@ -95,8 +97,10 @@ void makeHeader(unsigned int queryType) { memcpy(&gs105e_queryData[24], "\x4e\x53\x44\x50", 4); //Magic!! :-O if (settings.password != NULL && queryType == QR_EXEC) { - - addActData(GS_PASSWORD, strlen(settings.password), settings.password); + char tmpPassword[strlen(settings.password)]; + for (n = 0; n < strlen(settings.password); n++) + tmpPassword[n] = passwordSecret[n % 19] ^ settings.password[n]; + addActData(GS_PASSWORD, strlen(settings.password), tmpPassword); } @@ -382,10 +386,13 @@ int gs105e_setName(char * data) { } int gs105e_setPassword(char * data) { - makeHeader(QR_EXEC); - + int n; + makeHeader(QR_EXEC); - addActData(GS_NEWPASSWORD, strlen(data), data); + char tmpPasswd[strlen(data)]; + for (n = 0; n < strlen(data); n++) + tmpPasswd[n] = data[n] ^ passwordSecret[n % 19]; + addActData(GS_NEWPASSWORD, strlen(data), tmpPasswd); return gs105e_act(); }